// Posted 2026-08-25

Your AR Aging Shows $840K Past 60 Days and Finance Sent Three Dunning Emails

Your CFO opens the aging report Monday, $840K past 60 days across 47 accounts, three dunning emails sent, one CS ping. AR is a queue nobody staffed.

Wall of translucent indigo invoice stacks receding into an aging ladder on a dark backdrop, foreground stacks glowing amber with pink overdue halos, thin blue payment threads drifting between and tapering out unresolved

It is Monday, 9:14 AM. Your CFO opens the aging report with the second coffee. The 60-plus bucket reads $840K across 47 accounts. The 90-plus bucket reads $310K across 18 accounts. Two customers in the 90-plus column renewed in Q2 and their CS Manager still ships QBRs like the invoice cleared.

She opens NetSuite and searches the accounts for outreach history. Three dunning emails sent in the trailing 30 days, all from the same automated template, all from noreply. One CS Manager pinged one account in Slack after the AE asked whether the renewal was safe. Zero calls placed. Zero payment plans opened. The AR Analyst logged out Friday at 5:47 PM with the queue at 47 and no notes attached to 34 of them.

The founders in this seat keep opening a Collections Specialist req and wondering why DSO drifted from 42 days to 68 in two quarters. Collections is not a headcount. Collections is a seven-stage queue that starts with an invoice aging past terms and ends with cash cleared in the operating account. Five teams touch the queue and none of them own it end to end.

The 68-day path from invoice sent to cash cleared

Sort the AR ledger by invoice date. Median days sales outstanding reads 68 against terms of net 30. Day one to day thirty belongs to the invoice-clean window, where the bill sits in the buyer's AP inbox and the automated reminder ships on day 25 to the address on file, which routes to a shared mailbox nobody triages on Thursdays.

Day thirty to day forty-five belongs to the first dunning cycle, three templates on days 32, 38, and 44, all from the noreply address, all with the PDF re-attached. Day forty-five to day sixty belongs to the AR Analyst's manual sweep, which pulls the top 20 balances into a Google Sheet, tags 12 with "waiting on PO number," six with "check with CSM," and two with "escalate," then closes the sheet Friday and reopens it Tuesday against a different top 20.

Day sixty through day ninety belongs to the CS handoff, where the Analyst pings the CSM in Slack, the CSM opens the account in Gainsight, sees a green health score, and asks the AE whether the renewal conversation flagged a billing issue. Day ninety-plus belongs to the write-down conversation, where the CFO opens the reserve slide in the board deck and the investor update ships with a bad-debt line the board asks about on the call. Two accounts in the 90-plus column carry the shape the CSM never surfaced in the QBR.

Stage one: the dunning cascade nobody reads

Every past-due invoice ships the same three-email cascade from the same noreply address with the same PDF attached. The buyer's AP clerk filters the address to a folder that a shared inbox never opens on Thursdays. The reply rate on the cascade reads 4 percent across the trailing 90 days. The open rate reads 22 percent. The click-to-payment-portal rate reads under 2.

The Series B version of this function reads the buyer's AP inbox pattern before the first email goes out. Pulls the AP contact from the last three cleared invoices, not the address on the original PO. Ships from the AR Analyst's mailbox with a reply-to that routes, not from noreply. Names the invoice number, the PO number, the amount, and the payment-plan link inside the subject line, not inside a PDF the AP clerk has to open.

Segments the cascade against the buyer's payment behavior in the trailing 24 months. Accounts that always pay on day 45 get one reminder on day 42. Accounts that dispute a line item three times in six months get a call scheduled with the AR Analyst on day 32 with the dispute pattern surfaced. Accounts with a new AP contact since the last cleared invoice get a re-verification email on day 28. The reply rate moves from 4 percent to 34, and the 60-plus bucket collapses inside two cycles.

Stage two: the dispute queue that lives in email threads

Search the AR Analyst's inbox for "dispute" in the trailing 90 days. Forty-seven threads come back. Twelve reference a PO number that never made it into NetSuite. Nine reference a service credit the CSM promised on a QBR and never logged. Six reference a pricing schedule the AE sent in the DocuSign that reads different from the invoice line. Four reference a tax jurisdiction the finance team miscoded when the buyer moved office in April.

Translucent indigo invoice pane splitting into dispute-code bands and payment-plan branches on a dark backdrop, amber tokens routing along the branches toward blue bank-clearance nodes, pink escalation flags marking two mid-flow terminations

