How-to Playbook

How to recognize revenue under ASC 606

Bundled contracts, mid-term upgrades, and multi-year terms all break a spreadsheet revrec model. Here is the allocation method that holds up at audit.

Talk to usFree to start - no card required.

Why ASC 606 is hard in practice

ASC 606 is conceptually simple - recognize revenue as you satisfy your promises to the customer - but operationally difficult the moment a contract bundles more than one promise, or changes mid-term. Allocating one price across several performance obligations, then re-running that allocation after an amendment, is where spreadsheet models break.

Where teams get it wrong

  • Booking the full contract value as one obligation instead of splitting it into distinct promises.
  • Applying a discount to only one line item instead of spreading it proportionally across all obligations.
  • Overwriting the original schedule on every amendment, losing the record of what was already recognized.
  • Recognizing point-in-time services (like onboarding) on the same over-time schedule as the subscription.
  • Never reconciling deferred revenue on the balance sheet back to the sum of open schedules.

The ASC 606 allocation framework

  1. 1Identify the contract and its enforceable term.
  2. 2Identify each distinct performance obligation within the bundle.
  3. 3Determine the total transaction price, net of discounts and variable consideration.
  4. 4Determine standalone selling price (SSP) for each obligation.
  5. 5Allocate the transaction price across obligations proportional to SSP.
  6. 6Recognize each obligation on its own pattern - over time or at a point in time - and version the schedule on every amendment.

How Fintra handles ASC 606

StepWhat Fintra does
Identify obligationsAI drafts the split of a bundled contract into distinct performance obligations for review.
Determine SSPSSP allocation runs across performance obligations using documented pricing.
Allocate priceThe transaction price is allocated proportionally to SSP automatically, discounts included.
RecognizeStraight-line with mid-month proration, point-in-time, and milestone-based schedules all post monthly journal entries (Dr Deferred Revenue / Cr Revenue).
Handle amendmentsContract modifications post a cumulative catch-up and version the schedule instead of overwriting it.
AuditA multi-module ASC 606 auditor score and full audit log tie recognized revenue back to contract terms.
Framework step to Fintra module

License-gated add-on modules extend this to NetSuite-ARM-style workflows for teams that need it; the core model - AI drafts the allocation and schedule, finance approves - stays the same.

Your ASC 606 checklist

Get these in place before your next audit

  • List every bundled offering and its distinct performance obligations.
  • Document standalone selling price for each obligation.
  • Write down your allocation method as a one-page policy.
  • Confirm discounts spread proportionally across all obligations, not one line.
  • Generate a recognition schedule for every open contract, including legacy ones.
  • Reconcile deferred revenue to the general ledger monthly.
  • Version every schedule on amendment rather than overwriting it.
  • Keep a click-through trail from recognized revenue back to contract terms.

Frequently asked questions

What is standalone selling price under ASC 606?

It is the price at which you would sell a performance obligation separately, to a similar customer, in similar circumstances. When an obligation is not sold separately, you estimate it using approaches like adjusted market assessment or expected cost plus margin. SSP is the basis for allocating a bundled contract price across obligations.

How do you handle a contract amendment under ASC 606?

Depending on the change, you either treat it as a separate contract (if it adds distinct goods or services at standalone price) or as a modification of the existing contract, which typically requires a cumulative catch-up adjustment to revenue already recognized. The key control is versioning the schedule so the original recognition history is preserved, not overwritten.

Do point-in-time and over-time obligations get recognized differently?

Yes. A subscription license is typically recognized over time as the service is delivered, often straight-line with proration for partial periods. A one-time service like onboarding or a professional-services milestone is usually recognized at a point in time or on milestone completion. Bundling both onto one schedule is a common and material error.

How does automated ASC 606 revrec perform in an audit?

Better than spreadsheets in most cases, because every recognized dollar traces to a contract, an obligation, an SSP allocation, and an approved schedule version with a timestamp. Auditors sample and trace transactions; when the trail is a click-through instead of a reconstructed spreadsheet, fieldwork moves faster and findings are fewer.

Stay in the loop

One practical finance briefing a week - new guides, checklists, and benchmarks.

 

Let AI draft your revenue schedules

Fintra allocates transaction price by SSP and posts auditable schedules - you approve. Free to start, no card required.

Talk to us