The stage was issued in March. The invoice went in May.
The stage 3 structural package was issued to the architect weeks ago. The fee schedule says that stage is invoiced on issue. The accounts team did not know it had happened, because nobody told them, and the project director was busy on the next deadline. At month end someone reviews the job list, notices stage 3 has not been billed, checks with the engineer, and raises the invoice. The client pays on their own terms from the date of the invoice, not the date of the work.
In a practice with dozens of live jobs this repeats across the portfolio. Cash that was earned sits unbilled, and the bank balance tells a gloomier story than the workload does.
Why invoicing lags the work
- Fee schedules sit in appointment documents, not in the accounts system as milestones.
- Stage completion is known to engineers, not to whoever raises invoices.
- Some fees are monthly, some by stage, some by percentage complete, and each project differs.
- Directors approve invoices in batches at month end, so everything waits for the batch.
- Clients require purchase order numbers or application formats that take time to find.
There is a human side as well. Engineers often feel uncomfortable telling accounts to invoice while there are still comments to close on a stage, even when the appointment says issue triggers the fee. So they wait until the stage feels finished, which can be weeks after the milestone the fee was tied to.
What late invoicing costs
| Delay | Effect |
|---|---|
| Invoice raised weeks after issue | Cash arrives later, overdraft or reserves used |
| Stage missed entirely | Revenue discovered at project close, or never |
| Invoice without supporting detail | Client queries it, payment delayed further |
| Month-end billing rush | Directors and accounts overloaded for days |
For many engineering practices, cash flow is the thing that keeps directors awake, and a large part of it is simply work that was finished but not billed.
How we connect issues to invoicing
- Each appointment's fee schedule is entered once as milestones: stage, fee, and what triggers the invoice.
- Triggers are linked to your drawing or document register, so issuing the stage package marks the milestone as reached.
- Monthly and time-based fees are scheduled automatically on the right dates.
- When a milestone is reached, a draft invoice is created in Xero, Sage or your accounts system, with the client's PO number and invoice format already applied.
- The project director gets a short approval prompt, with the issue record and fee schedule next to the draft.
- Approved invoices are sent, and the job's billing status updates.
- A weekly list shows milestones reached but not yet invoiced, so nothing waits for month end.
Percentage-complete billing is harder to automate, because it depends on judgement. For those, the engineer's weekly progress figure prompts a draft, and the director decides the amount.
Where clients need an application for payment or a stage report with the invoice, we generate that alongside the draft from the same data, so the invoice and its supporting document never disagree. Clients who pay against purchase orders get the PO reference applied automatically.
After the link is in place
Accounts no longer have to chase engineers to find out what has been issued. Directors approve invoices as milestones are reached, a few at a time, rather than in one exhausting monthly session.
Clients receive invoices that arrive promptly and reference the issue that earned them, which tends to reduce the questions.
Is this your billing today?
- Stages are invoiced at month end or later.
- Accounts learn about issues by asking engineers.
- Fee schedules live only in appointment documents.
- Invoices come back because a PO number or format was wrong.
- You have found unbilled stages at project close.