Sending an invoice is not getting paid. Watchtower is where late money gets structured attention — automatic sequences, suggested next steps, and an audit trail of what actually went out.
The foundational rule: only sent unpaid invoices age. Everything else is noise that makes AR metrics lie.
What Watchtower measures
| Metric | Definition |
|---|---|
| Total overdue | Sent, unpaid, past due |
| Customers in dunning | Accounts with active reminder sequence |
| Recovery rate | Collected vs overdue |
| Average days overdue | Amount-weighted lateness |
Drafts and unsent finals are excluded. If overdue feels low while cash stress feels high, check whether invoices were actually sent.
Dunning configuration anatomy
Each configuration holds:
| Field | Purpose |
|---|---|
| Name and description | When to use this sequence |
| Default flag | Marks the org-wide baseline |
| Active switch | Turn off without deleting templates |
Stages include:
| Field | Behaviour |
|---|---|
| Order | Sequence position |
| Trigger | Days after due date; negative = before due courtesy |
| Template | Subject + body with merge tokens |
| Channels | Email; SMS where connected |
Always preview a template against real sample data before it goes live. A broken merge field doesn't fail silently — it sends Dear #{customer_name} to a real inbox, on a document your customer already associates with money they owe you.
Merge fields — subscription vs freight
Tokens fill from the invoice at send time:
| Token family | Subscription | Shipment |
|---|---|---|
| Bill-to name | Customer | Shipper |
| Contacts | Customer contacts | Shipper contacts |
| Carrier | N/A | Carrier on invoice |
| Shipment numbers | N/A | Numbers on grouped invoice |
| Products listed | Subscription products | Rated charge names |
| Payment link | Stripe/Razorpay if connected | Same |
Include payment links in every stage when integrations are live — much late pay is friction, not refusal.
When sequences pause or stop
- Paid in full → exit entirely
- Partial payment just arrived → skip next stage; pause escalation
- Promise to pay logged → pause until date passes
Cadence is boring on purpose: clear → firmer → final. Match timing to account Net terms — Net 60 accounts on Net 30 schedules get chased for invoices that are not late yet.
Suggested next steps vs autopilot
AI may propose the next collections action. Operators approve, edit, or send manually when the relationship requires a person. The agent is not the account owner.
Keep the send log as your audit trail — especially after a template change, when you want proof of exactly what a customer received, not just what you meant to send them.
Freight-specific notes
- Filters and risk tables say Shipper.
- No Schedules tab on shipper detail — freight invoices are not schedule children.
- Invoices without payment terms get due date from invoice date so Watchtower can suggest next steps instead of leaving drafts orphaned.
Watch out for
- Validate billing contacts before auto-send.
- Bank rec stops false chase — match deposits promptly.
- Negative-day triggers are courtesy, not legal demand — tone accordingly.
- Shipment playground lacks schedule preview picker — tokens fill from invoice at send.
- Watchtower is not legal collections — handoff processes stay outside Sonic.