// Posted 2026-06-30

Your AR Aging Report Has 73 Invoices Past 60 Days

Your controller scrolls the past-60 bucket at 4:12 PM Friday, 17 invoices, $310K in unpaid renewals. Collections is a function you never staffed.

Stacked translucent invoice cards in dark space with three amber past-due cards pulled forward

It is the 28th of the month, 4:12 PM. Your controller pulls the AR aging report for the Friday close meeting. Total receivables read $1.84M. Current reads $940K. The 31-to-60 bucket reads $420K. The 61-to-90 bucket reads $310K. Past 90 reads $170K. She scrolls the past-90 column. Seventeen invoices, four logos that paid net 30 last year, one logo the AE renewed three weeks ago.

She opens the dunning template in HubSpot. The last automated reminder shipped on day 35. Nothing has gone out since. The collections folder in shared drive has two emails from the same controller, both drafted three weeks ago, both unsent. The Slack channel #collections shows the last message read "let's circle back next week" from May 18th.

She looks at the cash forecast. Operating cash drops below the covenant threshold in six weeks if the past-60 bucket does not clear. She opens the CFO's calendar to book a thirty-minute slot. The slot pushes to next Tuesday. Next Tuesday it pushes to the Tuesday after.

Collections and accounts receivable is a function. Most Series A and B teams have not staffed it because invoices go out on the 1st, the dunning template fires three reminders, and the CSM emails the buyer once when the invoice hits day 45. The function lives in the gap between the controller who closes the books and moves on, the CSM who does not want to nag the customer two weeks before a renewal call, the AE who closed the deal and stopped looking, the CFO who watches DSO drift, and the buyer who quietly waits for a fourth reminder before processing. On the org chart it sits inside Finance. In practice it sits nowhere.

The 73 invoices nobody is chasing

Pull every invoice from the last 120 days. Stripe, the QuickBooks AR ledger, the NetSuite invoice file, the manual wires, and the HubSpot deal records that reference an invoice number. Most teams find 200 to 600 active invoices at Series B with 12 to 25 percent past due more than 30 days. Six to ten percent sit past 60. Three to five percent are past 90 and uncategorized.

Walk the past-60 bucket. The first invoice is a $48K renewal where the buyer's AP system rejected the PO format and nobody on your side replied. The third is a $14K expansion where the CSM promised a credit memo in March that the controller never issued. The seventh is a $92K enterprise invoice where the buyer's procurement contact left in May and the new contact has never been emailed. Each invoice has a single, specific blocker. None of them are budget problems. All of them are nobody-owns-the-thread problems.

The team that should own this knows it is broken. The controller cannot chase 73 invoices and close the books in the same week the month-end close already runs fourteen days. The CSM does not want to risk the renewal conversation. The CFO watches DSO climb from 38 days to 51 days over two quarters and writes it into the board pack as macro. The function sits unstaffed while $310K of cash sits one email away.

Hiring a collections analyst is the slow answer

The textbook fix is a collections analyst or AR manager. Loaded comp in the US runs $80K to $130K a year. Months one through two go to learning the customer base, mapping the invoice systems, and writing dunning templates. Months three through six are when DSO moves from 51 days to 44 days as the past-60 bucket clears.

The fractional version is faster to start and stops at the same wall. Three to seven thousand a month buys ten hours a week of senior AR time. The first month closes seven big-ticket invoices and pulls $180K of cash forward. The 50 small-ticket invoices that move DSO another four days each stay untouched because the hours run out and the consultant moves to the next client.

Both versions assume the work is a person making forty phone calls a week. The work itself is reading every invoice the day it ages past 30, knowing which buyer contact is current, drafting an email that names the blocker, escalating the right invoice to the right CSM, scheduling the right call, applying credit memos before the buyer asks, and never letting an invoice age into the past-90 bucket without three named attempts. On 73 past-due invoices that is 30 to 50 hours a week of senior AR work, and no single hire clears that pile while also building the dunning playbook.

What a fractional AI AR function does

