FlowParse
Project accounting 10 August 2026 16 min read

Why projects look profitable until they close

The margin was not wrong at the end. It was wrong the whole way through, and it was wrong in the same direction every time. That consistency is the clue: a random estimating error would flatter half your projects and punish the other half. This one only ever flatters.

FlowParse
flowparse.io

The pattern everyone recognises

A project runs. Halfway through, someone checks and the margin looks fine. It delivers, and the closing figure is acceptable. Then the quarter closes and the business made less than the sum of its projects said it would.

Everyone in a project business recognises this, and the usual explanations are estimating, scope creep, or a difficult client. Those things happen, but they do not explain the consistency.

A random error would flatter half your projects and punish the other half. What people actually observe is that projects nearly always look better while they are running than they turn out to have been. An error with a direction is not an error of judgement — it is a property of how the information arrives.

Why the error only points one way

The two sides of a project margin become knowable at different times, and that asymmetry produces everything else in this article.

RevenueCost
When it is knownAt the start — it is the feeOver months, as documents arrive
How complete early onCompletePartial, and unknowably so
Direction of changeFixed, or rises with scopeOnly rises
Who reports itThe contractSuppliers, on their own schedule
Effect on early marginFull weightUnderstated

Comparing a complete number against an incomplete one produces an optimistic result by construction. It is not a mistake anyone made; it is what happens when you divide a known figure by a partial one.

Which is why better estimating does not fix it. You can estimate perfectly and still report an inflated margin all the way through, because the problem is not in the estimate — it is in the reporting.

Five reasons cost arrives late

Each of these is ordinary and none involves anyone doing anything wrong. Together they account for most of the gap.

ReasonTypical delayFixable by
Supplier invoices lag the workWeeks to a monthKeeping projects open
Committed but not yet invoicedUntil deliveryA manual commitments list
Shared costs never allocatedNeverA deliberate split rule
Scope agreed before it is billedOne billing cycleRecording scope changes as cost
Project closed at deliveryEverything afterA defined closing period

The third row is the odd one out and the most damaging: its delay is not long, it is infinite. A shared cost that is never allocated never reaches the project at all, and no amount of waiting corrects it.

The supplier lag

The most ordinary of the five, and the easiest to underestimate because each individual delay is unremarkable.

A subcontractor works in March and invoices at the end of the month. A printer delivers in March and bills on their cycle. A media buy runs in March and is reconciled in April. None of that is slow by anyone’s standards.

But if the project is reviewed on the last day of March, none of it exists yet. The review is looking at whatever happened to be invoiced early, which is systematically the smaller and more routine costs.

Worse, the lag is longest for exactly the costs that matter most. Small consumables are invoiced immediately; large subcontracted work is invoiced at a milestone. So the earliest picture is not merely incomplete, it is skewed towards the least significant items.

FlowParse
flowparse.io

Committed, and invisible everywhere

The single largest blind spot, and the one that no document can close because the document does not exist yet.

When you place an order with a supplier, that money is spent from the project’s point of view. The decision is made, the work is scheduled, and cancelling is either impossible or costly. But nothing has been invoiced, so nothing appears in any cost report.

A project manager reading invoiced cost against budget can therefore be substantially over-committed while the report shows comfortable room — and will keep spending on the strength of it.

The only mechanism that works is a short list kept by whoever places the orders: what, roughly how much, roughly when. It is unglamorous, nobody enjoys maintaining it, and it is the difference between a report that reflects the project and one that reflects the paperwork.

For projects with long lead times this is not a refinement — it is the larger half of the picture, and a process that omits it will produce a surprise near the end of every significant job.

Shared costs that never land anywhere

The reason with no delay, because it never resolves at all. And the one that quietly understates every project simultaneously.

A supplier invoices monthly for work spanning three projects. Nothing on the document says which is which. Splitting it requires someone to decide, and deciding requires line-level detail that most invoice processing never captures.

So the whole amount goes to a general category. It feels neutral — nobody has been unfairly charged — and it is not neutral at all: every project it touched is now understated, and the business result absorbs the difference.

The same happens to anything below whatever threshold makes splitting feel worthwhile. Individually trivial amounts, none worth allocating, adding up to a figure that would obviously have been worth allocating had it arrived as one line.

This is the one part of the problem that is genuinely mechanical rather than behavioural, and it is where extraction that returns lines rather than totals changes what is possible — described on project cost tracking from invoices.

Scope arrives before the invoice does

Scope creep is the usual explanation for late margin erosion, and it is real. What is less discussed is the timing of how it becomes visible.

A client asks for something additional. The work starts within days, because that is how client relationships function. The cost of it appears weeks later, when whoever did that work invoices for it.

