Billing Retainer and Project Work in the Same Month

· 5 min read

Your biggest client is on a 10,000 dollar monthly retainer. They also signed a 60,000 dollar website rebuild that bills in three milestones. Halfway through the month they asked for two extra landing pages that fell outside both. It is now the 28th and your account manager wants to know how many invoices go out, with what numbers on them, and whose PO each one needs. Get this wrong and AP holds the retainer hostage while they argue about the project line items.

Here is the workflow that keeps the retainer predictable, the project tied to milestones, and the out-of-scope work paid without a fight.

Decide the invoice split before the month starts

The single decision that prevents most of the mess: one engagement, one invoice. Do not staple a milestone onto a retainer because they share a client. AP routes invoices by PO, and the retainer PO and project PO are almost never the same.

For a typical agency client you will end up with up to three invoices per month:

  • The recurring retainer invoice, fixed amount, same day every month.
  • A project milestone invoice, issued when a milestone is signed off, not on a calendar date.
  • An out-of-scope or change-order invoice for billable work that did not fit either bucket.

Decide this at kickoff and put it in the statement of work. If your client uses POs, get one PO for the retainer and a separate PO for the project. The client adding a PO number after the invoice is sent is fine in JupiterInvoice, but two POs on one invoice is a structural problem no tool fixes.

Day 1 to 3: send the retainer invoice on autopilot

The retainer is the easy one. Same amount, same line item, same terms. The point is to make it boring.

On the first business day of the month, the account manager (or whoever owns billing for that client) opens last month's retainer invoice, duplicates it, updates the period in the line item description ("Monthly retainer, March 2025"), and sends. The invoice number increments automatically if you set up a consistent invoice numbering format. Issue date is the 1st, due date is whatever your terms say, usually Net 15 or Net 30.

If the client has previously added a PO number, billing entity, or AP contact through their JupiterInvoice link, those amendments carry the context forward but you still need them on the new invoice. Confirm the retainer PO is still valid for the new fiscal period. POs often expire at year-end and nobody mentions it until the invoice bounces.

If you are sending five or more retainers on the same day, the REST API and MCP server will create them in a script. For most agencies, ten clicks once a month is faster than maintaining the script.

Mid-month: invoice project milestones when they are signed off

Milestones do not bill on the 1st. They bill when the deliverable is accepted. That is the whole point of milestone billing, and it is the part agencies most often get wrong by batching it into the monthly cycle.

Workflow: the project lead marks a milestone complete in your PM tool. The account manager opens the original accepted quote, confirms the milestone amount and description match the SOW, and creates the invoice from that. Reference the project name and milestone number in the line item ("Website rebuild, Milestone 2: design system sign-off"). Reference the project PO, not the retainer PO. Reference the quote number if your client's AP team likes the trail.

The recipient opens the link, forwards it to AP, and either approves it or requests a change. If they want the description reworded or the milestone split into two lines, that is a change request and creates a new version. If they just need to add their internal cost center to the billing entity, that is an amendment on the current version. The difference between versions and amendments matters here because AP teams reject invoices whose number changed mid-approval.

End of month: reconcile out-of-scope work into one clean invoice

Out-of-scope is where retainer math goes sideways. Your team logged 14 hours on "those two extra landing pages." Some of it might be inside the retainer scope. Some of it is clearly extra. If you bundle it into the retainer line, the client will dispute the retainer. If you bundle it into a milestone, the project PO will be wrong.

Send a third invoice. One line per piece of out-of-scope work, with the date, the requester's name, the hours, and the rate. Reference the email or Slack message where the client approved the work. If there is no written approval, you have a different problem and the answer is a quick quote they accept by typing their name before you do any more of these.

If your client wants a single PO to cover all out-of-scope work for the year, ask for it at kickoff. Otherwise expect to request a PO per change order, and build that into your turnaround time.

What to track across all three invoices

By the last day of the month you should be able to answer four questions for each client without opening a spreadsheet: which invoices went out, which were viewed, which are approved, and which are stuck. JupiterInvoice's invoice list shows the lifecycle state (Sent, Viewed, Change Requested, Approved, Locked) for each one. An invoice that was Sent five days ago and never moved to Viewed is the one to chase first, with the kind of follow-up plan you would use for any unopened invoice.

If you are running this across ten or twenty clients a month, the pattern stabilizes fast. Retainers go out on the 1st. Milestones go out as work clears. Change orders go out on the 28th. Each invoice has its own PO, its own approval trail, and its own line in your revenue report. That is the whole point of invoicing built for agencies instead of a tool designed for one freelancer billing one project.

Set up your next month's retainer now: draft the first invoice, save it as a template, and put a calendar reminder on the 1st.

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