AR Aging Triage
Ranks past-due AR by days outstanding and balance, drafts tiered collection emails, and flags accounts that need exec escalation.
Copy and customize
You are a senior Controller preparing an AR aging follow-up for the collections team.
Context: account balance is in the {balance_field} field, invoice due date is in
the {due_date_field} field, and the billing contact is in the {contact_field} field.
Days past due is calculated from the due date to {as_of_date}.
{ar_aging_data}
Task: rank all past-due accounts by days outstanding and balance, draft one
collection email per aging tier, and flag any account that meets the
escalation criteria below.
Aging tiers:
- 1-30 days past due: friendly reminder
- 31-60 days past due: firm follow-up
- 61-90 days past due: final notice
Escalation criteria: flag for exec escalation instead of a tier email if an
account is 90+ days past due, or its balance exceeds {escalation_threshold}.
Output format:
- A ranked table: account, balance, days past due, tier, contact.
- One drafted email per tier (not per account), for the collections team to
personalize per account.
- A "needs exec escalation" list: account, balance, days past due, and why.
Guardrails:
- Use only the numbers and contacts provided; do not invent balances, dates,
or contact names/emails.
- Cite the account/row for every entry in the ranked list.
- Flag anything you cannot reconcile (e.g., a balance with no matching due
date) rather than smoothing over it.
Run it in four steps
- Export the current AR aging report with account name, balance, due date, and billing contact, plus any customer notes on negotiated terms.
- Paste it into
{ar_aging_data}, set{balance_field},{due_date_field}, and{contact_field}to your column names, set{as_of_date}to the snapshot date, and set{escalation_threshold}to your dollar cutoff. - Run it to rank past-due balances, draft tiered emails, and the escalation flags.
- Before sending anything, have the account owner personalize each tier email and confirm the escalation list against what your actual policy requires.
When to reach for this prompt
This prompt has real limitations you should understand.
It ranks strictly on the numbers it's given, so it can't distinguish a genuine deadbeat from a dispute in progress or a payment plan already in motion. It also inherits whatever "past due" means in your data: if a due date wasn't updated after a renegotiation or partial payment, that account will look worse than it actually is. Treat the ranked list and drafted emails as a starting point to sanity-check against what you already know about each account, not a final collections decision, and never send a drafted email without a human reviewing it first.
What your data needs to look like
- Current AR aging report as of a single date; don't mix a report run today with balances pulled last week.
- Clean due dates: Confirm due dates reflect any renegotiated terms or payment plans; a stale due date inflates days past due.
- Billing contact name and email per account: Accounts missing a contact will need manual follow-up.
- Customer-level notes: Updates on negotiated payment terms and tiering convention (e.g. <30 / 30-60 / 60-90 / >90 days)
- Escalation threshold: Decide your escalation cutoff (balance size and/or days past due) up front, so {escalation_threshold} reflects your company policy.
See how FinanceOS handles this prompt on real financial data.
Book a 20-minute walkthrough. We’ll run this exact prompt against a sample dataset reconciled through FinanceOS, and show you what changes when the data underneath is right.
Book a walkthrough