Contents
In short

Order to cash (O2C) is the process that runs from the moment a customer places an order to the moment its payment is received and recorded. It covers order capture, credit checks, provisioning, invoicing, collections, cash application and reporting. Its headline metric is days sales outstanding (DSO).

Order to cash (O2C) is the business process that runs from the moment a customer places an order to the moment its payment is received, applied and recorded. It covers order capture, credit checks, provisioning, invoicing, accounts receivable, collections, cash application and reporting. Its headline metric is days sales outstanding (DSO), the average days from invoice to cash.

Most order-to-cash guides are written for companies that ship boxes. In B2B SaaS there is no warehouse, but the cycle still breaks, usually in the data. The signed amount in the CRM, the amount on the invoice and the revenue the board sees are three different numbers, and the order-to-cash process is where they drift apart.

This guide covers the steps and who owns each, the KPIs with formulas you can paste into a spreadsheet, a worked example, and the places O2C fails in a subscription business. It also shows how O2C fits inside quote to cash and lead to cash.

What are the steps in the order-to-cash process?

For a B2B SaaS company, order to cash has eight steps, from a signed order form to a reconciled report. Each step needs one owner and one system of record. The trouble starts where a step has two of either.
#StepWhat happensTypical ownerSystem of recordSaaS trap
1Order captureThe signed order form becomes a closed-won deal with amount, term, start date and billing contactSales and sales opsCRMSeveral amount fields, no agreed one
2Credit and terms checkFinance confirms the customer can pay and that the payment terms are standardFinance or ARERP or billing systemNon-standard terms approved in a side email
3Order entryThe deal becomes a subscription, with plan, price, billing frequency and datesBilling operationsBilling systemRekeyed by hand from a PDF
4ProvisioningThe customer gets access: accounts, licenses, seats or usage metersOperations or customer successProduct admin toolsBilling waits on a go-live date nobody records
5InvoicingThe invoice goes out on the contract schedule, with any PO number the customer needsBilling operationsBilling system or ERPMissing PO number, wrong contact, wrong entity
6CollectionsAR tracks open invoices, sends reminders and works overdue accountsAR or collectionsERP or AR toolNobody owns the account between renewal dates
7Cash applicationEach payment is matched to the invoice it paysAR or accountingERP and bank feedPartial and lump payments left unapplied
8Reporting and revenue recognitionRevenue is recognized as service is delivered, and bookings, billings, revenue and cash are reconciledController and FP&AERP and reporting layerBoard numbers that do not tie back to the CRM

1. Order capture

The order exists when the customer signs, and in SaaS it lives first in the CRM as a closed-won deal. Everything downstream copies this record, so its fields have to be right: the amount, the term, the start date, the billing frequency, the payment terms and the billing contact. If the deal desk approved anything unusual, the approval belongs on the record, not in a thread.

2. Credit and terms check

Finance confirms the customer can pay and that the terms match policy. For a small monthly plan on a card this is close to automatic. For an enterprise contract on invoice it means checking the legal entity, the credit risk and any term outside the standard, such as net 60 or quarterly billing.

3. Order entry in billing

The closed-won deal becomes a subscription in the billing system. This is the handoff where most SaaS O2C errors are born, because it often still happens by hand. A ramp deal, a co-terminated add-on or a custom start date is easy to enter wrong and hard to spot later.

4. Provisioning

The customer gets access to what they bought. In software this replaces picking, packing and shipping. If the contract ties billing to go-live, the go-live date has to be captured somewhere billing can see it, or invoices wait on a date nobody wrote down.

5. Invoicing

Billing sends the invoice on the schedule in the contract. Annual prepay sends one invoice up front. Monthly or quarterly billing spreads the same contract across several. Usage contracts add an invoice line for metered consumption, which needs clean usage data before it can go out.

6. Collections and accounts receivable

AR tracks every open invoice and works the ones that are late. Good collections is mostly prevention: the right contact, the PO number on the invoice, and a reminder before the due date rather than after it.

7. Cash application

Each payment is matched to the invoice it pays. A customer that pays three invoices with one wire, or short-pays one line, leaves cash that is in the bank but not applied. Until it is applied, the receivable still looks open and DSO looks worse than it is.

8. Reporting and revenue recognition

Finance recognizes revenue as the service is delivered and reconciles the four numbers the cycle produces. Under revenue recognition rules, a 12-month contract billed up front is booked and billed on day one, recognized over 12 months, and collected when the customer pays. The O2C report should show all four and explain the gaps between them.
Put this to work on your numbers
Run your own numbers with the free Pipeline Velocity Calculator, then see how ORM builds it into a custom model.

Order to cash vs quote to cash vs lead to cash

Order to cash is the narrowest of the three revenue cycles: it starts at the signed order. Quote to cash adds the quoting, approval and contracting work before the order. Lead to cash adds everything from the first marketing touch. Procure to pay is the buy-side mirror of O2C.
ProcessStarts atEnds atAdds on top of O2CMain metric
Order to cash (O2C)Signed orderCash applied and reported(the base cycle)Days sales outstanding
Quote to cash (QTC)Quote configuredCash appliedPricing, CPQ, approvals, contract, signatureQuote-to-close time
Lead to cash (L2C)First marketing touchRevenue recognized and cash collectedLead capture, qualification, the sales cyclePipeline conversion and cycle time
Procure to pay (P2P)Purchase requestSupplier paidNothing: it is the buy sideDays payable outstanding
The overlap matters for ownership. In most SaaS companies, sales owns quote to cash up to signature, and finance owns order to cash from there. The signed order is the handoff, which is why step 1 decides how the rest of the cycle goes.

Order-to-cash KPIs and formulas

The core O2C metric is days sales outstanding: ending accounts receivable divided by credit sales, times the days in the period. Track it with best possible DSO and the collection effectiveness index, because DSO alone mixes slow customers with plain timing.
KPIFormulaExcel or Google SheetsWhat it tells you
Days sales outstanding (DSO)Ending AR / credit sales (or billings) in the period x days in the period`=B2/B3B4`Average days to turn an invoice into cash
Best possible DSOCurrent (not yet due) AR / credit sales x days`=B5/B3B4`The DSO your payment terms alone would produce
Average days delinquentDSO minus best possible DSO`=B6-B7`The days lost to late payment, not to terms
Collection effectiveness index (CEI)(Beginning AR + credit sales - ending AR) / (beginning AR + credit sales - ending current AR) x 100`=(B1+B3-B2)/(B1+B3-B5)`Share of collectible dollars actually collected
AR over 90 daysAR more than 90 days past due / total AR`=B8/B2`How much of the balance is aging into risk
Bad debt ratioWrite-offs / credit sales`=B9/B3`Revenue you will never collect
O2C cycle timeDays from signed order to cash applied, median across orders`=MEDIAN(D2:D500)`How long the whole cycle takes, end to end
Billing lagDays from closed-won to first invoice`=MEDIAN(E2:E500)`Whether steps 1 to 5 are slow
Cell references assume B1 beginning AR, B2 ending AR, B3 credit sales or billings, B4 days in the period, B5 ending current AR, B6 DSO, B7 best possible DSO, B8 AR over 90 days and B9 write-offs. Format the CEI and ratio cells as percentages.

Use billings, not revenue, in a SaaS DSO

In a subscription business, divide receivables by billings, not by recognized revenue. The textbook formula uses credit sales, which for a product company is close to revenue. In SaaS, an annual contract is billed up front and recognized over 12 months, so receivables come from billings while revenue trickles in. Dividing billings-driven receivables by revenue makes DSO look far worse than it is. Write down which denominator you use, so the number means the same thing every quarter. For more on the gap between the two, see billings vs revenue and the billings to bookings ratio.

Worked example (illustrative)

A SaaS company closes a 90-day quarter with these numbers:

InputAmount
Beginning AR$1,000,000
Billings in the quarter$2,700,000 (month 1: $600,000, month 2: $700,000, month 3: $1,400,000)
Ending AR$1,200,000
Ending current AR (not yet due)$900,000
Revenue recognized in the quarter$1,500,000
- Cash collected: $1,000,000 + $2,700,000 - $1,200,000 = $2,500,000. - DSO: $1,200,000 / $2,700,000 x 90 = 40.0 days. - Best possible DSO: $900,000 / $2,700,000 x 90 = 30.0 days. Terms alone account for 30 days. - Average days delinquent: 40.0 - 30.0 = 10.0 days lost to late payers. - CEI: ($1,000,000 + $2,700,000 - $1,200,000) / ($1,000,000 + $2,700,000 - $900,000) = $2,500,000 / $2,800,000 = 89.3%. - The wrong denominator: $1,200,000 / $1,500,000 x 90 = 72.0 days. Same receivables, same customers, and the number nearly doubles because revenue lags billings.

In plain English: customers pay about 10 days late on average, the team collects about 89 cents of every collectible dollar, and anyone who reports 72 days is measuring the accounting, not the customers.

Why quarter-end bunching distorts DSO

When most invoices go out in the last month of the quarter, quarter-end DSO overstates how slowly customers pay. That is the normal shape of a SaaS quarter. Across ORM customers, the third month is always the largest month of the quarter and the first month is always the smallest, and a striking share of business closes in the final week.

In the example, $1,400,000 of the $2,700,000 was billed in month 3. Most of the ending AR is invoices that are not even due yet. A countback method measures DSO against the most recent billings instead: the $1,200,000 of AR equals 1,200,000 / 1,400,000 of month 3's billings, or about 26 days of a 30-day month. Track DSO monthly, or use the countback, and the seasonal spike stops looking like a collections problem.

Benchmarks with sources

Published DSO targets for SaaS are mostly vendor rules of thumb with no data behind them. These are the figures we could trace to a survey:

- Half of US B2B invoices were overdue, and bad debts averaged 8% of B2B credit sales, in Atradius's 2024 US payment practices survey. - An 18-day DSO gap separates top and median performers among the 1,000 largest US public nonfinancial companies, and DSO worsened for a second straight year, per The Hackett Group's 2025 Working Capital Survey. Hackett values the excess tied up in receivables at $600 billion.

Your own best possible DSO is a better target than any outside number. If your terms are net 30 and your best possible DSO is 30, every day above that is a process to fix.

Where order to cash breaks in B2B SaaS

In SaaS, order to cash rarely breaks at the warehouse. It breaks in the data handed from sales to finance. These are the failure points we see most often.

The amount field nobody agrees on

The O2C cycle copies one number from the CRM into billing. Many companies cannot say which number that is. Pete Furseth, ORM's COO, described one account with nine different amount fields covering TCV, ACV, ARR, renewal amount and older fields that stopped being filled in after 2021. "It took several weeks because there was no single person with the institutional knowledge to tell us how to interpret the fields." In one implementation, simply defining which field held the closed-won booking amount took five to seven iterations and custom logic.

If sales, billing and the board deck each read a different field, the cycle produces three versions of the same deal. Pick one amount field per purpose (bookings, billings, ARR), document it, and lock the others.

Orders that arrive late, or all at once

Finance can only set up billing for a deal it knows about. At one ORM customer, 20% of opportunities were created and closed won on the same day, because reps kept deals in a desk drawer until they were won. Billing got no warning, and the order landed in the busiest week of the quarter. Combined with quarter-end seasonality, that piles the hardest order-entry work into the days with the least time to check it.

Terms that never reach billing

Quarterly billing granted in a negotiation, net 60 instead of net 30, a ramp in year two, a PO the customer's AP team requires: each is agreed in the sales cycle and each has to survive into the invoice. When it lives only in the PDF, the first invoice goes out wrong and the customer disputes it. Make these fields required on the closed-won record, and route anything non-standard through the deal desk before signature.

Discounts and pull-forwards at quarter end

A deal pulled into this quarter usually closes at a discount, so the booking is smaller than the pipeline said. It also borrows from next quarter's starting pipeline. Neither shows up as an O2C error, but both show up in billings and cash later. See pull-forward deals for the full cost.

Renewals run as an invoice run

Renewals are the part of O2C that repeats every year, and the part companies most often hand to finance alone. Pete's view is blunt: "If you send them an invoice 30 days before their renewal and never talk to them, you are putting that renewal at more risk." He has seen that when the renewals team is a finance function that just sends out invoices, gross revenue retention tends to be lower than at companies with a dedicated customer success team. The invoice is the last step of a renewal, not the renewal itself.

Usage lines with no clean meter

Usage and overage invoices depend on consumption data that has to be complete before the invoice goes out. Late or disputed meter data delays the invoice, and the delay flows straight into DSO. If usage is a large share of revenue, forecast it from its drivers, as in how to build a usage-based revenue forecast, rather than copying last month.

How O2C data feeds revenue reporting

Order to cash produces four numbers on four dates: a booking at signature, a billing at invoice, revenue as service is delivered, and cash when the customer pays. Revenue reporting is only as good as the reconciliation between them. The bookings vs revenue vs billings guide walks through a single contract, and billings vs cash collections covers the collections curve.

Three checks keep the numbers honest:

1. Bookings tie to finance. When ORM implements, part of the two-week validation is making sure that when you add up bookings for a year, the total matches what the company reports internally. If your CRM bookings and your finance bookings disagree, fix that before trusting any O2C metric built on them. 2. ARR reconciles month to month. Beginning ARR must equal the prior month's ending ARR, with every change explained as new, expansion, contraction or churn. Pete calls this reconciling waterfall "magic", and it is the fastest way to find an order that was booked but never billed. How to build an ARR waterfall shows the layout. 3. The cash forecast starts from billings. Apply your real payment curve to the billing schedule, by segment, and the cash flow forecast stops assuming every invoice is paid on its due date.

None of this requires replacing systems. As Pete put it about ORM deployments, "Salesforce stays the same, Marketo stays the same, Netsuite stays the same." The work is agreeing on definitions and reconciling across the systems you already run.

How to improve the order-to-cash process

Fix the handoff from sales to finance first, then measure the cycle end to end. Most O2C gains come from the first three steps, not from chasing late payers harder.

1. Define one amount per purpose. Bookings, billings and ARR each get one field and one written definition. 2. Make billing fields required at closed-won. Billing contact, legal entity, PO requirement, payment terms, billing frequency and start date. 3. Route non-standard terms through the deal desk before signature, so finance sees them before the customer does. 4. Measure billing lag from closed-won to first invoice. It is the clearest single read on steps 1 to 5. 5. Track DSO, best possible DSO and CEI together, monthly, with billings as the SaaS denominator. 6. Give renewals an owner who talks to the customer, months before the invoice, not 30 days before it. 7. Reconcile bookings, billings, revenue and cash every month, and explain each gap in one line.

ORM's take

Order to cash is usually treated as a finance process. In SaaS it is just as much a data process, and it starts in the CRM. The companies with the cleanest O2C cycles are not the ones with the most automation. They are the ones where sales, billing and the board deck read the same amount field and reconcile to the same total.

That matters for forecasting too. A forecast of bookings is only useful if bookings mean the same thing in the CRM and in finance. ORM connects to the systems you already run and checks that reconciliation during implementation, so the forecast and the finance numbers start from the same place.

Frequently Asked Questions

What does order to cash mean in accounting?

In accounting, order to cash is the chain of entries that turns a customer order into cash on the balance sheet. The invoice creates accounts receivable, the payment clears it, and cash application matches each payment to the right invoice. Revenue is recognized separately, as the service is delivered, which is why billings, revenue and cash rarely match in a SaaS month.

What is the difference between order to cash and procure to pay?

They are mirror images. Order to cash is the sell side: a customer orders from you, you invoice, and you collect. Procure to pay (P2P) is the buy side: you order from a supplier, receive the goods or service, approve the invoice, and pay it. O2C drives accounts receivable and days sales outstanding. P2P drives accounts payable and days payable outstanding.

What are O2C, R2R and P2P?

They are the three core finance cycles. O2C (order to cash) covers selling and collecting. P2P (procure to pay) covers buying and paying suppliers. R2R (record to report) takes the entries both cycles create, closes the books each month, and produces the financial statements. A clean O2C cycle shortens the R2R close, because fewer receivables need investigating at month end.

How do you explain the O2C cycle in an interview?

Give it in one breath, then add one metric. A customer places an order, finance checks credit, the team delivers or provisions the service, billing sends the invoice, AR tracks and collects it, and cash application matches the payment. The health check is days sales outstanding: accounts receivable divided by credit sales, times the days in the period.

How many steps are in the order-to-cash process?

Most guides list six to nine, and the count depends on how finely you split the work. Eight is a practical split for B2B SaaS: order capture, credit and terms check, order entry in billing, provisioning, invoicing, collections, cash application, and reporting with revenue recognition. The number matters less than naming one owner and one system for each step.

Is quote to cash the same as order to cash?

They overlap, but quote to cash starts earlier, when a rep configures and prices a quote, and it includes approvals, contracting and signature before the order exists. Order to cash starts at the signed order. Lead to cash is wider still and begins at the first marketing touch. Each one contains the next, so O2C is the back half of both.

ORM Technologies
Pete has built custom revenue forecast models for B2B SaaS companies for over a decade.

See how ORM turns these insights into action

ORM builds custom revenue forecast models for B2B SaaS companies. Not dashboards. Prescriptive analytics that tell you what to do next.

Schedule a Demo