RevRec brainstorm · Direction alignment · DA · RevRec ↔ AC
ADR 0006 — RevRec and Accounting Central: unify but separate
Date: 2026-07-30
Status: Accepted
Deciders: RevRec Next design session (grill lock)
References: RevRec Premium / AC PRD (external), docs/17-revrec-ac-boundary.md
Context
Zuora-class products include subledger + journals/close. Chargebee’s Accounting Central / RevRec Premium PRD states AC must not calculate revenue. Existing smoke has a large subledger-ac theme.
Decision
- One product family, two bounded contexts: - RevRec: ASC 606 engine — contracts, POs, schedules, recognition amounts, deferred/unbilled balances as calculated. - Accounting Central: double-entry journals, COA, mappings, tax payable, AR cash application journals, period close of GL books, ERP export.
- Shared fact stream: domain events + RevRec-published recognition/unbilled/adjustment amounts feed AC business events.
- Close ordering: RevRec revenue close → then AC may close revenue/tax books (PRD §8.2).
- Data: prefer shared ops platform with clear schemas (
revrec_*vsac_*) or shared event log + two projectors — not two forever-divergent ETL dialects. - Out of RevRec core: Catalyst/Billing→ERP sync product; hand-keyed journals as primary path.
Consequences
- Design docs specify RevRec deeply; AC is specified at boundary + consume contracts (this ADR + doc 17).
- Smoke
subledger-accases validate AC journaling against RevRec-published amounts, not alternate recognition math.
Alternatives rejected
- AC computes recognition (violates PRD §1.1a).
- Fully separate unrelated systems with batch CSV only (operability failure).
- Single mega-ledger mixing allocation policy into COA mapping (unreviewable).