The five-step model, in plain English
Identify the contract. Identify performance obligations. Determine transaction price. Allocate transaction price to obligations. Recognize revenue when each obligation is satisfied. Sounds simple; in practice, each step has decisions that need to be made consistently and documented.
Common errors we see at first audit
Recognizing implementation revenue upfront when it's not a distinct performance obligation. Failing to allocate discounts proportionally across performance obligations. Treating annual contracts as straight-line MRR without consideration of variable consideration. Booking renewal commissions over the renewal period when they should be capitalized and amortized.
- Implementation revenue: distinct performance obligation or part of the SaaS PO?
- Discounts: proportional allocation across PO, not deducted from one
- Multi-year contracts: standalone selling price test for each year
- Sales commissions: ASC 340-40 capitalization and amortization
What audit-ready looks like
A revenue recognition policy memo. Contract-level documentation of performance obligations. A revenue waterfall reconciling the AR aging to billed revenue to recognized revenue. Sales-commission capitalization schedule. Adjusted journal entries documented and supported.