Every finance team we have talked to has a version of this Monday: the bank shows a deposit from Thursday, the AR aging report still shows the invoice as open, and the collections inbox has an automated reminder that went out Friday evening — after the money had already landed. Nobody did anything wrong. Nobody matched the transaction yet.
This is not a collections bug. It is a sequencing problem between two systems that do not talk to each other by default. Watchtower-style dunning tools are built to age unpaid invoices and nudge on a cadence; they have no visibility into a bank feed unless something explicitly wires that signal back. Bank reconciliation tools match deposits to invoices; they have no opinion about whether a reminder should have fired. Run them as separate products and the gap between "cash landed" and "someone matched it" is exactly where an embarrassing email gets sent.
The fix is not "chase less aggressively." An aggressive, boring cadence — clear reminder, firmer reminder, final notice — is correct behaviour for genuinely unpaid invoices. The fix is making the off switch fast and automatic: the moment a deposit is matched to an invoice, that invoice needs to leave the collections queue in the same beat, not at the next nightly sync.
The practical test for whether your stack has this gap is simple. Ask: if a payment lands at 4pm, and a dunning email is scheduled for 6pm, does the match happen before the send? If the honest answer is "it depends which system runs its batch job first," you have a Monday-morning problem waiting to happen, and it will happen to your best customer first, because your best customer pays fastest.