Under ASC 606, you're thinking about exactly the right issue. The accounting isn't driven by when cash is received; it's driven by when each distinct performance obligation is satisfied.
For your example—a bundled contract including:
- a 3-year software license,
- implementation services, and
- 3 years of technical support,
you would generally follow Steps 2–4 of the ASC 606 five-step model.
Step 1: Identify the performance obligations
The key question is whether each promised good or service is distinct.
A promise is distinct if:
- The customer can benefit from it on its own or together with other readily available resources.
- It is separately identifiable from the other promises in the contract.
Let's evaluate each item.
| Contract Component | Often Distinct? | Considerations |
|---|
| Software license | Usually yes | Unless implementation significantly customizes or transforms the software. |
| Implementation | Depends | If it's routine configuration, it's often distinct. If it creates a highly integrated solution, it may not be. |
| Technical support | Usually yes | Ongoing support is generally a separate stand-ready service. |
For example:
Scenario A – Most SaaS/software companies
- License = distinct
- Implementation = distinct
- Support = distinct
→ Three separate performance obligations.
Scenario B – Highly customized ERP implementation
If implementation fundamentally modifies the software so that the customer cannot benefit from the license without the implementation, then:
- License + implementation may become one combined performance obligation
- Support remains separate
Step 2: Determine the transaction price
Suppose the customer pays:
$600,000 upfront
This is the total transaction price (assuming no variable consideration, financing component, rebates, etc.).
Step 3: Determine standalone selling prices (SSPs)
ASC 606 requires allocating based on relative standalone selling prices, not cost.
Suppose you normally sell:
| Item | SSP |
|---|
| Software license | $420,000 |
| Implementation | $120,000 |
| 3 years support | $180,000 |
Total SSP = $720,000
Step 4: Allocate the transaction price
Compute each component's percentage of total SSP.
| Item | SSP | % of Total |
|---|
| License | 420,000 | 58.33% |
| Implementation | 120,000 | 16.67% |
| Support | 180,000 | 25.00% |
Now allocate the $600,000 contract price.
| Item | Allocation |
|---|
| License | $350,000 |
| Implementation | $100,000 |
| Support | $150,000 |
Notice that every item shares proportionally in the contract discount.
Step 5: Recognize revenue
Each allocated amount is recognized according to when that performance obligation is satisfied.
For example:
| Performance obligation | Recognition pattern |
|---|
| License | At a point in time (if it's a right-to-use license) or over time (if it's a right-to-access license) |
| Implementation | As performed (often over time if criteria are met, otherwise upon completion) |
| Technical support | Ratably over the 3-year support period |
A simplified journal entry at contract inception might look like:
Upon receiving cash
- Dr. Cash: $600,000
- Cr. Contract liability (deferred revenue): $600,000
Then revenue is recognized over time as each obligation is satisfied.
Estimating standalone selling prices
If you don't sell components separately, ASC 606 allows reasonable estimation methods such as:
- Adjusted market assessment approach – Estimate what customers would pay in the market.
- Expected cost plus margin approach – Estimate costs and add an appropriate margin.
- Residual approach – Allowed only in limited circumstances when SSPs are highly variable or uncertain.
The chosen estimation method should be applied consistently.
A practical example
Suppose:
- 3-year license delivered immediately
- Implementation completed over 2 months
- Support provided evenly over 36 months
Allocated revenue:
- License: $350,000
- Implementation: $100,000
- Support: $150,000
Revenue pattern:
- Month 1: recognize all or part of the license amount (depending on the license type).
- Months 1–2: recognize the implementation revenue as services are performed.
- Months 1–36: recognize support revenue of approximately $4,167 per month ($150,000 ÷ 36).
Key judgment areas
The most significant judgments under ASC 606 for arrangements like yours are:
- Whether the software license and implementation are distinct or should be combined into a single performance obligation.
- Whether the license provides a right to use intellectual property (typically recognized at a point in time) or a right to access intellectual property (recognized over time).
- How to establish reliable standalone selling prices when the components are not regularly sold separately.
In practice, software companies often conclude that standard software licenses, routine implementation, and technical support are three separate performance obligations, but contracts involving significant customization or integration frequently require combining the license and implementation into a single performance obligation. The specific contract terms and the nature of the implementation work are critical to reaching the appropriate conclusion.