AR Ageing
AR Ageing is a read-only Accounts Receivable report that groups every wholesale order with a positive outstanding balance by customer, and buckets that balance into Current / 0–30 / 31–60 / 61–90 / 90+ day columns based on how long ago the order was placed — giving you a single view of who owes what and how overdue it is.
Overview
Only orders with balanceDue > 0 are included; fully paid or zero-balance orders never appear here, regardless of status.
The age of an order is calculated once, at the moment the page loads, as today's date minus the order's orderDate — it does not track from the invoice due date or any payment-terms offset (e.g. NET30), just raw days since the order was created.
Each customer gets one row with a balance in each bucket plus a Total column; the five summary cards above the table are the same bucket totals aggregated across all customers, plus a grand Total Outstanding card.
A customer is grouped by their exact order.customerName text — there is no link to a specific WholesaleCustomer or WholesaleTradeAccount record, so multiple spellings of the same customer's name would appear as separate rows.
The Search box filters the already-loaded customer rows by name only; it does not re-query the server or change the bucket totals in the summary cards above it.
Before You Start
- You must have the Billing feature enabled on your plan.
- There must be at least one wholesale order with an unpaid balance for any rows to appear.
Step-by-Step Guide
1 Review total outstanding exposure
- Open Wholesale → AR Ageing.
- The five summary cards show Current, 0–30 days, 31–60 days, 61–90 days and 90+ days totals, each with its % share of the grand total; the boxed card on the right shows Total Outstanding across all buckets.
2 Find a specific customer's ageing breakdown
- Type into the "Search customer…" box to filter the table to matching customer names.
- Read across the row to see how much of that customer's balance falls into each age bucket, with the Total column on the right.
3 Refresh after new payments or orders
- Click "Refresh" in the top-right to re-fetch the report — the page does not auto-poll, so a payment recorded elsewhere will not appear here until you refresh.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Current | Balance from orders placed today or in the future (days since orderDate ≤ 0) — a small negative/zero window rather than "not yet due". |
0–30 days | Balance from orders 1–30 days old. |
31–60 days | Balance from orders 31–60 days old. |
61–90 days | Balance from orders 61–90 days old. |
90+ days | Balance from orders more than 90 days old. |
Total Outstanding | Sum of all five bucket totals across every customer with an unpaid balance. |
Customer row → Total | Sum of that customer's balance across all five buckets. |
Search box | Client-side, case-insensitive substring filter on customer name; does not affect the summary cards. |
Refresh button | Re-runs the GET /wholesale/ar-ageing call; the report is otherwise computed once per page load. |
Tips & Best Practices
- Because ageing is based on orderDate rather than a due date or payment terms, a customer on NET30 terms will start showing balance in the "0–30 days" bucket from day one of the order, not from when payment actually becomes due — read the buckets as "order age," not "days overdue."
- Refresh this page right after recording a large payment on the Trade Accounts or Orders screen — the ageing figures are a snapshot from page load and will not update on their own.
- If a customer appears twice with slightly different totals, check for inconsistent capitalisation or spacing in how their name was entered on different orders — grouping is by exact customerName text.