
Remaining performance obligations (RPO) are the contracted revenue a company has not yet recognized: the transaction price allocated to performance obligations that are unsatisfied or partially unsatisfied at period end, limited to the period in which the contract is enforceable.
RPO answers one question: how much revenue is already locked in by signed contracts, whether or not you have billed it or collected the cash? After this guide you will be able to calculate RPO and current RPO (cRPO) from a contract, separate each from ARR, deferred revenue, billings and cash, and decide which number belongs in a board deck.
Key takeaways
- RPO equals deferred revenue plus contracted-but-unbilled revenue. It is broader than the balance sheet liability and narrower than total pipeline.
- Only noncancellable, enforceable commitments count. A termination-for-convenience clause can shrink RPO sharply.
- cRPO is the slice you expect to recognize in the next twelve months. It is the closest RPO figure to a forward revenue view.
- ARR is an annualized run-rate. RPO is a contractual balance. They answer different questions and should never be swapped.
RPO measures contracted revenue, not run-rate or cash
RPO is a GAAP disclosure, not a balance sheet line. OnlyCFO's explainer makes the same point: it is defined by accounting rules, so it is applied consistently across companies, and public companies report how much of it will be recognized over the next twelve months.
The rule sits in ASC 606-10-50-13. According to PwC's ASC 606 disclosure guide, a company discloses the aggregate transaction price allocated to unsatisfied or partially unsatisfied performance obligations, and explains when it expects to recognize that amount, using time bands or qualitative description. Interim filings need it too.
Fastly's SEC-filed Q2 2025 earnings release shows the composition in plain terms. Its footnote defines RPO as future committed revenue within current customer contracts, plus deferred revenue from invoiced consideration where the obligation is not yet satisfied.
That gives you the core identity:
RPO = deferred revenue + contracted revenue not yet billed
"On day one of a signed contract, RPO equals the total contract value. It then declines as revenue is recognized, and rises again when you sign new contracts, expand existing ones or renew."
— Aleksandar Stojanovic, CEO & Founder at FiscallionOnlyCFO also notes that private companies rarely calculate RPO because it is not a required disclosure for them. For a private SaaS company, RPO is a management metric. Borrowing the ASC 606 rules gives you a definition that investors and auditors will recognize.
The inclusion test: what counts and what does not
The test is enforceability. A contract must be signed and enforceable, with identifiable rights and obligations, clear payment terms, commercial substance and probable collectibility. Only amounts not subject to cancellation count, per OnlyCFO. PwC adds that the disclosure covers only the period in which enforceable rights and obligations exist, which is the noncancellable term.
| Item | In RPO? | Basis |
|---|---|---|
| Noncancellable committed term of a signed contract | Included | PwC: enforceable period only |
| Term beyond a termination-for-convenience notice period | Excluded. Only the notice-period amount counts | PwC Example FSP 33-9 |
| Optional renewals | Excluded, even if priced as a material right | PwC Example FSP 33-8 |
| Committed minimum units | Included | PwC Question FSP 33-9 |
| Optional units above the committed minimum | Excluded | PwC Question FSP 33-9 |
| Contracts with a duration of one year or less | May be omitted under a practical expedient, with the election disclosed | PwC |
| Certain variable consideration, such as sales-based or usage-based royalties and right-to-invoice amounts | May be excluded, with the exclusion disclosed | PwC |
| LOIs, verbal commitments, active pilots | Not in RPO. No enforceable contract exists | OnlyCFO; report as pipeline |
PwC's termination example is the one founders underestimate. A $240,000 two-year SaaS contract that the customer can terminate for convenience on one month's notice, with no penalty, produces only $10,000 of RPO ($240,000 divided by 24 months). Expected renewal behavior does not change that.
The practical rule: the contract language decides RPO, not the sales forecast.
"Your CRM total contract value (TCV) can be right and your RPO still much lower."
— Aleksandar Stojanovic, CEO & Founder at FiscallionHow to calculate RPO and cRPO from one contract
The worked example below is hypothetical and uses round numbers so the mechanics are visible.
Contract terms: a 36-month, noncancellable subscription signed on January 1 at $10,000 per month, for a TCV of $360,000. You invoice $120,000 annually in advance each January 1, and the customer pays on invoice. Revenue is recognized evenly at $10,000 per month.
Measure it at June 30, after six months:
- Recognized revenue to date: 6 months x $10,000 = $60,000.
- Billed to date: $120,000 (year one invoice only).
- Deferred revenue: billed minus recognized = $60,000.
- Contracted but unbilled: year two and year three invoices = $240,000.
- RPO: $60,000 + $240,000 = $300,000. Check: TCV $360,000 minus recognized $60,000 = $300,000.
- cRPO: recognition over the next twelve months (July through the following June) = 12 x $10,000 = $120,000.
- Non-current RPO: $300,000 minus $120,000 = $180,000.
Now apply PwC's termination logic to the same contract. If the customer could walk away on 30 days' notice with no penalty, enforceable revenue is one month, so RPO is $10,000. The TCV, the billing schedule and the cash receipt are unchanged. Only the legal commitment differs.
RPO vs ARR vs deferred revenue, billings and cash
Each of these metrics reads the same contract through a different lens. The table uses the example above at June 30.
| Metric | What it counts | Includes unbilled contracted revenue? | Example value (illustrative) |
|---|---|---|---|
| Recognized revenue | Revenue earned under the recognition schedule | Not applicable | $60,000 year to date |
| Billings | Amounts invoiced in the period | No | $120,000 year to date |
| Cash collected | Payments received | No | $120,000 year to date |
| Deferred revenue | Billed or collected, not yet earned | No | $60,000 |
| ARR | Annualized run-rate of recurring subscription value | Not a contractual balance | $120,000 |
| RPO | Deferred revenue plus contracted unbilled | Yes | $300,000 |
| cRPO | RPO expected to be recognized in the next twelve months | Yes | $120,000 |
Three distinctions matter most.
- RPO vs deferred revenue: deferred revenue is a liability for amounts already invoiced. RPO adds the signed-but-not-invoiced portion. The deferred revenue guide covers the liability side in detail.
- RPO vs ARR: ARR annualizes today's recurring run-rate. RPO is the remaining contractual balance, so term length changes it and does not change ARR. Two customers at identical ARR can carry very different RPO.
- RPO vs cash: RPO can rise while cash does not move, because annual or multi-year billing schedules defer the invoices.
How to read a change in RPO
An RPO figure on its own tells you little. The movement and its composition tell you what happened.
Fastly reported Q2 2025 RPO of $315 million, up 41% from $223 million in Q2 2024, and its CEO described record RPO as evidence that customer commitments were increasing. That is the company's as-reported claim, and it is a sensible read of a rising balance. The questions behind it are what a finance leader should ask of any RPO increase.
- Did ARR move with it? If RPO grows and ARR is flat, you may have extended terms rather than added recurring value.
- Did deferred revenue move with it? OnlyCFO's Oracle example describes a large RPO increase driven by unbilled multi-year commitments while deferred revenue barely moved. Growth that sits in the unbilled bucket will not show up in cash for a while.
- How much is cRPO? A long-dated commitment is real, but it does not support next year's plan the way cRPO does.
- How many contracts carry termination rights? Every termination-for-convenience clause shortens the enforceable term and lowers RPO.
A rising RPO balance is a claim about contracts, so verify it against the contracts before presenting it as growth.
What to do next: build RPO into the monthly close
You can maintain RPO without a new system if your contract data and ledger already agree. Do these in order.
- Add contract fields to your schedule: start date, noncancellable term, termination-for-convenience flag, billing dates, recognition schedule, committed minimums and optional components.
- Run a monthly rollforward: opening RPO, plus new and expanded contracts, minus recognized revenue, plus or minus contract modifications, equals closing RPO. Tie the closing balance to the deferred revenue balance and the contracted-unbilled schedule.
- Report the split: show deferred revenue and unbilled contracted revenue as separate lines inside RPO.
- Show cRPO beside ARR: label both with their definitions and time basis.
- Keep pipeline separate: a countersigned contract can enter committed figures. Letters of intent, verbal commitments and pilots stay in pipeline.
- State your exclusions: if you omit short contracts or usage above a minimum, say so on the page, as the disclosure rules require of companies that elect those exemptions.
This is the same discipline as a bookings-to-recognized-revenue bridge, extended to the unbilled balance. It also explains why the choice of tooling matters less than ownership of the schedule. Fiscallion's article on revenue recognition software vs outsourced accounting frames software as the calculation layer and managed accrual accounting as the operating layer.
Common mistakes and the replacement move
| Mistake | Why it misleads | Replacement move |
|---|---|---|
| Reporting TCV as RPO | Ignores cancellation rights and revenue already recognized | Start from the noncancellable term, then subtract recognized revenue |
| Treating RPO as ARR | Term length changes RPO, not run-rate | Show both, with cRPO as the forward bridge |
| Counting expected renewals | Optional renewals are excluded | Keep renewals in the forecast, outside RPO |
| Including usage above a committed minimum | Optional units are excluded | Include the minimum only, and model usage separately |
| Calling RPO a balance sheet figure | It is a disclosure, so it has no ledger account | Keep a schedule that reconciles to deferred revenue |
| Mixing LOIs and pilots into committed figures | No enforceable contract exists | Report them as pipeline |
Practical asset: the RPO contract comparison worksheet
Copy this worksheet into your own spreadsheet and fill one column per contract. It is open here in full, with no form in front of it. Use it before a board meeting or investor diligence to see which contracts support RPO and which only support the forecast.
| Field | Contract A | Contract B | Contract C |
|---|---|---|---|
| Customer and signature date | |||
| Total contract value | |||
| Noncancellable term (months) | |||
| Termination for convenience? Notice period and penalty | |||
| Committed minimum (fees or units) | |||
| Optional renewals or optional units (excluded) | |||
| Billing schedule and amounts billed to date | |||
| Revenue recognized to date | |||
| Deferred revenue (billed minus recognized) | |||
| Contracted but unbilled | |||
| RPO (deferred plus unbilled) | |||
| cRPO (next twelve months of recognition) | |||
| Annualized recurring value (ARR) |
Sum the RPO and cRPO rows across contracts and reconcile the deferred revenue row to the ledger. Any contract where TCV is far above enforceable RPO deserves a note in the board deck.
Every Fiscallion client works directly with Aleksandar Stojanovic at the CFO layer: a senior partner on every engagement, not an account-manager or junior-team handoff. Fiscallion works above the ledger. It turns reliable accounting data into forecasts, reporting cadence and board decisions, drawing on FP&A leadership experience gained through the growth of a SaaS company to €100M ARR. If your contract schedule and ledger do not tie out yet, see Fiscallion's accrual accounting for B2B SaaS service page.
FAQ
What is the difference between cRPO and RPO?
RPO is all contracted revenue not yet recognized, across the full noncancellable term. cRPO is the portion you expect to recognize in the next twelve months. In the worked example, RPO is $300,000 and cRPO is $120,000. Use cRPO for near-term planning and RPO for the full contractual picture.
What is the difference between deferred revenue and remaining performance obligations (RPO)?
Deferred revenue covers amounts you have already invoiced or collected but not yet earned. RPO includes deferred revenue and also contracted amounts you have not yet billed. Deferred revenue sits on the balance sheet. RPO is a disclosure. In the example, deferred revenue is $60,000 and RPO is $300,000.
What is the difference between RPO and ARR?
ARR is an annualized run-rate of recurring subscription value. RPO is the remaining contractual revenue balance, and it changes with contract length, billing and cancellation rights. In the example, ARR is $120,000 and RPO is $300,000. A longer contract raises RPO and leaves ARR unchanged.
What is the difference between remaining performance obligations (RPO) and backlog?
RPO has a defined rule: enforceable, noncancellable contracted amounts, with specific exclusions. Backlog has no equivalent rule in the sources used here, so it is a management term that each company defines for itself. Ask what a backlog figure includes. If it counts cancellable orders, verbal commitments or optional renewals, it can exceed RPO.
Choose the RPO definition before you choose the number
The decision for a finance leader is which contracts you are willing to defend as committed. Set that definition once, document the exclusions, and let the monthly rollforward carry it forward.
Once RPO and cRPO reconcile to the ledger, they stop being a debating point in the board meeting and become a planning input alongside ARR, billings and cash.








