A revenue recognition audit tests whether every recorded revenue amount traces to an enforceable customer contract, satisfies the five steps of ASC 606, and posts to the general ledger in the correct period and amount. That’s the direct answer to how to audit revenue recognition. The work starts with the contract, not the invoice, and it ends with a reproducible source-to-posting path.
Your team may be facing this now. The close is done. Deferred revenue reconciles on paper. Then your auditors ask for the signed contract version behind a December entry, the acceptance record, and the query that built the billing extract. Nobody can produce all three from the same folder. The accounting memo may be sound, but the evidence chain doesn’t hold together. That gap is where revenue audits slow down, expand, and fail.
Revenue recognition became more structured after the Financial Accounting Standards Board issued Accounting Standards Update No. 2014-09, creating ASC 606 for annual reporting periods beginning after December 15, 2017, as summarized in the PCAOB 2019 inspection preview on revenue deficiencies. Your auditors want it to hold up. A technically correct memo that can’t be rebuilt from source records doesn’t.
Table of Contents
- Five ASC 606 Tests Every Revenue Audit Must Cover
- Build the Population and Target Fraud-Risk Tests
- How to Trace Revenue from Contract to Ledger
- Testing Variable Consideration, Bundles and Financing Terms
- Evidence Your Auditors Will Expect and How to Keep It
- Revenue Audit Questions Teams Ask Most
Five ASC 606 Tests Every Revenue Audit Must Cover
A revenue audit tests five conclusions, one for each step of ASC 606, and each conclusion needs its own evidence. A revenue-recognition audit should be organized around the five-step model in ASC 606 and IFRS 15, as set out in the FASB ASC 606 guidance on the five-step model. The audit file links each sampled contract to all five steps, not only to the invoiced amount.
The Five Tests in One View
Revenue audit evidence starts with the signed contract and its amendments. Every later step depends on those documents. A contract generally requires enforceable rights and payment terms, commercial substance, and probable collection. Performance obligations are promises that are capable of being distinct and distinct within the contract’s context.
| ASC 606 step | Audit question | Evidence to pull |
|---|---|---|
| 1. Identify the contract | Is there an enforceable contract with commercial substance and probable collection? | Signed order form, amendments, side letters, credit assessment |
| 2. Identify performance obligations | Which promised goods or services are distinct? | Statements of work, product lists, licence terms, bundle pricing |
| 3. Determine the transaction price | What consideration is expected, including variable amounts? | Rate cards, rebate and refund terms, credit memos, bonus clauses |
| 4. Allocate the transaction price | Does allocation reflect relative standalone selling prices? | Standalone price lists, discount analysis, SSP support |
| 5. Recognize revenue | Did control transfer at a point in time, or was the obligation satisfied over time? | Delivery or acceptance records, usage logs, progress measures, deferred revenue roll-forward |
Revenue timing needs proof. The customer obtained control, or the obligation was satisfied over time. An invoice date proves neither point by itself. Bundled SaaS, services, licences, and acceptance clauses make timing and distinctness the controlling questions.
PCAOB inspection staff have flagged recurring weaknesses over performance obligations, price allocation, enforceable rights to payment, and alternative use, as noted earlier. Auditors therefore want traceable contract evidence. Invoices and management statements alone won’t carry the conclusion.
Practical rule: If a step has no evidence in the file, the conclusion is unsupported, however clean the memo looks.
Start with the signed contract. Add amendments, renewals, and side agreements before testing amounts. That order prevents rework when a later version changes scope, price, or timing.
Build the Population and Target Fraud-Risk Tests
A revenue test can miss an exception before sampling starts if the population excludes entries that do not reconcile. Define the population as all revenue entries posted to the general ledger for the period. Reconcile that full population to the billing subledger; any difference is an exception to investigate and clear before stratification. Keep the reconciliation and any adjustments in the audit file.
The process flow below shows how to build the population before targeted testing begins.