So there is a window — often a month — during which the project has already deteriorated and every report still shows it healthy. Decisions taken in that window are taken on numbers that are known to be stale by everyone except the person reading them.

The correction is not a better report; it is recording scope changes as cost when they are agreed, at an estimate, rather than waiting for the invoice. An estimate entered on the day beats an accurate figure entered six weeks late.

Closing the project too early

The most consequential of the five and the easiest to change, because it requires no tooling and no cooperation from anybody outside.

When work ships, it is natural to close the project. The team moves on, the client is invoiced, and the file gets marked done. If costing closes at the same moment, everything arriving afterwards is homeless.

And plenty arrives afterwards: the subcontractor’s final invoice, the print bill, a licence bought for this job that renews next month. All of it genuinely belongs to a project that has already been reported as profitable.

Keeping projects open for costing for a defined period after delivery — long enough to cover normal supplier terms — removes most of this. It costs nothing except the discipline of not closing the file on the day the work ships.

And where something is known to be coming but has not arrived, accrue for it at closure. Even a rough number is better than zero, because zero is a specific claim and it is always wrong.

FlowParse
flowparse.io

Why it compounds rather than cancels

A one-off timing difference would wash out: what is missing from March turns up in April, and over a year it evens itself out.

It does not, for a specific reason. The late cost from March lands in April alongside April’s own late cost from February — but it lands in a period, not on the project it belonged to. The period is right; the project attribution is permanently wrong.

So the business result is roughly correct while every individual project record is optimistic. That combination is exactly the one that misleads without ever producing an obvious discrepancy.

It also means the two views disagree in a way people notice and misdiagnose. The sum of project margins exceeds the business result, and the usual conclusion is that overhead is too high — when a meaningful part of the difference is project cost that never reached a project.

Where it becomes expensive: your pricing

Everything above is a reporting problem, which sounds like an accounting inconvenience. It becomes a commercial problem at the moment you quote the next job.

Quotes are built from what similar work cost last time. If that record is systematically optimistic, every subsequent quote inherits the optimism — and the error propagates into work you have not won yet.

It also distorts which work you pursue. A type of project that looks marginally profitable and is actually loss-making will be sold harder, because the numbers say it works. Over a few years that shapes the shape of the business.

This is why the correction is worth more than the accuracy itself. Fixing the record does not just make reports truer; it changes what you charge and what you chase — the same argument the budget-building guide makes about baselines.

What actually corrects it

Four changes, in order of how much they return for the effort. None requires new software except the third.

Keep projects open after delivery. Free, immediate, and it removes the largest single source of understatement. A defined closing period is a decision, not a project.

Keep a commitments list. Manual, short, maintained by whoever places orders. It is the only thing that closes the committed-cost gap, because nothing else has the information.

Allocate shared invoices instead of defaulting them. This needs line-level extraction to be practical at any volume — the mechanics are on dimension tagging and supplier invoices by project.

Record scope changes as cost when agreed. At an estimate, on the day. Later accuracy does not compensate for the weeks of being wrong.

The full routine — who does what, when, and what gets published — is in how to track costs per project.

Three seats, three versions of the same problem

The optimism does not feel like a measurement error to the people living with it. It feels like something else entirely, and it feels like a different thing depending on where you sit. That is worth spelling out, because a fix that only makes sense to one of these three seats will not survive contact with the other two.

To the project lead, it feels like being ambushed. They watched a number all quarter, they made reasonable decisions against it, and then at closure the number changed underneath them. Their entirely rational response is to stop trusting the report — and once a project lead stops reading the margin figure, every subsequent improvement to it is wasted.

To finance, it feels like everyone else is bad at paperwork. The invoices arrive late, the approvals sit in inboxes, nobody codes anything to a project. All of that is true, and none of it is the cause: even with perfect internal discipline, the supplier still bills when the supplier bills. Blaming process hygiene for a structural lag guarantees the wrong fix gets attempted, usually a stricter approval workflow that changes nothing.

To the owner or director, it feels like the business is less profitable than the reports say without any single report being wrong. Each project closed a bit worse than it looked, the pattern is consistent, and the aggregate never quite matches the optimism of the parts. This is the seat where the problem is most visible and least diagnosable, because at aggregate level the effect looks like margin pressure rather than like a measurement artefact.

The three descriptions are the same phenomenon. Recognising that is most of the work, because it moves the conversation away from whose fault it is and onto when the information actually becomes available — which is a question with an answer.

What the timeline actually looks like

It helps to see the shape of it laid out, because the intuition most people carry — that costs land roughly when the work happens — is the thing that has to be dislodged.

