{
  "id": "dso",
  "version": "1ac321eb4554",
  "status": "published",
  "name": "DSO Calculator",
  "question": "What is my DSO?",
  "summary": "Computes days sales outstanding (DSO), the average days to collect a credit sale, from credit sales and accounts receivable.",
  "category": "finance",
  "subcategory": "business",
  "url": "https://www.acalculator.org/finance/dso-calculator",
  "markdown": "https://www.acalculator.org/finance/dso-calculator.md",
  "kind": "function",
  "method": "Average accounts receivable = (beginning + ending) ÷ 2 (ending alone when no beginning is given). Turnover = net credit sales ÷ average accounts receivable. DSO = average accounts receivable ÷ net credit sales × days in the period = days ÷ turnover.",
  "assumptions": [
    "The credit sales cover the period whose days you enter, and the two balances are from its start and end.",
    "Arithmetic is exact on the typed decimals; both results show to 2 decimals, halves up."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "sales": {
        "title": "Net credit sales",
        "description": "Sales on credit for the period, after returns and allowances. Use net sales if credit sales are not shown.",
        "type": "number",
        "x-unit": "USD",
        "exclusiveMinimum": 0,
        "maximum": 1000000000000000
      },
      "bar": {
        "title": "Accounts receivable at the start",
        "description": "Accounts receivable at the start of the period. Leave empty to use the ending balance alone.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 1000000000000000
      },
      "ear": {
        "title": "Accounts receivable at the end",
        "description": "Accounts receivable at the end of the period.",
        "type": "number",
        "x-unit": "USD",
        "minimum": 0,
        "maximum": 1000000000000000
      },
      "days": {
        "title": "Days in the period",
        "description": "The days the sales cover: 365 for a year, 90 or 91 for a quarter, 30 or 31 for a month.",
        "type": "integer",
        "minimum": 1,
        "maximum": 366
      }
    }
  },
  "outputs": {
    "dso": {
      "label": "Days sales outstanding (DSO)",
      "description": "Average accounts receivable ÷ net credit sales × days in the period.",
      "format": "number"
    },
    "turnover": {
      "label": "Accounts receivable turnover",
      "description": "Net credit sales ÷ average accounts receivable for the period.",
      "format": "number"
    },
    "average": {
      "label": "Average accounts receivable",
      "description": "(Beginning + ending accounts receivable) ÷ 2, or the ending balance when no beginning is given.",
      "format": "money"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "sales": 400000,
      "bar": 70000,
      "ear": 90000,
      "days": 365
    },
    "outputs": {
      "dso": 73,
      "turnover": 5,
      "average": 80000
    },
    "text": "With average receivables of $80,000.00 against $400,000.00 of credit sales over 365 days, it takes 73 days on average to collect a credit sale."
  },
  "examples": [
    {
      "given": {
        "sales": 400000,
        "bar": 70000,
        "ear": 90000,
        "days": 365
      },
      "expect": {
        "dso": 73,
        "turnover": 5,
        "average": 80000
      },
      "source": "OpenStax, Principles of Accounting, Volume 1, 9.3 Determine the Efficiency of Receivables Management Using Financial Ratios (number of days’ sales in receivables = 365 ÷ (net credit sales ÷ average accounts receivable)). https://openstax.org/books/principles-financial-accounting/pages/9-3-determine-the-efficiency-of-receivables-management-using-financial-ratios: 400,000 ÷ 80,000 = 5 times; 365 ÷ 5 = 73 days"
    },
    {
      "given": {
        "sales": 550000,
        "bar": 50000,
        "ear": 80000,
        "days": 365
      },
      "expect": {
        "dso": 43.13636363636363
      },
      "source": "OpenStax, Principles of Accounting, Volume 1, 9.3 Determine the Efficiency of Receivables Management Using Financial Ratios (number of days’ sales in receivables = 365 ÷ (net credit sales ÷ average accounts receivable)). https://openstax.org/books/principles-financial-accounting/pages/9-3-determine-the-efficiency-of-receivables-management-using-financial-ratios: 43.14 days (rounded); exact 65,000 ÷ 550,000 × 365 = 949/22 (Python Fraction)"
    },
    {
      "given": {
        "sales": 90000,
        "bar": 25000,
        "ear": 35000,
        "days": 90
      },
      "expect": {
        "dso": 30,
        "turnover": 3
      },
      "source": "OpenStax, Principles of Accounting, Volume 1, 9.3 Determine the Efficiency of Receivables Management Using Financial Ratios (number of days’ sales in receivables = 365 ÷ (net credit sales ÷ average accounts receivable)). https://openstax.org/books/principles-financial-accounting/pages/9-3-determine-the-efficiency-of-receivables-management-using-financial-ratios (formula with the quarter's 90 days); hand calculation in content.mdx: 30,000 ÷ 90,000 × 90 = 30 days"
    }
  ],
  "sources": [
    "OpenStax, Principles of Accounting, Volume 1, 9.3 Determine the Efficiency of Receivables Management Using Financial Ratios: accounts receivable turnover = net credit sales ÷ average accounts receivable, average = (beginning + ending) ÷ 2, number of days' sales in receivables = 365 ÷ turnover, and the Billie's Watercraft Warehouse and Company A examples (73 and 43.14 days). https://openstax.org/books/principles-financial-accounting/pages/9-3-determine-the-efficiency-of-receivables-management-using-financial-ratios (retrieved 2026-10-18)",
    "OpenStax, Principles of Finance, 6.2 Operating Efficiency Ratios: the same accounts receivable turnover, with net sales in place of credit sales when credit sales are not reported. https://openstax.org/books/principles-finance/pages/6-2-operating-efficiency-ratios (retrieved 2026-10-18)"
  ],
  "related": [
    "accounts-receivable-turnover",
    "inventory-turnover",
    "working-capital",
    "cash-flow"
  ],
  "changelog": []
}
