Why Property Developer Accounting Is Different
Accounting for property development in the UAE is considerably more complex than accounting for most other industries, for one structural reason: the sale of the asset and the production of the asset happen at the same time, often years apart from when cash actually changes hands.
In a typical retail business, a product is manufactured, then sold, then delivered, and revenue is recognized at delivery. In UAE real estate, particularly off-plan development, the sequence is reversed and overlapping. A developer may sell a unit on day one of a 100-unit tower while the building itself is still a hole in the ground. The buyer pays in installments tied to a payment plan, not to construction milestones. The cash collected does not go directly to the developer — it is held in a RERA-regulated escrow account and released only against verified construction progress. And of the 100 units in the building, perhaps only 20 to 25 are sold at any given point, each potentially sitting at a different payment milestone.
This guide exists to walk through that complexity carefully, with reference to the actual accounting standards that govern it, and with enough worked examples that an accountant, auditor, or ERP consultant can use it as a working reference rather than a conceptual overview.
Many accountants new to this topic ask a very reasonable question: "I've received AED 5 million from buyers. Why isn't that revenue?" The answer is the single idea this entire guide is built around: cash received is not the same as revenue earned. Revenue under IFRS 15 represents the satisfaction of a performance obligation — actual progress on a promise made to a customer — not the receipt of money. A developer can collect substantial cash long before it has earned the right to recognize that cash as income, and in some structures, it can earn the right to recognize revenue before it has collected the matching cash at all. Once that distinction is internalized, contract assets, contract liabilities, and percentage-of-completion accounting stop being abstract jargon and become straightforward consequences of one idea.
The Common Misconception
There is a widespread belief — repeated even by some ERP consultants and finance teams — that IFRS 15 simply says: "recognize revenue based on the percentage of project completion." That statement is not accurate, and treating it as a blanket rule is one of the most common sources of error in this area.
IFRS 15 does not say that revenue should automatically follow overall project completion. It requires revenue to be recognized based on progress toward satisfying a specific, identified performance obligation — and only after that performance obligation has first been determined to be satisfied over time rather than at a single point in time.
Under IFRS 15.35, a performance obligation is satisfied over time only if at least one of three criteria is met: (a) the customer simultaneously receives and consumes the benefits of performance as it occurs; (b) the entity's performance creates or enhances an asset that the customer controls as it is created; or (c) the entity's performance does not create an asset with an alternative use to the entity, and the entity has an enforceable right to payment for performance completed to date.
Critically, the IFRS Interpretations Committee has examined real estate fact patterns specifically and reached an important conclusion: in many off-plan sale contracts, criterion (c) is not automatically met. Where local law gives a buyer the right to cancel and receive a refund that is not reduced to compensate the developer for work already performed, the developer does not have an enforceable right to payment for performance completed to date — and none of the three criteria in paragraph 35 are satisfied. In that case, the performance obligation is satisfied at a point in time, typically on handover, not over time.
This means the cost-to-cost percentage-of-completion method discussed throughout this guide is the appropriate measure of progress only once a developer has established, based on the specific contract wording and the enforceability of payment rights under the governing law, that the over-time criteria are genuinely met. The assessment is contract-specific, not industry-wide.
Standard Sale and Purchase Agreements differ meaningfully between developers — the specific termination and refund clauses in an SPA from one major UAE developer are not necessarily identical to another's, and enforceability of payment rights can also be affected by financing structure, project type, and whether land is transferred separately from the building. For that reason, this guide deliberately avoids saying "all UAE developers recognize revenue over time." The technically defensible statement is: many UAE developers recognize revenue over time where the specific criteria in IFRS 15.35 are met by their contract terms — and that determination should be made contract by contract, ideally with input from the developer's auditor or technical accounting advisor, not assumed as an industry default.
Cash received is not revenue. Revenue represents performance, not payment. That one distinction is the foundation on which the rest of this guide is built.
— Professionals Lobby · Accounting & Auditing AdvisoryReady-to-Sell vs. Off-Plan Accounting
UAE real estate developers generally sell under two structures, and the accounting complexity differs substantially between them.
Ready property accounting is comparatively simple because the timing of revenue recognition, the transfer of cash, and the transfer of the asset tend to converge around a single handover event. Off-plan accounting is harder because three separate timelines — the buyer's payment plan, the construction progress, and the escrow release schedule — run independently of one another and must all be reconciled in the books simultaneously, for every unit, every month.
A further complication specific to off-plan development: in a single 100-unit building, perhaps only 20 to 25 units have been sold at any given time. The remaining 75 to 80 units are unsold inventory. Construction costs for the entire building are being incurred regardless of how many units are sold, but only the costs attributable to sold units can be matched against revenue. Costs attributable to unsold units remain capitalized as inventory (work in progress) until those units are eventually sold.
Some literature refers to a developer's unsold completed or under-construction units as falling under IAS 2 Inventory rather than IFRS 15, since IFRS 15 governs revenue from contracts with customers and has nothing to say about goods that have not yet been sold. Once a unit is sold, the associated construction cost is reclassified out of inventory into cost of sales as revenue is recognized against that specific unit.
How This Differs From Property Leasing
Many UAE accountants are already comfortable with the mechanics of leasing income, which provides a useful — though imperfect — mental anchor before diving into sales accounting.
In a typical UAE tenancy, the tenant pays one year's rent upfront, often as a small number of post-dated cheques (commonly structured as 1, 2, or 4 cheques). The full amount received is recorded as a liability — advance rental income — because the landlord has not yet earned it. As each month of occupancy passes, one-twelfth of the annual amount is reclassified from the liability account into rental revenue. If a tenant occupies the unit for one month, exactly one month's worth of rent moves from "advance" to "earned." The trigger for recognition is the simple, linear passage of time — measured by occupancy.
Off-plan sales accounting follows the exact same underlying logic — an amount is received before it is earned, so it sits in a liability account until it is earned — but the trigger for recognition is fundamentally different. It is not the passage of calendar time. It is construction progress, measured against the specific performance obligation in the sale contract.
This single difference — time-based recognition versus performance-based recognition — is why leasing accounting can be handled with simple straight-line schedules, while off-plan sales accounting requires the full apparatus of IFRS 15: performance obligations, transaction price allocation, a measure of progress, and contract assets or liabilities that move every single reporting period as estimates are refined.
IFRS 15 Foundations
IFRS 15 Revenue from Contracts with Customers is the single global standard governing how and when an entity recognizes revenue. It replaced IAS 11 Construction Contracts and IAS 18 Revenue, along with several related interpretations including IFRIC 15 Agreements for the Construction of Real Estate, for annual periods beginning on or after 1 January 2018.
IFRS 15 organizes revenue recognition into a five-step model. For a property developer, each step has a specific, non-obvious answer.
Step 1 & 2 — The Contract and the Performance Obligation
The Sale and Purchase Agreement (SPA) is the contract. The performance obligation is typically the promise to deliver a specific, identified real estate unit — for example, "Apartment 1204, Tower B." Where the unit is described with enough specificity that the developer cannot substitute a different unit without breaching the contract, the unit is treated as having no alternative use to the developer, which matters for the over-time assessment discussed below.
Step 3 & 4 — Transaction Price and Allocation
For a single-unit sale, the transaction price is simply the agreed sale price in the SPA, adjusted for any variable consideration such as early-payment discounts or penalty clauses. Allocation across multiple performance obligations (for example, where parking, storage, or furniture packages are sold as separately identifiable promises) follows the relative standalone selling price of each.
Step 5 — The Critical Determination: Over Time or Point in Time
This is where property developer accounting diverges from almost every other industry, and where the determination must be made with real care rather than assumed.
The IFRS Interpretations Committee's March 2018 agenda decision on the "Right to payment for performance completed to date" examined a fact pattern closely resembling a typical off-plan apartment sale and concluded that the developer in that scenario did not have an enforceable right to payment for performance completed to date — because applicable law allowed the buyer to cancel and receive a refund that did not compensate the developer for work already done. Where this is the case, none of the three IFRS 15.35 criteria are met, and revenue is recognized at a point in time, typically on handover, regardless of construction progress. A developer's specific assessment depends on its own SPA wording and the enforceability of its termination, cancellation, and refund provisions under UAE law — and should be documented and supported by a formal accounting policy memo, ideally reviewed by the developer's external auditor.
The remainder of this guide focuses on the scenario most readers are seeking — over-time recognition using the cost-to-cost method — on the explicit basis that the developer has first established that its specific contracts meet the IFRS 15.35 criteria. Where that determination instead concludes point-in-time recognition is appropriate, the accounting is considerably simpler: cash received remains a contract liability throughout construction, with no revenue or cost of sales recognized until legal title and possession transfer at handover.
Introduction → Ready vs. Off-Plan → Leasing Comparison → IFRS 15 Foundations → Performance Obligations → Contract Assets & Liabilities → RERA Escrow → Work in Progress → Percentage of Completion → Revenue, Cost & Profit Recognition → Core Journal Entries → Ten Worked Scenarios → ERP Implementation → Common Mistakes → FAQ → References.
Contract Liabilities and Contract Assets
Once a developer establishes that revenue is recognized over time, two new balance sheet items become central to the accounting: the contract liability and the contract asset. Both exist because cash collection and revenue recognition almost never move in perfect lockstep.
A contract asset differs from an ordinary trade receivable in one important respect: a receivable represents an unconditional right to payment (only the passage of time stands between the entity and collection), while a contract asset's right to payment is still conditional on something else — typically further performance, or reaching a contractual billing milestone. This distinction also matters for impairment: contract assets are subject to the expected credit loss requirements of IFRS 9, the same as receivables.
IFRS 15.BC317 confirms that the remaining rights and obligations in a single contract are presented on a net basis, as either one contract asset or one contract liability for that contract — not gross. A developer with many contracts at different stages will typically show an aggregate contract asset balance and an aggregate contract liability balance on the balance sheet, representing the net position across all in-progress contracts, since one contract cannot simultaneously be both.
The relationship between these two accounts over the life of a single unit sale typically follows a predictable arc: contract liability rises early (cash collected outpaces performance), narrows as construction catches up to cash collected, may flip into a contract asset later in the project if performance outpaces the buyer's payment schedule, and resolves to zero — with the corresponding amount moving to revenue and, eventually, a receivable or cash — at handover.
The RERA Escrow Mechanism
Everything described so far applies to real estate developers under IFRS 15 globally. The escrow mechanism is what makes UAE — and specifically Dubai — property developer accounting distinctly local, and it must be layered carefully on top of the revenue recognition mechanics above without being confused with them.
Under Law No. (8) of 2007 Concerning Escrow Accounts for Real Estate Development in the Emirate of Dubai, a developer selling units off-plan cannot deposit buyer payments into its own operating account. Instead, a dedicated escrow account must be opened for each project with a RERA-accredited escrow agent (typically a bank). All buyer payments — and financier funding for the project — must be deposited directly into that project-specific escrow account. The funds are legally ring-fenced: creditors of the developer cannot attach the escrow balance, and the money may only be used for the construction of that specific project.
The escrow mechanism governs cash custody and liquidity — where the money physically sits, and when the developer is permitted to access it. It does not govern revenue recognition, which is driven purely by the IFRS 15 performance assessment described above. These are two separate questions that happen to move in loose correlation, because both are ultimately tied to construction progress, but they are not the same mechanism and must not be conflated. A developer can have cash sitting in escrow that has nothing to do with how much revenue it is entitled to recognize that month, and vice versa.
From an accounting perspective, this means a UAE developer's chart of accounts needs to separately distinguish restricted cash (escrow) from unrestricted cash (operating), and movements between them are pure cash reclassifications — they do not touch revenue, cost of sales, or the contract asset/liability balance at all. Only the underlying construction performance (cost incurred relative to total estimated cost) drives revenue recognition; the escrow release is simply how that performance gets paid for.
The Percentage of Completion (Cost-to-Cost) Method
Once a developer has confirmed that a performance obligation is satisfied over time, IFRS 15.41 requires it to select a single method to measure progress toward completion and to apply that method consistently to similar performance obligations. The two broad categories are output methods (e.g. units delivered, milestones reached, surveys of work performed) and input methods (e.g. costs incurred, labor hours expended, machine hours used).
For property developers, the cost-to-cost input method is the most commonly applied in practice, because reliable cost data is usually more readily available and more objectively verifiable than subjective output assessments on a large, multi-trade construction project.
Percentage of Completion (POC) = Total Costs Incurred to Date ÷ Total Estimated Project Costs
Once POC is calculated, it is applied to the total contract value of sold units only — never to the value of the entire project, and never to unsold inventory — to determine the cumulative revenue that may be recognized to date for each contract.
A naive cost-to-cost calculation that simply divides "money spent" by "total budget" can materially misstate progress unless several adjustments are made:
- Land cost — often excluded from, or treated separately within, the cost-to-cost base, since land acquisition does not represent construction performance and including it can front-load revenue recognition inappropriately.
- Uninstalled materials — under IFRS 15.B19, costs of materials purchased but not yet used in construction (e.g. a bulk order of marble sitting in a warehouse) should generally be excluded from costs incurred, or recognized as revenue only to the extent of the cost itself (zero margin), since they do not yet reflect work performed.
- Abnormal wastage and idle labor — IFRS 15.B19(b) requires that costs incurred due to significant inefficiencies that were not reflected in the contract price (e.g. wasted materials, unplanned idle labor) be excluded from the cost-to-cost measure of progress.
- Significant financing components — where a payment plan results in a substantial timing difference between payment and performance, IFRS 15.60–65 may require the transaction price to be adjusted for the time value of money, treating part of the consideration as a financing component rather than pure revenue.
Borrowing costs incurred to finance construction are a separate matter, governed by IAS 23 Borrowing Costs, not IFRS 15. Where a development qualifies as a "qualifying asset" under IAS 23.5 (typically because it takes a substantial period — commonly judged as more than approximately six months to a year — to get ready for sale), directly attributable borrowing costs are capitalized into the cost of the work in progress rather than expensed as incurred, which in turn affects the total estimated project cost used in the POC denominator.
Worked Calculation
POC = AED 10,000,000 ÷ AED 50,000,000 = 20%
Revenue to Recognize (Unit A) = AED 1,000,000 × 20% = AED 200,000
Core Journal Entries — Step by Step
Using the worked scenario above (Unit A: AED 1,000,000 sale price, 20% advance, project 20% complete at Month 6), here is the complete flow of journal entries from contract signing through to revenue recognition.
Step 1 — Receiving the Advance (Day 1)
The buyer pays the 20% advance. This must be deposited into the project's RERA escrow account. Because the developer has not yet performed, the amount is a liability, not revenue.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Bank — Escrow Account (Restricted Cash) | 200,000 | — |
| Contract Liability (Advances from Customers) | — | 200,000 |
Step 2 — Incurring Construction Costs (Months 1–6)
As the developer pays contractors across the whole project, the cost is capitalized as Work in Progress (an inventory-type asset), not expensed immediately — because the related revenue has not yet been recognized.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Work in Progress (Inventory / Asset) | 10,000,000 | — |
| Accounts Payable / Operating Cash | — | 10,000,000 |
Step 3 — RERA Releases Escrow Funds (Month 6)
RERA's appointed engineer verifies 20% completion and authorizes the escrow agent to release AED 150,000 to the developer's operating account, to be used for paying contractors. This is a pure cash reclassification — restricted to unrestricted — and does not touch revenue.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Bank — Operating Account (Unrestricted) | 150,000 | — |
| Bank — Escrow Account (Restricted Cash) | — | 150,000 |
Step 4 — Recognizing Revenue and Cost of Sales (Month 6, Period End)
Because Unit A's specific contract is 20% complete, 20% of its AED 1,000,000 contract value moves from contract liability into revenue. The matching proportion of Unit A's estimated cost (assume AED 500,000 total estimated cost for Unit A specifically) moves from Work in Progress into Cost of Sales.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Liability (Advances from Customers) | 200,000 | — |
| Real Estate Revenue (P&L) | — | 200,000 |
| Cost of Sales (P&L) | 100,000 | — |
| Work in Progress (Inventory / Asset) | — | 100,000 |
T-Accounts — Visualizing the Same Entries
Financial Statement Snapshot — Unit A, Month 6
The Unbilled Receivable — When Revenue Outpaces Cash
Imagine that by Month 8, the project is 40% complete. Under IFRS 15, the developer should now recognize 40% of Unit A's revenue, or AED 400,000 cumulative. However, the buyer has only paid the initial 20% (AED 200,000) and is not contractually due to pay again until handover. The contract liability has already been fully depleted by the Month 6 entry. The entry now must recognize the excess as a contract asset (an unbilled receivable) rather than a contract liability reversal.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Asset (Unbilled Receivable) | 200,000 | — |
| Real Estate Revenue (P&L) | — | 200,000 |
The contract liability was AED 200,000 at Month 6 and is reduced to zero by the Month 6 revenue entry. At Month 8, cumulative revenue should be AED 400,000, but only AED 200,000 has actually been recognized so far. The incremental AED 200,000 of revenue recognized at Month 8 has no further contract liability to offset against, so it is recorded as a contract asset — representing the developer's right to future billing once the buyer's next payment milestone is contractually due.
Ten Worked Scenarios
Real portfolios rarely look like the single clean example above. The scenarios below cover the situations that actually arise across a typical off-plan sales book — different payment-versus-progress combinations, defaults, handovers, unsold inventory, project losses, cost revisions, contract modifications, and construction delays. Each assumes the developer has already established over-time recognition applies, per the IFRS 15.35 assessment discussed earlier.
Given
- Unit contract value: AED 1,000,000
- Buyer has paid 20% (AED 200,000), held in escrow
- Project-wide POC: 10%
Analysis
Revenue recognizable = 10% × AED 1,000,000 = AED 100,000. Cash collected (AED 200,000) exceeds revenue recognized (AED 100,000), so a contract liability of AED 100,000 remains on the balance sheet after recognition.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Liability | 100,000 | — |
| Real Estate Revenue (P&L) | — | 100,000 |
Balance sheet position after entry: Contract Liability = AED 100,000 (the remaining unearned portion of the AED 200,000 collected).
Given
- Unit contract value: AED 1,000,000
- Buyer has paid 70% (AED 700,000) under an aggressive payment plan
- Project-wide POC: 20%
Analysis
Revenue recognizable = 20% × AED 1,000,000 = AED 200,000. The buyer's payment plan is far ahead of construction. After recognizing revenue, the contract liability remains substantial — AED 500,000 — because most of the cash collected does not yet represent earned revenue. This is a common and entirely expected pattern with developer payment plans designed to front-load cash collection (e.g. "60/40" or "80/20" plans); it does not indicate any irregularity, but it does mean a large unearned balance sits on the balance sheet for a long period.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Liability | 200,000 | — |
| Real Estate Revenue (P&L) | — | 200,000 |
Balance sheet position after entry: Contract Liability = AED 500,000 (AED 700,000 collected minus AED 200,000 cumulative revenue recognized).
Given
- Unit contract value: AED 1,000,000
- Buyer has paid only 30% (AED 300,000) to date
- Project-wide POC: 70%
Analysis
Revenue recognizable = 70% × AED 1,000,000 = AED 700,000. Cumulative cash collected is only AED 300,000. The contract liability is fully depleted, and the excess (AED 400,000) must be recognized as a contract asset — an unbilled receivable representing the developer's conditional right to future payment once the buyer's next milestone falls due.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Liability (fully depleted) | 300,000 | — |
| Contract Asset (Unbilled Receivable) | 400,000 | — |
| Real Estate Revenue (P&L) | — | 700,000 |
This contract asset should be assessed for impairment under IFRS 9 — particularly relevant if the buyer's payment history suggests collection risk.
Given
- Buyer had paid AED 300,000 cumulatively; cumulative revenue recognized was AED 200,000 (contract liability of AED 100,000 on the books)
- Buyer defaults; under the SPA, the developer is entitled to retain a 10% termination penalty (AED 100,000) and must refund the balance, per DLD-approved cancellation procedures
Analysis
Per UAE practice, developer cancellation of a defaulting buyer's unit generally requires notifying DLD and following the prescribed remedy notice procedure before termination can proceed. Once termination is confirmed, the contract liability is derecognized: the retained penalty is recognized as income (often presented as "other income" rather than real estate revenue, since it does not relate to performance on the unit), and the balance is refunded from escrow.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Liability | 100,000 | — |
| Refund Payable to Buyer | 200,000 | — |
| Other Income — Termination Penalty Retained | — | 100,000 |
| Cash / Escrow (refund disbursed) | — | 200,000 |
The unit reverts to unsold inventory, and the corresponding Work in Progress cost previously matched to that unit's Cost of Sales should be reassessed — it generally remains in WIP since the unit can be resold.
Given
- Project reaches 100% completion; final payment milestone (50%, AED 500,000) becomes due and is collected
- Cumulative revenue recognized prior to handover: AED 900,000 (at 90% POC); remaining AED 100,000 now recognized
- Title deed registered and possession transferred to buyer
Analysis
At handover, the final tranche of revenue is recognized, bringing cumulative recognized revenue to the full AED 1,000,000 contract value. Any remaining Work in Progress balance attributable to this unit is fully transferred to Cost of Sales. The escrow's 5% retention (per Article 14 of the Escrow Law) remains held for one year post-registration as a defect-liability guarantee and is not part of this unit's revenue entry.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Liability / Contract Asset (clearing balance) | 100,000 | — |
| Real Estate Revenue (P&L) | — | 100,000 |
Given
- Of 100 total units, only 22 are sold under SPAs at Month 6
- Construction cost incurred to date (whole building): AED 10,000,000
Analysis
IFRS 15 only governs the 22 sold units. The 78 unsold units generate no revenue and no cost of sales — their share of total construction cost simply remains capitalized as inventory (Work in Progress, or completed unsold inventory once construction finishes), governed by IAS 2. Under IAS 2.9, this inventory is carried at the lower of cost and net realizable value; if market conditions deteriorate such that expected selling price falls below cost, a write-down to net realizable value is required, with the impairment expensed in the period it is identified.
No journal entry is needed simply because units remain unsold — costs continue accumulating in Work in Progress in proportion to construction activity across the whole building, allocated to unsold units based on a reasonable basis (commonly relative floor area or unit count).
Calculating overall project POC using total construction cost incurred (correct), but then mistakenly applying that POC to the value of all 100 units rather than only the 22 sold contracts (incorrect). Revenue can only ever be recognized against units that have an actual customer contract.
Given
- Revised total estimated cost for a project rises to AED 60,000,000 (from AED 50,000,000), driven by material cost escalation
- Total contracted revenue for sold units in the project is only AED 55,000,000
Analysis
Where it becomes probable that total costs will exceed total contract revenue for a specific performance obligation, the full expected loss (here, AED 5,000,000) must be recognized immediately in the period it becomes evident — it is not spread proportionally across remaining periods using the POC percentage. This principle, sometimes referred to as an "onerous contract" provision (with reference also to IAS 37 Provisions, Contingent Liabilities and Contingent Assets for the broader provisioning framework), exists specifically to prevent a developer from deferring recognition of a known loss simply because the project is not yet complete.
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Loss on Construction Contract (P&L) | 5,000,000 | — |
| Provision for Onerous Contract | — | 5,000,000 |
Given
- Original total estimated cost: AED 50,000,000; cumulative revenue recognized to date for Unit A at the old 20% POC: AED 200,000
- Revised total estimated cost (Month 9): AED 55,000,000; costs incurred to date remain AED 15,000,000
Analysis
Revised POC = AED 15,000,000 ÷ AED 55,000,000 = 27.3%. This is treated as a change in accounting estimate under IAS 8 Accounting Policies, Changes in Accounting Estimates and Errors, applied prospectively — there is no restatement of prior periods. The new cumulative revenue figure for Unit A is recalculated using the revised POC, and the entry in the current period is simply the difference between the new cumulative figure and what has already been recognized (a "cumulative catch-up" adjustment).
| Account | Debit (AED) | Credit (AED) |
|---|---|---|
| Contract Liability / Contract Asset | 73,000 | — |
| Real Estate Revenue (P&L) | — | 73,000 |
(New cumulative revenue: 27.3% × AED 1,000,000 ≈ AED 273,000; less AED 200,000 already recognized = AED 73,000 incremental.)
Given
- Buyer requests a premium finishing upgrade mid-construction, adding AED 80,000 to the contract price and AED 60,000 to estimated cost
- The upgrade is not a distinct good or service sold at its standalone price relative to the remaining unit
Analysis
Under IFRS 15.18–21, where additional goods or services in a modification are not distinct from the existing performance obligation, the modification is accounted for as if it were part of the original contract — the transaction price and the measure of progress (the cost-to-cost POC) are both updated, and the cumulative effect is recognized as a further cumulative catch-up adjustment to revenue in the period of modification, following the same mechanics as Scenario H above.
If the additional scope is distinct and priced at its standalone selling price (for example, a separately contracted, optional furniture package fulfilled independently of the unit handover), it would instead be treated as a separate contract, recognized on its own timeline rather than blended into Unit A's POC.
Given
- Construction is suspended for an extended period due to a contractor dispute
- No new costs are incurred during the suspension period
Analysis
Because the cost-to-cost POC numerator (costs incurred to date) does not move while construction is suspended, no additional revenue is recognized during the delay — POC simply stays flat. Separately, under IAS 23.20, capitalization of borrowing costs must be suspended during extended periods in which active development of the qualifying asset has ceased; borrowing costs incurred during the suspension are expensed rather than added to Work in Progress. Capitalization resumes once active construction restarts.
From a disclosure perspective, a significant delay is also a trigger to revisit the developer's broader assessment of project recoverability (potential indicators of impairment under the relevant IAS 2 net realizable value test) and may warrant updated disclosure of the change in expected timing under IFRS 15's disclosure requirements regarding remaining performance obligations.
ERP Design for Off-Plan Revenue Recognition
The accounting described in this guide is conceptually clear but operationally complex at scale. A developer with 500 sold units across five projects — each at a different stage of payment and construction — cannot realistically manage POC calculations, cumulative catch-up adjustments, contract asset/liability movements, and escrow tracking manually every month. An ERP system designed for this business model must automate the entire recognition cycle.
The following describes the minimum table structure, the monthly automation logic, and the key system design decisions relevant to any ERP platform — whether SAP, Microsoft Dynamics 365, Oracle NetSuite, Odoo, or a custom-built solution.
Core Data Model — Minimum Table Structure
The key design insight is that the Unit is the primary accounting object. Every revenue, cost, contract asset, contract liability, and cash transaction must ultimately be traceable back to a specific unit ID — because it is at the unit level, not the project level, that the individual IFRS 15 performance obligation exists and the revenue recognition calcuation is performed.
Monthly Automated Revenue Recognition Pipeline
The "previously recognized revenue" step is the key to the cumulative catch-up mechanism. IFRS 15 requires the cumulative position to be correct as at each period end, not just the incremental movement. If POC rises from 20% to 27% in one month, the system must recognize revenue equal to 27% of contract value, less whatever was already recognized in prior months, in a single entry. This cumulative logic is what ensures the financial statements are always correct on a year-to-date basis regardless of how the POC moved in any given month.
A well-implemented ERP for this model will also handle: escrow sub-ledger with restricted vs. unrestricted split, automated milestone billing linked to payment schedules, unit-level cost allocation from the project cost pool, RERA milestone tracking with linkage to escrow release approvals, contract modification workflows, and monthly reporting packages showing revenue recognized, cost of sales, gross profit, contract asset, contract liability, and WIP for each project and each unit.
In SAP S/4HANA, the revenue recognition engine under RAR (Revenue Accounting and Reporting) handles IFRS 15 contract management natively, with cost-to-cost POC available as a standard input method. In Microsoft Dynamics 365 Finance, the Revenue Recognition feature under the subscription billing module can be extended for long-term construction contracts with custom POC drivers. In Oracle NetSuite, the Advanced Revenue Management (ARM) module supports contract liability and asset tracking against milestones. In Odoo, the native revenue recognition is limited for this use case and typically requires significant customization of the Project and Accounting modules, or an industry-specific third-party add-on.
Common Mistakes
These are the errors most frequently encountered in practice — in audit findings, ERP implementations, and finance team reviews. Each can lead to material misstatement.
Frequently Asked Questions
References and Further Reading
The following standards, interpretations, and official sources are cited or drawn upon throughout this guide.
This guide is intended as a technical reference and educational resource. It does not constitute accounting or audit advice, and the examples and journal entries are illustrative rather than prescriptive for any specific entity's circumstances. Developers should work with their external auditors and technical accounting advisors to apply these principles to their specific contracts, legal environment, and project structures. Accounting standards are periodically updated and interpretations may evolve.