How to track ar aging and run collections with AI

Finance & FP&A3 AI tools7 steps6 friction points

AR aging and collections is the work of knowing exactly which customers owe you money, how overdue each invoice is, and then doing something about it — sending reminders, escalating to calls, flagging accounts that need a hold. For most small teams, this lives in a spreadsheet pulled from QuickBooks or NetSuite once a week, a column of days-outstanding numbers, and a lot of manual follow-up that competes with everything else on the operator's plate.

The workflow feels automatable because so much of it is pattern-matching and templated communication. You're looking at the same aging buckets every week — current, 30, 60, 90+ days — and writing variations of the same three emails. The judgment calls are real but narrow: who gets a soft nudge, who gets a firm reminder, who gets escalated to a principal. That's exactly the kind of structured reasoning plus drafting work that AI handles well.

ChatGPT, Claude, and Gemini can meaningfully help here — drafting collection emails, summarizing aging reports, categorizing accounts by risk tier, even scripting the escalation logic. The tools are genuinely useful for the reasoning and writing layer of this workflow. What they can't do on their own is connect to your live invoicing data, maintain state between sessions, or send anything without you copy-pasting the output into another tool.

Finance & FP&A3 AI tools7 steps6 friction points
AI walkthrough

How to do it with AI today

A practical walkthrough using ChatGPT, Claude, and other off-the-shelf LLMs — what they're good at, what you'll have to do by hand.

Tools that work for this
ChatGPTClaudeGemini
Step-by-step
1 Export your AR aging report from QuickBooks, NetSuite, or your billing tool as a CSV or copy the table directly. This is the starting point for every LLM-assisted session.
2 Paste the aging report into Claude or ChatGPT and ask it to categorize every account by risk tier — current, soft risk (30–60 days), elevated risk (60–90 days), and critical (90+ days) — and summarize the total exposure in each bucket.
3 Ask the LLM to flag any accounts that have appeared in the 60+ day bucket for two or more consecutive weeks, using aging data you paste from prior exports. This gives you a rough repeat-offender list.
4 Draft collection email templates for each tier directly in the LLM. Give it the customer name, invoice number, amount, days outstanding, and your preferred tone. Ask for a version for each severity level — friendly reminder, firm notice, final notice.
5 For your highest-risk accounts, paste in any prior email thread context you have and ask the LLM to draft an escalation email from a principal or suggest talking points for a call.
6 Use the LLM to generate a weekly collections summary you can paste into Slack or email to your team — total AR outstanding, change from last week, accounts moved into new aging buckets, and any critical accounts that need immediate action.
7 At the end of the session, copy the drafted emails and action items into your email client or CRM manually. Nothing the LLM produced goes anywhere on its own.
Prompts you can copy
Here is my AR aging report as of today. Categorize every account into: current, 30–60 days (soft risk), 60–90 days (elevated), 90+ days (critical). Give me a total dollar exposure per bucket and flag any account over $10,000 in the 60+ column.
Draft three collection emails for this account: [customer name], invoice #[number], $[amount], [X] days overdue. Version 1: friendly reminder. Version 2: firm follow-up. Version 3: final notice before escalation. Tone should be professional but direct.
I'm pasting two weeks of AR aging data. Identify any accounts that appear in the 60+ day bucket in both weeks. List them with total exposure and how many days they've been outstanding.
Summarize this AR aging report for a weekly Slack post. Include: total outstanding, amount in each aging bucket, biggest single overdue account, and one sentence on whether the overall picture improved or worsened versus last week.
Here's an email thread with a customer who is 75 days overdue on a $14,000 invoice. Draft a follow-up from our CFO that acknowledges their last response, restates the amount due, and proposes a payment plan with two options.
Reality check

Where this gets hard

The walkthrough above works — until your numbers change, the LLM hallucinates, or you have to re-paste everything next month.

No live connection to QuickBooks or NetSuite — every session starts with a manual export and paste, so the data you're analyzing is already hours old before the session begins.
Nothing persists between sessions. The aging categorization, risk tiers, and draft emails from last week are gone — you rebuild the same prompt chain every time you run collections.
Large AR reports hit context limits fast. If you have 200+ open invoices, you're either truncating the dataset or splitting it across multiple sessions and manually reconciling the outputs.
Drafted emails stay in the chat window. Getting them into Gmail or Outlook means copying each one individually — there's no handoff to your actual sending tool.
Outputs vary run to run. The tier definitions, email tone, and summary format you carefully prompted last Tuesday aren't guaranteed to match what you get this Tuesday without re-specifying everything.
No memory of which customers already received a reminder. The LLM has no view of your sent mail, so you're manually cross-referencing to avoid sending a 'final notice' to someone who paid yesterday.

Tired of the friction?

Starch runs the whole workflow on live data — no copy-paste, no hallucinated numbers, no re-prompting next month.

See the Starch version →
Starch alternative

The same workflow on Starch

Starch is an agentic operating system — it builds and runs the persistent software that handles this workflow against your live business data, instead of a prompt session you re-run manually every week.

Starch syncs your QuickBooks data on a schedule — invoices, payments, aging buckets, and vendor records — so the collections app the agent builds is always working from current numbers, not last Tuesday's export.
Describe what you want in plain English: 'Build me an AR aging dashboard that shows every open invoice by days outstanding, flags accounts that have been in the 60+ bucket for two or more weeks, and groups them by risk tier.' The agent builds it.
The Runway Analysis starter app gives you a live view of cash inflows from Stripe and Plaid alongside your outstanding AR — so you can see exactly how collections pressure maps to your burn runway without building the view from scratch.
Connect Gmail or Outlook from Starch's integration catalog and build an automation that drafts collection emails for each aging tier on a schedule — the agent pulls the invoice data, writes the email, and queues it for your one-click review before anything sends.
The Email Triage app surfaces and prioritizes inbound customer replies on outstanding invoices, summarizes payment dispute threads, and drafts follow-up responses — so you're not manually scanning your inbox for the customer who replied to a 90-day notice.
Build a weekly collections summary automation that pulls fresh AR data from QuickBooks, compiles the aging movement report, and posts a plain-English summary to Slack every Monday morning — no manual export, no session to re-run.
Get closed-beta access →
Toolkit

Starch apps for this workflow

Pick your role

See this workflow by operator

Run track ar aging and run collections on Starch

You're on the list! We'll be in touch soon.