{% comment %} CONTENT / prose block: long-form text with no classes on it. THIS IS THE SECTION THAT MATTERS FOR BLOG AND DOCS PAGES, and the one to copy if you render Markdown, a rich-text field, or anything a CMS produced. HOW IT WORKS. One class, .bw-prose, on the wrapper. Everything inside is bare HTML: h2, p, ul, blockquote, code, pre, table. You do not put a class on any of it, because content out of a CMS or a Markdown renderer does not have any. If you are rendering a body field, that is exactly this shape:
Most late payments are not disputes. They are invoices that reached the wrong inbox, sat in an approval queue, or were simply forgotten by someone who fully intended to pay.
That distinction matters, because the three causes need different responses and only one of them is a conversation about money. Chasing all three the same way is why chasing feels adversarial when it rarely needs to be.
We assumed we had a collections problem. We had an addressing problem. Two thirds of what we were chasing had never reached a person who could pay it.
Send to a role, not a person: accounts@ rather than a named
individual who may have moved on. Then make the reminder schedule
automatic, so the first nudge does not depend on anyone remembering.
A minimal schedule that works for most businesses:
due_date - 7d first reminder, friendly
due_date due today
due_date + 3d overdue, cc the account owner
due_date + 14d final notice before escalation
| Stage | Paid within 7 days | Needed a call |
|---|---|---|
| Before due date | 61% | 2% |
| Due today | 19% | 4% |
| Overdue, cc owner | 14% | 21% |
| Final notice | 6% | 73% |
The pattern is consistent: nearly two thirds of what you are owed can be collected before it is ever late, by an email nobody had to write. The rest is where a human should spend their afternoon.
Further reading: configuring reminder schedules and how late-payment prediction works.