Now in open beta — close the books in 2 days, not 2 weeks.Read the case study →
Business · March 12, 2026 · 10 min read

Revenue recognition under ASC 606 / IFRS 15

Revenue recognition is where SMBs most commonly bend the rules accidentally. ASC 606 (US GAAP) and IFRS 15 (everywhere else) are not just a big-company concern: an SMB that recognizes revenue too early gets caught at audit, fundraise, or sale. Here is the plain-English version.

When this matters for an SMB.

For pure cash-on-delivery retail, revenue recognition is trivial: cash hits, revenue books. For everything else — services with milestones, products with installation, subscriptions, deposits, multi-element bundles — there is a question of when revenue actually belongs in the period. Getting this wrong by 30 days does not matter much for management reporting. Getting it wrong by 6 months can distort whether you appear profitable.

SMBs hit this most often in three scenarios: software / SaaS subscriptions billed annually, project-based services billed by milestone, and product sales with deferred installation or training. In all three, cash arrives before the work is done. Recognizing all of it as revenue at billing is wrong; deferring it correctly is the right answer.

The 5-step model in plain English.

Step 1: identify the contract with the customer (written or verbal, must have approval, payment terms, identifiable goods/services). Step 2: identify the performance obligations (the distinct things you promised to deliver). Step 3: determine the transaction price (total cash you expect to collect). Step 4: allocate the price across performance obligations (in proportion to standalone selling price of each). Step 5: recognize revenue when each performance obligation is satisfied.

For most SMBs the question collapses to step 5: when is each performance obligation satisfied? Service delivered, product shipped, subscription month elapsed, milestone signed off. The answer determines when revenue books. Cash receipt is a separate question and usually irrelevant to revenue timing.

Step 1Identify contractStep 2Performance obligationsStep 3Transaction priceStep 4Allocate priceStep 5Recognize when satisfied
Five steps. SMBs collapse to step 5 most of the time — when is the obligation satisfied? Cash timing is irrelevant.
  • Step 1: Identify the contract
  • Step 2: Identify performance obligations
  • Step 3: Determine transaction price
  • Step 4: Allocate to obligations
  • Step 5: Recognize when satisfied

Worked example: a SaaS contract.

A Berlin SaaS company sells a 12-month subscription for $12,000 paid in advance. Implementation services are billed at $3,000 separately. The customer signs in February and pays $15,000 total. Implementation completes in March. How much revenue in February, March, and onward?

February: implementation revenue is $0 (not yet delivered), subscription revenue is $0 (subscription has not yet started). The $15,000 cash sits as deferred revenue. March: implementation revenue $3,000 (delivered), one month of subscription $1,000. April through next February: $1,000 per month. Total recognized matches $15,000 over 13 months.

SaaS contract — Feb cash receipt (zero revenue yet)DEBITCREDITBank15,000Deferred revenue — subscription12,000Deferred revenue — implementation3,000TOTAL DR15,000TOTAL CR15,000
Cash arrives in Feb but nothing has been delivered. Both performance obligations sit as deferred revenue until satisfied.

Worked example: a project contract.

A consulting firm signs a $24,000 6-month project with three milestones: Month 2 (initial deliverables, 30 percent payment), Month 4 (mid-project, 35 percent), Month 6 (final, 35 percent). Customer pays at each milestone signoff.

If milestones are distinct deliverables (separate scope, customer values each separately), recognize revenue at each milestone signoff: 30 percent in month 2, 35 percent in month 4, 35 percent in month 6. If the work is one continuous engagement and milestones are just billing arrangements, use percent-completion (typically time-based or input-based): roughly 17 percent per month, totaling 100 percent at month 6. The choice depends on the contract structure and how value transfers to the customer.

Common SMB mistakes.

Mistake 1: recognizing the full annual subscription on billing day. Wrong, because the service is delivered over 12 months. Defer and recognize monthly. Mistake 2: recognizing project revenue at signing, before any work is done. Wrong, because no obligation has been satisfied. Defer until milestones or use percent-completion. Mistake 3: not recognizing variable consideration (discounts, rebates) at the right time. Discounts that depend on volume should be estimated and reduced from revenue as you book.

Mistake 4: bundling multi-element sales without allocation. If you sell a product plus installation plus 1-year warranty for one bundled price, you must allocate the price across the three obligations and recognize each on its own timing. Most SMBs book the whole thing on shipment day, which is wrong under both ASC 606 and IFRS 15.

When to care, when to relax.

Care if: you have annual subscriptions, milestone projects, multi-element bundles, large prepayments, or any plan to fundraise / sell within 24 months. The rules will catch up with you in due diligence and the cost of cleanup is high. Relax if: you are pure cash-on-delivery retail, single-deliverable transactions, payment-on-completion services. The rules technically apply but the practical effect is minimal.

A safe middle ground for SMBs that are growing into complexity: implement deferred revenue accounting on a quarterly basis at minimum. You catch the timing differences within 90 days, your management numbers stay close to right, and you are well-positioned when audit or due diligence comes.

How Nonari handles deferred revenue.

Recurring revenue contracts are set up with a duration and a recognition schedule. Cash receipts book to deferred revenue. Each month the recognition schedule moves the appropriate portion to recognized revenue. Reports show recognized revenue (P&L) and deferred revenue balance (balance sheet) cleanly.

For project contracts with milestones, milestones are set up against the contract. Milestone signoff triggers a revenue recognition entry. Both fixed-price and time-and-materials contracts are supported. The audit log shows every recognition decision so a reviewer can trace any revenue number back to the underlying contract and milestone.

Frequently asked

Common questions.

Does a small SMB really need to follow ASC 606 / IFRS 15?

If you file US GAAP financials, ASC 606 applies. If you file under IFRS (most of the world outside the US), IFRS 15 applies — the standards are substantially the same. For private companies below certain thresholds, simplified rules may apply, but the principles are the same. If you plan to raise external capital, get audited, or sell, full compliance becomes mandatory. Better to start clean.

How does this affect cash flow reporting?

It does not. Cash flow tracks cash regardless of revenue recognition. P&L tracks revenue when earned. The two will diverge in months where cash arrives before or after revenue is recognized — that divergence is exactly what deferred revenue accounting captures and what makes both reports meaningful.

What if my customer disputes a milestone after I have recognized revenue?

If the dispute is genuine, reverse the recognition (debit revenue, credit deferred revenue or refund liability) until resolved. Once resolved, recognize again at the agreed amount. The audit log preserves the history. Hiding disputes that later turn into refunds creates restatement risk.

How long can revenue be deferred?

As long as the obligation is unsatisfied. A 5-year subscription has 5 years of deferred revenue at signing, recognized over 60 months. There is no time limit on deferral itself; the limit is when the obligation is genuinely satisfied. Long-tail deferred balances are normal for subscription businesses.

Try nonari

Put your books on autopilot.

Free to start. No credit card. Bring your books, kick the tires, export everything if you decide to leave.