Month end with the company card statement
The agency pays for several clients' media directly. Google Ads bills the agency's card per threshold, Meta charges on its own schedule, LinkedIn sends monthly invoices and a programmatic partner invoices in arrears. The finance manager has a card statement with dozens of lines like "FACEBK *8XJ2" and "GOOGLE ADS 4312" and has to work out which client each belongs to.
She matches what she can from memory and asks the paid team about the rest. A small client's LinkedIn spend was paid but never rebilled. A promotion ran over two months and was billed twice. The agency is effectively lending money to clients with no clear record of how much.
Why media rebilling goes wrong
- Card charges from ad platforms carry an account ID at best, never the client name.
- Platforms bill at thresholds or on their own dates, so charges do not align with calendar months.
- Each client has different terms: some pay media in advance, some in arrears, some with a percentage fee, some with a flat management fee.
- Credits and refunds from platforms, such as invalid click credits, are easy to miss and should reach the client.
- The paid team knows the accounts and the finance team knows the invoices, and they rarely look at the same screen.
The agency is running a small credit business on the side, with the bookkeeping of a shoebox.
The money at risk
Unbilled media is straight loss, and it is often found months later when a client has already paid their final invoice. Double billing damages trust quickly and is hard to explain. Cash flow suffers because the agency pays platforms before clients pay it, and a slow rebill stretches that gap. Year end becomes a long exercise of tying out media balances.
The reconciliation we build
- Every ad account the agency pays for is listed against its client, with the client's media terms: advance or arrears, fee type and rate, and whether credits are passed on.
- Actual spend per account per month is pulled from each platform's API, so the billable amount comes from the source rather than from card lines.
- Card charges and platform invoices are pulled from your bank feed and accounts package and matched to accounts by the IDs they carry.
- Differences are shown: spend with no matching payment yet, payments with no matching spend, and credits received.
- For each client, a rebill line is prepared with media, fee and any credits, ready to become a draft invoice in Xero or QuickBooks.
- A running media balance per client shows what the agency has paid and not yet recovered, including clients who pay in advance.
| Item | Source | Used for |
|---|---|---|
| Actual spend per account | Ad platform APIs | The amount to rebill |
| Card charges | Bank feed | Proving the agency paid it |
| Platform invoices | Accounts package or email | Matching threshold billing |
| Credits and refunds | Platform billing records | Passing back to the client |
| Client media terms | Held once per client | Fee, markup and timing |
How media and fees should be treated for tax and in your accounts is for your accountant to decide. We build the matching around the treatment they set.
Month end afterwards
On the first working day, finance opens the reconciliation. Most accounts are matched: spend, payment and rebill line all agree. A handful are flagged, each with the account, the amounts and what is missing. Draft invoices for media are created in the accounts package, and the media balance shows exactly how much the agency is carrying for each client.
Is your agency lending to clients?
- The agency pays ad platforms directly and rebills clients.
- Card statement lines are matched to clients by memory.
- Media has been missed from a client invoice, or billed twice.
- Platform credits are not always passed on.
- Nobody can say how much media the agency is carrying right now.