Centrix
FeaturesPricingBlogDemo
Sign InRequest Demo

The Customer About to Churn Has Been Paying You 11 Days Slower for 3 Months — Catch It Earlier

Ion Repida·May 8, 2026·9 min read
customer health collections trucking

DSO is a customer-by-customer story

The fleet-wide DSO number — 39 days on average, 47-52 days on most mid-size carriers — is a useful headline but a useless management tool. Days-to-cash isn't fleet-wide. It's customer-by-customer. Three customers paying you 65 days drag the average up while fifteen others paying you 28 days look fine. Treat the average and you miss the actual problem.

The real story shows up when you look per customer:

  • Customer A — $40K/month, paying 28 days. Healthy.
  • Customer B — $80K/month, paying 38 days, slowing 2-3 days/month for

3 months. About to churn or default.

  • Customer C — $25K/month, paying 19 days. Unicorn.
  • Customer D — $120K/month, paying 51 days, $310K open vs $250K credit

limit. Stop dispatching.

Centrix's customer health layer puts these stories on a single dashboard and ties them to the dispatch decision.

What gets tracked per customer

The `customer_health` service computes daily for every active customer:

  • Average days-to-pay — trailing 90 days
  • Days-to-pay trend — 30-day vs 90-day average
  • Open A/R balance vs credit limit
  • Disputed amount outstanding
  • Days since last payment
  • Payment composition — credit card, ACH, check, factor, none
  • Volume trend — load count and revenue 30-day vs 90-day

These combine into a customer health score (0–100), with three tiers:

  • Green (80+): healthy, dispatch normally
  • Yellow (50–79): monitor; sales / accounting check-in suggested
  • Red (<50): hold at next dispatch decision; collections workflow active

Credit limit enforcement at dispatch

This is the piece that changes the operational reality. Most carriers "have" credit limits in their TMS but don't enforce them — the dispatcher books the load anyway, the back office collects later (or doesn't). Centrix enforces at the dispatch layer.

When a dispatcher is matching a load to a truck, Centrix checks the customer's open A/R against their credit limit. If accepting the load would push them over, the load is held with a clear explanation: "Customer XYZ is $310K open against $250K credit limit. Accept anyway? Requires sales/accounting approval."

The override is one click for an authorized user — but it's logged, and the explicit approval shifts the decision back to the right people. Most loads that would have been blindly accepted under the old workflow don't actually need to be accepted; the customer either pays down or the load goes to someone else who paid.

Exposure-ranked collections

The collections workflow surfaces accounts ranked by exposure, not alphabetically or chronologically. Exposure = open A/R × probability of non-payment. A $100K account from a customer paying 60 days slow on a trend isn't equivalent to a $20K account from a Fortune 500 paying 32 days on a stable trend — even if both have the same days-overdue stamp.

The collections role works the highest-exposure list first, with each call backed by:

  • Full customer payment history
  • Current open A/R aging
  • Active disputes
  • Sales contact and recent communications
  • Last 5 emails / calls logged in the comm hub

The call is supported, not blind. Recovery rates on managed fleets running this workflow consistently outperform legacy aging-only collections processes by 25-40%.

Customer churn early warning

The slowing-payment signal is also the strongest churn signal. Customers don't churn in a single decision — they slow down first. By the time volume drops, the relationship is already gone. Centrix flags slowing- payment trends with a 60-90 day lead time on the volume drop, giving the sales team a window to intervene.

The intervention isn't always defensive ("please don't leave"). Sometimes it's offensive — the customer's volume is steady but their pay is slowing because their cash is tightening, and a small concession (faster invoice schedule, factor relationship) preserves the relationship through their crunch.

Either way, the conversation needs to happen before volume drops, and the customer health layer is what surfaces the moment to have it.

What the math looks like

A $12M-revenue carrier with 80 active customers:

  • Bad debt write-offs: 0.8% of revenue baseline = $96K/year
  • Customer churn cost: 5-8 customer relationships/year × $200K avg revenue =

$1M-1.6M of revenue gap

  • Collections cost: 1 FTE @ $70K loaded = $70K/year

Centrix's customer health workflow targets all three:

  • Bad debt: 30-50% reduction = $30K-48K/year saved
  • Churn: catch 50% of slow-payment churners with 60-day lead time =

2-4 saved relationships = $400K-800K of revenue preserved

  • Collections: per-FTE productivity 30-40% higher because the work is

ranked, not chronological

Total impact on a $12M carrier: $430K to $850K/year depending on the shape of the customer base.

Where to start

If you're 50+ trucks and have never run customer-by-customer health:

  • Pull last 12 months of customer payment data into Centrix. The first run

usually identifies 5-12 customers in the yellow / red zone that nobody on ops realized were trending poorly.

  • Set the credit-limit enforcement on for the top 20 customers first.

Watch the override rate. Most carriers find <5% of dispatches actually need override.

  • Build the weekly collections call list. Run for 60 days and measure

collections recovery vs the prior 60.

Book a customer health review — bring 18 months of A/R aging by customer and we'll show you the trend curves on the customers that matter most.

Frequently Asked Questions

How is the customer health score calculated?▾
Composite of average days-to-pay, payment trend (30d vs 90d), open A/R vs credit limit, disputed amount, days since last payment, and volume trend. Each component is normalized against industry benchmarks and the customer's own history.
What about factored receivables?▾
Factored invoices show in the open A/R against the factor, not the underlying customer. The customer health score still includes the underlying customer's pay-to-factor history, since slow pay to factor is the same churn signal as slow pay to carrier.
Can I override a credit-limit hold?▾
Yes — authorized roles (sales manager, accounting manager, admin) can approve overrides with one click. The override is logged with reason and a hash-chain entry, so you have an audit trail of who approved what and why.
Does this work with broker customers vs direct customers?▾
Both. Broker payment patterns are typically more stable (large payers, predictable cycles); direct shipper patterns are more variable. The score is calibrated separately for each segment so a broker isn't compared against a direct shipper's payment cadence.
What happens to the customer's relationship if I hold their loads?▾
The hold isn't visible to the customer — only to the internal team. The approval conversation happens internally first. If the conclusion is 'don't dispatch,' the carrier handles the conversation with the customer the same way they would today; Centrix just made sure the conversation happens before the load is on the road.
Centrix

AI fleet intelligence for trucking companies. Built for 20-500 truck fleets.

Product

  • Features
  • Pricing
  • Demo
  • Sign In

Legal

  • Privacy
  • Terms
© 2026 Centrix. All rights reserved.