GASP

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

Connected in the GASP relationship graph.

Downstream: what this drives

Try searching for:

↑↓navigate↵select