WhenWhat has landedWhat the margin says
Month 1Almost nothing — work has started, nobody has billedExcellent
Month 2The fastest suppliers, small amountsVery good
Month 3Most routine costs; the big ones still outstandingGood
ClosureEverything anyone has thought to invoiceAcceptable
Closure + 6 weeksThe late production invoice, the final freelancer monthThe truth
Closure + 3 monthsA credit note nobody expectedSlightly better than the truth

Two things stand out. The first is that the curve only ever moves one way until the very end — every month of the project reports a better number than the month after it, which is precisely the pattern that trains people to be confident at exactly the wrong time.

The second is the last row. Credit notes and rebills do eventually push the number back up a little, and because they arrive latest of all they are the most likely to be missed entirely. A project that was closed, reported and forgotten does not get reopened for a credit note, so the correction is real and the record never receives it.

The practical implication is not to wait three months before believing anything. It is to know which row you are standing on when someone asks how the project is doing, and to say so.

Four objections, all of them reasonable

“We can't accrue for costs we don't know about.”

You can accrue for the pattern even when you cannot accrue for the invoice. If a supplier has billed roughly the same amount in each of the last six months, the seventh is not a mystery — it is a known quantity with an unknown arrival date, and those are different problems.

“This is just accrual accounting. We already do it.”

At company level, monthly, for material items — almost certainly. At project level, for the specific costs attributable to one job, usually not. The company-level accrual is what makes this invisible: the total is broadly right while every project inside it is wrong.

“Chasing suppliers for faster invoicing is not realistic.”

Agreed, and it is not the suggestion. Suppliers bill on their own terms and will continue to. The change is on your side — holding projects open longer, accruing against known patterns, and asking for a reference on the line rather than asking for speed.

“Our projects are too short for any of this.”

Short projects have the problem more acutely, not less. A six-week project can close before a single supplier invoice for it has arrived, which means its reported margin is composed entirely of revenue and estimates.

The second objection is the one worth sitting with. Most finance functions genuinely are doing accrual accounting properly, and the numbers they produce at company level are defensible. The gap is a level down, where nobody has ever been asked to produce anything defensible, and where the decisions about scope, pricing and staffing are actually made.

Measuring your own gap

Two numbers, both computable from data you already have, and both more informative than any benchmark from someone else’s business.

Cost arriving after closure. For projects closed last quarter, how much cost landed afterwards? That is the size of the optimism in every final margin you reported.

Share of cost that reached a project. Of everything spent, how much is attributed to a project rather than sitting in general categories? A low figure means the shared-cost leak is your dominant problem.

Track both monthly. They respond quickly to the four changes above, and unlike margin itself they cannot be argued with — they are counts, not judgements.

Do not go looking for an industry benchmark. What matters is the direction of your own two numbers, and comparing against a figure from a business with different supplier terms tells you nothing.

What closing a project should actually mean

Most businesses close a project when the work stops. That is a delivery event, not a financial one, and treating the two as the same is the single decision that locks the optimism into the record permanently.

A more useful convention separates them. The project stops delivering on one date and stops accepting costs on a later one, and the gap between them is set by your suppliers rather than by your calendar. For most businesses it is somewhere between four and ten weeks; the way to find yours is to look at when costs stopped arriving on the last few projects rather than to pick a number that sounds tidy.

Two practical consequences follow. The margin reported at delivery is explicitly provisional and should be labelled as such, which sounds like a small change and completely alters how it is used in a meeting. And the final number gets published later, to the same people, which is the step almost everybody skips — a correction that only reaches a spreadsheet has not corrected anything, because the figure people remember is the one they were told.

There is a third consequence that is easy to miss. If nothing formally reopens after delivery, late credit notes and rebills have nowhere to land, so the corrections that would have moved the number back up never arrive either. A close date that is too early does not just overstate margin — it stops the record from ever being completed in either direction.

None of this requires new software or a policy document. It requires two dates instead of one, and a habit of sending the final figure to the people who acted on the provisional one.

An honest limit

None of this makes a mid-project margin exact, and it would be dishonest to suggest otherwise. Some cost genuinely is not knowable until it arrives.

What changes is the direction of the error. Today it is one-sided and always flattering. With the four corrections it becomes smaller and two-sided — sometimes you accrue too much, sometimes too little — which is what an estimate is supposed to look like.

That is a meaningful improvement even though it is not precision. A number that is roughly right in both directions can be used for decisions; a number that is reliably optimistic cannot, no matter how precise it looks.

And it removes the specific failure that costs most: being confident about a project that is not going the way the report says, during the weeks when something could still be done about it.

Frequently asked questions

Measure your own gap first

Extract last month’s supplier invoices and count how much of it belongs to projects already reported as finished. That single number tells you whether any of this applies to you.

Related