BPDSO
Best Possible DSO (BPDSO) is the theoretical minimum Days Sales Outstanding a business could achieve if every current (not yet past due) receivable were collected the moment it became due, calculated as current AR divided by total credit sales multiplied by days in the period.
Days Sales Outstanding tells you how long it takes to collect cash, but it cannot tell you how much of that wait is structural versus how much is self-inflicted. Best Possible DSO solves that problem. It strips out every overdue invoice and asks a simple question: if every customer paid exactly on the day their invoice became due, how many days of sales would still be sitting in your AR ledger? That number is your floor. It reflects the credit terms you have agreed to with your customers and nothing else.
The reason practitioners care about BPDSO is not the number itself. It is the gap between actual DSO and BPDSO. That gap is the only part of working capital performance that the collections, disputes, and cash application functions can actually influence. Everything else is a function of payment terms, sales mix, and seasonality, none of which the AR team controls. BPDSO turns DSO from a vanity metric into a diagnostic one.
The formula is straightforward:
BPDSO = (Current AR / Total Credit Sales) x Days in Period
The key word is current. Current AR means receivables that are open but not yet past due. You exclude anything in the 1-30, 31-60, 61-90, or 90+ aging buckets. Total credit sales should cover the same period as your DSO calculation, typically a rolling 90 days.
Worked example. Assume a business has total AR of 12 million euros at month end. Of that, 7.5 million euros is current (within terms) and 4.5 million euros is past due across various aging buckets. Credit sales for the trailing 90 days were 30 million euros.
That 13.5-day gap represents roughly 4.5 million euros of cash that is past due. Every day you shave off the gap is real money back in the operating account.
If your CFO asks how collections performed last quarter, the right answer is rarely DSO went from 42 to 40. DSO moves with sales mix, customer concentration, and term changes. A better answer is the gap between DSO and BPDSO tightened from 14 days to 9 days. That sentence isolates what the AR team actually did.
This is also why benchmarking DSO across companies is mostly noise. A business selling on Net 60 will always have a higher BPDSO than one selling on Net 15, regardless of how well they collect. Comparing the gap is more honest. A Net 60 business with a 5-day gap is run tighter than a Net 15 business with a 12-day gap, even though the second business has a lower headline DSO.
There is no universal benchmark, but for most B2B businesses the gap typically lands in these ranges:
The most frequent error is including past-due AR in the numerator. If you do that, you have just recalculated DSO with extra steps. BPDSO is only useful when the numerator is strictly current receivables.
The second mistake is treating BPDSO as a target. It is a floor, not a goal. The goal is to compress the gap between DSO and BPDSO. Chasing a lower BPDSO usually means shortening payment terms, which can damage customer relationships and shift demand to competitors. That is a credit policy decision, not a collections one.
The third mistake is calculating BPDSO once a year and forgetting it. The number shifts every month as your AR mix changes. It should sit on the AR dashboard next to DSO, refreshed at the same cadence, with the gap called out explicitly.
Most of the AR drift that opens up the DSO-to-BPDSO gap comes from three places: invoices that go out late or with errors, disputes that stall, and cash that arrives but takes days to apply against the right invoice. Agentic AR platforms compress each of these.
Autonomous cash application matches remittances to invoices on the day cash hits, so receivables roll out of current AR the moment they are paid rather than days later. Agentic dispute workflows route short pays and deductions to the right resolver instantly, with the underlying invoice, PO, and proof of delivery already attached, so disputes close in days rather than weeks. AI-driven collections prioritise outreach by predicted payment behaviour, not aging bucket, so the customers most likely to slip get touched before they go past due.
The combined effect is that fewer invoices ever cross from current into past due. That is what shrinks the gap. A 5-day improvement in the DSO-to-BPDSO gap on 30 million euros of quarterly credit sales is roughly 1.7 million euros of cash pulled forward, every quarter, permanently.
DSO measures the average days it actually takes to collect cash, including the drag from past-due invoices. BPDSO measures what DSO would be if every invoice were paid exactly on its due date, using only current (not overdue) receivables in the numerator. The gap between the two is the cash that is stuck because of late payments, disputes, or slow cash application.
BPDSO equals current AR divided by total credit sales, multiplied by the number of days in the period. The critical detail is that current AR includes only receivables that are open but not yet past due. Past-due balances are excluded from the numerator. The denominator (credit sales) and the day count should match what you use for your DSO calculation, usually 90 days.
Not really. BPDSO is largely a function of the payment terms you offer customers. A business on Net 30 will have a structurally higher BPDSO than one on Net 15, and shortening terms to lower BPDSO can hurt sales. The more useful focus is the gap between actual DSO and BPDSO, which reflects collection performance rather than commercial policy.
For most B2B businesses, a gap of 5 to 10 days is healthy. Under 5 days is elite and usually indicates either very low past-due balances or strong early-pay incentives. A gap above 15 days typically points to broken processes: stalled disputes, late dunning, weak credit policy enforcement, or cash application backlogs that distort the true age of AR.
Monthly, at the same cadence as DSO. AR mix shifts as new invoices are issued, payments arrive, and aging buckets evolve. A stale BPDSO from last quarter will mislead any analysis of the gap. Modern AR platforms can refresh both metrics daily, which is more useful for spotting drift early than waiting for month-end close.
Automation has very little impact on BPDSO itself, because BPDSO is a function of credit terms and current AR balance. What automation changes is the gap between DSO and BPDSO. Agentic cash application, AI-driven collections prioritisation, and autonomous dispute routing each reduce the volume of invoices that slip into past due, which directly compresses the gap and pulls forward working capital.