An Indian real estate developer with multiple projects, hundreds of booked units per project, milestone-driven payment schedules, multi-deliverable contracts (apartment, carpark, club), and a divergence between Ind AS 115 point-in-time revenue, Section 43CB POC for tax, and milestone-driven GST output runs three parallel revenue ledgers that must reconcile at every period close — without a structured control, contract liability balances drift and deferred tax positions cannot be evidenced to auditors.
Reconcile under Ind AS 115 by computing POC monthly against actual cost-to-date over total estimated cost, allocate contract price across distinct performance obligations at standalone selling prices, recognise revenue at handover for residential point-in-time obligations, maintain a parallel Section 43CB POC ledger for tax that produces deferred tax liability against book, and tie milestone GST output invoices to the contract liability rollforward per customer-unit.
Project master keyed by RERA registration number with total estimated cost, total saleable area, expected handover quarter; unit master with booking date, agreement value, payment milestone schedule, performance obligation split; cost ledger tagged to project for monthly POC computation; revenue policy table per project (point-in-time vs over-time per obligation); Section 43CB ledger for deferred tax; GST output register tied to milestone billing trigger.
A per-project quarterly close pack showing POC ratio (cost-to-date over estimated cost), contract liability roll (opening, collections, revenue recognised, closing), contract receivable position, multi-deliverable allocation reconciliation, Section 43CB taxable income vs book revenue with deferred tax liability movement, and the milestone-driven GST output reconciliation tied to GSTR-1 outward supplies for the period.
An Indian real estate developer running four active residential projects, 1,180 booked units across the portfolio, and a total estimated cost of ₹2,650 crore closes Q1 books and discovers the contract liability ledger has drifted by ₹14.8 crore against the customer collection ledger. The drift is not fraud — it is the predictable consequence of running real estate revenue recognition Ind AS 115 India on three parallel ledgers without a structured control. Ind AS 115 recognises revenue at handover for point-in-time residential obligations. Section 43CB recognises taxable revenue on percentage-of-completion. GST output accrues on milestone-invoice date. Each ledger has its own trigger, and reconciliation must tie all three to the same customer-and-unit position at every period close.
Quick reference
| Item | Value |
|---|---|
| Standard | Ind AS 115 — Revenue from Contracts with Customers |
| Recognition trigger (Indian residential) | Point-in-time at handover or conveyance |
| Recognition trigger (Indian commercial under custom build) | Often over-time if right-to-payment criteria met |
| POC method | Cost-to-date over total estimated cost (input method) |
| Tax overlay | Section 43CB — POC mandated for tax even where Ind AS 115 is point-in-time |
| GST output (residential under-construction) | 5% without ITC; 1% for affordable housing without ITC |
| GST output (commercial under-construction) | 12% with ITC |
| Section 393(1)(a) code 1002 | Contractor TDS on civil works at 1% / 2% above ₹30,000 per transaction |
The Ind AS 115 five-step model applied to Indian real estate
The Ind AS 115 model is well-known but the application to Indian residential real estate has specific shape:
Step 1 — Identify the contract. The agreement to sell is the contract once signed and the booking advance is received. For RERA-registered projects, the agreement to sell must conform to the model agreement under Rule 9.
Step 2 — Identify performance obligations. A typical Indian apartment sale contains three distinct obligations: the apartment unit itself, the allotted carpark, and the club membership. Each is distinct because each can be sold separately, has separate consideration in market practice, and the customer benefits separately. Some agreements bundle the carpark or club as part of the apartment price; allocation is still required.
Step 3 — Determine the transaction price. This is the agreement value including any variable consideration (timely-payment discounts, late-payment interest accruals where contractually defined). Stamp duty and registration are not part of the developer’s transaction price — they are pass-through.
Step 4 — Allocate the transaction price. Allocate to each performance obligation in proportion to standalone selling prices. For a ₹1.2 crore apartment + ₹6 lakh carpark + ₹2 lakh club: the contract is allocated 93.75% to the apartment, 4.69% to the carpark, 1.56% to the club at standalone selling-price ratio.
Step 5 — Recognise revenue when (or as) performance obligation is satisfied. For Indian residential, the over-time criteria in paragraph 35 typically fail — the customer does not control as the asset is created, the developer’s performance creates an asset with alternative use, and there is no enforceable right to payment for performance to date. Revenue is therefore recognised at a point in time, normally at handover.
POC: still mandatory even when revenue is point-in-time
The percentage-of-completion ratio is computed even for point-in-time projects because it drives three other balances:
- Contract liability — collected cash above cumulative revenue recognised is a liability.
- Section 43CB taxable revenue — tax does not follow Ind AS 115; it uses POC.
- Management reporting — internal margin tracking per project uses POC-based revenue.
POC is normally computed as cost-to-date over total estimated cost (the input method). The estimated total cost must be re-forecast at every period close. Reconciliation must tie the cost-to-date in the POC computation to the actual cost ledger by project tag — no project-level cost can be unreconciled at quarter close, because every uncosted invoice distorts POC and therefore distorts the Section 43CB taxable position.
Worked example — ₹420 Cr project, 280 units, 65% POC
A Bengaluru residential project with the following parameters at Q1 FY 2026-27 close:
- RERA-registered total project cost: ₹420 crore
- Total saleable area: 4,80,000 sq ft
- Units sold: 280 of 320 (87.5% sold)
- Total agreement value of sold units: ₹512 crore
- Cost incurred to date: ₹273 crore
- Cost-to-date POC: 273 / 420 = 65.0%
- Collections received cumulative: ₹362 crore
- Carpark allocation per unit: ₹6 lakh
- Club membership per unit: ₹2 lakh
Under Ind AS 115 point-in-time recognition (residential, no handovers yet in Q1), book revenue is ₹0 for these sold units. The full ₹362 crore sits as contract liability per customer-unit. When the first 60 handovers close in Q2 against units totalling ₹110 crore agreement value, book revenue of ₹110 crore is recognised and the contract liability rolls down by ₹110 crore — but only to the extent collected against those specific handovers.
Under Section 43CB tax POC, the taxable revenue at Q1 close is 65% × ₹512 crore allocated to the sold portion, less Section 43CB cost recognition — producing a taxable income that exceeds book revenue by the full POC-share. Deferred tax liability accrues against this divergence and unwinds at handover.
Under GST, output is driven by milestone invoices: typically 10% on booking, 20% on excavation, 20% on plinth, 20% on slab, 20% on finishing, 10% on possession. At 65% POC, customers have typically been billed through plinth-to-slab milestones — GST output accrues on those invoices regardless of Ind AS 115 book revenue.
Find the TDS payment code for every construction-vendor payment
Civil contractor, MEP vendor, architectural fee, brokerage on flat sale — each falls under a different Section 393 payment code (1002, 1003, 1031, 1041). The TDS Payment Code Lookup maps the legacy section to the new code so your AP team deducts the right rate first time.
Open the TDS Payment Code Lookup →Section 43CB taxable revenue — running the parallel ledger
For tax reconciliation, the developer must maintain a Section 43CB POC ledger that runs independently of Ind AS 115. Inputs:
- Cumulative project cost (must tie to the same cost ledger that feeds Ind AS POC)
- Total estimated cost (re-forecast at each period close)
- POC ratio for the period
- Taxable revenue at POC × total sold-unit agreement value
The deferred tax liability is computed at the corporate rate on the difference between Section 43CB taxable revenue and Ind AS 115 book revenue. At handover, both ledgers converge for the units handed over, the deferred tax liability for those units reverses, and the current tax liability for those units crystallises.
A reconciliation control ties the Section 43CB cumulative position to the Ind AS 115 contract liability rollforward at every period close. Drift indicates either a re-forecast of total estimated cost was missed, or cost was tagged to the wrong project, or the unit-level handover trigger was applied inconsistently between the two ledgers.
GST output — milestone-driven and disconnected from POC
GST output on under-construction sale accrues on the milestone-invoice trigger — not on POC, not on handover, not on collection. For residential without ITC at 5%, every milestone invoice raises 5% GST output regardless of book revenue. Reconciliation must tie the milestone billing register to GSTR-1 outward supplies and to the contract liability movement per customer.
A common reconciliation break: the developer raises a milestone invoice in March (GST output accrues, GSTR-1 reports it), but the customer pays in April (contract liability moves in April), and the unit hands over in October (Ind AS 115 book revenue triggers in October). The same ₹40 lakh of agreement value touches GSTR-1 in March, contract liability in April, and P&L revenue in October — three separate trigger dates for the same money.
Tax overlay — Section 393 TDS on construction payments
A developer running ₹420 crore of project cost will deduct TDS on civil contractor, MEP contractor, architectural fee, soil-testing fee, brokerage, rent on site office, and non-resident technical fee. The Income Tax Act 2025 (effective 1 April 2026) replaced the legacy 194x section references with Section 393 + payment code combinations. The relevant codes for a real estate developer:
| Payment | Section + code | Legacy | Rate |
|---|---|---|---|
| Civil contractor — works contract | Section 393(1)(a) code 1002 | 194C | 1% / 2% |
| Architectural / structural design fee | Section 393(1)(b) code 1003 | 194J | 10% |
| Brokerage on flat sale | Section 393(1)(h) code 1031 | 194H | 5% |
| Rent on site office (land + building) | Section 393(1)(i) code 1041 | 194I(b) | 10% |
| Plant and machinery hire (concrete pump, tower crane) | Section 393(1)(i) code 1042 | 194I(a) | 2% |
| Purchase of materials above ₹50 lakh aggregate per vendor | Section 393(1)(k) code 1012 | 194Q | 0.1% |
| Non-resident architect / structural consultant | Section 413 code 1062 | 195 | DTAA / Act rate |
Each TDS deduction must tie to the project tag in the cost ledger so that the cost-to-date input into POC is net-of-recoverable but gross-of-deductible, and so the quarterly TDS return (Form 168 for residents under code 1002, etc.) ties to the cost ledger by deductor TAN and by project.
Continue reading — Real estate cluster
- RERA escrow account reconciliation for Indian real estate developers — the 70% escrow rule, monthly CE+CA certification, withdrawal mechanics, state variations
- TDS on rent under Section 393(1)(i) payment code 1041 (FY 2026-27) — new code 1041, ₹2,40,000 threshold, land vs building vs P&M rates
- Joint venture (JV) real estate reconciliation for Indian developers — landowner-developer area-share, RCM on JV dev services, transfer pricing
- Society maintenance charge reconciliation: GST, late-fee, Section 22A — ₹7,500/month exemption, sinking fund, RWA vs society
- Real estate brokerage commission reconciliation: TDS Section 393(1)(h) — code 1031, RERA broker registration, sale vs lease
What automated reconciliation changes
Running Ind AS 115 point-in-time book revenue, Section 43CB POC taxable revenue, and milestone-driven GST output across four active projects with 1,180 booked units is a structurally three-ledger problem. Manual quarter-close at a developer of this scale is a 12-15 day exercise dominated by spreadsheet ties between collection statements, milestone billing registers, Form 26AS, and project cost ledgers. Purpose-built reconciliation software India treats each ledger as a structured variance stream and surfaces only the lines that fail to match. TransactIG carries presets that handle project-level cost tagging, POC computation against re-forecasted total, contract liability rollforward per customer-unit, deferred tax liability movement from Section 43CB divergence, and the Section 393 payment-code map for construction vendor payments. Customer outcomes include match-rate improvement from 51% to 88%, with build in two-to-four weeks on AWS Mumbai (ISO 27001:2022). For the TDS overlay, see TDS reconciliation software.