How to calculate and shorten DSO
25 September 2026 · Müşavir
Revenue on the income statement and money in the bank are two different things. The gap between them has a name: receivables. And the simplest way to see whether that gap is growing is DSO, days sales outstanding.
DSO answers one question: on average, how many days pass between issuing an invoice and the money arriving? If the answer keeps rising while sales look healthy, you are financing your customers with your own cash.
The formula
The standard version:
DSO = (Trade receivables at period end / Credit sales in the period) × Number of days in the period
Three details decide whether the number means anything:
- Receivables at period end. Take the open customer balance on the last day of the period. In a double-entry ledger this is the balance of account 120 (Alıcılar), not a figure someone types into a spreadsheet.
- Credit sales only. Sales collected on the spot do not create a receivable, so they should not dilute the ratio.
- Same period, same length. A 30-day month and a 90-day quarter produce different readings. Pick one and stick to it.
VAT is part of the invoice total and part of the receivable, so keep both sides consistent: either both VAT-inclusive (the usual choice, since the customer owes you the full invoice) or both VAT-exclusive.
A worked example
Take a consulting firm (example figures) looking at its last quarter:
| Item | Value |
|---|---|
| Credit sales in the quarter (VAT incl.) | 900,000 TL |
| Receivables on the last day of the quarter | 450,000 TL |
| Days in the period | 90 |
| Standard payment term on invoices | 30 days |
DSO = (450,000 / 900,000) × 90 = 45 days.
The firm invoices on 30-day terms, so customers pay roughly 15 days late on average. Average daily sales are 900,000 / 90 = 10,000 TL. Every day of DSO therefore ties up about 10,000 TL of cash. If the firm brought DSO back to 35 days, roughly 100,000 TL would move from customers’ pockets into its own bank account, without selling anything more.
To put a price on the delay, run the overdue amount through the late payment cost calculator. It shows what those extra days cost at your own financing rate.
Why a single DSO number can mislead
DSO is an average, and averages hide things:
- One large customer can dominate. If a single client owes 300,000 of the 450,000, your problem is one relationship, not your whole process.
- Seasonality distorts it. A strong last month inflates receivables at period end even if everyone pays on time.
- Disputed invoices sit inside it. An invoice the customer disputes is not a slow payment; it is an open issue that needs a different conversation.
So always read DSO next to an aging report: receivables split into buckets such as not yet due, 1 to 30 days overdue, 31 to 60, and 60 plus. DSO tells you whether there is a problem; aging tells you where.
What actually shortens DSO
Most of the delay is created before the invoice, not after it. The levers, in the order they usually pay off:
1. Put the payment term in the quote
If the quote says nothing about when payment is due, the customer’s own habit decides. State the term, the currency, and any installment plan in the quote itself, and make sure the accepted quote carries those terms into the sale. The quotes module keeps installment plans and terms attached to the quote, so the same terms follow the record once it becomes a sale.
Turkish commercial law also sets a frame here: under TTK Article 1530, where no payment date is agreed in a transaction between businesses, the debtor falls into default 30 days after receiving the invoice, and an agreed payment term is capped at 60 days in the cases the article lists (for example where the creditor is an SME). Writing a clear term is simpler than relying on the default.
2. Invoice on the day the work is done
Every day between delivery and invoicing is added straight to your collection cycle, and it never shows up in DSO because the receivable does not exist yet. Tie invoicing to the service status: when the service moves to “completed”, the invoice should be the next step, not a task for Friday.
3. Remind before the due date, not after
A reminder three days before the due date is a courtesy. A reminder ten days after is a chase. Automated reminders by email or SMS before each installment’s due date remove most “we missed it” delays. In sales and service tracking, installment plans send those reminders on schedule and show which installments are overdue.
4. Make paying easy
Include the IBAN, the invoice number and the exact amount in every reminder. If you accept card payments, send a payment link. Friction is the most common reason a willing customer pays late.
5. Separate disputes from late payments
When an invoice is disputed, log the reason and give it an owner. It should leave the chase list and enter a resolution list. Otherwise your team keeps sending reminders for an invoice the customer has no intention of paying until the issue is solved.
6. Confirm balances regularly
Many late payments turn out to be mismatched records: a payment booked against the wrong invoice, a credit note one side never recorded. A periodic current account reconciliation catches these before they age. See our note on why reconciliation matters now that BA/BS forms are gone.
Where the data should come from
DSO is only as reliable as the receivable balance behind it. If balances live in a spreadsheet that someone updates when they remember, the ratio measures the spreadsheet, not the business. When invoices and payments write journal entries automatically, the customer balance is derived from the ledger and DSO becomes a query instead of a monthly reconstruction. We explain why in why your back office needs double-entry, not a spreadsheet.
The accounting module keeps customer balances, historical balances as of any date and payments per invoice in one place, which is everything the DSO formula needs.
A monthly DSO checklist
- Pull receivables on the same day each month (last day of the month).
- Use credit sales only, with VAT treated the same way on both sides.
- Calculate DSO and compare it with your standard payment term.
- Open the aging report and list every invoice more than 30 days overdue.
- Check whether one or two customers account for most of the balance.
- Separate disputed invoices and assign an owner to each.
- Confirm that every completed service has been invoiced.
- Check that upcoming installments have reminders scheduled.
- Note the DSO figure in a simple monthly log to watch the trend.
The short version
DSO is a mirror of your whole sales process, from how the quote is written to how quickly the invoice goes out and how reminders are sent. Measure it the same way every month, read it next to the aging report, and fix the causes upstream. The cash is usually already earned; it is just sitting in the wrong account.
Frequently asked questions
What is a good DSO?
There is no universal number. Compare DSO with your own payment terms: if you invoice on 30 days and your DSO is 45, customers pay about 15 days late on average. The trend over several months matters more than a single reading.
Should cash sales be included in the calculation?
No. Use credit sales only, meaning sales invoiced now and collected later. Mixing in cash or card sales that are collected on the spot makes DSO look better than your collection process really is.
How often should DSO be measured?
Monthly is enough for most small and mid-sized businesses. Measure it on the same day each month, with the same period length, so the numbers are comparable.
Related
Late payment cost →
See the financing cost and inflation loss of a late receivable, per day.
Sales and services →
Sale records, service status flow, instalment reminders and payment tracking.
Quotes →
Catalogue quotes, a shareable link, acceptance, e-signature and instalments in one flow.
Bookkeeping →
Invoices, expenses and bank lines in one ledger; VAT report and trial balance ready.