Monthly billing

How to prepare monthly client invoices from a spreadsheet

A practical close-of-month routine for retainers and repeat services: approve the data, generate the PDFs, and keep a clear record of what was sent.

Keep a stable invoice template and build a fresh, approved export for each billing cycle. Separate approval, PDF generation, and delivery so a downloaded file is never mistaken for an invoice that has already been sent.

1. Freeze the month's approved billing data

Start with the service period, not a copy of last month's PDFs. Review which clients are active, which retainers changed, which projects reached a billable milestone, and which extra hours were approved. Put disputed or incomplete work aside until it has an agreed amount.

Keep a working spreadsheet for edits and create a dated export containing only the approved records. A separate export tab makes the selection visible. Do not assume that hiding rows removes them from a downloaded file.

A useful invoice-level register includes invoice number, client, service period, issue date, due date, currency, total, approval status, generation status, and sent date. You do not need to print every tracking column on the invoice.

2. Assign numbers before you generate documents

Give every new invoice a unique, stable number. If one invoice contains several services, use that same number on each of its line-item rows. Count distinct invoice numbers to determine the expected number of PDFs; the number of spreadsheet rows can be larger.

For example, a billing file with eight clients can contain ten invoices if two clients have separate project invoices. A twenty-row item table might still represent those same ten documents. Decide the grouping before opening the editor.

Keep a master register of issued numbers. Avoid generating identifiers from the current row position, because sorting or inserting rows can change the result. The invoice numbering guide shows a simple Excel formula and how to freeze its output.

3. Reconcile at invoice level

Use two independent checks: count the approved invoice numbers and compare the batch amount with the billing register. Reconcile each currency separately. If the sheet repeats an invoice total on every service row, do not sum that total column across all rows.

Checks before generating the batch
CheckWhat a mismatch often means
Distinct invoice numbers match the registerA missing invoice, duplicate identifier, or unintended project split.
Service line amounts reconcile to each subtotalA duplicated line or an adjustment included twice.
Final amounts match approved totalsAn outdated fee, discount, or formula result.
Client, service period, and due date are currentValues were carried over from the previous cycle.

4. Reuse the layout and check the populated PDFs

Upload the approved CSV or Excel file to LinkoPDF and use your saved layout. Keep column headers consistent between months so the field connections remain understandable. If you renamed or removed a column, revisit the fields linked to it.

For itemized invoices, choose the invoice number as the grouping identifier. Generate a small test and inspect the actual output: the editor shows the layout, while generation fills the linked values. Include the invoice with the most lines, the longest name, and any unusual amount in your review.

Check the template's static text too. Payment instructions, contact details, and an old month typed directly into the design will not change just because you upload a new spreadsheet.

5. Keep generation and delivery as separate steps

Download a ZIP when each client needs their own PDF. A combined PDF can help internal review, but it contains multiple clients' invoices; send each client only the intended file. Open the ZIP and compare its document count with the register.

Record when the PDFs were generated and when each invoice was actually sent through your email or billing system. LinkoPDF does not schedule monthly runs, send invoices, collect payments, or update your payment status. Repeating this workflow is a manual billing routine.

Archive the approved source, final PDFs, and template version together. If an amount changes, correct the source and regenerate the affected output before delivery; keep a clear record of which file is current.

A checklist to reuse next month

  • Confirm active clients, approved work, and the service period.
  • Assign stable invoice numbers and review the intended groups.
  • Check totals by invoice and currency against the approved register.
  • Export only the approved records with consistent column headers.
  • Check static template text and generate a small test.
  • Inspect the final PDFs and reconcile the document count.
  • Deliver each invoice and record its sent date separately.
  • Archive the source data and final documents.

For an agency billing retainers and additional work, see the agency invoice workflow. If the source is shared online, use the Google Sheets invoice workflow.