Stratify Before Sampling
Stratify by revenue stream, customer type, geography, sales channel, contract complexity, manual versus automated posting, and proximity to period end. Set sample sizes by stratum risk, then expand testing when exceptions appear. Record the population count, selection method, and coverage so another reviewer can reproduce the work.
| Stratum | Why it carries risk | Selection rule |
|---|---|---|
| Bill-and-hold | Revenue may be recorded before the customer takes control | Select every arrangement and test custody and customer request terms |
| Return rights or extended payment terms | Refund liability and financing component can be missed | Compare the refund liability with returns received after close |
| Multi-element bundles | Allocation depends on distinctness and standalone selling price | Re-perform the allocation for each bundle |
| Usage-based fees | Billed amount depends on source meter data | Recalculate billed usage from the source log |
| Reseller arrangements | Principal-versus-agent judgment drives the amount | Review contract terms and control evidence |
| Revenue recorded before shipment or acceptance | Premature recognition | Inspect delivery or acceptance evidence before the posting date |
Test higher-risk strata first. Random invoice selection can leave concentrated risks untested. For example, a bill-and-hold arrangement may be billed and posted before the customer takes control. Inspect the customer’s request, custody records, and contract terms rather than treating the invoice as proof of earned revenue. The distinction between cash received and revenue earned also appears in why tour deposits aren’t monthly profit, but the audit evidence must come from the revenue arrangement being tested.
Respond to the Presumed Fraud Risk
PCAOB standards treat revenue recognition as a presumed fraud risk. Document the assessed risks and the procedures designed to address them. The PCAOB auditing standards on revenue fraud risk responses call for substantive procedures, including tests of details, that respond directly to identified fraud risks. The presumption does not mean every stream is misstated. It means a generic response is not enough.
An SEC-cited study of accounting and auditing enforcement releases found that approximately 70% of cases involved revenue overstatement, commonly through premature recognition or fictitious revenue, according to the SEC speech on revenue recognition enforcement evidence. That history helps explain why auditors focus closely on revenue. Disaggregated analytics can point to unusual patterns, but they do not replace evidence supporting individual postings.
The video below gives additional context on targeted revenue testing.
Design procedures around the risk. Test cutoff in both directions around year-end. Inspect shipping, acceptance, or service evidence dated before recognition, and investigate unusual credits, side agreements, cancellations, and manual journal entries. Compare revenue by month and product line with prior periods to identify cutoff spikes or mix changes. Then trace selected exceptions from source evidence through the posting, so a sound accounting conclusion also has a defensible source-to-ledger path.
Quantify exceptions by frequency and value. Project likely misstatement where appropriate, and determine whether an error is isolated or points to a failed rule. Unexplained differences may indicate missed billing as well as overstatement; use procedures for identifying and closing revenue leakage gaps to investigate gaps without treating them as proof of fraud.
Test three groups first. Test entries from the last five days of the period, manual journal entries, and credit notes issued after year-end.
How to Trace Revenue from Contract to Ledger
A clean journal entry can still fail audit review if the file cannot show where its amount came from. Trace a selected contract from the signed terms through the accounting records and disclosure. The goal is to prove the source-to-posting path, not just that the ASC 606 conclusion reads correctly.
Six Steps From Signature to Disclosure
Use this walkthrough as a practical method. Keep the evidence for each step together, and record the contract version and system record used.
- Identify all customer contracts. Include modifications, renewals, side agreements, and contracts that must be combined under ASC 606. Check for signed documents outside the contract system. A side letter can change price, acceptance, or termination rights.
- Map promised goods and services. Decide which promises are distinct performance obligations. Do not treat a bundle as one obligation solely because it appears as one invoice line. Assess distinctness in the context of the contract.
- Recompute the transaction price. Start from the contract terms and include variable consideration, refunds, rebates, credits, financing components, and noncash consideration. Reconcile the result to the amount in the order system.
- Test allocation independently. Re-perform the allocation using relative standalone selling prices (SSPs). Retain support for the SSPs and show how any discount was allocated.
- Verify satisfaction timing. Determine whether each obligation is satisfied at a point in time or over time. Match the recognition date to delivery, customer acceptance, usage, or progress evidence. A billing schedule alone does not establish when revenue is earned.
- Link conclusions to assertions. Connect the result to occurrence, completeness, accuracy, cutoff, classification, and presentation. Reconcile the subledger to the general ledger and disclosures, and document how differences were resolved.
For each step, preserve the evidence that supports the conclusion, not just a checked box. Customer confirmation of contract terms can support occurrence and the terms tested. Delivery records can support cutoff. Comparing prior estimates with actual outcomes can inform accuracy. Select procedures in response to the assessed risks and relevant assertions, rather than treating analytical review as a substitute for source evidence.
Then follow the amount through posting. Trace it into the subledger, inspect the journal entry, and agree the balance to the disclosure. The guide to the revenue recognition journal entry and its audit trail shows the records that connect these stages. The file should let a reviewer follow the path without rebuilding spreadsheets or relying on an unexplained total.
Contract terms, estimates, and analytical procedures each create distinct evidence needs. If a judgment depends on a concession, retain the supporting contract language and calculation. If a posting depends on a system rule, show the relevant record and how the rule affected the entry. If an analytical procedure identifies an unexpected result, document the follow-up and its resolution. A conclusion without its supporting trail leaves the reviewer unable to establish why the posted amount is appropriate.
Keep the contract version used at each step. A later amendment can alter scope, price, and timing, so the file must show which version drove the original posting.
Test completeness in the other direction as well. Trace shipping, usage, or service records forward into billing; trace ledger entries backward to source evidence for occurrence. Both directions help establish that the records connect from performance through posting.
Testing Variable Consideration, Bundles and Financing Terms
A revenue estimate holds up when the audit file connects the contract terms to the calculation, the constraint, and the amount posted. For variable consideration, agreeing an invoice to a rate card is not enough. Inspect the underlying terms and recalculate management’s estimate using the method ASC 606 supports.
Recalculate the Estimate, Then Constrain It
ASC 606 contains rules for variable consideration and significant financing components equivalent to the IFRS 15 requirements discussed in this IFRS 15 guidance on variable consideration and financing. Under both frameworks, companies use the expected-value method or most-likely-amount method, then constrain the estimate to the amount for which a significant revenue reversal is not probable. Inspect rebate, refund, usage, bonus, service-level, or concession terms alongside management’s calculation, historical outcomes, and subsequent settlement data.
| Contract feature | Test to run | Evidence to inspect |
|---|---|---|
| Rebates, bonuses, SLA credits | Recompute the estimate using the applicable method and assess the constraint | Contract terms, management calculation, historical outcomes, settlement data |
| Right of return or refund | Compare the refund liability with returns received after period end | Return logs, refund history, credit notes issued after close |
| Significant financing component | Compare payment timing with the cash selling price and test discounting | Payment schedules, advance or deferred payment terms, discount rate support |
| Renewal or acceptance clause | Determine whether revenue depends on customer acceptance | Acceptance certificates, pilot terms, go-live records |
| Bundled SaaS and services | Verify distinct performance obligations and re-perform SSP allocation | Statements of work, SSP analysis, deferred revenue roll-forward |
| Usage-based fees | Recalculate billed usage from the source meter or log | Usage extracts, meter logs, rate schedules, billing run reports |
For financing terms, inspect payment schedules for advance or deferred payments that may provide a significant financing benefit. Compare the contract price with the cash selling price, check the discount rate support, and recalculate any adjustment. The documented terms and calculation should agree with the amount posted.
Bundles require a component-level test. Obtain the contract, statement of work, and standalone selling price (SSP) support for each promised item. Confirm that the components treated as distinct meet the contract criteria, then re-perform the relative SSP allocation across them. Trace each allocated amount to the revenue schedule and ledger, and check that deferred revenue reflects any undelivered service. For SaaS arrangements, revenue recognition for SaaS contract structures describes how bundles, usage, and contract terms affect recognition. Recalculate usage fees independently from meter or log records through the billing run.
Worked Example and Retrospective Test
Consider a $1,000,000 annual contract with a 3% volume rebate. Assume the customer has a 40% chance of reaching the rebate threshold and a 60% chance of not reaching it. The outcomes are a $30,000 rebate or no rebate. Under the expected-value method, the estimate is ($30,000 × 40%) + ($0 × 60%) = $12,000. Management’s $30,000 reserve therefore does not match this expected-value calculation. Test whether the constraint supports recognizing the $12,000 estimate, or a lower amount, and compare the estimate with the rebate settled after year-end. If the customer earns the rebate, the $30,000 settlement exceeds the expected estimate by $18,000; document whether that outcome reflects new information or a constraint the original estimate did not adequately apply.
For each material variable amount, compare the booked estimate with the settled outcome. A single difference may reflect estimation uncertainty. Repeated differences in the same direction across periods can indicate a faulty estimation rule. Document the cause, correct the rule, and extend testing to contracts that use the same logic.
Evidence Your Auditors Will Expect and How to Keep It
A technically correct ASC 606 memo will not carry the file if a reviewer cannot trace a reported revenue amount from its source record through posting. The audit file should let someone outside the preparation process rebuild the number without asking your team to recreate the steps. That is the reproduction test.
The Evidence Chain Across Systems
Revenue data typically moves through the CRM, billing platform, integration layer, and ERP. Auditors need evidence that the population is complete and that contract details passed accurately between those systems. The source-to-posting path matters as much as the accounting conclusion.
PCAOB inspection staff reported deficiencies involving the accuracy and completeness of data used in testing, as well as insufficient procedures over occurrence, allocation, and completeness, according to the PCAOB 2024 inspection activities spotlight. The update also identified reliance on issuer-prepared memoranda without independent evaluation. A memo that reaches the right conclusion is weak evidence when the underlying path cannot be reconstructed.
The image below reflects the document-level review auditors perform on that chain.

