EnableYourData.com

KPI · Finance

Overdue receivables: formula and example.

Overdue receivables are outstanding invoices whose due date has passed without full payment from the customer. You express them in euros and as a percentage of total outstanding receivables, often split into ageing buckets such as 1–30, 31–60 and more than 60 days past due. They are a direct measure of payment behaviour and credit risk.

Overdue receivables formula

Outstanding amount on invoices past their due date ÷ total outstanding receivables × 100%

Worked example

At the end of 2025 Acme Groothandel had €1,500,000 of outstanding receivables. Of this, €330,000 was past due: €210,000 up to 30 days, €75,000 between 31 and 60 days and €45,000 more than 60 days. The overdue share is €330,000 ÷ €1,500,000 × 100% = 22%.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A rising overdue share means customers are paying late more often and the risk of bad debts is growing. Pay most attention to the oldest buckets: the longer an invoice is outstanding, the lower the chance of payment. Compare by customer and by month, and read it alongside DSO to see whether a rise comes from many small items or a few large ones.

Pitfalls with overdue receivables

  • Not netting off credit notes and payments on account, so the overdue balance looks too high or too low.
  • Not showing disputed invoices separately, even though they need a different approach from ordinary arrears.
  • Showing only the total without an ageing split, so a single very old item goes unnoticed.

SQL & DAX

Calculating overdue receivables in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
SELECT SUM(open_amount) AS open_receivables,
       SUM(open_amount) FILTER (WHERE due_date < current_date) AS overdue,
       ROUND(100.0 * SUM(open_amount) FILTER (WHERE due_date < current_date)
             / NULLIF(SUM(open_amount), 0), 1) AS overdue_pct,
       SUM(open_amount) FILTER (WHERE due_date >= current_date - 30 AND due_date < current_date) AS overdue_1_30,
       SUM(open_amount) FILTER (WHERE due_date >= current_date - 60 AND due_date < current_date - 30) AS overdue_31_60,
       SUM(open_amount) FILTER (WHERE due_date < current_date - 60) AS overdue_60_plus
FROM invoices
WHERE open_amount > 0;
DAX · Power BI
Overdue Receivables = CALCULATE(SUM(Invoices[OpenAmount]), Invoices[OpenAmount] > 0, Invoices[DueDate] < TODAY())

Overdue % = DIVIDE([Overdue Receivables], CALCULATE(SUM(Invoices[OpenAmount]), Invoices[OpenAmount] > 0))

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for overdue receivables per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate the percentage of overdue receivables?

Add up the outstanding amount on all invoices past their due date, divide by total outstanding receivables and multiply by 100%. With €330,000 overdue out of €1,500,000 outstanding, that is 22%.

What is an aged debtors report?

An aged debtors report splits outstanding receivables into buckets by days past due, for example not yet due, 1–30, 31–60, 61–90 and more than 90 days. It shows at a glance which amounts carry the most risk and which customers to chase first.

What is the difference between overdue receivables and DSO?

Overdue receivables show how much money is late, DSO shows how long customers take to pay on average. DSO can stay stable while the overdue share grows, for example when revenue rises and a few customers pay later and later.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.