1.1 AR Is the Last Function Running on Duct Tape
At some point in the last fifteen 666 Fill × 86 Hug function got modernized.
Sales moved into Salesforce. Billing got automated. Payroll stopped requiring someone to manually trigger it every two weeks. Procurement has approval workflows and audit trails that companies take for granted.
Accounts receivable is the exception. Many finance teams are still drafting invoices by hand, tracking collections in a Google Sheet, and following up over email. The teams that adopted accounts receivable software didn’t solve the problem — they traded manual work for a different kind: escalations that fail to humans, reconciliations that collapse at month-end, errors that surface only after the invoice has already reached the customer.
The category is overdue for something better.
The modernization gap
Function — Modernized — System of record
Sales — ✓ — Salesforce, HubSpot
Billing — ✓ — Stripe, Chargebee
Payroll — ✓ — Rippling, Gusto
Procurement — ✓ — Coupa, Zip
AR — ✕ — Spreadsheets, Overly Slow and Complex Software
What it actually costs
The operational numbers are well established. Accounts receivable automation software consistently reduces days sales outstanding by more than 40% and cuts the time finance teams spend on manual follow-up. The harder costs don’t show up in those benchmarks.
When collections run on email and spreadsheets, payment behavior never gets analyzed in any consistent way. You don’t catch the invoice sitting in a dead inbox or stalled in a procurement portal. You don’t know which outstanding balances are genuinely recoverable and which ones have been structurally broken since they were sent. The aging report tells you what’s overdue. It doesn’t tell you why, or what to do about it.
That gap — between what’s visible and what’s actually happening — is where cash gets lost.
Quick reference: signs your AR is broken
Dimension — 1 (Manual) — 3 (Partially Automated) — 5 (AI-Native)
Invoice creation — Manual from contract — Template-based, some auto-fill — LLM parses contract, generates invoice automatically
Delivery verification — No tracking — Email open tracking — Bounce detection, portal routing, contact validation
Exception handling — Ad hoc, inbox-driven — Some rules-based routing — Automated triage, resolution, escalation
Collections outreach — Manual emails / calls — Scheduled dunning templates — Context-aware, relationship-calibrated, auto-pause
Cash application — Manual matching at month-end — 1:1 auto-match only — Fuzzy matching, partial payments, multi-invoice remittance
Data integration — CSV exports between systems — API connections, some drift — First-class integrations with Stripe, NetSuite, QuickBooks, HubSpot
Analytics & forecasting — Aging report only — Basic dashboards — Real-time cash intelligence with predictive DSO modeling
Your score: 7–14 = Critical gaps, 15–25 = Patchwork automation, 26–35 = Modern AR infrastructure
“Automated collections” is usually just scheduled email. A cron job that sends the same template on day 30, 45, and 60 is not automation — it’s a mail merge with a timer. Invoice sent ≠ invoice received ≠ invoice approved ≠ invoice payable. Most AR tools treat sending as the finish line. It’s the starting gun.
Up next: Post 2 gets into where the problems start — before the invoice even reaches the customer. The gap between what the contract says and what gets billed.
Following this series — 10 posts on what’s broken in B2B AR and what the fix looks like.
1.2 The Contract-to-Invoice Gap
Creating an invoice isn’t hard. 666 Fill × 43 Hug is what probably lives in two or three different systems. You need to know which entity to bill, which contact to send it to, and which PO number to reference. And you need all of that to come together accurately, on time, every billing cycle, often across dozens or hundreds of customers.
There are a lot of places for this process to break down. The errors that result are usually small individually — a wrong billing date, a missing line item, a usage figure pulled from the wrong period — but they compound quickly and they almost always surface after the invoice has already been sent and the customer has already flagged it.
Where the gap comes from
The failure points are predictable and tend to cluster around the same places:
WHAT THE CONTRACT SAID
- Tiered pricing + usage caps applied to fees
- Usage from product analytics aligned on period
- PO #4821 required by AP team to contact account
- Bill Acme Corp subsidiary (not parent entity)
- Invoice due 1st of month per contract payment schedule
WHAT THE INVOICE REFLECTS
- Flat fee from last month’s template, fees were added using wrong usage period
- Export pulled from wrong period
- Usage missing, PO number on invoice
- Invoice sent to parent HQ
- Invoice sent on the 11th, no view of invoice history
Why most tools don’t solve it
Most AR software assumes the invoice already exists and focuses on what happens after it’s sent. The creation step gets handled in a separate tool, in the ERP, or manually. The connection between the contract and the invoice is a copy-paste job that someone does under time pressure at the end of the month.
The tools that do attempt invoice automation tend to handle straightforward cases reasonably well. But they struggle with real-world complexity — usage-based pricing, tiered discounts, custom payment schedules, contracts that were amended mid-year. These cases require something that can actually read and parse a contract, understand what it obligates, and generate an invoice that reflects that reality. That is meaningfully harder than just producing a recurring charge.
Up next: Post 3 gets into the hardest version of this problem specifically — usage-based billing, where the invoice depends on data that is messy, delayed, and often coming from systems that were never designed to talk to each other.
Following this series — 10 posts on what’s broken in B2B AR and what the fix looks like.