What is accounts receivable aging?
Definition
Accounts receivable aging groups open customer invoice balances by how many days they are past due as of a specific date. Common buckets are current, 1-30, 31-60, 61-90, and more than 90 days overdue.
What data do you need?
- Invoice issue and due dates
- Invoice total, currency, and customer
- Payment and credit allocations
- Open balance as of the reporting date
- Daily snapshots or lifecycle history for historical aging
SQL pattern
SELECT
CASE
WHEN {{as_of_date}} <= due_date THEN 'Current'
WHEN {{as_of_date}} - due_date <= 30 THEN '1-30 days'
WHEN {{as_of_date}} - due_date <= 60 THEN '31-60 days'
WHEN {{as_of_date}} - due_date <= 90 THEN '61-90 days'
ELSE '90+ days'
END AS aging_bucket,
SUM(open_amount_reporting_currency) AS open_amount
FROM modeled_open_ar
WHERE as_of_date = {{as_of_date}}
GROUP BY 1
ORDER BY MIN(GREATEST({{as_of_date}} - due_date, 0));Common pitfalls
Where does this metric apply?
This metric commonly uses data from NetSuite, Xero, FreshBooks, QuickBooks, SAP, plus any reconciled warehouse or ledger models that provide the same business grain.