Documentation

Aging Invoices

Requires. Invoices with View on at least one location. You see only data on locations where you have that permission. Generating statements also requires Invoices with Modify.

The Aging Invoices page is the classic AR aging view. It groups your company's open receivables by customer, then splits each customer's balance into aging buckets (Pending, Current, 30+, 60+, 90+ days overdue). One row per customer — not per invoice — so you can see at a glance who owes how much and how overdue they are.

This is the collections department's starting point. Filter to a location, sort by total, bulk-download all invoices for the top 20 debtors, or generate statements for every customer over a threshold in one click.

Getting here

  • From any Accounting page, click Aging in the sub-nav (if available).
  • Or navigate directly to https://portal.securitytrax.com/{your-company}/accounting/aging-invoices.

Filters

Click the filter icon to open the Filter Aging Invoices flyout. Aging's filter set is deliberately minimal — the data is cross-customer aggregated, so the usual date-range filters don't apply the way they do on other Accounting pages.

Field Type Notes
Per page Select 10, 25, 50. Default: 50.
Locations Multi-select pillbox Narrow to specific locations. Leave blank for all locations you can see.

No sort controls — the page isn't sortable row-by-row because rows are customer groupings (not individual invoices). Click Submit to apply. Clear removes all filter criteria but keeps your per-page setting.

Use the pagination controls above or below the table to move through the customer rows. The Per page filter controls how many customer rows appear on each page.

Aging summary (above the table)

Before the customer rows, an aggregated totals table shows the open-AR picture for the data below:

Bucket What it counts
Pending Amounts on not-yet-due invoices.
Current Amounts on due but not overdue invoices.
30+ Amounts 1–30 days overdue.
60+ Amounts 31–60 days overdue.
90+ Amounts 91+ days overdue.
Total Grand total open AR.

The summary always matches the customer rows below — it reflects both your active Locations filter and the locations you have customerInvoicesview permission on. It is not a separate company-wide roll-up.

Columns (one row per customer)

Column What it shows
Checkbox for bulk actions.
Customer Customer name. Click to open their Accounting tab.
Pending This customer's pending amount.
Current Current (due, not overdue).
30+ 1–30 days overdue.
60+ 31–60 days overdue.
90+ 91+ days overdue. Shown in red if greater than zero.
Total Bolded total for the customer.

Each amount is the sum across all of that customer's open invoices in that bucket.

Bulk actions

Two bulk actions live at the top of the table.

Download (bulk PDF of all open invoices)

Select customers via the checkboxes, then click Download to pull every one of their open invoices into a single PDF. Useful when you need a collections packet for review or for sending to a lawyer.

Limit: 100 invoices total across all selected customers. If your selection exceeds it, SecurityTrax shows "You can download at most 100 invoices at a time." and doesn't download.

Other toast messages:

  • "No customers selected."
  • "No open invoices found for the selected customers."
  • "Download failed." (usually a backend issue — try again or contact support).

Generate Statements (bulk)

Requires. Invoices with Modify in addition to the view permission.

Click Generate Statements to create customer statements — one per selected customer in a controlled batch — on demand. This is the operational side of month-end statement runs, collections packets, and "can you send me a statement for the last 90 days?" customer requests handled at scale.

The Generate Statements modal

Filter options before committing:

Field Type Notes
Eligibility Mode Radio Open (everyone with an open balance), Past Due (overdue only), Threshold (above a specific dollar amount).
Threshold Value Number Only shown when Mode = Threshold. Two-decimal precision.
Locations Multi-select pillbox Defaults to the page's current location filter. If empty, shows the count of all your accessible locations.
Skip Recent Select None, 24h, 72h, 1 week, 1 month. Excludes customers who already got a statement in that window (prevents duplicates on retry).
Preview button Shows the count of customers that match the criteria without creating anything.
Generate button Creates the statements in batch.

Step-by-step: generating statements for all customers with any 60+ balance

  1. Click Generate Statements. The modal opens.
  2. Eligibility Mode: pick Past Due.
  3. Locations: leave blank (or pick the locations you want to cover).
  4. Skip Recent: pick 1 week so you don't duplicate statements you sent earlier in the week.
  5. Click Preview. SecurityTrax shows "{N} customers eligible" so you know what's about to happen.
  6. Click Generate. SecurityTrax creates up to 100 statements per batch (see the batch cap below) and reports:
    • How many statements were created.
    • Any failures (with the customer name and a short error reason).
    • Whether the cap was hit and how many remain eligible.
  7. If the cap was hit, rerun with the same criteria (the "Skip Recent" filter now excludes the ones you just created) to pick up the next batch.
  8. Click Download as PDF on the success screen to save a merged PDF of the statements you just generated.

Note. Each statement is saved as its own InvoiceStatement record on the customer and can be re-opened, re-downloaded, or re-emailed later.

Non-obvious bulk-generate behaviors

  • Batch cap is 100 statements per click. Set by the accounting.statements.bulk_generate_limit config. Rerun to generate more — the Skip Recent filter will exclude the ones you just made.
  • Per-customer failures are caught and counted. One customer's data issue doesn't abort the whole run; it's logged with a truncated (max 180 chars) reason and the rest proceed.
  • Preview is cheap and safe. Click it as often as you want to tweak filters before committing — it doesn't create anything.
  • Skip Recent uses the DB. It checks for existing statements with the same customer/period in the lookback window. Useful on retry after a partial failure.

Non-obvious behaviors

  • Rows are customers, not invoices. A customer with three open invoices shows as one row with their totals bucketed.
  • No sort control. Results are grouped by customer in the DA's default ordering — not sortable by column. Use pagination to page through larger result sets.
  • 90+ red-rendering is the main visual alert. Scan for red cells first.
  • The bulk-download limit is 100 invoices, not 100 customers. A single customer with 150 open invoices selected alone would exceed the cap.
  • The top summary is not a company-wide anchor. Every bucket (including Total) is scoped to your location permissions and the active Locations filter — exactly like the customer rows below. Two users looking at this page on the same day can see two different totals.

Related