Hand the invoice ledger, the Stripe feed, the QuickBooks AR file, the HubSpot deal records, the CRM contact map, the email and SSO directory, and the CSM book to a fractional AI agent that runs on a daily cadence. The agent does the work an AR analyst, a junior CSM, and a finance partner would do together. The cadence is daily on aging, weekly on the past-60 bucket, monthly on the cash forecast feed, quarterly on dunning playbook updates.

Every invoice tracked the day it ships. New invoices get logged against a buyer contact, a payment term, a PO number, an AP portal, and the CSM owner inside 24 hours. The $48K renewal blocked on a PO format gets flagged in week one, not week nine. The drift between day 30 and day 60 stops being invisible.

Dunning sequenced against the buyer, not the template. Day 7, day 21, day 35, day 50, and day 65 reminders go out with the buyer's actual AP contact named, the PO referenced, and the blocker the agent can infer from the last response. The buyer who needs a W-9 reupload gets it on day 7. The buyer whose AP portal rejected the invoice gets a resubmission link on day 14. Same shape as the lead routing function on the sales side, run on the back end.

Past-60 bucket triaged weekly with the actual blocker. The agent reads every invoice past 60 days, classifies the blocker into PO mismatch, missing W-9, AP contact rotation, credit memo pending, contract dispute, or unresponsive, and assigns each one to the controller, the CSM, or the AE with the draft email attached. The 73-invoice list resolves into five workstreams on a Monday morning, not a 90-minute audit pushed to a Tuesday.

CSM escalation triggered before the renewal call. Any past-60 invoice on an account with a renewal inside 90 days flags to the CSM with the deal context, the AR status, and a draft script for the renewal call. The CSM walks in knowing the buyer is sitting on $48K of unpaid, not surprised by it in the conversation.

Cash forecast fed nightly, not monthly. The expected collection date on every open invoice gets updated nightly based on AP cycle history, response patterns, and dunning state. The CFO opens the cash forecast Monday morning with a 14-day, 30-day, and 60-day collection projection that lands inside a 5 percent band. The covenant slide stops being a guess.

Glowing nodes flowing through translucent channels with one amber node clearing and one pink node branching down

The unit economics of a stalled AR ledger

A Series B company at $14M ARR with $1.84M in receivables and DSO at 51 days is sitting on $200K to $400K of cash that should already be in the bank. Pulling DSO from 51 to 41 days frees roughly $380K in one-time cash and saves 1.5 to 2.5 points of working capital cost a year, in the range of $40K to $80K of carrying cost on the float.

Layer in the people math. The controller, the CFO, the CSMs, and the AEs spend a combined 20 to 35 hours a month on dunning emails, AP portal lookups, credit memo workflows, and Slack threads about who is supposed to chase the $92K enterprise invoice. That is 240 to 420 hours a year of senior staff time on work a playbook covers, against a fully loaded hour of $180 to $260. The collections analyst hire runs $100K to $160K loaded with a two to three month ramp before DSO moves.

A 14-day sprint to stand up the agent runs in the low to mid five figures. Ongoing cost lands closer to one contractor than a finance hire. The 73-invoice triage lands on the controller's desk in week one. The first six-figure invoice clears in week two. The cash forecast feed runs nightly before the sprint closes.

What changes after the sprint

Picture the same 28th of the month, 4:12 PM moment, fourteen days after the sprint ships. The controller opens the AR aging report. Past 60 reads $98K against the $310K from a fortnight ago. Past 90 reads $42K. The dunning queue shows 31 reminders shipped today with the buyer's AP contact named on each. The cash forecast in the next tab projects a $1.42M collection over the next 30 days within a 4 percent band.

By Friday the $48K renewal is paid, the $92K enterprise invoice has a wire confirmation pending, and the $14K credit memo cleared on Tuesday morning. The CFO closes the board pack with DSO at 44 days, trending toward 38 by quarter end. The covenant slide reads steady. The Slack channel #collections shows ten actioned threads from the week, none of them named "let's circle back."

If your AR currently lives on a Friday-close aging report nobody opens between months and a dunning template that fires three reminders and stops, the version where every invoice is tracked the day it ships and the past-60 bucket gets triaged every Monday is fourteen days away. Collections and AR is a function. You can hire against it, you can outsource a fractional controller for it, or you can scope a sprint and have it running this month. The work is the same. The math is not.

// Related notes