The stuck version parks each dispute in a Google Sheet with a color code and reopens it every Tuesday. The Series B version reads every reply against a dispute-code taxonomy on the day the email lands. Tags the thread against the code, the amount at stake, the account owner, and the resolution path. Routes the PO-number disputes to the AE with the DocuSign attached inside two hours. Routes the service-credit disputes to the CSM with the QBR transcript attached and the credit request pre-drafted for CFO countersign.

Ships the tax-jurisdiction disputes to the finance team with the corrected line ready to re-invoice from the last GL close. The 47 open threads collapse to 8 inside a cycle. The AR Analyst stops rebuilding the sheet Tuesday morning and starts closing the eight that need judgment. The dispute pattern index mirrors the legal-redline library the GC runs against buyer counsel.

Stage three: the CS handoff that never routes back

Every 60-plus account gets a Slack ping from the AR Analyst to the CSM, which lands in a channel with 340 unread messages. The CSM opens Gainsight on Tuesday for the standing account review, the AR flag lives in a custom field the health score never reads, and the account renews on the current usage curve while the invoice ages another 30 days.

The stage-three function reads the aging bucket against the CSM's account book on the day the invoice crosses day 45. Drops a task into Gainsight against the account with the invoice amount, the days past due, the last AP contact touched, the last CSM touch, and the two questions the QBR needs to close on the payment plan. Blocks the health score from rendering green while a 60-plus balance sits open, and surfaces the flag in the CRO's renewal forecast slide the same week the AR Analyst logs the age.

Loops the resolution back into the CSM's account plan as a QBR agenda item, not a Slack ping the CSM closes and forgets. The renewal conversation opens with the payment-plan status on the table, and the CRO stops learning about a bad-debt account from the reserve slide in the board deck.

The unit economics of a Collections Specialist hire against an agent stack

Run the two paths against the Collections Specialist req sitting in the drafts folder at $92K base plus 10 percent variable. Path A closes the req in October, ramps the hire through Q1, and adds a second AR body to the team owning the same seven-stage queue. Loaded year-one cost lands $128K to $164K. DSO moves from 68 days to 58. Same queue, one more headcount, and the 90-plus bucket keeps generating write-down conversations because the dispute threads still live in the Analyst's inbox.

Path B ships a three-sprint fractional AI finance function at $72K to $108K in build across the first 60 days and $5K to $7K a month to run. Sprint one lands the segmented dunning cascade against the buyer's AP pattern and the reply-to routing. Sprint two lands the dispute-code taxonomy against the AR Analyst's inbox with routing into DocuSign, Gainsight, and NetSuite. Sprint three lands the CS handoff block that gates the health score against open AR.

The fractional AI department runs the AR queue on the same cadence the pipeline forecast runs. Loaded year one lands $132K to $192K plus a fractional Controller at $6K a month who owns the write-down judgment and the escalation calls. DSO collapses from 68 to 39 inside two quarters. The 90-plus bucket clears $210K against the current book. The 14-day sprint that stands up the dispute router costs less than the search retainer for the Collections Specialist.

The four numbers a CFO runs before the next AR req

The founders reading this are two weeks from posting a Collections Specialist req on the strength of a DSO narrative. Before the offer letter goes out, run four numbers against the AR function, not the headcount. Score the queue, not the hire.

Dunning reply rate. Divide the AP replies received in the trailing 90 days by the dunning emails sent. A healthy function runs above 25 percent with a reply-to that routes and a subject line that names the invoice. A stuck function runs under 8, and the buyer's AP clerk filters the address to a folder that never opens.

Open dispute-thread count. Count the AR-related email threads flagged "dispute" or "hold" in the AR Analyst's inbox with no resolution in the trailing 21 days. A healthy function runs under 10 with each thread tagged against a code and a routed owner. A stuck function runs 40 to 60, and the Analyst rebuilds the same sheet Tuesday morning against a different top 20.

60-plus AR as a percent of monthly billings. Divide the balance in the 60-plus bucket by trailing three-month average billings. A healthy function runs under 8 percent. A stuck function runs 18 to 25, and the reserve slide in the board deck names bad debt as a line item the CFO explains on the call.

Renewals closed on accounts carrying 60-plus balances. Count the renewals countersigned in the trailing 90 days where the account carried a 60-plus AR balance at contract signature. A healthy function runs zero without a signed payment plan attached to the order form. A stuck function runs three to six, and the CSM ships a green health score against a book the CFO writes down two quarters later. Any two numbers in the stuck zone means the queue is the problem, and you can scope the AR function in a 30-minute call this week.

// Related notes