| Evidence item | Source system | Retention detail |
|---|---|---|
| Contract version history | CRM or contract management | Version date, signatures, amendments, side letters |
| Source-to-invoice extract | Billing platform | Query parameters, filters applied, extract timestamp |
| Transformation logic | Integration or report layer | Versioned logic and change history |
| Journal entries and approvals | ERP | Preparer, approver, timestamp, support attached |
| Deferred revenue roll-forward | ERP subledger | Opening balance, movements, closing reconciled to general ledger |
| Exception disposition | Exception log | Owner, resolution, reviewer sign-off |
| Write-back confirmation | ERP or CRM | Records written, values, confirmation status |
Retention periods depend on jurisdiction. The summary of UAE accounting record retention rules illustrates how local requirements can determine how long source records must remain available. Map each evidence item to the applicable retention rule for the entity holding it.
Failures That Sink a File
Files often fail because contract versions are missing, management memos lack independent review, system filters exclude records without investigation, or manual entries have no approval evidence. Each gap breaks the audit trail. A clearer narrative cannot replace missing support.
Spreadsheet reconciliations may show a result, but a reviewer often cannot reproduce the extract, filters, or manual edits behind it. If the preparer must explain each step, the file has not preserved a repeatable process. Loopfour, the deterministic finance workflow automation platform, runs the revenue evidence chain as versioned code and logs each run, approval, and write-back.
Retain five items for every run: query parameters, extract timestamps, and transformation logic version, plus exception disposition and reviewer sign-off. Together, they let an auditor rerun the logic, compare outputs, and confirm how exceptions were resolved. When those records are created and retained as part of the process, evidence collection is less likely to become a year-end scramble.
Revenue Audit Questions Teams Ask Most
A technically sound ASC 606 memo can still fail review if the team cannot show how contract terms became posted revenue. These questions focus on the decisions and evidence that keep that source-to-posting path clear.
What Is the First Step in Auditing Revenue Recognition
Start by reconciling the general ledger to the billing subledger. Investigate any difference before selecting contracts. Then divide the reconciled population into risk strata, such as distinct revenue streams or contract types, and retain the criteria used to assign each item. The audit trail should connect each selected contract to its billing record and ledger posting.
How Many Contracts Should an Auditor Test
There is no fixed contract count that fits every population. Set a sample for each risk stratum based on its size, transaction characteristics, and assessed risk. Include high-value and unusual contracts for targeted testing, then select the remaining items using a documented method. If testing finds an exception, determine whether it is isolated or indicates a wider issue, and expand testing in the affected stratum when warranted. Record the rationale for both the initial sample and any expansion.
Why Do Revenue Audits Draw So Many Deficiencies
Revenue testing combines judgment about contract terms with risks such as premature recognition, complex arrangements, and high transaction volumes. Deficiencies can arise when auditors do not obtain evidence supporting key judgments or trace transactions through to the books. The Monash study of PCAOB inspection trends examines trends in reported audit deficiencies. Inspection findings concern audit work, not the proportion of companies that misstated revenue.
What Is the Difference Between ASC 606 and IFRS 15 Testing
Both frameworks use the five-step revenue model, but testing should follow the entity’s reporting framework. For variable consideration, assess the estimated amount under the applicable constraint and retain evidence for the estimate and the risk of reversal. ASC 606 applies a “probable” threshold for avoiding a significant reversal, while IFRS 15 uses “highly probable.” Check the contract terms, estimation method, and subsequent adjustments against the governing standard.
Does Automation Satisfy Auditors
Automation can support audit evidence when the team can reproduce the run and explain its controls. Keep run logs, named approvals with timestamps, and exception ownership and disposition. Show how source records, transformation steps, and write-backs connect to the posted entry. If that chain cannot be demonstrated, the output alone may not resolve the auditor’s questions.
This week, choose the highest-risk strata, trace selected contracts through billing to the ledger, and document any breaks in the path.