How to track ar aging and run collections as Small RevOps Teams

Finance & FP&AFor Small RevOps Teams2 apps12 steps~24 min to set up

On a 2-person RevOps team, AR aging lives in three places at once: an export from QuickBooks or NetSuite that's already stale by the time you paste it into Sheets, a HubSpot deal record that hasn't been touched since the contract closed, and a Gmail thread where the founder promised net-60 terms to a customer who's now at day 89. You find out an account is delinquent when a rep asks why their commission hasn't cleared, not because you have a system. Running collections means manually emailing customers, logging the outreach in HubSpot, and hoping someone remembers to follow up. You have 30 reps generating pipeline noise all day — AR hygiene is nobody's job, which means it's your job.

Finance & FP&AFor Small RevOps Teams2 apps12 steps~24 min to set up
Outcome

What you'll set up

A live AR aging dashboard that pulls invoice and payment data from QuickBooks or NetSuite on a schedule, buckets open balances by 0-30, 31-60, 61-90, and 90+ days, and surfaces the accounts that need action today — without you touching a spreadsheet.
An automated collections outreach sequence that drafts and sends reminder emails from Gmail when invoices cross aging thresholds, logs each touchpoint back to the deal in HubSpot, and flags accounts that haven't responded after two attempts.
A weekly AR summary that Slacks your team every Monday with total open AR, the top 5 highest-risk accounts by days outstanding, and any new invoices that aged into a worse bucket since last week.
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Apps used
Data sources & config

Starch syncs your QuickBooks data on a schedule — invoices, payments, vendors, and journal entries refresh automatically, so your aging buckets are always current without a manual export. Starch also syncs your HubSpot contacts, companies, and deals on a schedule so rep ownership and deal context travel with each invoice. Gmail is connected as a scheduled-sync provider so Starch can send collections emails and log replies. Slack is connected from Starch's integration catalog so escalation alerts reach your team live. If your billing system is NetSuite instead of QuickBooks, Starch syncs that on a schedule too — invoices, expenses, and income statements included.

Prompts to copy
Build me an AR aging dashboard that pulls all open invoices from QuickBooks, groups them into 0-30, 31-60, 61-90, and 90+ day buckets, shows the customer name, invoice amount, due date, and days outstanding for each, and lets me filter by rep owner pulled from HubSpot deals. Flag any account over 60 days in red.
Create an automation that runs every Monday at 8am, identifies any open invoice that has crossed a 30-day aging threshold since last week, drafts a collections reminder email in Gmail addressed to the billing contact from the QuickBooks record, and logs the outreach as an activity on the matching HubSpot deal. If the invoice is over 90 days and has had two unanswered reminders, escalate by Slacking me directly with the account name and outstanding amount.
Show me a collections activity log that tracks every reminder email sent, grouped by account, with the date sent, which aging bucket triggered it, the current outstanding balance, and whether a payment has been received since the last outreach.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect QuickBooks (or NetSuite) as a scheduled-sync provider — Starch pulls your invoices, payments, and vendor data on a schedule. No CSV exports, no manual refresh.
2 Connect HubSpot as a scheduled-sync provider — Starch syncs contacts, companies, deals, and owners so you can match every open invoice to a rep and a deal record.
3 Connect Gmail as a scheduled-sync provider so Starch can read incoming payment confirmations and send outbound collections reminders on your behalf.
4 Connect Slack from Starch's integration catalog so escalation alerts for 90+ day accounts can be pushed to a #revops-alerts channel or directly to you.
5 Describe your AR aging dashboard in plain language: tell Starch which aging buckets matter to your CRO (0-30, 31-60, 61-90, 90+), what columns you want (account name, invoice number, amount, due date, days outstanding, rep owner), and what threshold should trigger a red flag. Starch builds the view.
6 Set up a Monday-morning automation prompt: Starch checks all open invoices, identifies accounts that crossed an aging threshold in the last 7 days, and queues draft reminder emails in Gmail addressed to the billing contact on the QuickBooks record.
7 Configure the HubSpot activity logging step: every time Starch sends a collections email, it writes an activity note to the matching deal in HubSpot — date, email subject, and aging bucket — so reps can see the history without asking you.
8 Add the escalation rule: if an account is over 90 days and has two logged outreach attempts with no payment recorded in QuickBooks, Starch Slacks you with the account name, total outstanding, and a link to the deal in HubSpot.
9 Build the weekly AR summary: every Monday before standup, Starch Slacks a digest showing total open AR by bucket, the top 5 accounts by days outstanding, and any accounts that moved from one bucket to a worse one in the past week.
10 Fork the Sales Agent CRM app to add an AR health field to each company record — a calculated status (Current, 30+, 60+, 90+) that your reps can see in Starch without needing a QuickBooks login.
11 Once the system is running, add a 'payment received' trigger: when QuickBooks records a payment against a previously flagged invoice, Starch can automatically close the collections thread in Gmail and update the HubSpot deal stage so nothing stays marked delinquent after a customer pays.
12 Review the collections activity log weekly — not to manage the queue manually, but to spot patterns: which customers consistently pay late, which reps have the highest AR concentration, and whether your current net terms are creating avoidable cash flow drag.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Q1 2026 AR cleanup — March close

