Effective-dated rules
Rules that change over time (the RERA escrow share, TDS on sales, booking cancellation forfeiture, the revenue policy and cost budgets) are kept as dated rows; the row in force on a date is the latest one starting on or before it, so old documents keep the figures they were made with.
Effective-dated rules
An effective-dated rule is a setting kept as a list of dated rows instead of a single value. Each row says "from this date, this is the rule". When the app needs the rule for a demand, a receipt, a cancellation or a posting, it looks at the date of that document and picks the row in force on that date. A change in law or policy is a new row from a new date; older documents keep the figures they were made with, and the history stays readable.
How it works in NirmaanOne
The one rule behind every family
The row in force on a date is the row with the latest Effective from on or before that date.
A row dated after today is shown as Upcoming; the row in force today is In force. There can be only one row per start date (per section for TDS, per scope for cancellation, per set of books for the revenue policy, per project or tower for cost budgets), so two people cannot set two rules from the same day. The last escrow row, the last TDS row of a section, the last organization-level cancellation row and the last revenue policy of a set of books can never be deleted: change the figure instead. Cost budgets have no such floor; any of them can be deleted.
The families
| Rule | Set where | Date it is read on | Scope | Seeded default |
|---|---|---|---|---|
| RERA escrow share | Organization | the clearing date of the receipts a sweep splits; also read by the receipt warning, the RERA accounts statement and the dashboard | organization, with a project's own RERA escrow share (on Edit project, Land & RERA) overriding it | 70% from 1 May 2017 |
| TDS on sales (section 194-IA) | Organization | the demand date | organization, per section | 194-IA, 1%, threshold ₹50,00,000, from 1 June 2013 |
| Booking cancellation rules | Organization | the cancellation date | organization, with a project row overriding it | 10% of the agreed total, no GST, from 1 January 2000 |
| Revenue policy | Revenue policy tab of a set of books | the posting date (demand issue, commission approval, possession, each revenue run) | per set of books; a project may override the method and the trigger | Ind AS 115, point in time, from the books' begin date |
| Budget cost | Budget Cost card on a project's Settings tab | the revenue run's period end | per project, or per tower | none |
Two families have small extra rules of their own:
- Revenue policy: a posting dated before the first row still needs a policy, so the earliest row is used for it; and a policy that a posted revenue run has used is Locked. It cannot be edited or deleted any more, because the postings made under it must stay explainable. To change the policy, add a new row from a later date.
- Cancellation: the project's row in force wins over the organization's; only organization rows are protected from deleting the last one. The wizard can still override the suggested figures for one booking.
Why the date matters
- A demand keeps the TDS section, rate and amount it was raised with. A new TDS row affects only demands dated on or after its start.
- A sweep splits the receipts cleared on a day by the share in force on that day, and the RERA accounts statement for a past month uses the share that applied then, so a regulation change does not rewrite last year's sweeps or compliance. A project on other terms sets its own RERA escrow share (blank = the organization's rule), which is then used for that project instead.
- A cancellation posted last quarter keeps last quarter's forfeiture; a new policy from next month applies to cancellations dated from then.
Editing versus adding
Edit a row only to correct a mistake in it. When the law or the board's policy changes, add a new row with the new figure and its start date, and leave the old one alone. The delete confirmations say the same: "Reports for dates covered by another rule keep using that rule", "Demands already raised keep the figures they were raised with", "Cancellations already recorded keep the figures they were posted with".
Example
Shree Siddhi Developers has the seeded TDS rule: section 194-IA, 1%, threshold ₹50,00,000, from 1 June 2013. Suppose the Finance Act changes the rate and the finance lead adds a second row: 194-IA, 0.75%, threshold ₹50,00,000, Effective from 1 October 2026. Until 30 September the card shows the new row as Upcoming and the 2013 row as In force.
Two buyers in Sai Darshan have identical deals, each with a consideration (all charges excluding GST) of ₹1,91,27,000, which is above the threshold. Each receives a demand for the same construction stage billing ₹13,33,333.33 before GST, one dated before the change and one after:
- The first demand, dated 28 September 2026 → the 2013 row is in force → TDS = 13,33,333.33 × 1% = 13,333.3333… → ₹13,333.33. With 5% GST of ₹66,666.67 the total is ₹14,00,000.00 and the payable amount is 14,00,000.00 − 13,333.33 = ₹13,86,666.67.
- The second demand, dated 5 October 2026 → the new row is in force → TDS = 13,33,333.33 × 0.75% = 10,000.00 → ₹10,000.00; payable ₹13,90,000.00.
If the finance lead had edited the 2013 row to 0.75% instead, every demand raised from then on would read 0.75% whatever its date, and the audit trail would be the only place the old rate survived. That is the mistake effective dating prevents.
The same thinking applies to cancellation. The organization rule forfeits 10% of the agreed total (excluding GST). On 1 September 2026 the board decides that Sai Darshan alone forfeits 12% of the amount received from 1 October. A booking on Sai Darshan cancelled on 20 October with a consideration of ₹1,91,27,000 and ₹48,00,000 received is suggested a forfeiture of 48,00,000 × 12% = ₹5,76,000.00 under the project rule; a booking on any other project the same day is suggested 1,91,27,000 × 10% = ₹19,12,700.00 under the organization rule.
Where you see it
- Organization: the cards RERA escrow share, TDS on sales (section 194-IA) and Booking cancellation rules, each with In force / Upcoming badges and Add rule.
- Revenue policy: New policy from a date, the In force / Upcoming / Locked badges.
- Budget Cost: dated budgets per project or tower.
- Demand and Demand run: the TDS section and rate a demand was raised with.
- Record receipt / Record payout, RERA sweeps and RERA accounts: the collection-account warning, the sweep split and the statement use the share in force on the date.
- Project settings: the project's own RERA escrow share under Accounting.
- Cancel booking: the header badge "<Project> rule: <x>% of <base>" or "Organization rule: …" names the row in force on the cancellation date.
- Revenue run: the policy the run was computed under.
Related
Related
- OrganizationScreen
Your organization's profile and policies: name and invitation expiry, the two-factor requirement, the AI connectors switch, the help-assistant recording switch, the project defaults every project inherits (RERA gate, estimate validity, the two chargeable areas, carpet area offered, revenue method and trigger) and the effective-dated rules: the RERA escrow share that splits every sweep of a project's collection account, TDS on sales and booking cancellation.
- Revenue policyScreen
The CA's effective-dated choices on how the books recognise sale revenue and the costs that go with it: framework, method, possession trigger, OC rule, cost treatments and judgement areas.
- Budget CostScreen
The project's (or a tower's) estimated total cost, effective-dated, that cost of sales shares across the saleable units and the cost method of over-time revenue recognition measures progress against.
- DemandScreen
One demand: the installments it bills, its amounts with GST, the expected TDS and what is payable in money, the receipts and TDS credits against it and how the money is placed on the charges, with the actions to edit, issue, cancel or delete it.
- Demand runScreen
One demand run: its dates and totals, the demands it drafted, the subjects it skipped and the demands that failed to issue, with the actions to issue or cancel the run.
- Record receipt / Record payoutScreen
Record money received from a buyer or society member, or paid to a channel partner or society member: who, how and how much. A receipt settles the payer's open demands by itself, oldest due first; a payout is allocated to commissions or benefit rows by hand. A buyer's consideration and GST are two separate receipts; the TDS they deducted is a TDS credit.
- RERA accountsScreen
The RERA accounts statement for one set of books, or one project: what reached the collection account, what was swept to the separate and operative accounts and at what share, what was withdrawn from the separate account, and the movement on the four accounts' ledgers.
- RERA sweepsScreen
Every RERA sweep of the organization, one per receipt the moment it clears into a project's collection account (mirroring the bank's sweep of that account into the RERA separate and operative accounts) or one per clearing date from the Sweep now dialog that previews and posts sweeps by hand.
- Edit projectScreen
Change a project's facts on one page: basics, site address, land survey details and expected possession, and, on a redevelopment, the development agreement date and the fair value of the development rights. The settings the project inherits from the organization live on its Settings tab.
- Cancel bookingScreen
The four-step wizard that cancels a booking: it shows the demands and receipts that will be reversed, suggests the forfeiture and charges from the rule in force, sets the refund and posts everything in one go, releasing the unit and parking and marking the opportunity lost.
- Revenue runScreen
One period close: what each booking and member offer recognises, the journals and cost moves it posts, the subjects it left out, and the actions to recompute, post, reverse or delete it.
- Dashboard figures: absorption, funnel and operational moneyConcept
How the dashboard's tiles and cards are worked out: absorption of saleable stock, the sales funnel by stage reached, money read from demands and receipts rather than the ledger, the RERA accounts card, and the period with its comparison window.
- Bank accounts, purposes and bank ledgersConcept
One register of every bank account you pay from or into: who owns an account, what its purpose tag means, why the collection, RERA separate, operative and GST purposes belong to the promoter, what the primary account and the IFSC are for, and how a bank ledger is created in the books.
- RERA accounts and the daily sweepConcept
Every buyer payment enters the project's collection account; the bank sweeps it daily, the escrow share (70% under RERA 2016, or the project's own share) to the RERA separate account and the rest to the operative account. NirmaanOne mirrors the sweep as a Contra voucher per receipt the moment it clears, records certified withdrawals from the separate account, warns on receipts banked elsewhere and reports where the money stands; it never moves the money itself.