Financial Reporting for Contracting Companies: Where IFRS 15 Actually Bites
Construction and real estate finance teams face the toughest revenue recognition calls in the region. Here is what reliable project reporting requires.
By The Rexfin team
Ask a construction or real estate finance lead which number an auditor is most likely to challenge, and almost none of them say cash. They say the progress percentage. Since IFRS 15 replaced the old, close-to-automatic percentage-of-completion under IAS 11, revenue recognition on a long contract has stopped being a formula and become a judgment call finance has to defend, project by project, entity by entity.
That judgment call is where things go wrong, and not occasionally. Auditors across the region flag inconsistent treatment across entities and projects as a recurring finding, and the failure modes repeat often enough to be predictable: mobilisation costs and bulk-delivered materials get folded into the cost-to-cost denominator and inflate reported progress; margin gets recognized on a contract that should still be cost-only; a variation-order claim gets booked before it clears the “highly probable” bar IFRS 15 requires. None of these are exotic edge cases. They’re the standard adjustment drivers auditors in this sector see year after year.
Real estate adds its own layer
Developers carry a second set of traps on top of the construction ones. Off-plan sales get timed wrong with some regularity - an SPA signing, a down payment, or a RERA/Wafi registration event feels like the moment revenue should be recognized, but under IFRS 15 it’s construction-activity commencement that actually triggers it, not the paperwork. Landowner-and-developer joint venture structures produce principal-versus-agent errors where both parties end up recognizing the full sale price instead of splitting it. And completed units reclassified as investment property need IAS 40 fair-value treatment, a different standard from the one that governed them while under construction.
Layer in the structural reality of this sector - each tower or phase often its own legal entity, sometimes dozens of SPVs under one holding company - and a single portfolio can be running IFRS 15, IAS 2, IAS 16 and IAS 40, and IFRS 16 all at once, all reconciling to one group set of accounts.
Why this keeps ending up in Excel
The tooling gap is structural. Project-management systems like Primavera or Aconex track physical progress - percentage of BOQ items complete, certified valuations, site measurements. The general ledger tracks the accounting consequence. Nothing connects them automatically, so someone rebuilds the bridge every period: pulling the certified valuation, recalculating the cost-to-cost percentage, checking it against last period, and writing a memo justifying why this project’s treatment matches the one next door. That manual reconciliation, done across dozens of SPVs, is where the WIP schedule and contract-asset balance drift from what an auditor would sign off on.
This is also why audit fieldwork in this sector tends to run longer than elsewhere in finance - see audit fieldwork requests for what that back-and-forth looks like once an auditor pulls the thread on a WIP number. And because a wrong progress percentage this quarter usually means a correction next quarter, it connects to restatement response: fixing a number in the open matters more here than almost anywhere else, since the same contract gets scrutinized again at year-end close.
What reliable reporting actually requires
The fix that matters most here is traceability, not a new formula. When a progress percentage gets challenged, the answer that holds up is “here is the certified BOQ or valuation page this reconciles to,” not a spreadsheet cell with no citation behind it. That’s narrower than it sounds - it doesn’t require re-deriving IFRS 15 judgment automatically, just that whatever judgment your team already makes is backed by a document someone can click through to, consistently, across every entity in the group.
That consistency is what breaks down at scale. A single project’s numbers are hard enough to defend; a portfolio of forty SPVs, each with its own controller applying the standard slightly differently, is where “inconsistent treatment across entities” turns from an audit comment into a pattern. A holding company overseeing subsidiaries faces this exact problem - the same policy needs to actually be the same policy everywhere it’s applied.
To be direct about the limits: this doesn’t replace the underlying accounting work. Someone still has to build the cost-to-cost model, judge what counts toward progress, and write the memo defending it under IFRS 15. What changes is whether the number it produces stays reconciled to source through the project’s next certification.
Who this is for
This is for the finance lead at a mid-sized contractor or developer tired of rebuilding the WIP bridge from scratch every period. If your group runs a handful of SPVs and your close already reconciles project-by-project, the gap here is speed and consistency, not a rebuild. If you’re still reconstructing the cost-to-cost calculation in a fresh spreadsheet every cycle, that’s the more fundamental problem to solve first. For how this fits into the rest of a finance team’s recurring cycles, see the finance team use cases hub.
Part of Finance Team Use Cases: Real Workflows on Verified Numbers