Sample numbers from a real run
Meridian Logistics (91 days, $18,400)18,400
Crestwood Partners (64 days, $9,750)9,750
Halcyon Health (44 days, $6,200)6,200
Dunmore Manufacturing (32 days, $3,900)3,900
Total open AR surfaced by Starch38,250

Going into March 31st, your team had $38,250 in open AR that nobody had a clean view of. Meridian Logistics at $18,400 and 91 days outstanding had a QuickBooks invoice, a HubSpot deal marked 'Closed Won,' and zero logged outreach — because the invoice got sent, the rep moved on, and nobody owned follow-up. Starch's Monday morning automation had already fired two Gmail reminders to Meridian's billing contact (logged as HubSpot activities on the deal) and escalated to your Slack on day 84 when the second reminder went unanswered. By March 31st, Meridian had replied and committed to payment by April 7th — something that would have stayed invisible until a rep asked about their commission. Crestwood at $9,750 and 64 days got a second reminder email that week; Halcyon at $6,200 and 44 days got their first. Dunmore at $3,900 and 32 days was in the queue for a first touch on April 1st. Without Starch, you would have exported a QuickBooks aging report on March 28th, cross-referenced it against HubSpot in a tab, drafted emails manually, and maybe gotten to two of the four accounts before month-end prep consumed the rest of your day.

Measurement

How you'll know it's working

Days Sales Outstanding (DSO) — tracked monthly against your net terms (net-30, net-45, net-60) to measure whether collections is actually improving
AR aging bucket distribution — percentage of open AR in each bucket (0-30, 31-60, 61-90, 90+) as a share of total; 90+ as a standalone number for board reporting
Collections outreach response rate — what percentage of automated reminder emails result in a payment or payment commitment within 7 days
Average days to collect by rep — which reps' accounts consistently pay late, so you can surface the pattern to the CRO without it feeling like an accusation
Escalated accounts cleared per month — how many 90+ day accounts moved to paid after the Slack escalation triggered, as a measure of whether the automation is actually closing the loop
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

QuickBooks AR aging report + manual email
The QuickBooks aging report is accurate but static — you export it, work the queue manually, and log nothing back to HubSpot; there's no automation, no escalation, and no audit trail without building it yourself in Sheets.
HubSpot sequences for collections outreach
HubSpot sequences can send reminder emails but don't know your QuickBooks invoice status — you'd have to manually enroll contacts into a sequence every time an invoice ages, which defeats the purpose of automation.
Chaser or Collect (dedicated AR automation tools)
Purpose-built AR tools handle collections well but add another vendor, another integration to maintain, and don't connect to your HubSpot pipeline or Slack alerting without custom work — Starch handles the whole workflow in one place.
Google Sheets AR tracker (manually maintained)
A Sheets aging tracker gives you full control over layout but goes stale the moment someone forgets to update it; it has no ability to send emails, log to HubSpot, or alert you in Slack without Apps Script that breaks on the next schema change.
On Starch RECOMMENDED

One platform — sales agent crm, founder inbox all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

Does Starch actually write into HubSpot, or just read from it?
Starch syncs HubSpot data on a schedule for reading — contacts, companies, deals, and owners. Writing activity notes back to HubSpot deals (like logging a collections email) is done through Starch's integration catalog connection, which queries HubSpot live when the automation runs. So yes, the outreach log gets written back to the deal record. If you need to update a deal stage in HubSpot when a payment clears, you can describe that step and Starch will include it.
What if our billing is in NetSuite instead of QuickBooks?
Starch syncs NetSuite on a schedule — invoices, expenses, journal entries, balance sheets, and income statements. Everything described here works the same way with NetSuite as the source. If you run both (NetSuite for actuals, QuickBooks for something else), you can connect both and tell Starch which one to use for invoice aging.
Will the collections emails look like they came from a robot?
That's up to you. You describe the tone in your prompt — 'professional but warm, reference the invoice number and due date, don't mention this is automated' — and Starch drafts accordingly. You can also review the first few before they send and iterate on the template until it sounds like you wrote it.
Is Starch SOC 2 certified? We'd need to get security approval before connecting billing data.
Starch is not SOC 2 Type II certified today. That's the honest answer. If your security review requires SOC 2 Type II, that's a real blocker for now. It's worth flagging internally so you know what you're working with.
Our QuickBooks report views (like P&L and Transaction List) stopped syncing. Is that a Starch issue?
Yes, and it's a known one. QuickBooks report views — P&L, Transaction List, Vendor Expenses — are temporarily disabled while an upstream connector issue gets fixed. Entity-level data syncs normally: invoices, bills, payments, vendors, and journal entries are all coming through. AR aging is built on invoice and payment entities, so this workflow is not affected.
Can Starch handle collections for a billing system that doesn't have a direct integration — like a custom invoicing tool we built in-house?
If your billing system has a web interface you can log into, Starch can automate it through the browser — no API needed. You'd describe what Starch should do: log in, navigate to open invoices, pull the data. It's more setup than a direct sync, but it works for tools that have no integration otherwise.
How do we make sure a collections email doesn't go out to an account the rep is actively negotiating a renewal with?
You build that logic into the automation prompt. Tell Starch: 'Skip any account where the HubSpot deal stage is Renewal Negotiation or where the deal was updated in the last 7 days.' Because Starch is reading both QuickBooks and HubSpot, it can apply that cross-system filter before any email goes out.

Ready to run track ar aging and run collections on Starch?

Request closed-beta access. Everything is free during beta.

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