IndAS

IndAS 115 Revenue Recognition Audit Guide: Step-by-Step for CA Firms

Step-by-step audit procedures for IndAS 115 revenue recognition. Test the 5-step model, identify common errors, and stay ahead of NFRA findings.

C
CORAA Team
23 March 2026 17 min

Published: 2026-03-23
Category: IndAS
Read Time: 17 minutes
Author: CORAA Team


IndAS 115 is arguably the most complex accounting standard auditors encounter. Revenue is material to financial statements, subject to management judgment, and a frequent area of regulatory findings.

Yet many auditors still apply simplistic testing approaches—checking if revenue was billed and collected, without assessing compliance with IndAS 115's detailed recognition criteria.

This comprehensive guide gives you the step-by-step audit procedures to confidently test IndAS 115 compliance and identify revenue recognition issues before regulators do.

The 5-Step Revenue Recognition Model (IndAS 115)

IndAS 115 requires analyzing every revenue contract through a 5-step model:

Step 1: Identify the Contract with Customer

Definition: An agreement (written, oral, or implied) where:

  • Parties approved/committed to contract
  • Rights and obligations are identified
  • Payment terms are identified
  • Economically likely company will receive consideration

Audit procedure:

☐ Request revenue contracts list (grouped by customer/product)
☐ For sample of significant revenue:
  - Obtain original signed contract
  - Verify both parties signed/authorized
  - Confirm consideration amount and payment terms
  - Identify performance obligations in contract
  - Assess whether collection is probable
☐ Check for contract modifications (change orders, amendments)
☐ Identify contract combinations (multiple contracts = single revenue stream?)

Red flags:

  • Unsigned contracts or side letters
  • Vague terms or undefined deliverables
  • Customer credit concerns (collection unlikely)
  • Verbal agreements only

Step 2: Identify Separate Performance Obligations

Definition: A promise to transfer goods/services that is distinct from other promised goods/services.

Key distinction: Revenue may need to be recognized at different times if contract has multiple performance obligations.

Example scenarios:

Contract Obligations Recognition Timing
Sell software + 3-year support contract 2 obligations Software: at delivery; Support: over 3 years
Sell car with warranty 2 obligations Car: at delivery; Warranty: over warranty period
Construction project with penalties 1 obligation Over construction period (single integrated service)

Audit procedure:

☐ Review contract to identify all promised goods/services
☐ Determine if each is "distinct" (can be used separately? Separately identifiable?)
☐ Bundle services that are not separately identifiable
☐ Document performance obligations for sample contracts
☐ Verify revenue recognition policy aligns with identified obligations

Step 3: Determine Transaction Price

Definition: Amount company expects to receive (including variable consideration).

Components:

  • Fixed consideration (base price)
  • Variable consideration (discounts, rebates, returns, penalties)
  • Time value of money adjustments (if significant)
  • Non-cash considerations

Audit procedures:

Variable Consideration Assessment:
☐ Identify all variable components (discounts, rebates, penalties, returns)
☐ Estimate range of variable consideration (best estimate or most likely)
☐ Use best estimate if many possible outcomes
☐ Use most likely if 2 outcomes equally possible
☐ Adjust for constraint (include only if probable won't reverse in future)

Examples:
- Volume discount: Include if terms trigger automatically
- Performance guarantee: Include if probable will pay
- Right of return: Reduce revenue; set up refund liability

Time Value of Money:
☐ Identify if payment due >1 year from revenue recognition
☐ Assess if material difference between amounts
☐ Discount future cash flows if timing difference material
☐ Disclose if not adjusted (e.g., typical industry terms)

Complex scenarios requiring special attention:

  • Royalties on customer sales: Include only if/when sale occurs (often recognized later)
  • Milestone payments: Include when milestone likely to be achieved
  • Price protection clauses: Complex estimation of expected reduction
  • Customer options (warranties, returns): Factor into transaction price

Step 4: Allocate Transaction Price to Performance Obligations

Definition: How much revenue to recognize for each performance obligation.

Method: Allocate based on "standalone selling prices" (what each service would sell for separately).

Audit procedure:

Allocation Basis Assessment:
☐ Identify standalone selling prices for each obligation
☐ If not directly observable, estimate using:
  - Adjusted market approach (compare to similar services)
  - Expected cost plus margin approach
  - Residual approach (if one price observable, residual for other)
☐ Test allocation percentages for selected contracts
☐ Verify revenue split across obligations matches allocation

Common allocation mistakes:

  • Using revenue % from prior years (wrong if mix changes)
  • Allocating equally across obligations (unless equal value)
  • Not updating allocation when prices change
  • Allocating based on estimated costs (revenue is not cost + markup)

Step 5: Recognize Revenue When (As) Performance Obligation Satisfied

Definition: Recognize revenue when control of promised good/service transfers to customer.

Two recognition patterns:

Pattern 1: Point in Time (Most services/products)

  • Revenue recognized at single moment
  • Examples: Product sale, one-time service

Pattern 2: Over Time (Long-term services/construction)

  • Revenue recognized gradually as service delivered
  • Examples: Long-term contracts, subscription services, construction

Audit procedure:

Identify Recognition Pattern:
☐ Does customer get benefit throughout contract? 
  → If YES: Over time
  → If NO: Point in time

For Point in Time Recognition:
☐ Identify moment of control transfer
  - For product: Usually when shipped to customer
  - For service: Usually when service completed
☐ Test: Verify revenue recognized same day as control transfer
☐ Check: Orders shipped but not invoiced (adjustment)?

For Over Time Recognition:
☐ Measurement method:
  - Milestone method (% complete at milestone)
  - Cost incurred method (actual costs / total budgeted costs)
  - Effort incurred method (hours spent / total budgeted hours)
☐ Test: Calculate % complete using method
☐ Verify: Monthly revenue = (% complete this month) × Total contract value
☐ Check: Change orders update budget total

Complex revenue scenarios:

Scenario Recognition Pattern Audit Concern
Construction (lump-sum) Over time (costs incurred) % complete calculation; change order impact
SaaS subscription Over time (over service period) Deferral of upfront payment as contract liability
Right of return Point in time BUT set aside estimate Estimate accuracy; refund liability adequacy
Bill-and-hold Point in time when customer controls Whether customer controls goods; storage terms
Consignment Point in time when sold by consignee When title transfers; verification of sales
Install-then-cash Over time if installation is separate obligation Distinction between equipment + installation

IndAS 115 Audit Program (Step-by-Step)

Phase 1: Planning & Risk Assessment (Week 1)

Activity 1: Revenue Policy Review

☐ Obtain company's revenue recognition policy
☐ Compare to IndAS 115 requirements
☐ Identify areas requiring judgment:
  - Standalone pricing method
  - Variable consideration thresholds
  - Over-time revenue recognition approach
  - Contract modification treatment
☐ Assess if policy changes from prior year (why?)

Activity 2: Risk Assessment for Revenue

Fraud risks in revenue:
☐ Pressure to meet targets (bonus targets? Analyst expectations?)
☐ History of revenue issues (prior audit adjustments?)
☐ Weak controls over revenue (manual entry? approval gaps?)
☐ Significant related party revenue (management manipulation?)
☐ Complex contracts with judgment (complex services? New products?)

Control Assessment:
☐ Revenue recorded by whom? (Sales? Finance?)
☐ Contract review process: who reviews for revenue recognition?
☐ Approval by whom? (CFO? Revenue manager?)
☐ System controls: what prevents overstating?

Phase 2: Detailed Testing (Week 2-3)

Activity 3: Contract Testing Sample

Select sample of ₹X Crore revenue (minimum 60-70% of revenue)
For each contract:
☐ Verify contract exists, signed, authorized
☐ Identify performance obligations (use Step 2 analysis)
☐ Determine transaction price (variable + fixed)
☐ Verify allocation to performance obligations
☐ Check timing of revenue recognition matches control transfer
☐ Trace to invoice, AR, cash receipt

Activity 4: Month-End Testing

For months with significant revenue:
☐ List all revenues recognized
☐ Identify top 10 transactions
☐ Verify contract exists for each
☐ Verify revenue booked in correct month
  (Cutoff testing for point-in-time and over-time revenue)
☐ Identify any "unusual" revenue (unusual customer, amount, timing)

Activity 5: Accounting Estimate Review

For variable consideration:
☐ Identify all variable elements (discounts, returns, penalties)
☐ Verify estimates documented
☐ Check estimates against current performance/history
☐ Evaluate if estimates too aggressive

For over-time revenue:
☐ Verify % complete calculations
☐ Compare budget to actual costs (updated?)
☐ Test change orders incorporated into budget
☐ Identify any loss-making contracts (provision required?)

Phase 3: Financial Statement & Disclosure (Week 4)

Activity 6: Financial Statement Assertions

Completeness:
☐ Scan general ledger for unusual items in revenue accounts
☐ Identify credits to revenue (returns? Adjustments?)
☐ Verify all are legitimate (not revenue reversal without proper basis)

Accuracy:
☐ Reconcile revenue per ledger to invoice/fulfillment system
☐ Identify differences and investigate

Cutoff:
☐ Test month-end revenue (verify correct period)
☐ Check for period-end adjustments (are they valid?)

Classification:
☐ Revenue classified correctly (revenue vs. expense?)
☐ Segment revenue disclosed if required?

Activity 7: Disclosure Adequacy

Check financial statement notes include:
☐ Revenue recognition policy (all 5 steps documented)
☐ Breakdown by revenue stream (if significant differences)
☐ Contract liability (deferred revenue) reconciliation
☐ Significant judgments in revenue recognition
☐ Change in accounting policy (if any)
☐ Performance obligation details (timing of remaining obligations)
☐ Contract modifications (if any)

Common IndAS 115 Audit Issues

Issue 1: Revenue Recognized Before Performance Obligation Satisfied

Scenario: Customer billed upfront; services to be delivered over 2 years.

Audit test: Verify revenue deferred as contract liability.
Fix if issue: Record revenue adjustment; recognize ratably over service period.

Issue 2: Incorrect Allocation to Performance Obligations

Scenario: Product sold with 1-year warranty. All revenue recognized at sale.

Audit test: Identify warranty as separate obligation; allocate based on standalone price.
Fix if issue: Defer warranty revenue proportion; recognize over 1 year.

Issue 3: Variable Consideration Over-Estimated

Scenario: Company recognized ₹10L volume discount unlikely to occur.

Audit test: Review discount terms; assess probability of occurrence.
Fix if issue: Reduce revenue to reflect realistic discount expectation.

Issue 4: Loss-Making Contracts Not Recognized

Scenario: Long-term contract with expected loss (costs will exceed revenue).

Audit test: Compare budgeted costs to revenue; identify loss.
Fix if issue: Record provision for loss on contract.

Issue 5: Related Party Revenue Overstated

Scenario: Revenue to related company; terms different from external customers.

Audit test: Compare terms to market terms; verify commercial substance.
Fix if issue: Reduce revenue if transaction not at arms-length; adjust consideration.

Automating IndAS 115 Testing with AI

CORAA's Revenue Recognition Module automates:

  1. Contract analysis: AI extracts contracts; identifies performance obligations; calculates transaction price
  2. Threshold assessment: AI identifies contracts requiring audit testing (>₹1L, variable consideration, complex terms)
  3. Testing procedures: AI tests allocation accuracy; identifies timing anomalies; flags unusual transactions
  4. Disclosure draft: AI generates financial statement note disclosures based on contracts tested

Time savings: 75% reduction in revenue testing time; improved coverage (test more contracts with same effort)

Conclusion

IndAS 115 revenue recognition auditing requires:

  1. Understanding the 5-step model (not just checklist compliance)
  2. Detailed contract analysis for significant transactions
  3. Special attention to variable consideration and allocation
  4. Rigorous judgment documentation
  5. Disclosure completeness

Companies with complex revenue streams face the highest IndAS 115 risk. These audits demand partner involvement and cannot be delegated without close review.


Related Articles

  • IndAS 109 Expected Credit Loss (ECL): Audit Procedures & Calculations
  • IndAS 116 Lease Accounting: ROU Assets & Liability Audit Guide
  • Financial Statement Disclosures: ICAI Requirements & Completeness Checklist
  • Accounting Estimates: Auditing Complex Judgments & Fraud Risk

Ready to Automate Revenue Audit?

CORAA's revenue module extracts contracts, identifies performance obligations, validates allocations, and flags timing issues—reducing revenue audit time from weeks to days while ensuring complete, accurate IndAS 115 compliance.

[Start Free Trial] [Book Demo]

Free newsletter

Get weekly audit insights

Practical guides on audit automation, SQM1 compliance, and Ind AS procedures — delivered to 2,000+ CA professionals every Friday.

No spam. Unsubscribe any time.

Topics

IndAS 115revenue recognition auditIndAS audit Indiarevenue testing proceduresNFRA revenue
Built for India · DPDPA compliant

Ready to automate your audit work?

See how Coraa reduces audit engagement time by 60% — from ledger scrutiny to working papers, all from one Tally import.