Identify each distinct performance obligation in the arrangement and assign its standalone selling price (SSP) using observable prices, adjusted market assessment, or expected-cost-plus-margin methods per ASC 606-10-32.
Sum all SSPs in the arrangement; compute each obligation's allocation percentage as its SSP divided by the total SSP sum.
Multiply the transaction price (net of variable consideration constrained under ASC 606-10-32-11) by each allocation percentage to produce the allocated revenue amount per obligation.
Store the resulting arrangement in a database table with columns for arrangement_id, obligation_id, ssp, allocated_amount, recognition_method, and recognition_start/end dates.
On each billing or fulfillment event, query the table, apply the recognition method (point-in-time vs. over-time), and write the recognized revenue entry to the GL.
Expose a recalculation endpoint that reruns allocation when SSP bands or transaction price is modified, logging before/after values for audit.
Known gotchas
Variable consideration (discounts, refunds, usage tiers) must be estimated and constrained before allocation; re-estimating mid-contract can cause cumulative catch-up adjustments that require careful period attribution.
SSP ranges that overlap across product lines can create ambiguity in residual approach eligibility; document the method chosen per SKU to support audit evidence.
Rounding across obligation allocations must sum exactly to the transaction price; accumulate remainders and assign them to the largest obligation to avoid penny-off errors in the GL.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp