Revenue Allocation — ASC 606 Steps 3–4

40 multi-element contracts — platform, support, implementation, usage credits, and a partner add-on — allocated by relative standalone selling price and recognized per obligation. Companion to the Revenue Recognition project, which owns the deferred and RPO roll-forwards. Synthetic, seeded data.

$18.4M
Transaction price across 40 contracts — blended bundle discount 15%
$493K
Reassigned to "free" implementation by relative SSP — 14 bundles invoice it at $0
$0.13M
Partner add-on revenue, presented NET (agent)
$0.85M
What gross presentation would have claimed — same profit, 567% more "revenue"
40/40
Contracts where allocations sum to transaction price to the cent

One contract, two views — C-1004, 24-month bundle

ObligationSSPInvoice line Allocated (606)Alloc / SSP
platform$600.0K$590.9K$550.4K91.7%
support$120.0K$118.2K$110.1K91.7%
implementation$75.0K$0.0K$68.8K91.7%
usage credits$300.0K$295.4K$275.2K91.7%
Total$1,095.0K$1,004.5K$1,004.5K91.7%

Sales invoiced implementation at $0 — a concession that looks free on paper. Relative-SSP allocation reassigns transaction price to it anyway, at exactly the contract's overall discount ratio. You can discount an invoice line; you cannot discount the accounting. The pro-rata column is a validation check, not a hope: any obligation whose ratio deviates from the contract's fails the build — a discount parked on one line is the classic manual-workaround error.

Principal vs agent — scored, not vibed

ASC 606-10-55 indicatorThis arrangementPoints to
Primary responsibility for fulfillment Partner delivers and supports the add-onAgent
Inventory risk before transfer None — we never hold or commit to capacityAgent
Pricing discretion Partner sets list; we pass through at partner's priceAgent

Conclusion: agent — net presentation. The arithmetic proof is check 5: profit is identical to the cent under either presentation ($0.13M), which is precisely why the control-of-the-good indicators — not the invoice total — make the call. Gross would have added $0.72M of pass-through to the revenue line. For a marketplace or reseller business this single judgment swings reported revenue by multiples.

Validation — re-run before every publish

SSP bases: platform and support are observable (standalone renewals and attach); implementation is cost-plus-margin; usage credits use an adjusted market assessment — the hierarchy stated, as a policy memo would. Synthetic, seeded (random.seed(606)). Source: github.com/Lumimama/finance/revenue-allocation.