RevRec brainstorm · Capability · Capability master (ASC × Zuora × RevRec)

22 — Capability master (STAR)

Tone: raw internal brainstorm / ramp-up notes for a public-ish brainstorm site. Generated: 2026-07-31T08:20:13.017635+00:00 Companion JSON: 22-capability-master.json


1. Intro + legend

This is the STAR inventory: every Zuora Revenue capability in research map §§2.1–2.10 (110 rows), plus ASC-only constraints with weak/no Zuora twin (8 rows). Merged from:

What the lenses mean (read this or misread the whole sheet)

Lens Meaning
revrec_today Proves something exists in the CURRENT product test corpus (smoke / AC sibling). Not “we should clone Hotglue.” Not automatic “easy to build.” Values: in_product · partial · evidence_only · not_in_product · n_a.
evidence Concrete pointers: smoke_case paths like packages/revlock-test-driver/src/__tests__/cases/<id>/, smoke_tag, cypress_gap, engine_s, or none.
next_build Whether Next domain/architecture can host it: ready · needs_design · out. Orthogonal to revrec_today — something can be in_product today and still needs_design for Next, or not_in_product but ready to build.
cb_facts Where facts come from: from_billing · from_catalog · derived_in_revrec · ac_only · not_applicable.
cb_facts = not_applicable Capability is not sourced from Chargebee streams. Examples: trial balance report, close dashboard, SOX pack, RBAC, mass actions, deployment packaging. Still a real product outcome — just not an ingest mapping.
cb_facts = ac_only Lands primarily in Accounting Central / GL transfer sibling (amounts still owned by RevRec where ADR boundary says so).
maturity When the model must include it: Foundation · Complete · Enterprise-deep · Out. Out = deliberate exclusion / domain purity, not “forgot.”
a606_ids Mapped ids from 20-asc606-scenario-catalog.json when we have a mapping; empty means no confident map yet.

Billing Waterfall / Billing RollForward (don’t confuse with recognition waterfall)

CAP-074 is invoice-level CL / billed revenue rollforward — beginning billed/unearned, billings, recognition, ending. Zuora recon doc: Billing Waterfall report. Current evidence:

Recognition waterfall is CAP-072 (different animal).

Counts (this file)


2. Master tables by category (Zuora §§2.1–2.10 + ASC-only)

One row per capability. Do not skip. Tables are wide — use JSON for machine joins.

2.1 ASC 606 five steps / core engine

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-001 Transaction ingestion & staging Pull contracts/orders/invoices/costs into a validated intake path before ASC steps. For us: Chargebee extract → normalize → domain events; raw lake keeps payload. Not RevPro stagin… Subscription created webhook → open_contract event with source_ref=sub_xxx. Transaction ingestion & staging in_product ready from_billing Foundation A606-C-five_steps, A606-P01 tag:file-sync; case:splitfiles-by-version-zip; case:zip; case:zip-multifiles; +4 Direction alignment: normalize CB facts; refuse RevPro staging clone. Smoke file-sync + sales-orders prove current inges
CAP-002 Data collection / RC formation Zuora batch that groups staged lines into revenue contracts via RC grouping templates. We do not clone this — Contract identity comes from subscription (or adapter). TBD — outcome is open_contract from subscription, not RC template job. Data collection / RC formation n_a out not_applicable Out A606-C-contract_existence_25_1 none:Out as architecture; no smoke for RC template engine Outcome via Contract from subscription. Matrix marks Out. Do not build Zuora collect/RC-template machinery.
CAP-003 Step 1 — Identify the contract ASC Step 1: establish the revenue contract (parties, rights, payment terms, commercial substance, collectibility). Product: open_contract creates Contract + source_ref; typically o… Annual SaaS sub → one Contract bound to subscription.id. Step 1 — Identify the contract in_product ready from_billing Foundation A606-C-contract_existence_25_1, A606-C-five_steps, A606-P01, A606-E-1 tag:contract-term; case:contract-term-cn-allocation; case:contract-term-disable-cn-allocation; case:contract-term-item-billing-metric; +3 Collectibility / free-trial edge cases still thin (A606-C-contract_existence marked new). Core open path is real.
CAP-004 Step 2 — Identify performance obligations Identify distinct goods/services (POs) in the contract. Foundation: 1:1 line→PO from subscription items. Complete: multi-PO, bundles, distinctness judgments. Plan + implementation addon → two POs if distinct; else series/bundle. Step 2 — Identify performance obligation partial ready from_catalog Foundation A606-C-distinct_25_19_21, A606-C-series_25_14, A606-P06, A606-E-10 case:perf-obligations-contract-term; tag:recognition-plan; case:eight-year-plan-test; case:fixed-30x360-plan 1:1 Foundation is ready. Multi-PO distinctness + bundles still partial in smoke. Maturity Complete for multi-PO.
CAP-005 Step 3 — Determine transaction price Fixed + variable consideration into TP. Foundation: subscription/price amounts. Complete: credits/discounts. Enterprise-deep: full VC estimate + constraint engine. $1,200 annual prepaid → TP 1200; usage estimate later adjusts TP. Step 3 — Determine transaction price partial ready from_billing Foundation A606-C-variable_consideration_32_5, A606-C-vc_constraint_32_11, A606-C-tp_changes_32_42, A606-P04 tag:credit-note; case:contract-term-cn-allocation; case:contract-term-disable-cn-allocation; case:credit-note-by-backlog; +3 Fixed TP in product. VC constraint/true-up is a known domain gap. Credits touch TP changes.
CAP-006 Step 4 — Allocate TP to POBs (SSP) Relative SSP allocation of TP across POs. MVP degenerate: 100% to single PO. Complete: multi-PO relative SSP. License SSP 800 + support SSP 200; TP 900 → allocated 720/180. Step 4 — Allocate TP to POBs (SSP) partial ready derived_in_revrec Foundation A606-C-allocation_ssp_32_28, A606-C-discount_allocation_32_36, A606-P06, A606-E-33 tag:ssp; case:auto-create-ssp; case:autocreatessp-expense-scenarios; case:listPriceSSP; +2 SSP library + listPriceSSP exist; multi-PO relative allocation still thin. Cypress reallocation gap.
CAP-007 Step 5 — Recognize revenue when POB satisfied Release/recognize when PO satisfied (over time or PIT). Period recognize + schedules; earned vs deferred. Monthly ratable: recognize 100 of 1200 each month. Step 5 — Recognize revenue when POB sati in_product ready derived_in_revrec Foundation A606-C-over_time_25_27, A606-C-measure_progress, A606-P01, A606-P09 tag:recognition-plan; case:eight-year-plan-test; case:fixed-30x360-plan; case:fixed-30x360-plan-enddate-inclusive; +5 Core ratable path is the strongest smoke quarry we have.
CAP-008 Touchless automation Default path applies rules without manual intervention unless exception/hold. Finance only touches exceptions. Nightly extract→apply→recognize with zero human clicks for clean SaaS renewals. Touchless automation partial ready derived_in_revrec Foundation A606-C-five_steps none:No dedicated smoke tag; implied by end-to-end suite cases Product intent is clear; evidence is “suite runs” not a named touchless test.
CAP-009 Configurable policies (engine-wide) Named policies for mods, CNs, recognition, cancel, holds — thin Foundation set, richer Complete. Not Zuora’s full policy sprawl UI. mod.upgrade → prospective; cn.refund_unrecog → cut deferred first. Configurable policies (engine-wide) partial ready derived_in_revrec Foundation A606-P03, A606-P04, A606-C-mod_termination_25_13 tag:modification; case:contract-term-modification; case:contract-term-modification-2; case:deferred-revenue-adj-prospective-mod; +5 Named policies exist in design; smoke exercises some. Policy ID coverage on every tagged case still messy.
CAP-010 Revenue Workbench Zuora RC/POB/line UI for review, holds, approvals, mod history. We want review/exception UX from our use cases — not a RevPro Workbench clone. TBD — exception queue for failed apply / holds / SSP missing. Revenue Workbench evidence_only needs_design not_applicable Complete tag:subledger-ac; case:ac-custom-payment-method-display Outcome = review UX (Complete). Literal Workbench clone = Out. next_build needs_design for our UX.
CAP-011 Earned & deferred revenue tracking Schedules maintain earned vs deferred (CL) and contract asset balances through the release lifecycle. Bill 1200 Jan 1 → deferred 1200; recognize 100/mo → deferred declines. Earned & deferred revenue tracking in_product ready derived_in_revrec Foundation A606-C-contract_balances_45, A606-E-38, A606-E-39, A606-P01 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; case:deferred-by-item; +3 Strongest balance evidence in deferred-revenue + billing-invoice tags.

