900 Invoices. Two AR Specialists. Zero Hours Left. How batch, streaming, and ML workflows turn accounts receivable from a cost center into a cash flow engine

Three types of intelligence. One operation. Production requires all three.

April 3, 2026 10 min read
The Math Nobody Wants to Do What the AR Team Actually Does Batch Workflows Streaming Workflows Traditional ML Why This Compounds The Day Two Question

A wholesale distributor sells cleaning supplies to 2,400 commercial accounts. Net-30 terms. At any given time, 900 invoices are past 60 days. Two AR specialists make calls. They reach maybe 30 accounts a day between them. By the time they get to most of the list, invoices have aged to 90 days. Then 120. Then write-off.

This is not a staffing problem. It is a math problem. And the math does not wait.

Voice AI for Accounts Receivable Collection

The Math Nobody Wants to Do

The recovery rate on invoices past 90 days drops to 18%. On invoices contacted within the first 10 days of becoming overdue, it is 74%. The difference is not effort. It is speed. And speed at this volume requires more people or fewer phone calls per resolution.

The compounding problem: Every day an invoice goes uncontacted, its recovery probability drops. Two specialists reaching 30 accounts a day means 870 invoices aging without contact each day. At current rates, most of the list hits 90 days before anyone picks up the phone.

They cannot hire four more AR specialists. The margin on cleaning supplies does not allow it. So the list grows. The write-offs grow. And the cash flow constraint tightens quarter over quarter.

This is not an AI problem. It is a cash flow problem that compounds every day it goes unsolved.

0%
Recovery Rate (Within 10 Days)
0%
Recovery Rate (Past 90 Days)
0
Invoices Past 60 Days

What the AR Team Actually Does

Break the AR workflow into its five actual steps and something becomes clear. Three different types of intelligence are required. Most platforms handle one. Production requires all three.

1

Pull overdue invoices from the ERP

Batch operation. Connect to the ERP, query invoices where days_past_due > 30, pull the full dataset.

2

Filter, prioritize, check business rules

Batch operation. Sort by amount multiplied by days_past_due descending. Check time zones. Apply account-level rules. Output a prioritized call list.

3

Call each account, determine status

Streaming operation. Voice AI places outbound calls, conducts conversations, captures structured dispositions in real time.

4

Log outcomes, schedule follow-ups, update CRM

Batch operation. Every call disposition writes back to the CRM. Follow-ups get scheduled. Escalations get routed.

5

Predict which accounts need early intervention

Traditional ML. A model trained on historical payment data and call outcomes identifies which accounts will default before they hit 60 days.

Key Takeaway

Three types of intelligence. One operation. Batch handles the logic. Streaming handles the conversations. ML handles the prediction. Most platforms do one well. Production AR requires all three working together.

Batch Workflows - The Logic Layer

The batch workflow runs Monday and Thursday at 7am. It connects to the ERP. Pulls every invoice where days_past_due is greater than 30. Sorts by amount multiplied by days_past_due, descending. Checks the time zone for each account so West Coast accounts are not called at 5am. Outputs a prioritized call list.

This is not a cron job with a SQL query. It is a visual workflow with conditional logic, data source connections, and scheduling built in. The AR manager can see every step. She can add a rule that says "if the account has a credit memo pending, skip it." She can change the priority weighting. She can add a new data source. No code required.

Why visual workflows matter here: The AR manager is the domain expert. She knows that accounts with pending credits should not be called. She knows that restaurant accounts always pay late but always pay. The workflow needs to encode her knowledge, and she needs to be the one encoding it.

The output is a structured JSON list. Account name, contact number, invoice number, amount, days overdue, time zone, priority score, and any special handling notes. This list feeds directly into the streaming workflow.

Streaming Workflows - The Conversation Layer

For each record on the call list, the system places an outbound call. The AI agent identifies itself. States the invoice number and amount. Asks a direct question: "Can you confirm when payment will be sent?"

The conversation branches based on what the person says. Each branch has a defined outcome and a set of structured fields to capture.

