What is a performance obligation under ASC 606?
A performance obligation is a distinct promise to transfer a good or service to a customer. "Distinct" is the load-bearing word: it's only a separate obligation if the customer can benefit from it on its own (or with resources already available to them) and it's separable from everything else promised in the contract — otherwise it gets bundled with related items into one combined obligation.
Part of the revenue recognition guide.
| What it is | A distinct promise to transfer a good or service to a customer |
|---|---|
| Criterion 1 | Capable of being distinct: the customer can benefit from it on its own or with readily available resources |
| Criterion 2 | Distinct within the context of the contract: not so interdependent with other promises that combining them changes what's delivered |
| Both criteria required | A good or service must meet both to count as its own performance obligation |
| Reference | ASC 606-10-25-19 |
The two-part distinctness test
RevenueHub's own explainer on distinct goods and services breaks ASC 606-10-25-19's test into two parts. First, a good or service is "capable of being distinct" when the customer can benefit from it on its own or together with other readily available resources — could they use it, sell it, or otherwise get value from it independently? Second, it has to be "distinct within the context of the contract" — sometimes promised items are so interdependent that combining them produces something meaningfully different from the sum of the parts, in which case they're bundled into one performance obligation rather than treated separately.
Where 'promised' comes from in the first place
Before the distinctness test even applies, a good or service has to be "promised" — RevenueHub's guidance on identifying promised goods and services frames the test as whether the customer has a valid expectation to receive it (ASC 606-10-25-16). That's read from the customer's perspective, not just the contract's literal terms: a routine service a vendor has always thrown in, even if never written into this specific contract, can still be a promised item if the customer reasonably expects it.
Why getting this count right matters downstream
How many performance obligations a contract has directly determines how many buckets the transaction price gets allocated across in Step 4, and how many separate recognition schedules Step 5 has to track. Treating two items as one combined obligation when they should be separate (or vice versa) doesn't just change a classification — it changes the actual timing of when revenue hits the books.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
One bundled item vs. two separate performance obligations
A construction contract promises a custom-built industrial machine plus installation. The customer can't use the machine without installation, and the installation is highly customized to this specific machine — the two aren't separable in the context of this contract, so they're combined into one performance obligation, recognized together as the whole thing is completed. Contrast that with a software license plus a generic, non-customized onboarding-training service: the customer could use the license without the training, and the training isn't uniquely tied to this contract's specific configuration — those pass the distinctness test as two separate performance obligations, each recognized on its own schedule.
Frequently Asked Questions
Sources
Related
Topic
Revenue Recognition
Revenue recognition determines when — not just how much — revenue hits the books. Under ASC 606 (US GAAP) and its international counterpart IFRS 15, revenue is recorded as a company satisfies its perf…
Read moreDefinition
What is ASC 606 revenue recognition?
ASC 606 is the FASB standard for recognizing revenue when control of a good or service transfers to the customer, for the amount expected in exchange. It uses one five-step model: identify the contract, identify performance obligations, determine the transaction price, allocate that price, and recognize revenue as each obligation is satisfied.
Read moreHow-to
How do you calculate a contract's transaction price under ASC 606?
Transaction price is the consideration a company expects in exchange for goods or services. Start with the stated contract price, add variable consideration using the expected-value or most-likely-amount method, constrained to amounts unlikely to reverse, adjust for any significant financing component, then subtract noncash consideration and amounts payable to the customer.
Read moreHow-to
How do I allocate transaction price across multiple performance obligations?
Allocate the total transaction price to each performance obligation in proportion to its standalone selling price (SSP) — what it would sell for on its own. When SSP isn't directly observable, ASC 606 permits estimating it via adjusted market assessment, expected cost plus margin, or a residual approach that backs out the observable prices from the total.
Read more