2.2 Contract modifications & policies

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-012 Contract modification detection Detect price/scope/term/qty/PO changes after initial timeline from subscription change events. Mid-term plan upgrade → amend_contract with new TP/term. Contract modification detection in_product ready from_billing Foundation A606-C-mod_separate_25_12, A606-C-mod_termination_25_13, A606-P03, A606-E-5 tag:modification; case:contract-term-modification; case:contract-term-modification-2; case:deferred-revenue-adj-prospective-mod; +3 CB subscription changed is the natural detector. Smoke modification tag is solid.
CAP-013 Modification rule engine Named mod policies (upgrade/downgrade/…) — not Zuora’s full rule-matrix UI. Classifies separate vs prospective vs catch-up. mod.upgrade → prospective realloc of remaining. Modification rule engine partial ready derived_in_revrec Foundation A606-C-mod_separate_25_12, A606-C-mod_termination_25_13, A606-E-5, A606-E-6 tag:modification; case:contract-term-modification; case:contract-term-modification-2; case:deferred-revenue-adj-prospective-mod; +1 Thin Foundation policies ready; rich matrix is Complete. Prospective helper gap noted.
CAP-014 Retrospective (cumulative catch-up) Recalculate allocatable/allocated amounts; adjust prior open periods via cumulative catch-up when goods not distinct (25-13(b)). Price change on non-distinct series → catch-up revenue in current period. Retrospective (cumulative catch-up) partial needs_design derived_in_revrec Complete A606-C-mod_termination_25_13, A606-E-8, A606-P10 tag:modification; case:contract-term-modification; case:contract-term-modification-2; tag:ppa; +4 Spec’d Complete; golden catch-up fixtures thin. E-8 still new in ASC catalog.
CAP-015 Prospective allocation Closed-period amounts unchanged; remaining obligations reallocated going forward. MVP default for SaaS upgrades. Upgrade month 4 of 12 → months 1–3 stay; remaining TP reallocated over months 4– Prospective allocation in_product ready derived_in_revrec Foundation A606-C-mod_termination_25_13, A606-P03, A606-E-7 case:prospective-modification; case:simple-mod; tag:modification; case:contract-term-modification Priority quarry fixtures. This is the SaaS default path.
CAP-016 Retro-prospective treatment Same period applies both retrospective and prospective when a new PO is added during a retrospective mod. TBD Retro-prospective treatment not_in_product needs_design derived_in_revrec Enterprise-deep A606-C-mod_termination_25_13 none:No dedicated smoke Rare SaaS path. Enterprise-deep. Don’t pretend we have it.
CAP-017 Contractual prospective recast Optional recast of remaining ratable contractual revenue from modification date (Zuora ENABLE_CONTRACTUAL_PROSPECTIVE). TBD Contractual prospective recast not_in_product needs_design derived_in_revrec Enterprise-deep none Zuora knob. We may never need the exact flag; outcome can fold into named mod policies.
CAP-018 Adjustment revenue release Separate contractual vs adjustment revenue release percentages on modifications. TBD Adjustment revenue release not_in_product needs_design derived_in_revrec Enterprise-deep A606-C-tp_changes_32_42 tag:deferred-revenue; case:adj-unearned-by-order; none:adjustment release % not first-class Deferred adj cases exist; contractual-vs-adjustment release split is not modeled as Zuora does.
CAP-019 Contract impairment Impairment accounting when cancellation triggers prospective treatment / unposted adjustment revenue. Cancel mid-term with unreleased allocation → impairment / write-down path. Contract impairment partial needs_design from_billing Enterprise-deep A606-P05 tag:termination; case:cancel-jobs; case:termination; case:termination-regress; +1 Terminate smoke exists; true impairment accounting is Later/Enterprise-deep.
CAP-020 Workbench mod review & override Operator views mod history; switches prospective↔retrospective; retains allocation — via our review UX + policy override, not Workbench clone. TBD Workbench mod review & override not_in_product needs_design not_applicable Complete A606-C-mod_termination_25_13 tag:modification; case:contract-term-modification; none:no override UX smoke Depends on CAP-010 review UX.
CAP-021 Advanced contract modification framework Zuora “advanced” use case beyond standard rules — enterprise rule sprawl. TBD Advanced contract modification framework not_in_product needs_design derived_in_revrec Enterprise-deep none Named policies should absorb 90% of CB SaaS. Don’t build a second rule engine.
CAP-022 Contract modification report (SOX) Audit report: lines, rules/policies triggered, allocation treatment. Export of all amends in period with treatment = prospective|catch-up|separate. Contract modification report (SOX) not_in_product needs_design not_applicable Complete A606-C-mod_termination_25_13 tag:modification; case:contract-term-modification; none:no SOX mod report smoke Basic audit report Complete; full SOX pack Enterprise-deep.
CAP-023 Ramp contracts — straight-line accounting Ramp deal straight-line / average pricing treatment as first-class amend or open. Y1 100/mo, Y2 150/mo → straight-line avg over total term. Ramp contracts — straight-line accountin not_in_product needs_design from_billing Complete A606-C-tp_changes_32_42 gap:gap-domain-ramp-pricing CB ramps/IBM later. Domain gap explicitly filed. High-value backlog.

2.3 SSP & allocation

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-024 SSP formula Configurable SSP derivation (list, % of list, formula filters on eligible lines). SSP = 90% of list_price for product family X. SSP formula partial ready from_catalog Complete A606-C-allocation_ssp_32_28, A606-P06 tag:ssp; case:auto-create-ssp; case:autocreatessp-expense-scenarios; case:listPriceSSP; +1 listPriceSSP proves list-based path; formula richness TBD.
CAP-025 SSP upload External SSP estimates uploaded via templates; range evaluation (low/mid/high). CSV upload SSP mid=100 for SKU-A effective 2026-01-01. SSP upload partial ready not_applicable Complete A606-C-allocation_ssp_32_28, A606-E-18 tag:ssp; case:auto-create-ssp; case:autocreatessp-expense-scenarios; case:listPriceSSP; +1 Admin path; versioning gap. Not from CB streams (cb_facts=not_applicable).
CAP-026 SSP Analyzer Historical transaction analysis with bands, compliance %, optimizer scale. TBD SSP Analyzer evidence_only needs_design derived_in_revrec Enterprise-deep A606-C-allocation_ssp_32_28 case:ssp-analyzer; tag:ssp; case:auto-create-ssp Smoke case ssp-analyzer exists — evidence_only, not proof of Zuora-depth analyzer.
CAP-027 AI-assisted SSP modeling Marketing claim for AI-assisted SSP analysis. Not a core subledger requirement. TBD AI-assisted SSP modeling n_a out not_applicable Out none:product choice Out Deterministic SSP library first. AI packaging outside ASC core.
CAP-028 Residual SSP (RSSP) Residual allocation when products never sold standalone / new to market. New SKU in bundle; residual = TP − observable SSPs. Residual SSP (RSSP) evidence_only needs_design derived_in_revrec Enterprise-deep A606-C-allocation_ssp_32_28 case:multiple-residual-items Matrix points at untagged multiple-residual-items. Verify case still in suite.
CAP-029 SSP hierarchy on RC template Zuora ties SSP source/range to RC grouping template tabs. We refuse this surface — SSP policy lives on product/PO/Contract. TBD SSP hierarchy on RC template n_a out not_applicable Out none:Out — not cloning RC template SSP tabs Outcome via SSP policy on PO/product.
CAP-030 Perform revenue allocations based on SSP Relative allocation of TP across eligible POs using SSP. See CAP-006. Perform revenue allocations based on SSP partial ready derived_in_revrec Foundation A606-C-allocation_ssp_32_28, A606-P06, A606-E-33, A606-E-34 tag:ssp; case:auto-create-ssp; case:autocreatessp-expense-scenarios; case:listPriceSSP; +1 Foundation degenerate ready; multi-PO Complete.
CAP-031 Ramp allocation Group lines by ramp deal ref; volume/term average pricing methods. TBD Ramp allocation not_in_product needs_design from_billing Complete gap:gap-domain-ramp-pricing Paired with CAP-023. No smoke tag.
CAP-032 VC allocation (2-step / line SSP range) Allocate VC when TP outside SSP range — RC-level or line-level triggers. TBD VC allocation (2-step / line SSP range) not_in_product needs_design derived_in_revrec Enterprise-deep A606-C-vc_allocation_32_39, A606-E-35 gap:gap-domain-variable-consideration VC allocation beyond basic usage is enterprise-deep.
CAP-033 Bundle explosion Split parent catalog/bundle into child POs for allocation/PO assignment. “Suite” SKU → License + Support child POs. Bundle explosion evidence_only needs_design from_catalog Complete A606-C-distinct_25_19_21, A606-P06 case:product-bundle CB bundles partial. Need explicit golden.
CAP-034 SSP exception reporting Lines/POs where SSP cannot be derived; SOX-adjacent exception list. Close check: 3 POs missing SSP → block transfer. SSP exception reporting not_in_product needs_design not_applicable Complete A606-C-allocation_ssp_32_28 tag:ssp; case:auto-create-ssp; none:no exception-report smoke Close-check outcome, not a CB stream fact.

