Nebo · tutorial 10 · run the money

Chase overdue invoices without souring the relationship

Reminders that escalate on an aging schedule, stop the instant payment lands, and never reach a customer who is mid-dispute.

TimeAbout an hour
Rolescollections-specialist
Triggerschedule

Most small businesses are bad at collections for an emotional reason rather than an operational one: chasing feels rude, so it gets postponed until it is urgent, at which point it actually is rude. An employee has no such reluctance, which is exactly why it needs firm limits on tone.

Steps

1

Define the ladder before the first message

Aging ladder: Day 1-7 overdue: friendly nudge, assume oversight Day 8-21: direct, restate terms, ask for a payment date Day 22-45: firm, name the consequence, request escalation to their finance contact Day 46+: stop. Hand to me with a summary. Never threaten legal action. Never mention credit reporting. Never contact anyone outside the billing contact without asking me first.
2

Give it the suppression rules

This is the part that protects the relationship, and it must be explicit. An invoice being overdue is not sufficient reason to chase it.

Never send if: the invoice is disputed, the account has an open support escalation, a payment plan is agreed, the customer paid partially in the last 7 days, or a human has emailed them about this invoice in the last 5 days. Check all of these before drafting. If any apply, skip and tell me why.
The failure that costs you a customer

A dunning email arriving in the middle of a support complaint is how a recoverable problem becomes a cancellation. The suppression list is more important than the ladder.

3

Warm the tone for good payers

Check payment history before writing. If they have paid on time before, assume oversight and say so. A reliable customer who is late once should feel that we noticed they are usually reliable.
4

Make it stop on payment

Have it re-check payment status immediately before sending, not at the start of the run. A payment that lands mid-run must cancel the reminder, and this is the single most common complaint people have about automated chasing.

5

Schedule considerately

"trigger": { "type": "schedule", "cron": "0 10 * * 2" }

Tuesday mid-morning. Not Friday afternoon, when it will sit unread and sour over a weekend, and not Monday morning, when it joins the pile.

6

Set the gate

Stays human

Keep sending at approval until you have read a full month of drafts and agree with the tone of every one. After that, you may let the first two rungs of the ladder send unattended, but keep anything past day 21 gated permanently. The firmer the message, the more a human should see it.

Verify

  • Run against your real aging list with sending gated, and read every draft
  • Confirm it skipped every account on your suppression criteria
  • Mark an invoice paid mid-run and confirm the reminder does not go
  • Check a long-standing good customer gets the warm version
  • Confirm nothing over 45 days was contacted rather than escalated to you

When it goes wrong

It chased someone who had paid

It read payment status at the start of the run. Move the check to immediately before send.

The tone is too aggressive at day 10

Ladders compress under vague instructions. Give each rung an example message rather than an adjective.

It emailed the wrong person

Billing contact was missing so it fell back to whoever it could find. Require the billing contact and skip with a note if absent.