Home / Help Center / pos-app-wholesale / wholesale / AR Ageing
⏳ wholesale

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.

📍 Menu path: Wholesale → AR Ageing
👤 Who uses it: All roles with the Billing feature enabled

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

Step-by-Step Guide

1 Review total outstanding exposure

  1. Open Wholesale → AR Ageing.
  2. 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

  1. Type into the "Search customer…" box to filter the table to matching customer names.
  2. 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

  1. 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 / ButtonWhat it does
CurrentBalance from orders placed today or in the future (days since orderDate ≤ 0) — a small negative/zero window rather than "not yet due".
0–30 daysBalance from orders 1–30 days old.
31–60 daysBalance from orders 31–60 days old.
61–90 daysBalance from orders 61–90 days old.
90+ daysBalance from orders more than 90 days old.
Total OutstandingSum of all five bucket totals across every customer with an unpaid balance.
Customer row → TotalSum of that customer's balance across all five buckets.
Search boxClient-side, case-insensitive substring filter on customer name; does not affect the summary cards.
Refresh buttonRe-runs the GET /wholesale/ar-ageing call; the report is otherwise computed once per page load.

Tips & Best Practices

Troubleshooting & FAQ

A payment I just recorded is not reflected in the ageing buckets.
The report is fetched once when the page loads and does not auto-refresh or poll — click "Refresh" to re-fetch current balances after recording a payment elsewhere.
The same customer shows up as two separate rows.
Rows are grouped by the exact text in order.customerName, not by a customer ID — if orders were entered with slightly different spelling/casing of the same business name, they will be treated as different customers here.
A customer I know owes money for a month-old order is showing up in "Current" instead of "0–30 days".
This would only happen if the order's orderDate is today or in the future relative to your system clock — the bucket boundaries are hard day-count cutoffs (≤0, ≤30, ≤60, ≤90, >90) computed from orderDate, so a mismatched or future-dated orderDate on the order record can push it into an unexpected bucket.
An order I cancelled still shows up here.
getArAgeing only filters on balanceDue > 0 — it does not exclude CANCELLED orders the way getTopBuyers does. If a cancelled order still has a nonzero balanceDue on its record, it will still count toward that customer's ageing totals.