Identify all forms of variable consideration in the contract: volume discounts, rebates, refund rights, performance bonuses, penalties, and price concessions
Estimate variable consideration using either the expected value method (probability-weighted) or the most likely amount method; choose whichever better predicts the amount to which the entity will be entitled
Apply the variable consideration constraint: include in the transaction price only amounts for which it is probable a significant revenue reversal will not occur when the uncertainty resolves
Determine SSP for each distinct performance obligation: use observable prices (list price, renewal prices) when available; if not, use suitable estimation methods such as adjusted market assessment, expected cost plus margin, or residual approach (residual only when SSP is highly variable or uncertain)
Allocate the total transaction price to obligations in proportion to their relative SSPs; if variable consideration relates entirely to one obligation and allocation to that obligation is consistent with the allocation objective, allocate it directly
Document SSP methodology in accounting policies and update SSP ranges periodically as market conditions change
Known gotchas
The residual approach for SSP estimation is permitted only in limited circumstances (highly variable or uncertain SSP); using it as a default simplification is not appropriate and may draw auditor scrutiny
SSP ranges should be supported by actual transactions; if a company rarely sells an element on a standalone basis, the range may be wide and require additional judgment about where within the range to estimate
When a discount exists in a bundle, it must be allocated to all obligations proportionally unless specific criteria for allocating the entire discount to one or more obligations are met — these criteria are narrow
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