The invoice came back. March used up the PO.
An engagement has been extended twice. The client's original purchase order covered the first phase. The extension was agreed by email with the sponsor, but nobody asked for the PO to be increased. Your March invoice goes through; April's is rejected by the client's accounts payable system because the PO has no value left. Getting a new PO raised takes the client's procurement team several weeks.
Meanwhile the team keeps working, and the unbilled amount grows. Another client rejects an invoice because it quoted the wrong line number on the PO.
Why PO problems keep happening
- POs are received by partners or operations and filed, not tracked.
- Nobody compares PO value remaining with work in progress.
- Extensions are agreed with sponsors, who are not the people who raise POs.
- Client invoicing requirements, such as PO line references and approvers, vary.
- Rejections are discovered weeks after the invoice was sent.
Client procurement systems are strict by design. They match invoice to PO automatically and reject anything that does not fit, with no human judgement involved. A sponsor's email agreeing an extension means nothing to that system until procurement has raised the paperwork.
What that costs
| Issue | Effect |
|---|---|
| PO exhausted | Invoices blocked until a new PO is raised |
| Wrong PO details | Invoice rejected, payment clock restarts |
| Late discovery | Cash tied up for weeks |
| Awkward client conversations | Sponsor irritated by admin failures |
The cost falls hardest on smaller firms. A large consultancy can absorb a few blocked invoices. For a boutique firm, one large client invoice held for weeks can decide whether the month's payroll is comfortable.
How we build PO tracking
- POs are captured from a shared mailbox or uploaded, and key details are extracted: number, value, period, lines, approver, invoicing instructions. A person confirms them.
- Each PO is linked to its engagement and, where relevant, its phases or line items.
- Invoices from your accounts system, Xero, QuickBooks, Sage or others, draw down against the PO automatically.
- Work in progress from timesheets is also compared, so you see the PO running out before the invoice is raised.
- When remaining value drops below a threshold you set, or the PO end date approaches, the partner is prompted to request a new or increased PO.
- Before an invoice is sent, it is checked for the right PO number, line and format for that client.
- A dashboard shows every live PO, remaining value, expiry and any blocked invoices.
We usually load the POs for live engagements first and reconcile them against invoices already raised, which often reveals POs that are closer to running out than anyone realised. From then on, new POs are captured as they arrive.
After PO tracking goes in
Partners ask for PO increases when agreeing extensions, prompted by the tracker, so procurement has time to act. Invoices go out with the right details and are not bounced.
Operations spends less time untangling rejected invoices and more time on everything else.
Is this your billing experience?
- Invoices are rejected for PO problems.
- Engagement extensions happen without PO changes.
- Nobody knows how much PO value remains.
- Each client's invoicing rules are held in someone's memory.
- Blocked invoices are discovered weeks later.