Guide

Days sales outstanding (DSO) explained

Harbor Industrial Supply posted 18% year-over-year revenue growth in its March 2026 quarter — a headline that pleased sell-side analysts. The balance sheet told a different story: accounts receivable rose 34% while revenue climbed only 18%, stretching days sales outstanding (DSO) from 41 to 58 days. Cash from operations missed guidance by $22M because customers were paying slower, not because demand had vanished. After the CFO rebuilt credit limits, tightened net-30 enforcement, and segmented AR aging by customer tier, DSO fell back to 41 days within two quarters and the company released $14M of trapped working capital. DSO is one number, but it is often the first place revenue quality problems surface before they hit net income.

DSO measures how many days, on average, it takes a company to collect cash after recognizing a sale on credit. Its twin metric, accounts receivable turnover, flips the same inputs into “how many times per year receivables recycle.” Both sit at the center of the cash conversion cycle and working capital analysis. This guide covers the formulas, links to free cash flow and earnings quality, sector benchmarks, channel-stuffing red flags, the Harbor Industrial refactor, a technique decision table, common pitfalls, and an investor checklist.

What DSO and AR turnover measure

When a B2B company ships product on net-30 or net-60 terms, revenue hits the income statement immediately while cash arrives weeks later. The gap lives on the balance sheet as accounts receivable (AR) — money customers owe but have not yet paid. DSO converts that balance into a time measure: “If sales continue at the current pace, how many days of revenue are still sitting in receivables?”

A rising DSO can mean harmless causes (seasonal shipment timing, a large government contract with 90-day terms) or serious ones (deteriorating credit quality, aggressive revenue recognition, or distributors unable to pay). Investors pair DSO trends with revenue growth because the two should move together unless payment terms change.

Accounts receivable turnover expresses the same economics as a velocity ratio: higher turnover means faster collection; lower turnover means cash is stuck longer. Analysts often prefer DSO for peer comparison because it is intuitive in days; turnover is useful when modeling annual cash cycles.

Formulas and worked example

The standard DSO calculation uses average receivables over the period (opening plus closing, divided by two) and revenue over the same window:

DSO = (Average Accounts Receivable ÷ Revenue) × Days in Period

For a fiscal year, multiply by 365; for a quarter, multiply by 90 (or 91). Some practitioners use credit sales only in the denominator when cash sales are material — check the 10-K revenue footnote.

AR Turnover = Revenue ÷ Average Accounts Receivable

Turnover and DSO are reciprocals scaled by days: DSO ≈ 365 ÷ AR Turnover (annual basis). Turnover of 8× implies DSO ≈ 46 days.

Harbor Industrial Q1 2026 (simplified):

  • Quarterly revenue: $186M
  • AR beginning: $198M; AR ending: $251M → average $224.5M
  • DSO = ($224.5M ÷ $186M) × 90 ≈ 109 days (annualized ~58 days using quarterly revenue × 4 method, or 58 days on trailing-twelve-month basis — Harbor reports the latter in MD&A)

Compare to prior-year DSO of 41 days on flat payment terms — the stretch signaled collection slippage, not a deliberate shift to longer contracts.

DSO inside the cash conversion cycle

The cash conversion cycle (CCC) adds inventory days and subtracts payable days:

CCC = DIO + DSO − DPO

DSO is the middle leg — cash tied up waiting for customers. A one-day DSO improvement on $1B of annual revenue frees roughly $2.7M of working capital (1 ÷ 365 × $1B). That is why private-equity operating partners obsess over AR aging dashboards after acquisitions.

Link DSO changes to the statement of cash flows: an increase in receivables appears as a use of cash in operating activities even when net income rises. This is the classic “profit without cash” pattern described in free cash flow analysis. Pair DSO with days inventory outstanding (DIO) from inventory turnover to see whether the whole operating cycle is lengthening or only collections.

Sector benchmarks and context

Absolute DSO is meaningless without industry context. Payment terms are baked into business models:

Sector / modelTypical DSO bandWhy
Grocery / consumer staples distributors15–30 daysHigh volume, short terms, powerful buyers
Industrial distribution (Harbor-like)35–50 daysNet-30/45 standard; project billing adds noise
Enterprise software (subscription)40–70 daysAnnual contracts billed upfront or quarterly
Defense / government contractors60–90+ daysMilestone billing, slow federal payment
Healthcare providers45–65 daysInsurance reimbursement lag

