Billing a Freelance Retainer the Same Way Every Month

· 5 min read

You agreed to 20 hours a month at a fixed rate. It's the 1st, the work is done, and you have to send the same client the same invoice you sent last month. The trouble starts when the month wasn't identical: you ran 4 hours over, the client's finance team wants a fresh PO, or someone questions why the total is higher than usual. A retainer is only easy to bill if you set it up so every cycle looks the same except the parts that genuinely changed.

Here is the workflow that keeps a monthly retainer boring, in the order you actually do it.

Lock the retainer terms once, before the first invoice

Before you bill anything, decide the shape of the agreement and write it down where both sides can see it. A retainer should specify the base fee, what that fee buys (a fixed scope, a block of hours, or a level of access), and what happens when the work exceeds it. The most common structure is a monthly base fee that covers up to X hours, with anything beyond X billed at a stated overage rate.

Pin down four things now so you never renegotiate mid-cycle:

  • The base fee and the number of hours or the scope it covers.
  • The overage rate for hours past the included block.
  • Whether unused hours roll over or expire at month end (expiring is simpler to bill).
  • Your billing date and payment terms. Retainers are usually billed on the 1st, in advance, with the overage from the prior month added on.

Payment terms matter more here than on a one-off. If you're on Net 30 and you bill monthly, a slow-paying client is always a full cycle behind. Decide whether the base is due on receipt or Net 15, and put the reasoning in front of the client early using the tradeoffs between common term lengths.

Build one reusable invoice you copy every month

Set up the invoice template once so the recurring parts are already correct: your details, the client's billing entity and address, your bank details, the base fee line item, and your terms. A freelance billing template gives you the structure so you're only changing the period and the variable lines each cycle.

Keep your invoice number format consistent from the start. A retainer generates a long, unbroken series, and a clean sequence is what lets you and the client's AP team reconcile twelve invoices without confusion. If you haven't set a format, a scheme like 2024-ACME-001 that increments forever is easier to defend than free-form numbering. There's more on this in invoice numbering best practices.

The billing period is the field people forget. Write it plainly on every invoice: "Retainer: March 2024" or "Base fee, 1-31 March." When you also bill overage from the prior month, label that period separately so nobody reads two months as one.

Separate the base fee from overage as distinct line items

This is where retainer invoices go wrong. If you roll the base fee and 4 overage hours into a single number, the total looks arbitrary and the client's finance team pauses on it. Split them.

Line itemQtyRateAmount
Monthly retainer, March 2024 (up to 20 hrs)12,0002,000
Overage hours, February 20244150600

Two lines, two line items anyone can check. The base is a flat monthly figure. The overage shows the hours, the rate, and which month they came from. If a client ever disputes the overage, you point at the tracked hours behind that one line rather than re-defending the whole invoice. For a deeper split of hours versus fixed fees, the end-to-end freelancer workflow covers the mechanics.

Send it as a link so the client can fix their own details

The parts of a retainer invoice that change without you knowing are the client's own: a new PO number their procurement now requires, a renamed billing entity, a different AP contact after someone leaves. If you send a flat PDF, every one of those becomes an email and a corrected re-send.

Send a private link instead. With recipient editing on the invoice itself, the client can add the PO number, update their billing entity and address, and set their AP contact directly. You're notified of every change and you can revert anything that looks wrong. No account needed on their end. When you create the invoice, that same link is what you reuse and duplicate each month.

A recurring PO is a common snag: the client issues a blanket PO for the year, and every monthly invoice has to quote it. If it changes mid-year, they can update it as a tracked amendment without you reissuing anything. A missing PO is one of the quietest reasons a retainer invoice stalls, covered in what AP teams check field by field.

Handle scope changes as a new version, not a reworded email

When the retainer itself changes (the client bumps you from 20 to 30 hours, or renegotiates the rate for the next quarter), that's a content change to the invoice, not a client detail. Those create a new version. The base fee, hours, and pricing sit behind a request-and-approve step, so a rate change is agreed on the record before it locks. Once the client approves a version, it locks permanently, which gives you a clean audit trail across the whole engagement. The distinction is spelled out in versions versus amendments.

Repeat the cycle, and chase before you assume

Next month, duplicate last month's invoice, change the period, update the overage line, and send. That's the whole recurring task once the setup is done.

If a base invoice hasn't been paid by its due date, check whether the client even opened it before you send a firm nudge. Chasing an invoice that was never viewed reads differently than chasing one that's sitting in someone's approval queue. When you do need to follow up, keep it calm and factual using a follow-up sequence for late freelance invoices. On a retainer, one late payment quietly becomes two if you let a full cycle pass without a word.

Send an invoice your customer can actually respond to

JupiterInvoice lets recipients add PO numbers, update billing details, request changes, and approve for payment, all from a private link. No account needed on their side.

Create an invoice