"Already sent payment"

Log the response. Verify against bank records. Schedule a follow-up in 5 business days to confirm receipt.

"Cash flow issues"

Offer a payment plan with predefined terms. If the account accepts, log the agreement. If not, transfer to the AR manager for negotiation.

"That invoice is wrong"

Log the dispute. Capture the specific reason. Route to the billing team with the invoice number, disputed amount, and the account's stated issue.

"Wrong number"

Capture the updated contact information if available. Flag the account for CRM update. Move to the next record.

No answer

Retry in 48 hours. After 3 failed attempts, escalate to email outreach. After email fails, flag for human follow-up.

Every call produces a structured disposition. Not a summary. Not a transcript. Specific fields: payment_status, expected_payment_date, dispute_reason, new_contact_info, escalation_needed, retry_date.

300 calls a day. Structured data from every one. The AR team handles the 15 that need a human. That is 15 conversations with context, not 300 dials into the void.

The AI does not replace the AR specialists. It gives them 285 fewer calls to make and 15 conversations that actually need their expertise.

Traditional ML - The Prediction Layer

After 90 days of call data, a model trains on outcomes and payment history. It learns patterns that the AR team has always known intuitively but could never act on at scale.

Restaurant accounts pay 12 days late but always pay

The model learns that restaurant accounts in this distributor's portfolio have a 96% eventual payment rate. They are slow but reliable. Calling them on day 31 is wasted effort. The system deprioritizes them automatically.

"Payment in transit" is accurate 78% of the time

When an account says payment is in transit, the model knows from historical data that 78% of the time, the payment arrives within 7 business days. The system schedules a verification check instead of an immediate escalation.

Second-time promise breakers have a 6% chance of paying without escalation

An account that missed a promised payment date twice has a 6% chance of paying without human intervention. These accounts jump to the top of the list and get routed directly to the AR manager on the next call.

The batch workflow uses these predictions. Restaurants drop to the bottom of the call list. Repeat offenders jump to the top. The AR manager gets a weekly report of likely write-offs before they hit 90 days, with enough lead time to intervene.

Why This Compounds

The recovery rate does not stay flat. It compounds. Because every call generates data. The data trains the model. The model makes the next batch smarter. Here is what that looks like over six months.

Week 1
300 calls per day. AR team handles escalations only. Structured data collection begins. Every call produces a disposition record.
Week 4
40% of "already sent" responses are verified accurate. The system learns which accounts reliably self-report. Those accounts get auto-confirmed with a verification check instead of a follow-up call.
Month 3
ML model trained on 90 days of call data. High-risk accounts are now called on day 5, not day 30. The priority algorithm shifts from simple amount-times-days to a risk-weighted score.
Month 6
DSO drops from 58 to 41. Write-offs down 35%. The cash that was locked in aging receivables is now flowing. The constraint on the business loosens.
Feedback Loop Batch Prioritize Streaming Collect ML Predict

The recovery rate does not stay flat. It compounds. Because every call generates data. The data trains the model. The model makes the next batch smarter.

The Day Two Question

This is not about the demo. It is about month 7. About the Tuesday morning when the batch workflow runs, the ML model has six months of data, and the call list is ordered by predicted recovery probability instead of simple aging.

Cash flow problems do not announce themselves. They accumulate. One unpaid invoice is a line item. Nine hundred is a constraint on the business. It limits what you can buy, who you can hire, which opportunities you can pursue.

The question for the founder reading this: what is the cost of reaching 30 accounts a day when 900 need to be reached this week? And what changes when that number is 300?

Batch workflows handle the logic. Streaming workflows handle the conversations. ML models handle the prediction. Built together, they do not just collect receivables. They shorten the cash cycle permanently.

That is AI that compounds, not expires. Each week the system runs, the data gets richer, the predictions get sharper, and the AR team focuses on fewer, higher-value conversations. The ROI on month 6 is materially better than the ROI on month 1.

What Is Costing Your Operations Team Time?

Talk to an FDE this week about the workflows that compound.

Talk to an FDE