Compare DSO to stated payment policy in the 10-K (e.g., “substantially all receivables due within 60 days”). If policy says net-30 but DSO is 65, either large customers negotiate exceptions or collections are failing.

Red flags: when rising DSO signals trouble

  • DSO grows faster than revenue — the most common quality warning; investigate before cheering top-line beats.
  • AR growing while revenue flat or down — possible channel stuffing or bill-and-hold schemes; see earnings quality red-flag lists.
  • Spike in 90+ day aging bucket — disclosed in AR footnotes; may precede write-offs.
  • Factoring or securitization of receivables — can artificially lower reported DSO; read factoring disclosures for retained servicing and recourse.
  • Related-party receivables — slow collection from affiliates can mask weak third-party demand.
  • Revenue recognition policy changes — ASC 606 timing shifts can move DSO without operational improvement.
  • Allowance for doubtful accounts falling while DSO rises — under-reserved bad debt inflates earnings.

Harbor Industrial refactor: 58 days back to 41

Harbor’s root cause was a 2025 sales incentive that rewarded gross bookings without deducting overdue balances. Regional reps extended informal net-90 terms to hit quotas. Week 1–2: exported AR aging by customer, SKU, and rep; found 22% of AR past 60 days concentrated in three distributors. Week 3–4: reinstated credit holds, linked commissions to collected cash not invoiced revenue. Month 2: offered 2/10 net-30 early-pay discounts on eligible accounts — cheaper than a revolving credit facility at 8%. Month 3–6: automated dunning emails at 15/30/45 days; escalated to third-party collections only above $50k past 75 days.

Outcomes: DSO 58 → 41 days, $14M working capital released, bad-debt expense fell 40 bps as a percentage of revenue, and operating cash flow beat net income for the first time in four quarters. Revenue growth slowed to 11% — management accepted that trade-off rather than finance fake growth on the balance sheet.

Technique decision table

Metric / approachBest forWeak when
DSO (days)Peer comparison, CCC modeling, credit policy auditsHighly seasonal businesses without trailing averages
AR turnover (× per year)Annual cash-cycle algebra, DuPont-style decompositionExplaining results to non-finance operators
AR aging schedule (bucket %)Spotting deterioration before DSO movesCross-company comparison (disclosure varies)
DSO vs revenue growth deltaQuick earnings-quality screen each quarterTerms genuinely renegotiated (check footnotes)
Factoring / reverse factoring programsAccelerating cash for suppliersMasking underlying collection weakness
Full CCC Holistic working capital view (inventory + payables)Service businesses with minimal inventory

Common pitfalls

  • Using point-in-time AR instead of average — quarter-end stuffing can distort a single snapshot.
  • Mixing GAAP revenue with non-GAAP AR — denominators and numerators must match.
  • Ignoring contra-revenue reserves — returns and rebates belong in net revenue if that is what AR reflects.
  • Comparing retailers to distributors — card-settled consumer sales have near-zero DSO; B2B models do not.
  • Treating one-quarter DSO as structural — use trailing four quarters or year-over-year same quarter.
  • Forgetting currency translation — multinational AR swings from FX can mimic collection problems.
  • Overlooking unbilled receivables (contract assets) — ASC 606 contract assets are economically similar to AR for SaaS.

Investor checklist

  • Calculate DSO and AR turnover with average receivables each quarter.
  • Plot DSO against revenue growth — flag divergence > 5 days year over year.
  • Read AR and revenue recognition footnotes in the 10-K / 10-Q.
  • Review aging buckets (current, 30, 60, 90+ days) if disclosed.
  • Check allowance for doubtful accounts trend vs DSO.
  • Scan for factoring, securitization, or supply-chain finance programs.
  • Reconcile AR change to operating cash flow working-capital line.
  • Compare DSO to stated customer payment terms in MD&A.
  • Benchmark against two direct peers in the same distribution model.
  • Model one-day DSO improvement impact on FCF before praising cost cuts alone.

Key takeaways

  • DSO converts receivables into collection speed in days — the receivables leg of the cash conversion cycle.
  • AR turnover is the same story as a velocity ratio — higher turnover, faster cash.
  • DSO rising faster than revenue is a classic quality warning — investigate before trusting the headline beat.
  • Harbor freed $14M by fixing credit policy — not by growing receivables faster.
  • Always pair DSO with aging, allowances, and cash flow — one ratio alone is easy to game.

Related reading