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:
- Contract analysis: AI extracts contracts; identifies performance obligations; calculates transaction price
- Threshold assessment: AI identifies contracts requiring audit testing (>₹1L, variable consideration, complex terms)
- Testing procedures: AI tests allocation accuracy; identifies timing anomalies; flags unusual transactions
- 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:
- Understanding the 5-step model (not just checklist compliance)
- Detailed contract analysis for significant transactions
- Special attention to variable consideration and allocation
- Rigorous judgment documentation
- 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]
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