Days Sales Outstanding (DSO)
Days Sales Outstanding (DSO): Average days to collect payment after invoicing.
Also known as: DSO
Formula
DSO = (Accounts Receivable / Revenue) × Days in period Computable definition
The canonical formula in the GASP formula grammar. The MCP server compiles it to SQL over the datasets listed below.
sum(field.accounts_receivable) at period_end / metric.revenue_gaap * period_days Unit: days
Notes: Defined in both Finance and RevOps; one formula.
Data requirements
Grain: End-of-month receivables snapshot · Frequency: Monthly · Aggregation: snapshot (month) · Staged: no · Main source: Finance / ERP.
| Field | Dataset | Type |
|---|---|---|
accounts_receivable | balance_sheet | decimal |
period_start | financials | date |
revenue | financials | decimal |
snapshot_date | balance_sheet | date |
Example SQL (Postgres)
SELECT ((CAST((SELECT COALESCE(SUM(accounts_receivable), 0) FROM balance_sheet WHERE snapshot_date = :period_end) AS DOUBLE PRECISION) / NULLIF(((SELECT COALESCE(SUM(revenue), 0) FROM financials WHERE period_start >= :period_start AND period_start <= :period_end)), 0)) * (:period_end - :period_start + 1)) AS dso Access: recommended
sensitivity tier confidential,
access scope unscoped.
Guidance your policy engine enforces.
From an agent: with the GASP MCP server, call
lookup_metric({ "name": "Days Sales Outstanding (DSO)" }) or generate_query({ "metric": "Days Sales Outstanding (DSO)", "adapter": "<your adapter JSON>" }).
Benchmarks
- Below 30 days: Excellent
- 30-45 days: Good
- 45-60 days: Average
- Above 60 days: Collection issues
Related Metrics
Connected in the GASP relationship graph.
Downstream: what this drives
- Days Sales Outstanding reduces Free Cash Flow (Finance)