Days sales outstanding (DSO) is the average number of days a company takes to collect payment after invoicing: accounts receivable divided by credit sales, times the days in the period.
A worked example
An example with made-up round numbers. A company invoices $900,000 on credit in a 90-day quarter and ends the quarter with $400,000 of receivables still open. DSO is $400,000 ÷ $900,000 × 90, or 40 days. Its terms are net 30, so cash arrives ten days late on average. Bring DSO down to 30 days on the same sales and receivables fall to $300,000: $100,000 of cash arrives a quarter sooner, with no change to price or terms.
What moves DSO
DSO starts before collections. An invoice sent a week late, missing the customer’s PO number or addressed to the champion instead of accounts payable ages before anyone chases it. The levers, in order: invoice on the day the order is released, put the PO number and terms on every invoice, let the customer pay card or ACH from the invoice itself, and review the aging report weekly. Read DSO against your terms, because longer terms raise it with no change in behavior. For scale, The Hackett Group’s 2025 working capital survey of the 1,000 largest US public companies found an 18-day DSO gap between top-quartile and median performers, an opportunity it values at $600 billion; terms and customer mix explain part of that gap, not only process. The quote-to-cash billing guide covers invoicing and payment terms.
In Salesforce
DSO needs invoices, payments and their dates, and Sales Cloud on its own doesn’t invoice or record payments. So DSO is often calculated in the ERP or accounting system, and the CRM never sees it. The cost shows up in sales: an account owner quotes an expansion to a customer who is 60 days past due, because the balance lives somewhere else. Where invoices and payments are records in the org, through a Salesforce-native billing package or Salesforce’s separately sold Revenue Cloud Billing, DSO and invoice aging become standard Salesforce reports next to the pipeline.
How Kugamon handles it
Kugamon creates Invoices when an Order is released, on the account’s invoice schedule, and each Invoice carries Invoice Date, Invoice Due Date, Payment Terms, Applied Payment Amount and Balance Due Amount. Age (days) stays blank until the invoice is past due. Customers can pay from the emailed Online Invoice link by card or ACH, processed through Authorize.Net eCheck or Stripe ACH Direct Debit; wires and checks are recorded against the invoice. One payment can apply across many invoices, and the open balance rolls up to the account. DSO is a standard Salesforce report on those fields.
Related terms
Source: www.thehackettgroup.com