1
Define the scope and effective date
Name the legal entity or entities covered, list the revenue streams included, and specify the effective date. Explicitly exclude revenue streams governed by other standards (leases, interest, investments).
π‘ If your business operates in both GAAP and IFRS jurisdictions, note both standards in scope rather than creating two separate documents β a dual-standard policy reduces version-control risk.
2
List your typical contract types
Identify the three to five most common contract structures your business uses β subscriptions, project-based services, product sales, licensing, or multi-element bundles. Each type may require different recognition treatment.
π‘ Run a sample of your last 20 invoices to identify every distinct contract type before drafting the policy. It is easier to map each to the five-step model than to write the policy and discover gaps later.
3
Map each contract type through the five-step model
For each contract type, document how you apply each of the five steps: contract identification, performance obligation identification, transaction price, allocation, and recognition timing. Include a worked example for complex arrangements.
π‘ Worked examples are the most-read part of any revenue recognition policy. A two-paragraph example for your largest revenue stream saves hours of auditor back-and-forth.
4
Set your standalone selling prices
Establish and document the SSP for each distinct performance obligation using one of the four permitted methods. Record the determination date and schedule an annual review.
π‘ If you cannot observe SSPs directly, use the adjusted market assessment approach with competitor pricing data as support β document your sources so the rationale survives staff turnover.
5
Define your variable consideration estimates
For each source of variable consideration (discounts, rebates, returns, penalties), choose the expected value or most likely amount method and document the constraint analysis used to limit recognition.
π‘ Set a return reserve percentage based on at least 12 months of historical return data, and update it quarterly. An unsupported reserve is a common audit adjustment.
6
Document practical expedients elected
List every ASC 606 or IFRS 15 practical expedient your company has elected β financing component waiver, costs-to-obtain amortization, or full retrospective adoption. Unapplied expedients cannot be adopted mid-period without disclosure.
π‘ The portfolio approach practical expedient is useful for high-volume, homogeneous contracts (e.g., monthly SaaS subscriptions under $500). Document the criteria your contracts must meet to qualify for portfolio treatment.
7
Specify balance sheet presentation and disclosure requirements
Define how contract assets, contract liabilities, and deferred revenue are classified, labeled, and disclosed in the financial statements and footnotes.
π‘ Ask your auditor for a disclosure checklist specific to your industry at the start of each fiscal year β standards interpretations evolve and checklist gaps are easier to close before year-end than after.
8
Assign ownership and set a review cadence
Name the policy owner (typically the controller or CFO), specify the approval authority for amendments, and set a formal annual review date tied to the fiscal year-end close cycle.
π‘ Build the annual policy review into your year-end close calendar as a standing task β teams that treat the review as optional routinely miss it until the next audit.