AR ageing

Customer receivables by age bucket, the foundation of cash collection.

1 min readLast updated 13 Apr 2026

AR ageing is the age-bucket view of every unpaid invoice. Lives at /app/finance/ar-ageing and drives collections priority.

Buckets

Default buckets: current, 1–30, 31–60, 61–90, 90+ days past due. Configurable per tenant (some use 0–30 / 31–60 / 61–90 / 91–120 / 120+).

Per-customer view

Each customer row shows totals per bucket and a total outstanding. Sorted by oldest-first or largest-balance by default.

Click a customer → drill into each invoice, its age, its disputes, its payment schedule.

Filters

  • Currency (if multi-currency, see multi-currency).
  • Customer segment (key accounts, SMB).
  • Sales owner / collector.
  • Excluding / including disputed invoices.
  • As-of date — rewind the ageing to any past date.

What counts as "past due"

An invoice is past due when today > invoice due date. Due date = invoice date + payment terms. Disputed invoices are flagged but still age; some tenants exclude from collection until resolved.

Actions

From the ageing view:

  • Send reminder — one-click reminder email. See dunning.
  • Open statement — per-customer statement PDF.
  • Record promise-to-pay — captures a commitment date; ages a separate "promised" bucket.
  • Assign to collector — reassign ownership.
  • Place on hold — block further bookings until paid. See credit control.

Reporting

AR ageing feeds weekly / monthly reports (CSV / Excel export). Also feeds the finance dashboard top-line: total AR, % > 60 days, DSO.

Provisions

A bad-debt provision policy (e.g. 100% > 180 days, 50% > 90 days) runs monthly from the ageing, posting a P&L provision. Configurable per tenant, where it is enabled.

Was this article helpful?