Skip to content
ERP Expert

Why contracting firms go broke on profitable projects

Ahmed Hassan Algammal6 min read
Tower cranes above unfinished concrete frames under an overcast sky

A contractor can hand over a building, collect the certificate, be congratulated by the client — and be unable to pay next month’s wages.

This is not a paradox and it is not bad luck. It is what happens when profitability is measured per project and liquidity is managed per company, with nothing connecting the two.

The trap that looks like cash management

The mechanism is almost always the same. Project B signs, and the advance payment arrives. That money pays the cement supplier on project A, whose own advance was spent three months ago.

Nobody stole anything. Every invoice is genuine. And the company is now running a structure where each new contract funds the last one — which works until the day a contract is delayed, and then fails all at once.

The diagnostic question is one line: if you stopped signing new work today, could you finish what you have already signed? A contractor who cannot answer that from a report is already inside the trap.

What an ERP has to enforce, not merely record

Two families of system handle this, and they solve it differently.

The Odoo approach treats the project as an analytic cage. Every cost — labour, material, subcontractor, equipment — carries an analytic account, and a budgetary position caps it. The system’s contribution is that it can refuse a purchase order that would breach the budget, and it can produce a ninety-day cash gap per project rather than per company.

The Dynamics 365 approach uses Project Operations, where the commercial structure is modelled directly: a work breakdown structure facing a cost breakdown structure, pay-when-paid terms on subcontracts so a payable is not due before the receivable that funds it, and the letter of guarantee lifecycle tracked to expiry rather than remembered.

Either is adequate. Neither is adequate if it is only recording. The distinction that matters is whether the system can say no.

The five leak points

One: retention, and the margin arithmetic nobody does

The client holds back a percentage of every certificate until final handover.

If your margin is 12% and the client retains 10%, you are working on 2% of real liquidity.

Read that once more, because it explains most contracting insolvencies. The profit is real, it is recognised, it appears in the accounts — and it is not in the bank until a defects liability period that may be a year long has expired.

A system that does not track retention as a separate, ageing receivable with a release date is reporting a cash position that does not exist.

Two: variation orders that were never documented

The site engineer receives a verbal instruction, executes it, and the paperwork follows later. Or does not.

The rule that fixes it is one sentence: no spend without an authorisation. In practice that means the system refuses to issue material beyond the approved bill of quantities — a cubic metre over the approved figure requires an approved variation, not a phone call.

This is unpopular for a month and it saves the project. The alternative is a claim negotiation at the end, where the contractor has done the work and the client has no signed instruction to pay against.

Three: indirect cost, unallocated

The head office costs money — the estimating team, the finance department, the yard, the insurance. If none of it is pushed down onto projects, every project shows a margin and the company shows a loss.

That combination is the single clearest signal that allocation is missing. Your projects are successful and your company is losing money; both statements are true and only one of them is useful.

An allocation rule distributes overhead by a defensible driver — revenue, direct cost, or man-hours — and the margin per project becomes a number a decision can rest on.

Four: idle equipment

A crane standing still is not free. It is depreciating, it is insured, and it is not earning.

Treating equipment as an asset only is the error. Linking the asset module to the project module lets the system charge an hourly cost — depreciation plus fuel plus operator — to whichever project holds the machine, and produce the utilisation figure that tells you whether to own it or hire it.

Most contractors who run this calculation for the first time discover they are renting their own equipment to themselves at a loss.

Five: price escalation

Steel is priced into the tender. Two months later it has moved 20%, and the material is bought at the new figure against a fixed contract.

The contractual remedy usually exists — most standard forms carry a compensation clause for material escalation — and it is almost never claimed, because nobody noticed in time. By the time the cost is visible in the month-end, the notice period in the contract has expired.

A revaluation that runs on the purchase price and flags the variance against the tendered rate turns a silent loss into a claim with a date on it.

What to do before buying anything

Take your last completed project and answer five questions from your existing records:

  1. What is the retention balance, and when does each portion release?
  2. How much executed work has no approved variation behind it?
  3. What share of head office cost did this project carry?
  4. What did the equipment on site cost per hour, and what was its utilisation?
  5. Which material moved more than 10% between tender and purchase, and was a claim submitted?

If four of the five take more than an hour to answer, the problem is not the system you are about to buy. It is that nobody has ever been made responsible for the number.

Where the general document cycle sits behind all of this is set out in the procurement cycle and the financial cycle and the close. If you are choosing between products for this specifically, the comparison is here, and the failure patterns to avoid are here.

ConstructionERPProject ManagementCash Flow

About the author

Ahmed Hassan Algammal

ERP implementation consultant. More than 60 deliveries across the UAE, Saudi Arabia and Egypt in manufacturing, contracting and distribution.

Book a call →

Read next