DSO and Cash Forecasting: Explain the Number, Then Forecast It

Calculate DSO consistently, find out why it moved, estimate the working capital at stake, and build a weekly cash forecast you can check against the bank.

DSO rose from 40 to 50 days and the CFO wants to know why. Before anyone changes the reminder schedule, check the denominator. If both months had 30 days and ending receivables stayed at $1,200,000, a drop in credit sales from $900,000 to $720,000 produces the whole ten-day increase. No customer paid a day later.

Days sales outstanding tells you something moved, not what. This guide covers how to calculate it consistently, how to work out what actually moved it, how to put a value on a sustained change, and how to turn receivables into a weekly cash forecast you can check against the bank.

Calculate it: the DSO calculator splits DSO into retainage, normal payment terms, and late payment.

Calculate DSO the same way every month

A period-end DSO estimate is:

ending trade receivables ÷ net credit sales for the period × days in the period

Oracle’s collections documentation gives examples of different DSO measures and explains why selling terms matter when you interpret them. Oracle’s days sales outstanding documentation. Whichever variant finance uses (period-end, average balance, countback), label it and compare like with like.

Keep these inputs fixed from month to month:

  • The same entities and customer population
  • The same currency and translation approach
  • Consistent treatment of credits, unapplied cash, and on-account balances
  • Credit sales only; leave out cash and card sales that never become receivables

In a spreadsheet, put ending trade receivables in B2, net credit sales in B3, and calendar days in B4, then use =IF(B3>0,B2/B3*B4,""). A period without positive net credit sales returns a blank instead of a misleading number. Look at the overdue balance directly for those periods.

The opening example, worked (illustrative)

Month 1Month 2
Ending trade receivables$1,200,000$1,200,000
Net credit sales$900,000$720,000
Days3030
DSO$1,200,000 ÷ $900,000 × 30 = 40$1,200,000 ÷ $720,000 × 30 = 50

The balance did not change. Sales did. Compare the two months’ receivables by due date. If the overdue portion stayed flat, the rise is a sales story. If overdue balances grew, open the invoices that moved into older buckets.

Find what moved the number

What changedWhat to inspectWhat to measure next
Sales volume or mixCredit sales by customer and monthOverdue balance, which ignores the denominator
TermsNew customers or renewals on longer termsPayment against due date for comparable accepted invoices
More invoices overdue on similar termsPayment promises and recent customer repliesOn-time payment rate for comparable accepted invoices
More invoices sent backPortal or customer rejectionsTime from rejection to acceptance
More receipts unappliedBank receipts, remittance, application statusTime from receipt to application
More balances disputedClaim amounts, evidence, ownersTime from claim to decision

Several of those rows involve no change in how customers pay. Depending on where your ledger holds it, unapplied cash can leave trade receivables overstated until someone applies it, and a jump in sales just before close can push DSO either way. Reconcile the aging snapshot first; the collections aging review covers how.

Put a value on a sustained change

A sustained drop in DSO can release working capital if credit sales are reasonably stable. Estimate it as the change in days multiplied by average daily credit sales.

Illustrative example. Average daily net credit sales are $20,000. Customers consistently pay five days sooner. That implies about $20,000 × 5 = $100,000 less tied up in receivables.

That $100,000 arrives once, as the payment pattern shifts. It does not recur every month. If treasury can keep $100,000 less drawn on a credit line for a full year at an illustrative 8% annual rate, simple interest avoided is $100,000 × 8% = $8,000. Use the actual borrowing balance, rate, and days outstanding for the real figure. In a business case, the $100,000 and the $8,000 go in different rows; the AR pricing and ROI guide shows how.

Place receivables in the cash conversion cycle

Working capital is current assets minus current liabilities. The cash conversion cycle describes timing: days inventory outstanding plus days sales outstanding, minus days payables outstanding. OpenStax on working capital · CFA Institute on the cash conversion cycle.

Illustrative: 45 inventory days + 38 receivable days − 30 payable days = a 53-day cycle. Use it to compare periods on the same basis, and check inventory separately before attributing a change to AR or AP.

The metric describes timing. For decisions this week, trace expected receipts and disbursements back to individual invoices, approved bills, and bank activity.

What you findWhat to change
Invoice was ready Friday but sent the following weekFix the billing handoff; check whether the customer’s due date moved
Customer paid on time but the receipt is unappliedMatch the remittance and update aging; use the bank date in the forecast
Supplier bills routinely paid in the first run after approvalSchedule to agreed due dates and any discount you have chosen to take
Supplier payment on hold over a delivery disputeKeep the obligation visible with an owner and review date

Illustrative AP example. An approved $40,000 supplier bill is due the week after next, but the payment run picks it up this week. Move it to the due date and the projected ending balances for this week and next are $40,000 higher; the week the bill falls due ends where it would have anyway. Nothing is saved; the cash just stays with you longer. The same logic applies to receivables: sending an invoice earlier helps only if the customer pays earlier. See vendor payment runs and early payment discounts for the AP side.

Build the weekly cash forecast

The first line is cash at the end of the last business day. For each week, add receipts you expect to clear, subtract payments you expect to leave, and carry the ending balance forward.

InputWhat to check
Opening cashBank balance at cutoff, restricted balances, pending transfers
Customer receiptsOpen invoices, disputed amounts, confirmed payment dates
Supplier paymentsApproved bills, payment runs, holds, discount dates
Other commitmentsPayroll, taxes, debt service, large purchases, each with an owner and due date

Illustrative roll-forward. Opening cash $250,000. Week 1 receipts $180,000, payments $210,000: ending $250,000 + $180,000 − $210,000 = $220,000. Week 2 receipts $195,000, payments $160,000 (no payroll that week): ending $220,000 + $195,000 − $160,000 = $255,000.

Give each receipt line a source and a date. Use the customer’s confirmed payment run where you have one and payment history where you don’t, and label which is which. Keep potential sales in a separate scenario until there is a basis for when cash would arrive. When an expected order becomes an open invoice, remove the old forecast line so it is not counted twice.

Microsoft documents cash flow forecast inputs across general ledger, AP, AR, budgeting, and inventory in Dynamics 365 Finance, with configuration for liquidity accounts. Check which sources your system already includes before building spreadsheet inputs on top. Microsoft’s cash flow forecasting guide.

Move a receipt only on evidence

What changedHow to treat it
Customer confirms an earlier payment runMove the receipt to that run and keep the confirmation
Billing corrects a rejected invoiceWait for acceptance, or use a clearly labelled estimate
Receipt was in the bank before AR applied itUpdate the invoice status; keep the original bank date
Customer disputes part of an invoiceForecast the undisputed amount; show the claim on its own line
Friday’s expected payment slips into next monthMove it, and check whether the gap forces a draw on the line

Review variances every week

Save a dated forecast before the week starts. When actual bank activity arrives, classify each difference as timing (right amount, wrong week), amount (right item, wrong figure), or missing (an item nobody forecast). If a customer promised this week and paid next week, move the remaining expectation forward; do not overwrite the earlier snapshot, or you lose the record of how accurate your receipt dates are.

Run a downside scenario alongside the base case: the largest expected receipt slips two weeks while every scheduled payment still goes out. If that scenario breaches your minimum cash balance, you know which customer conversation matters most this week.

DSO and forecast checklist

  • DSO method, scope, and credit treatment written down and unchanged from last month.
  • Aging reconciled to the ledger before DSO is calculated.
  • Any DSO change split into sales, terms, overdue, unapplied, and disputed effects.
  • Working capital release and interest saving shown as separate figures.
  • Forecast receipts sourced to invoices, with confirmed dates labelled.
  • Disputed amounts and potential sales in separate lines or scenarios.
  • Prior week’s forecast saved and variances classified as timing, amount, or missing.
  • Downside scenario run for the largest receipt.

For the operational detail behind faster application, see the cash application guide.

See this workflow on your own ERP data

ProcIndex connects to NetSuite, Sage Intacct, and QuickBooks. Bring a recent batch and we'll walk through it with your team.

Book a Demo See how the AR agent handles this