2.4 Recognition methods

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-035 Over-time vs point-in-time PO recognition pattern: over-time (stand-ready SaaS) vs point-in-time. SaaS access = over time; one-time setup fee = PIT if distinct. Over-time vs point-in-time (POB Satisfie partial ready from_catalog Foundation A606-C-over_time_25_27, A606-P01, A606-P08, A606-E-13 tag:recognition-plan; case:eight-year-plan-test; case:fixed-30x360-plan; case:fixed-30x360-plan-enddate-inclusive; +3 Over-time Foundation strong; PIT Complete.
CAP-036 Ratable methods Contract ratable, monthly/daily/mid-month, 30/360, user calendars — schedule shapes. fixed-30x360-plan smoke. Ratable methods in_product ready derived_in_revrec Foundation A606-C-measure_progress, A606-P09, A606-E-33 tag:recognition-plan; case:eight-year-plan-test; case:fixed-30x360-plan; case:fixed-30x360-plan-enddate-inclusive; +2 Best-covered recognition surface.
CAP-037 Point-in-time (immediate) Immediate recognition using open period or start date. One-time professional services fee recognized on delivery date. Point-in-time (immediate) partial ready from_billing Complete A606-P08, A606-C-measure_progress tag:service-delivery; case:export-psd; case:serviceDelivery-by-baseProduct; case:servicedelivery-base; +1 Delivery cases exist; PIT-as-first-class method still partial.
CAP-038 User-defined / milestone schedules Percent/duration sequences on PO (milestone-like). TBD — 40/40/20 milestone schedule. User-defined / milestone schedules not_in_product needs_design not_applicable Enterprise-deep A606-C-measure_progress none PS/milestone world. Not day-one SaaS.
CAP-039 Delivery / quantity events record_delivery proportional / qty release; Upon Delivery By Qty style. Ship 3 of 10 licenses → recognize 30%. Delivery / quantity events partial ready from_billing Complete A606-P08, A606-C-measure_progress, A606-E-34 tag:service-delivery; case:export-psd; case:serviceDelivery-by-baseProduct; case:servicedelivery-base; +1 Strong smoke theme; delivery-date gap still open.
CAP-040 Budgeted cost / budgeted hours events Release revenue by % completed cost or hours (services/milestone proxy). TBD Budgeted cost / budgeted hours events not_in_product needs_design not_applicable Enterprise-deep A606-C-measure_progress none Input methods for PS. Weak CB fit.
CAP-041 POB dependencies Release child PO when parent PO satisfied. TBD — support starts only after license delivered. POB dependencies not_in_product needs_design derived_in_revrec Enterprise-deep A606-C-distinct_25_19_21 none Interesting for hardware+SaaS; rare for pure CB SaaS.
CAP-042 Upon Expiry release Auto-release remaining after configured days from book/open date. TBD — breakage-adjacent auto-release after 24 months. Upon Expiry release not_in_product needs_design derived_in_revrec Complete A606-C-breakage_55_46 none Useful for prepaid credits / breakage cousins.
CAP-043 Consumption / usage POB templates Usage/consumption recognition models (Consumption Ratable, PayGo, Usage Event). Metered API calls → recognize as usage arrives (constrained). Consumption / usage POB templates partial needs_design from_billing Complete A606-P07, A606-C-variable_consideration_32_5, A606-E-21 case:cb-metered; gap:gap-domain-usage-metered cb-metered is narrow. Full PayGo/drawdown suite Enterprise-deep (see CAP-104).
CAP-044 Daily vs partial monthly accounting method Schedule granularity / proration knobs on PO method. True-days vs 30/360 vs inclusive end date. Daily vs partial monthly accounting meth in_product ready derived_in_revrec Foundation A606-P09, A606-E-33 tag:recognition-plan; case:eight-year-plan-test; case:fixed-30x360-plan; case:fixed-30x360-plan-enddate-inclusive; +1 Proration calendars are a RevRec strength today.

2.5 Billing / booking / events-based recognition modes

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-045 Upon Booking (Full Booking Release) Open from subscription = booking signal; optional full booking release policy. Recognize full booking amount when SO/sub collected (rare for prepaid SaaS). Upon Booking (Full Booking Release) partial ready from_billing Foundation A606-P01, A606-C-five_steps tag:sales-orders; case:commission-scenarios-salesorderitem; case:invoice-salesorder-scenarios; case:outOfSyncOrders-scenarios; +3 Open path Foundation; full booking release as policy = Complete.
CAP-046 Upon Billing (Billed Release) Recognize billed % when invoice recorded — sibling to AR; invoices do not invent POs. Invoice 50% → release 50% of allocated revenue if billing-release policy on. Upon Billing (Billed Release) partial ready from_billing Complete A606-P01, A606-E-40 tag:billing-invoice; case:444-voided-invoice; case:445-voided-invoice; case:billing-by-contract; +1 record_billing Foundation as AR. Billed-release recognition policy still thin.
CAP-047 Upon Billing (Full Booking Release) Total booking amount recognized when any bill collected (partial or full). TBD Upon Billing (Full Booking Release) not_in_product needs_design from_billing Complete A606-P01 tag:billing-invoice; case:444-voided-invoice; none:no full-booking-on-any-bill policy smoke Policy variant; less common for ratable SaaS.
CAP-048 Events-based recognition Custom revenue/cost/hold events beyond CB delivery; upload + process. Manual “go-live” event releases implementation PO. Events-based recognition partial needs_design from_billing Complete A606-P08, A606-C-measure_progress tag:service-delivery; case:export-psd; case:serviceDelivery-by-baseProduct; case:servicedelivery-base Delivery Complete; generic event upload Enterprise-deep.
CAP-049 Manual release Operator-forced release of PO revenue. Finance releases held PO after audit sign-off. Manual release evidence_only needs_design not_applicable Complete A606-P11 tag:pause-revenue; case:pause-revenue; gap:gap-pause-revenue pause-revenue is the control sibling; manual release UX thin.
CAP-050 Billing–Revenue Integration sync Native upstream billing → extract → apply. Our Chargebee advantage vs Zuora Billing↔Revenue. Daily CB invoice/subscription sync → domain events. Billing–Revenue Integration sync in_product ready from_billing Foundation A606-P01, A606-P12 tag:billing-invoice; case:444-voided-invoice; case:445-voided-invoice; case:billing-by-contract; +6 This is the whole point of Chargebee-native RevRec.
CAP-051 Usage Sync (integrated) Rated usage from Billing synced to trigger recognition/accrual. CB usage events → period recognition. Usage Sync (integrated) partial needs_design from_billing Complete A606-P07 case:cb-metered; gap:gap-domain-usage-metered Narrow path only today.
CAP-052 Standalone manual upload File/adapter ingest for migration & non-CB sources emitting same domain events. Zip of SO/invoice CSV → SourceAdapter → open/bill events. Standalone manual upload in_product ready not_applicable Complete tag:file-sync; case:splitfiles-by-version-zip; case:zip; case:zip-multifiles; +3 Migration adapter Complete. Hotglue CSV byte-parity is Out as product bar.

2.6 Close / continuous accounting / journals / reconciliation

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-053 Continuous accounting Reconcile throughout period; frequent recognize; not only month-end batch. Marketing + close dashboard at Zuora. Daily recognize job + mid-period trial balance view. Continuous accounting partial ready derived_in_revrec Foundation A606-P10 tag:period-close; case:accounting-close; case:auto-accounting-close; case:transactionDate_closeperiod; +3 Period recognize Foundation; near-continuous Complete.
CAP-054 Close Process dashboard Pre-close checks, exceptions, trial-balance-ish views, accounting analysis tabs. TBD — checklist: orphans, missing SSP, unposted schedules. Close Process dashboard partial needs_design not_applicable Foundation tag:period-close; case:accounting-close; case:auto-accounting-close; case:transactionDate_closeperiod; +4 Thin Foundation checks ready; full dashboard Complete. Not sourced from CB streams.
CAP-055 Period-close template & task orchestration Period state machine: soft close, reopen, lock; sequenced tasks. Soft-close P1 → reject late sync or PPA path; hard-close locks. Period-close template & task orchestrati partial ready not_applicable Foundation A606-P10 tag:period-close; case:accounting-close; case:auto-accounting-close; case:transactionDate_closeperiod; +2 accounting-close exists (local_only). Soft/hard close gap still proposed.
CAP-056 Netting process (CA/CL) Calculate contract asset/liability net presentation; create accounting entries. Same contract: deferred 800 + unbilled 200 → net CL 600 presentation. Netting process (CA/CL) partial needs_design derived_in_revrec Complete A606-C-contract_balances_45, A606-E-38, A606-E-39 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; case:deferred-by-item Balances exist; netting presentation incomplete.
CAP-057 LT/ST reclassification process Reclass CA/CL between long-term and short-term accounts for balance sheet. Deferred beyond 12 months → LT deferred liability. LT/ST reclassification process evidence_only needs_design not_applicable Enterprise-deep A606-C-contract_balances_45 case:short-and-long-term-def-revenue Public company need. Smoke may exist untagged.
CAP-058 Accounting transfer to GL post_journals summarized/detail export to GL as revenue sub-ledger. Period JE CSV/API → NetSuite/Workday/AC. Accounting transfer to GL in_product ready ac_only Foundation tag:journal-posting; case:incorrect-journal-account-mappings; case:journal-diagnostics; case:journal-entries-custom-fields; +4 cb_facts=ac_only: transfer/posting often lands in Accounting Central sibling; RevRec owns amounts (ADR 0006).
CAP-059 Manual journal entries (MJE) Upload/post manual JEs with approval rules and SOB validation. TBD Manual journal entries (MJE) not_in_product needs_design ac_only Enterprise-deep tag:journal-posting; case:incorrect-journal-account-mappings; none:no MJE approval smoke Mostly AC/close ops. Enterprise-deep.
CAP-060 Sweep unposted schedules Move unposted schedule lines to next period before close. TBD Sweep unposted schedules not_in_product needs_design derived_in_revrec Complete A606-P10 tag:period-close; case:accounting-close; none:sweep not explicit Close-flow detail.
CAP-061 Reporting summarization programs Period snapshots for waterfall/history; current-period post summarize. Month-end snapshot feeds historical waterfall. Reporting summarization programs partial ready derived_in_revrec Foundation A606-C-contract_balances_45 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; tag:export; +1 Serve-layer snapshots Foundation-ish.
CAP-062 Report reconciliation (automated in dashboard) Cross-check Accounting Detail vs Revenue Insight, Waterfall, Rollforwards. Waterfall total = TB revenue account = RC rollforward activity. Report reconciliation (automated in dash partial needs_design not_applicable Complete tag:subledger-ac; case:ac-custom-payment-method-display; case:subledger; tag:deferred-revenue; +1 AC-heavy today; RevRec waterfall tie-out thin.
CAP-063 Revenue holds & transfer holds Block release and/or GL posting at contract/PO/line until cleared. Hold recognition on disputed contract; transfer hold blocks JE export. Revenue holds & transfer holds evidence_only needs_design not_applicable Complete A606-P11 tag:pause-revenue; case:pause-revenue; gap:gap-pause-revenue Period lock is Foundation; holds Complete. pause-revenue is the quarry.
CAP-064 RC / MJE approvals Approval workflows before release or posting. TBD RC / MJE approvals not_in_product needs_design not_applicable Enterprise-deep none SOX-scale workflow.

2.7 Audit / SOX / controls

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-065 Audit Trail report Immutable applied_events + config change log; drill event → balance → raw. Zuora claims 7-year retention. Show who changed SSP and which contracts reallocated. Audit Trail report evidence_only ready derived_in_revrec Foundation case:doc-audit-delete-flow Design Foundation (applied_events). Smoke thin/untagged.
CAP-066 Audit trail scope Cover policies, SSP, books, roles, period ops — not just transactional events. TBD Audit trail scope not_in_product needs_design not_applicable Complete none Config audit Completeness.
CAP-067 SOX report pack Approvals, contract mod, role privileges, user access, SSP/VC changes, mass actions, holds, orphan lines, staging exceptions. TBD SOX report pack not_in_product needs_design not_applicable Enterprise-deep tag:modification; case:contract-term-modification; tag:period-close; case:accounting-close Full pack Enterprise-deep. Basic mod audit Complete (CAP-022).
CAP-068 Granular authorization / role-based access RBAC on functions, reports, dashboard tabs. TBD Granular authorization / role-based acce not_in_product needs_design not_applicable Complete none Platform concern as much as RevRec domain.
CAP-069 Segregation of duties Finance subledger vs GL governance — RevRec owns recognition math; AC/GL posts. Recognition amounts computed in RevRec; AC cannot invent revenue. Segregation of duties (marketing) evidence_only ready ac_only Complete tag:subledger-ac; case:ac-custom-payment-method-display; case:subledger; tag:journal-posting; +1 Direction alignment with ADR 0006 / AC boundary. Marketing SoD claim → real boundary.
CAP-070 Stage validation framework Ingest/normalize validation exceptions (not RevPro stage tables). Capture and report bad lines. Invoice missing subscription_id → exception queue. Stage validation framework evidence_only ready from_billing Foundation case:doc-staging-validation; tag:(untagged) Foundation ingest validation.
CAP-071 Soft freeze on period close Freeze writes that would corrupt close sequence during soft close. Soft-closed period rejects new invoices into that period (or routes to PPA). Soft freeze on period close partial ready not_applicable Foundation A606-P10 tag:period-close; case:accounting-close; case:auto-accounting-close; case:transactionDate_closeperiod; +1 Paired with CAP-055.

2.8 Reporting / waterfalls / disclosures / RPO / trial balance

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-072 Waterfall Report Prior/current/future recognized + deferred/cost/forecast schedules; unsatisfied/partial PO timing. Columns: prior periods | current | future months of deferred release. Waterfall Report in_product ready derived_in_revrec Foundation A606-C-contract_balances_45, A606-C-rpo_50_13, A606-P02 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; case:deferred-by-item; +1 Foundation report. Helper gap exists but deferred-revenue quarry is strong.
CAP-073 Historical Waterfall (13 periods) Multi-period actual activity from a chosen historical period. TBD — 13-month trailing waterfall. Historical Waterfall (13 periods) partial needs_design derived_in_revrec Complete A606-C-contract_balances_45 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue Needs summarization snapshots (CAP-061).
CAP-074 Billing Waterfall / Billing RollForward Invoice-level contract liability balances and billed revenue rollforward — beginning billed/unearned, billings, recognition, ending. Distinct from pure recognition waterfall: ties … Beginning unearned 10k + invoices 5k − recognized 3k = ending 12k at invoice gra Billing Waterfall / Billing RollForward in_product ready from_billing Complete A606-C-contract_balances_45, A606-E-40, A606-P01 case:billingrollforward-scenarios; case:billingrollforward-scenarios-by-so; tag:billing-invoice Explicit smoke: packages/revlock-test-driver/src/tests/cases/billingrollforward-scenarios/ and billingrollforward-sc
CAP-075 RC Rollforward CA/CL beginning / activity / ending; GL reconciliation rollforward. CL begin + billings − revenue + adjustments = CL end. RC Rollforward partial ready derived_in_revrec Complete A606-C-contract_balances_45, A606-E-38 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; case:deferred-by-item; +3 Unearned summary rollforward gap. Related to CAP-074 billing RF.
CAP-076 Trial Balance Report Account balances in reporting currency; reconciles to rollforward/waterfall. Not sourced from Chargebee streams — derived from posted journals / subledger. Deferred revenue GL account balance = sum of CL schedules. Trial Balance Report evidence_only ready not_applicable Complete tag:subledger-ac; case:ac-custom-payment-method-display; case:subledger; case:subledger-2; +2 cb_facts=not_applicable: trial balance is a RevRec/AC report artifact, not a CB ingest fact. AC-heavy evidence today.
CAP-077 Revenue Insight / Revenue Summary PTD/QTD/YTD revenue activity with line detail. TBD Revenue Insight / Revenue Summary evidence_only needs_design derived_in_revrec Complete A606-E-41 case:dashboard-revenue-api; tag:mrr Analytics surface Complete.
CAP-078 ASC 606 disclosure — Prior/Current CL/CA Revenue from prior/current period contract liability and contract asset categories. How much of this period’s revenue was in opening deferred. ASC 606 disclosure — Prior/Current CL/CA partial needs_design derived_in_revrec Complete A606-C-contract_balances_45, A606-C-rpo_50_13 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; case:deferred-by-item Disclosure suite incomplete vs Zuora.
CAP-079 Disclosure — Prior/Current satisfied POBs Separate prior vs current period revenue at line level (catch-up aware). Catch-up from retrospective mod shown as prior-period satisfaction. Disclosure — Prior/Current satisfied POB partial needs_design derived_in_revrec Complete A606-C-mod_termination_25_13, A606-P10 tag:ppa; case:journal-mapping-revenue-ppa-fallback; case:ppa; case:ppa-alltests; +2 Needs catch-up maturity (CAP-014).
CAP-080 Unsatisfied POB Balances (RPO proxy) Remaining balances for unsatisfied/partially satisfied POs — Remaining Performance Obligations proxy. Open deferred + unbilled allocated = RPO-ish total. Unsatisfied POB Balances (RPO proxy) partial needs_design derived_in_revrec Complete A606-C-rpo_50_13, A606-E-42, A606-E-43 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; case:deferred-by-item; +1 Balances exist; formal RPO disclosure new in ASC catalog.
CAP-081 Unreleased POB(s) Report POs not fully released — operational exception list. Held / paused / delivery-pending POs. Unreleased POB(s) Report partial needs_design derived_in_revrec Complete A606-P11, A606-P08 tag:pause-revenue; case:pause-revenue; tag:service-delivery; case:export-psd Ops report.
CAP-082 Track unbilled receivables Unbilled AR / contract asset rollforward when performance precedes billing. Recognize before invoice → contract asset / unbilled. Track unbilled receivables partial ready from_billing Foundation A606-P02, A606-E-39, A606-C-contract_balances_45 tag:deferred-revenue; case:adj-unearned-by-order; case:adjustment-for-unearned-revenue; case:deferred-by-item; +1 Foundation aim; unbilled* cases exist. CB unbilled_charges Complete.
CAP-083 VC Insight / VC Rollforward Variable consideration activity and balances. TBD VC Insight / VC Rollforward not_in_product needs_design derived_in_revrec Enterprise-deep A606-C-variable_consideration_32_5, A606-C-vc_constraint_32_11 gap:gap-domain-variable-consideration Blocked on VC engine depth.
CAP-084 Cost Insight / Cost Rollforward Capitalized cost reporting (commissions, COGS amortization). Commission capitalized then amortized with revenue. Cost Insight / Cost Rollforward partial needs_design from_billing Enterprise-deep A606-E-36 tag:expense-commission; case:autocreatessp-expense-scenarios; case:commission-scenarios; case:commission-scenarios-salesorderitem; +1 Sibling pack / boundary with AC. Smoke exists; may ship separate from recognition core.
CAP-085 Consumption Usage Waterfall Usage revenue scheduled by period for consumption customers. TBD Consumption Usage Waterfall not_in_product needs_design from_billing Enterprise-deep A606-P07 case:cb-metered; gap:gap-domain-usage-metered Needs consumption suite.
CAP-086 Forecast Revenue Forecast templates / waterfall forecast data (future recognition projection). TBD Forecast Revenue not_in_product needs_design derived_in_revrec Enterprise-deep A606-C-rpo_50_13 none Related to RPO / remaining schedule.
CAP-087 Period FX Waterfall / Unbilled FX / Trial Balance FX Multi-currency reporting and FX gain/loss analysis across waterfall/TB/unbilled. EUR contract reported in USD home currency with FX P&L. Period FX Waterfall / Unbilled FX / Tria partial needs_design from_billing Complete A606-E-32 tag:multi-currency; case:expense-multicurrency; case:expense-multicurrency-1; case:forex AC FX smoke strong; RevRec FX disclosure thin. Full FX waterfall suite Enterprise-deep.
CAP-088 Disclosure Aggregation config Second-level summarization fields for disclosure reports. TBD Disclosure Aggregation config not_in_product needs_design not_applicable Enterprise-deep A606-E-41 none Config knobs after core disclosures exist.
CAP-089 60+ pre-built reports (marketing) Product-page claim for waterfalls, disclosures, VC, SOX dashboards. Outcome = finance-usable report set — not cloning Zuora report count. Core set: waterfall, billing RF, RC RF, TB, RPO, mod audit. 60+ pre-built reports (marketing) partial needs_design not_applicable Complete tag:export; case:continuous-export-revrec; case:export-data; case:export-psd; +4 Complete = core set; Enterprise-deep = full catalog. Don’t chase “60+”.

2.9 Integrations (billing, ERP, CPQ)

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-090 Chargebee Billing ↔ Revenue (Zuora Billing↔Revenue twin) Native Chargebee Billing ↔ RevRec adapter — equivalent outcome to Zuora Billing–Revenue Integration. subscriptions + invoices streams → open_contract / record_billing. Zuora Billing ↔ Revenue Integration in_product ready from_billing Foundation A606-P01, A606-P03, A606-P12 tag:billing-invoice; case:444-voided-invoice; case:445-voided-invoice; case:billing-by-contract; +3 Our advantage. Same as CAP-050 outcome lens.
CAP-091 CPQ / quote-to-cash Quote impact / CPQ upstream into revenue contracts. CB CPQ/quotes not day-one contract path. TBD Zuora CPQ / quote-to-cash not_in_product needs_design from_catalog Enterprise-deep none Later. Don’t invent contracts from quotes day one.
CAP-092 NetSuite Revenue Inbound Connector ERP orders/invoices inbound via optional SourceAdapter. TBD NetSuite Revenue Inbound Connector not_in_product needs_design not_applicable Enterprise-deep none Adapter pattern; same domain events.
CAP-093 NetSuite GL Connector JE → NetSuite GL. post_journals export to NetSuite. NetSuite GL Connector evidence_only ready ac_only Complete tag:journal-posting; case:incorrect-journal-account-mappings; case:journal-diagnostics; tag:export; +1 Reuse existing connector patterns; AC boundary.
CAP-094 Workday Accounting Center Connector JE / billing → Workday Accounting Center / Prism batches. TBD Workday Accounting Center Connector not_in_product needs_design ac_only Complete tag:export; case:continuous-export-revrec Egress Complete when connector ships.
CAP-095 Workday Financials GL Connector Revenue JE transfer to Workday Financials. TBD Workday Financials GL Connector not_in_product needs_design ac_only Complete tag:export; case:continuous-export-revrec Same family as CAP-094.
CAP-096 Microsoft Dynamics 365 Connector Enterprise GL path listed in Zuora entitlements. TBD Microsoft Dynamics 365 Connector not_in_product needs_design ac_only Enterprise-deep none Enterprise-deep connector.
CAP-097 Open APIs / SDK Apply API + read APIs for contracts/schedules/journals; developer surface. POST /apply open_contract; GET contract schedules. Open APIs / SDK partial ready not_applicable Foundation case:admin-apis; gap:gap-public-api-etl Foundation apply/read. Public API ETL gap noted.
CAP-098 Standalone file upload (integration) Migration / edge file SourceAdapter — same as CAP-052 lens for integrations catalog. See CAP-052. Standalone file upload in_product ready not_applicable Complete tag:file-sync; case:splitfiles-by-version-zip; case:zip; case:zip-multifiles Duplicate inventory row from Zuora §2.9; keep for exhaustiveness.
CAP-099 Salesforce / SAP (marketing FAQ) CRM/ERP inbound examples from product FAQ — adapter candidates. TBD Salesforce / SAP (marketing FAQ) not_in_product needs_design not_applicable Enterprise-deep none Marketing list. SourceAdapter when needed.

2.10 Advanced (multi-book, VC, cost, AI, simulations)

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-100 Multi-book revenue accounting Primary/secondary books (GAAP vs IFRS vs local); per-book period templates, LT/ST, transfer, Workbench view. TBD — Book A ASC 606, Book B IFRS 15 local. Multi-book revenue accounting not_in_product needs_design not_applicable Enterprise-deep none Single book Foundation. Multi-book Later.
CAP-101 Revenue Book Comparison Report Compare two books under ASC 606 / IFRS rules. TBD Revenue Book Comparison Report not_in_product needs_design not_applicable Enterprise-deep none Depends on CAP-100.
CAP-102 Advanced Variable Consideration Analyzer VC constraint / analyzer beyond basic TP adjustments — Zuora advanced use case. TBD Advanced Variable Consideration Analyzer not_in_product needs_design derived_in_revrec Enterprise-deep A606-C-vc_constraint_32_11, A606-E-25 gap:gap-domain-variable-consideration Distinct from CAP-005 fixed TP.
CAP-103 Advanced SSP Analyzer Historical SSP with optimizer/bands — same family as CAP-026. TBD Advanced SSP Analyzer evidence_only needs_design derived_in_revrec Enterprise-deep A606-C-allocation_ssp_32_28 case:ssp-analyzer Inventory duplicate with CAP-026 (Zuora lists in both §2.3 and §2.10). Keep both for map exhaustiveness.
CAP-104 Cost processing (COGS, commissions, rebates, accruals) Capitalize/amortize incremental costs of obtaining/fulfilling; formula rules; follow-revenue or independent release. Often a sibling pack. Sales commission capitalized then amortized with SaaS PO. Cost processing (COGS, commissions, reba partial needs_design from_billing Enterprise-deep A606-E-36, A606-E-37 tag:expense-commission; case:autocreatessp-expense-scenarios; case:commission-scenarios; case:commission-scenarios-salesorderitem; +1 Domain purity note: may ship as separate capability pack from recognition core.
CAP-105 Consumption revenue suite Usage models, unbilled usage accrual, prepaid drawdown, usage tracking reports — full suite beyond basic metered. Prepaid credits drawdown + PayGo overage. Consumption revenue suite partial needs_design from_billing Complete A606-P07, A606-C-breakage_55_46 case:cb-metered; gap:gap-domain-usage-metered Basic Complete; full suite Enterprise-deep.
CAP-106 Financing / significant financing component Financing accrual rollforward, insight, payment exception — significant financing component under ASC 606. Multi-year arrears payment with interest income split from revenue. Financing / significant financing compon not_in_product needs_design derived_in_revrec Enterprise-deep gap:gap-domain-significant-financing Rare for pure SaaS. Explicit domain gap.
CAP-107 Mass actions Batch hold/release, re-allocate, close/open contracts. Hold all contracts for customer X pending dispute. Mass actions not_in_product needs_design not_applicable Complete none Ops scale Complete.
CAP-108 Simulations / quote impact (marketing) Pre-ledger GTM/pricing simulations before ledger impact. Not ASC subledger core. TBD Simulations / quote impact (marketing) n_a out not_applicable Out none:Out — GTM simulation not subledger Product choice Out.
CAP-109 AI-assisted validations / SSP (marketing) Product-page AI validation packaging. Deterministic validation + audit first. TBD AI-assisted validations / SSP (marketing n_a out not_applicable Out none:Out Same stance as CAP-027.
CAP-110 Dedicated shard / migration sandbox / managed services Enterprise deployment & services entitlements — ops packaging, not domain model. TBD Dedicated shard / migration sandbox / ma n_a out not_applicable Out none:Out — ops entitlement Not a domain capability.

ASC-only (weak/no Zuora twin)

id name definition example zuora revrec_today next_build cb_facts maturity a606 evidence notes
CAP-111 Contract existence / collectibility ASC 606-10-25-1..7 contract criteria including collectibility. Soft collections / free trials. Weak Zuora “feature” twin — it’s Step 1 gatekeeping. Free trial with low collectibility → no contract until criteria met. (embedded in Step 1 / RC formation) not_in_product needs_design from_billing Complete A606-C-contract_existence_25_1, A606-E-1, A606-E-4 none:A606 coverage=new High SaaS relevance; almost no smoke. Don’t bury under CAP-003 forever.
CAP-112 Combining contracts ASC 606-10-25-9 combine contracts entered at/near same time with single commercial objective / price interdependence. Two subs sold as package with interdependent pricing → one accounting contract. not_in_product needs_design from_billing Enterprise-deep A606-C-combine_contracts_25_9 none Conflicts with naive 1-sub=1-contract. Policy later.
CAP-113 Material rights (customer options) Renewal/discount options that are material rights — allocate TP to the option PO. Renewal at 50% off if material right → allocate SSP to option; release on exerci not_in_product needs_design from_catalog Enterprise-deep A606-C-material_right_55_41, A606-E-49, A606-E-50, A606-E-51 gap:gap-domain-material-rights Explicit domain gap. No Zuora twin in §§2.1–2.10 as named capability.
CAP-114 Nonrefundable upfront fees Upfront fees that may be advance payment for future goods/services or a separate PO — ASC 606-10-55-50.. Setup fee that is not distinct → defer and recognize with SaaS series. not_in_product needs_design from_billing Complete A606-C-upfront_fees_55_50, A606-E-53 none Common SaaS pattern; catalog marked new.
CAP-115 Licensing IP / sales-based royalties Functional vs symbolic IP licenses; sales-based royalty exception. Royalty recognized when later of sale occurrence / obligation satisfied. not_in_product out not_applicable Out A606-C-licensing_55_54, A606-E-54, A606-E-60 gap:gap-domain-royalty-ip Mostly out of CB SaaS RevRec core. Gap filed for honesty.
CAP-116 Principal versus agent Gross vs net presentation when arranging for goods/services (marketplace). Agent books net commission only; principal books gross. evidence_only needs_design from_catalog Complete A606-C-principal_agent_55_36, A606-E-45, A606-E-46 gap:gap-domain-principal-agent; case:pass-through-product pass-through-product is thin. Need explicit principal/agent goldens.
CAP-117 Breakage (unexercised rights) Customers’ unexercised rights — estimate breakage and recognize as revenue when likelihood remote of exercise / proportional. Prepaid credits unused → breakage revenue. (related Upon Expiry / consumption) not_in_product needs_design from_billing Enterprise-deep A606-C-breakage_55_46 none Weak Zuora twin via expiry/consumption; ASC constraint is first-class.
CAP-118 Right of return / refund liability Sale with right of return — refund liability + asset for recovery. CN policies are partial twin. Expected returns → constrain revenue; refund liability. (partial via CN / returns mods) partial needs_design from_billing Complete A606-C-right_of_return_55_22, A606-E-22, A606-P04, A606-P12 tag:credit-note; case:contract-term-cn-allocation; case:contract-term-disable-cn-allocation; case:credit-note-by-backlog; +3 CN/void cover refund mechanics; formal return asset/liability model thin.

2b. Full row detail (no truncation)

Same CAP ids; full definition / example / asc_refs / evidence blobs.

Detail — 2.1 ASC 606 five steps / core engine

CAP-001 — Transaction ingestion & staging

CAP-002 — Data collection / RC formation

CAP-003 — Step 1 — Identify the contract

CAP-004 — Step 2 — Identify performance obligations

CAP-005 — Step 3 — Determine transaction price

CAP-006 — Step 4 — Allocate TP to POBs (SSP)

CAP-007 — Step 5 — Recognize revenue when POB satisfied

CAP-008 — Touchless automation

CAP-009 — Configurable policies (engine-wide)

CAP-010 — Revenue Workbench

CAP-011 — Earned & deferred revenue tracking

Detail — 2.2 Contract modifications & policies

CAP-012 — Contract modification detection

CAP-013 — Modification rule engine

CAP-014 — Retrospective (cumulative catch-up)

CAP-015 — Prospective allocation

CAP-016 — Retro-prospective treatment

CAP-017 — Contractual prospective recast

CAP-018 — Adjustment revenue release

CAP-019 — Contract impairment

CAP-020 — Workbench mod review & override

CAP-021 — Advanced contract modification framework

CAP-022 — Contract modification report (SOX)

CAP-023 — Ramp contracts — straight-line accounting

Detail — 2.3 SSP & allocation

CAP-024 — SSP formula

CAP-025 — SSP upload

CAP-026 — SSP Analyzer

CAP-027 — AI-assisted SSP modeling

CAP-028 — Residual SSP (RSSP)

CAP-029 — SSP hierarchy on RC template

CAP-030 — Perform revenue allocations based on SSP

CAP-031 — Ramp allocation

CAP-032 — VC allocation (2-step / line SSP range)

CAP-033 — Bundle explosion

CAP-034 — SSP exception reporting

Detail — 2.4 Recognition methods

CAP-035 — Over-time vs point-in-time

CAP-036 — Ratable methods

CAP-037 — Point-in-time (immediate)

CAP-038 — User-defined / milestone schedules

CAP-039 — Delivery / quantity events

CAP-040 — Budgeted cost / budgeted hours events

CAP-041 — POB dependencies

CAP-042 — Upon Expiry release

CAP-043 — Consumption / usage POB templates

CAP-044 — Daily vs partial monthly accounting method

Detail — 2.5 Billing / booking / events-based recognition modes

CAP-045 — Upon Booking (Full Booking Release)

CAP-046 — Upon Billing (Billed Release)

CAP-047 — Upon Billing (Full Booking Release)

CAP-048 — Events-based recognition

CAP-049 — Manual release

CAP-050 — Billing–Revenue Integration sync

CAP-051 — Usage Sync (integrated)

CAP-052 — Standalone manual upload

Detail — 2.6 Close / continuous accounting / journals / reconciliation

CAP-053 — Continuous accounting

CAP-054 — Close Process dashboard

CAP-055 — Period-close template & task orchestration

CAP-056 — Netting process (CA/CL)

CAP-057 — LT/ST reclassification process

CAP-058 — Accounting transfer to GL

CAP-059 — Manual journal entries (MJE)

CAP-060 — Sweep unposted schedules

CAP-061 — Reporting summarization programs

CAP-062 — Report reconciliation (automated in dashboard)

CAP-063 — Revenue holds & transfer holds

CAP-064 — RC / MJE approvals

Detail — 2.7 Audit / SOX / controls

CAP-065 — Audit Trail report

CAP-066 — Audit trail scope

CAP-067 — SOX report pack

CAP-068 — Granular authorization / role-based access

CAP-069 — Segregation of duties

CAP-070 — Stage validation framework

CAP-071 — Soft freeze on period close

Detail — 2.8 Reporting / waterfalls / disclosures / RPO / trial balance

CAP-072 — Waterfall Report

CAP-073 — Historical Waterfall (13 periods)

CAP-074 — Billing Waterfall / Billing RollForward

CAP-075 — RC Rollforward

CAP-076 — Trial Balance Report

CAP-077 — Revenue Insight / Revenue Summary

CAP-078 — ASC 606 disclosure — Prior/Current CL/CA

CAP-079 — Disclosure — Prior/Current satisfied POBs

CAP-080 — Unsatisfied POB Balances (RPO proxy)

CAP-081 — Unreleased POB(s) Report

CAP-082 — Track unbilled receivables

CAP-083 — VC Insight / VC Rollforward

CAP-084 — Cost Insight / Cost Rollforward

CAP-085 — Consumption Usage Waterfall

CAP-086 — Forecast Revenue

CAP-087 — Period FX Waterfall / Unbilled FX / Trial Balance FX

CAP-088 — Disclosure Aggregation config

CAP-089 — 60+ pre-built reports (marketing)

Detail — 2.9 Integrations (billing, ERP, CPQ)

CAP-090 — Chargebee Billing ↔ Revenue (Zuora Billing↔Revenue twin)

CAP-091 — CPQ / quote-to-cash

CAP-092 — NetSuite Revenue Inbound Connector

CAP-093 — NetSuite GL Connector

CAP-094 — Workday Accounting Center Connector

CAP-095 — Workday Financials GL Connector

CAP-096 — Microsoft Dynamics 365 Connector

CAP-097 — Open APIs / SDK

CAP-098 — Standalone file upload (integration)

CAP-099 — Salesforce / SAP (marketing FAQ)

Detail — 2.10 Advanced (multi-book, VC, cost, AI, simulations)

CAP-100 — Multi-book revenue accounting

CAP-101 — Revenue Book Comparison Report

CAP-102 — Advanced Variable Consideration Analyzer

CAP-103 — Advanced SSP Analyzer

CAP-104 — Cost processing (COGS, commissions, rebates, accruals)

CAP-105 — Consumption revenue suite

CAP-106 — Financing / significant financing component

CAP-107 — Mass actions

CAP-108 — Simulations / quote impact (marketing)

CAP-109 — AI-assisted validations / SSP (marketing)

CAP-110 — Dedicated shard / migration sandbox / managed services

Detail — ASC-only (weak/no Zuora twin)

CAP-111 — Contract existence / collectibility

CAP-112 — Combining contracts

CAP-113 — Material rights (customer options)

CAP-114 — Nonrefundable upfront fees

CAP-115 — Licensing IP / sales-based royalties

CAP-116 — Principal versus agent

CAP-117 — Breakage (unexercised rights)

CAP-118 — Right of return / refund liability


3. ASC-only constraints with weak/no Zuora twin

These are first-class ASC 606 product obligations that do not show up as clean named rows in Zuora §§2.1–2.10 (or only as buried Step-1 / expiry / CN cousins). Kept as CAP-111…CAP-118 so they don’t get lost under “Step 1” forever.

id name asc_refs a606 revrec_today next_build maturity why weak Zuora twin
CAP-111 Contract existence / collectibility 606-10-25-1, 606-10-25-2, 606-10-25-3, 606-10-25-4, 606-10-25-5, 606-10-25-6, 606-10-25-7, 606-10-55-3A A606-C-contract_existence_25_1, A606-E-1, A606-E-4 not_in_product needs_design Complete High SaaS relevance; almost no smoke. Don’t bury under CAP-003 forever.
CAP-112 Combining contracts 606-10-25-9 A606-C-combine_contracts_25_9 not_in_product needs_design Enterprise-deep Conflicts with naive 1-sub=1-contract. Policy later.
CAP-113 Material rights (customer options) 606-10-55-41, 606-10-55-42, 606-10-55-43 A606-C-material_right_55_41, A606-E-49, A606-E-50 not_in_product needs_design Enterprise-deep Explicit domain gap. No Zuora twin in §§2.1–2.10 as named capability.
CAP-114 Nonrefundable upfront fees 606-10-55-50, 606-10-55-51 A606-C-upfront_fees_55_50, A606-E-53 not_in_product needs_design Complete Common SaaS pattern; catalog marked new.
CAP-115 Licensing IP / sales-based royalties 606-10-55-54, 606-10-55-65 A606-C-licensing_55_54, A606-E-54, A606-E-60 not_in_product out Out Mostly out of CB SaaS RevRec core. Gap filed for honesty.
CAP-116 Principal versus agent 606-10-55-36, 606-10-55-37, 606-10-55-38, 606-10-55-39, 606-10-55-40 A606-C-principal_agent_55_36, A606-E-45, A606-E-46 evidence_only needs_design Complete pass-through-product is thin. Need explicit principal/agent goldens.
CAP-117 Breakage (unexercised rights) 606-10-55-46, 606-10-55-47, 606-10-55-48, 606-10-55-49 A606-C-breakage_55_46 not_in_product needs_design Enterprise-deep Weak Zuora twin via expiry/consumption; ASC constraint is first-class.
CAP-118 Right of return / refund liability 606-10-55-22, 606-10-55-23, 606-10-55-24, 606-10-55-25, 606-10-55-26, 606-10-55-27, 606-10-55-28, 606-10-55-29 A606-C-right_of_return_55_22, A606-E-22, A606-P04 partial needs_design Complete CN/void cover refund mechanics; formal return asset/liability model thin.

Also watch ASC catalog new / domain gaps even when a Zuora twin exists: VC constraint, RPO disclosures, ramp pricing, usage beyond cb-metered.


4. RevRec evidence index (smoke tag → CAP ids)

Tags from revanu docs/revrec-scenarios/index.json. Mapping is policy quarry, not Hotglue sheet parity.

smoke tag case count (approx) CAP ids
(untagged) 122 CAP-001, CAP-070
subledger-ac 73 CAP-010, CAP-054, CAP-062, CAP-069, CAP-075, CAP-076, CAP-089
billing-invoice 26 CAP-011, CAP-046, CAP-047, CAP-050, CAP-074, CAP-090
deferred-revenue 22 CAP-007, CAP-011, CAP-018, CAP-056, CAP-061, CAP-062, CAP-072, CAP-073, CAP-075, CAP-078, CAP-080, CAP-082, CAP-089
journal-posting 17 CAP-007, CAP-053, CAP-058, CAP-059, CAP-069, CAP-076, CAP-093
service-delivery 16 CAP-035, CAP-037, CAP-039, CAP-048, CAP-081
expense-commission 14 CAP-084, CAP-104
multi-currency 14 CAP-087
contract-term 12 CAP-003, CAP-012, CAP-045, CAP-050, CAP-090
modification 11 CAP-009, CAP-012, CAP-013, CAP-014, CAP-015, CAP-020, CAP-022, CAP-067, CAP-079
credit-note 10 CAP-005, CAP-009, CAP-118
recognition-plan 9 CAP-004, CAP-007, CAP-035, CAP-036, CAP-044
ppa 7 CAP-014, CAP-079
sales-orders 7 CAP-001, CAP-003, CAP-045, CAP-052
ssp 7 CAP-006, CAP-024, CAP-025, CAP-026, CAP-030, CAP-034
export 6 CAP-058, CAP-061, CAP-089, CAP-093, CAP-094, CAP-095
voided-invoice 6 CAP-118
file-sync 3 CAP-001, CAP-050, CAP-052, CAP-098
period-close 3 CAP-053, CAP-054, CAP-055, CAP-060, CAP-067, CAP-071
termination 3 CAP-019
mrr 2 CAP-005, CAP-077
pause-revenue 1 CAP-009, CAP-049, CAP-063, CAP-081

Priority quarry fixtures (from gap matrix)

Priority Smoke case CAP gravity
1 simple-mod CAP-012, CAP-015
2 plan-types CAP-007, CAP-036, CAP-044
3 contract-term-modification CAP-012, CAP-013
4 deferred-revenue-adj CAP-011, CAP-072, CAP-075
5 prospective-modification CAP-015, CAP-014
billingrollforward-scenarios (+ -by-so) CAP-074
cb-metered CAP-043, CAP-051, CAP-105
pause-revenue CAP-049, CAP-063

5. Gaps / not_in_product high-value backlog

Candid cut: high SaaS / Chargebee relevance, missing or thin evidence, Next can host (ready or needs_design). Not the full Enterprise-deep zoo.

id name revrec_today next_build maturity why it matters gap pointer
CAP-023 Ramp contracts not_in_product needs_design Complete CB ramps/IBM; ASC TP over time gap-domain-ramp-pricing
CAP-031 Ramp allocation not_in_product needs_design Complete Pairs with ramp contracts gap-domain-ramp-pricing
CAP-014 Retrospective catch-up partial needs_design Complete 25-13(b); E-8 still new modification + ppa tags
CAP-006 SSP allocate multi-PO partial ready Foundation Chargebee markets multi-PO gap-revenue-allocation-strategy / ssp
CAP-030 Relative SSP allocation partial ready Foundation Same as above gap-cypress-ssp-reallocation-ui
CAP-046 Upon Billing release partial ready Complete Marketing claim; AR path exists gap-cypress-billing-all-disabled
CAP-043 Usage POB templates partial needs_design Complete Usage merchants gap-domain-usage-metered
CAP-051 Usage Sync partial needs_design Complete CB usage → recognize gap-domain-usage-metered
CAP-039 Delivery / qty events partial ready Complete PSD / proportional gap-revenue-delivery-date
CAP-056 CA/CL netting partial needs_design Complete Balance sheet presentation deferred-revenue
CAP-075 RC Rollforward partial ready Complete Close / GL recon gap-unearned-summary-rollforward
CAP-080 RPO / unsatisfied POB partial needs_design Complete Disclosure; A606-C-rpo new
CAP-078 Prior/Current CL/CA disclosure partial needs_design Complete ASC 606 disclosure suite
CAP-063 Revenue / transfer holds evidence_only needs_design Complete Ops control gap-pause-revenue
CAP-111 Collectibility / contract existence not_in_product needs_design Complete Free trial / soft collect A606-C-contract_existence
CAP-113 Material rights not_in_product needs_design Enterprise-deep Renewal options gap-domain-material-rights
CAP-114 Upfront fees not_in_product needs_design Complete Setup fees SaaS A606-C-upfront_fees
CAP-116 Principal vs agent evidence_only needs_design Complete Marketplace gap-domain-principal-agent
CAP-102 VC Analyzer / constraint not_in_product needs_design Enterprise-deep Usage + contingent fees gap-domain-variable-consideration
CAP-105 Consumption suite partial needs_design Complete PayGo / drawdown gap-domain-usage-metered
CAP-054 Close dashboard partial needs_design Foundation Finance close UX gap-accounting-close
CAP-062 Automated report recon partial needs_design Complete TB ↔ waterfall ↔ RF subledger-ac
CAP-022 Mod SOX report not_in_product needs_design Complete Auditability
CAP-034 SSP exception reporting not_in_product needs_design Complete Close blocker list ssp
CAP-087 FX waterfall suite partial needs_design Complete MC merchants multi-currency
CAP-106 Significant financing not_in_product needs_design Enterprise-deep Rare but ASC-real gap-domain-significant-financing

Out on purpose (don’t put on the build board as “missing”)

id name why Out
CAP-002 Data collection / RC formation Outcome via Contract from subscription. Matrix marks Out. Do not build Zuora collect/RC-template machinery.
CAP-027 AI-assisted SSP modeling Deterministic SSP library first. AI packaging outside ASC core.
CAP-029 SSP hierarchy on RC template Outcome via SSP policy on PO/product.
CAP-108 Simulations / quote impact (marketing) Product choice Out.
CAP-109 AI-assisted validations / SSP (marketing) Same stance as CAP-027.
CAP-110 Dedicated shard / migration sandbox / managed services Not a domain capability.
CAP-115 Licensing IP / sales-based royalties Mostly out of CB SaaS RevRec core. Gap filed for honesty.

6. Glossary of report terms

Term Plain meaning Zuora / ASC pointer
Waterfall Schedule view of revenue (and often deferred) across prior / current / future periods — when money is recognized over time. Waterfall reconciliation · CAP-072
Historical waterfall Same idea over a chosen multi-period window (e.g. 13 periods of actuals). Overview of reports · CAP-073
Billing Waterfall / Billing RollForward Invoice-grain rollforward of billed / unearned / recognized — ties billing activity to CL movement. Not the same as recognition waterfall. Billing Waterfall report · CAP-074 · smoke billingrollforward-scenarios
RC Rollforward Beginning / activity / ending for contract asset & contract liability (and recon to GL). Overview of reports · CAP-075
Trial Balance Account balances from the revenue subledger / journals; should recon to waterfall & rollforward. Not a Chargebee stream. Trial Balance report · CAP-076
RPO Remaining Performance Obligations — transaction price allocated to unsatisfied (or partially satisfied) POs. Disclosure under ASC 606-10-50-13. ASC 606-10-50-13 · CAP-080 · A606-C-rpo_50_13
Contract liability (CL) / deferred revenue Obligation to transfer goods/services for which customer has paid (or payment due) before performance. ASC 606-10-45 · CAP-011 · CAP-078
Contract asset (CA) / unbilled Right to consideration for performance completed before unconditional receivable (often before invoice). ASC 606-10-45 · CAP-082 · A606-P02
SSP Standalone selling price — basis for allocating TP to POs (relative SSP). ASC 606-10-32-28..34 · SSP setup · CAP-006 / CAP-024–034
RSSP Residual SSP — residual method when observable SSP missing. Residual SSP · CAP-028
Variable consideration (VC) Discounts, rebates, usage, bonuses, etc. estimated then constrained. ASC 606-10-32-5..14 · CAP-005 · CAP-102
POB / PO Performance obligation — distinct good or service (or series). ASC 606-10-25-14..22 · CAP-004
Prospective vs retrospective mod Prospective: closed amounts stay; remaining reallocated forward. Retrospective: cumulative catch-up. ASC 606-10-25-13 · Accounting treatments · CAP-014 / CAP-015
Netting (CA/CL) Present contract asset and liability net when they arise from the same contract (presentation). CAP-056
LT/ST reclass Split long-term vs short-term CA/CL for balance sheet. LT/ST overview · CAP-057
Continuous accounting Recognize/reconcile through the period, not only at month-end batch. Close dashboard · CAP-053
Transfer accounting / JE Post revenue subledger journals to GL (detail or summary). Transfer accounting · CAP-058

Changelog

Date Change
2026-07-31 Initial STAR master: 110 Zuora + 8 ASC-only CAP rows; JSON companion