Auditing revenue: the presumed fraud risk, estimates and procedures by assertion

How to assess revenue risks including the presumed fraud risk, test the ASC 606 judgments and estimates, and design procedures that address each assertion.

5 min read · CORAA Team
Lesson 14 of 14 · 0 of 14 complete
In this lesson you will
  • Apply the presumption of fraud risk in revenue recognition and document any rebuttal
  • Map each ASC 606 step to the assertions and risks it creates
  • Design substantive procedures for occurrence, cutoff, accuracy and presentation
  • Test revenue estimates such as variable consideration and measures of progress

Start with the fraud presumption

AU-C 240.26 requires the auditor, when identifying and assessing fraud risks, to presume that there are risks of fraud in revenue recognition and to evaluate which types of revenue, revenue transactions or assertions give rise to them. If the auditor concludes the presumption is overcome, AU-C 240.46 calls for documenting the reasons. Rebuttals are rare; the example in AU-C 240.A35 is a single type of simple revenue transaction, such as leasehold revenue from a single unit rental property.

SAS No. 151, the new fraud standard, is effective for audits of periods ending on or after December 15, 2028. The AICPA describes it as leaving the presumption of fraud risk in revenue recognition unchanged, so the revenue analysis carries over.

Do not stop at "revenue: presumed fraud risk." Be specific. Which revenue streams, which assertions, which accounts? Typical fraud risks:

  • fictitious sales or side agreements near period end (occurrence, cutoff);
  • holding the books open or backdating shipping documents (cutoff);
  • bill-and-hold or channel stuffing without substance (occurrence, cutoff);
  • manipulating estimates: variable consideration, returns, measure of progress, SSP (accuracy, valuation);
  • misclassifying gross versus net (presentation).

The fraud risk presumption memo template structures this.

Understand the process and controls

Walk a transaction from contract to cash: how contracts are approved and recorded, who can set up customers and prices, how shipments or service delivery trigger billing, how credits and rebates are approved, and how period-end cutoff and estimates are reviewed. Identify controls over nonstandard contracts and manual journal entries to revenue. If you plan to rely on controls, test them; otherwise design substantive procedures to cover the risk alone.

Map the five steps to procedures

Step Risk Procedure
Contract Side agreements, unapproved terms Read contracts in full; inquire of sales staff, not only finance; confirm terms
Performance obligations Bundle treated as separate items Reperform the distinct analysis for a sample of contract types
Transaction price Rebates, returns understated Test estimates under AU-C 540; compare to subsequent credits
Allocation SSP biased to accelerate revenue Test SSP data back to standalone sales
Recognition Early recognition, inflated progress Cutoff testing; recompute progress; inspect cost-to-complete

Core substantive procedures

  • Occurrence: vouch a sample of recorded revenue to contracts, delivery evidence (shipping records, customer acceptance, service logs) and cash receipts. Cash received after year-end is strong evidence.
  • Cutoff: select transactions shortly before and after period end and check that they are recorded in the right period. Review credit memos issued after year-end for reversals of year-end sales.
  • Confirmations: confirm receivable balances, and for significant contracts confirm terms such as acceptance, return rights and absence of side agreements, following AU-C 505.
  • Analytics: build expectations by month, product and customer; investigate spikes in the last weeks of the period. A substantive analytic needs a precise expectation and a threshold set in advance.
  • Journal entries: test manual and top-side entries to revenue and contract liabilities, especially entries near period end, by unusual users or with round amounts.

Estimates

Revenue estimates (variable consideration, returns, measures of progress, SSP) are accounting estimates under AU-C 540. Choose one or more approaches: test how management made the estimate, develop an independent estimate or range, or use events up to the report date. Do a retrospective review of last year's estimates for indications of management bias.

Presentation and disclosure

Test gross versus net conclusions, contract asset and liability classification, and the disclosure note against the rollforwards. Read the policy note against actual contract terms.

Evaluate and conclude

Accumulate misstatements, including judgmental differences in estimates, and consider whether a pattern of misstatements points to bias. Revenue misstatements found by the auditor that management did not catch can indicate a control deficiency to communicate. See the revenue audit playbook.

Worked example

Cutoff testing finds a side letter

Auditors of Crestview Medical Devices (December year-end, revenue $48 million) note that December revenue was $6.1 million against a monthly average of $3.8 million. Analytics flag one distributor at $1.9 million in the last week of December.

Procedures: the team reads the distributor contract (standard 30-day terms, no return right), vouches shipments to signed delivery receipts dated December 28 and 29, and sends a confirmation of the balance and terms to the distributor's CFO, asking whether any side agreements exist.

The reply discloses a December 20 letter from Crestview's VP of sales granting the distributor the right to return unsold units through June 30 and extending payment to 180 days. January credit memos show $400,000 already returned.

Evaluation: the side letter changes the contract terms. Return rights create variable consideration; with no history for this distributor and extended terms, Crestview cannot conclude a significant reversal is not probable for most of the shipment. The distributor reports resales of $300,000 of the units to end customers, so the team proposes reversing the remaining $1.6 million of revenue and records the matter as a fraud indicator.

Conclusion: the team reassesses fraud risk, extends procedures to other distributors, communicates to those charged with governance, and evaluates the integrity of management representations.

Self-check

Answer each question before you open the answer.

  1. What does AU-C 240 require about revenue recognition fraud risk?

    Show answer

    Under AU-C 240.26 the auditor presumes there are risks of fraud in revenue recognition and evaluates which types of revenue, transactions or assertions give rise to them. If the presumption is overcome, AU-C 240.46 requires documenting the reasons.

  2. Does SAS No. 151 remove the revenue fraud presumption?

    Show answer

    No. The AICPA states that SAS No. 151 leaves the presumption unchanged. It is effective for audits of periods ending on or after December 15, 2028.

  3. Which procedure most directly tests cutoff?

    Show answer

    Selecting transactions recorded shortly before and after period end and checking them to delivery evidence to confirm the period, plus reviewing post-year-end credit memos for reversals.

  4. Which auditing standard governs testing variable consideration and measures of progress?

    Show answer

    AU-C 540, Auditing Accounting Estimates and Related Disclosures, because these are accounting estimates.

Sources

Back to the syllabus

Standards are paraphrased from the primary sources listed above; read the source before relying on a requirement. This lesson is training material, not professional advice. Report an error

For US CPA firms

Join the CORAA waitlist

CORAA AI drafts audit working papers from your client’s QuickBooks books and does the first pass: lead schedules, tie-out, memos, draft notes and letters. CORAA Network reviewers clear every finding. Your firm reviews and signs.

  • First audit free, so you can judge the quality on a real file
  • Flat fee by entity size; messy books included
  • We work only with CPA firms, never their clients
See how it works →

* required