An importer and distributor running Odoo with eight years of history. No data comes from a real client: the company and its figures are made up, and it is the same one that appears elsewhere on this site.
The decision chosen: which customer gets credit released this month. It is made several times a week, it is made by the sales manager with the receivables in his head, and when he gets it wrong the company finds out ninety days later.
The six figures on the dashboard: average days to pay over the last twelve months, overdue balance by age bracket, the term the contract in force sets, approved limit against current balance, the customer's margin for the year, and orders held waiting for approval.
How one row reads. Distribuidora del Norte: the framework contract sets sixty days, they pay on average at fifty-two, they have two overdue invoices for USD 4,180 with the oldest at thirty-eight days, and their margin for the year sits above the average of the book. The decision takes a minute, and whoever takes it knows exactly what they are looking at.
One entry from the definitions. Average days to pay: payment date minus issue date, over invoices already paid in the last twelve months, excluding credit notes and cancelled invoices, cut at the last day of the closed month. It comes from the invoice and payment tables in your Odoo, with no manual step in between.
And the reconciliation, which is what makes the dashboard usable. At the handover session that figure is compared in front of you against the receivables ageing report your ERP already ships with. If they differ, the difference is explained in writing or it is corrected. That moment is the product: from then on nobody asks again where the number came from.