DAX DSO (Days Sales Outstanding) Measure

Estimates the average number of days it takes to collect payment after a sale.

FinanceAdvanceddsoaccounts receivablefinance

DAX code

DSO (Days Sales Outstanding) =
VAR EndingReceivables = [Overdue Amount] + CALCULATE(SUM('Invoices'[Amount]), 'Invoices'[Status] <> "Paid", 'Invoices'[DueDate] >= TODAY())
VAR PeriodDays = DATEDIFF(MIN('Date'[Date]), MAX('Date'[Date]), DAY) + 1
RETURN
    DIVIDE(EndingReceivables, [Total Sales]) * PeriodDays

Notes

Depends on the Overdue Amount and Total Sales measures from this library; a simplified DSO for periods with roughly even sales.

Requirements

Builds on these measures

How to use this measure

  1. In Power BI Desktop, select the table that should hold the measure and choose New measure on the ribbon.
  2. Paste the code, then replace the placeholder table and column names with your own. The My table names fields above do this for you.
  3. Run it through the DAX Formatter if you want it laid out in your team's style.

Related DAX measures

More DAX resources

Browse all 175 measures in the Power BI DAX Measures Library, or search the library for something similar to DSO (Days Sales Outstanding).