Late fees and dunning
Dunning is the reminder process for overdue invoices. Configure it in Settings → Payments. Review the client's actual invoice and agreement before enabling extra fees.
The reminder ladder
The default reminder thresholds are 3, 7, 14, and 30 days past due. They are measured from the stored invoice due date, not from snapshot creation or the day you happened to open the invoice.
Change the thresholds under Reminder Days. The final threshold also controls when an eligible late fee can be created.
Background runs process eligible open invoices with an outstanding balance. Invoices without a usable due date are skipped rather than assigned an invented overdue age. Delivery happens when the scheduled processing runs, not necessarily at an exact minute.
Reminders stop after payment is recorded
Paid, voided, or otherwise ineligible invoices leave the reminder pool. The app tracks reminder levels to avoid sending the same level repeatedly.
Payment and webhook updates can be delayed. If a client has already paid offline, correctly reconcile the existing invoice before its next reminder. Creating a separate paid record does not settle that invoice.
Get a heads-up before a reminder goes out
Enable Heads-up Before Reminders in the payment settings and set the lead time. This gives the admin an advance notification when the background run reaches that window.
It is a heads-up, not a guaranteed pause or a per-client reminder-disable switch.
What clients see in each reminder
Reminders use the business branding, amount still due, overdue age, and invoice pay link in the supported email and portal notification workflow. Review delivery and invoice status if a client reports an unexpected reminder.
Late fees
Late fees are off by default. The settings include:
- Auto-charge Late Fees
- Flat amount or percentage
- Flat fee amount
- Percentage in basis points, where 500 basis points means 5%
Despite the setting's name, the workflow creates and sends a separate Stripe invoice for the fee. It does not itself mean the customer's card is automatically charged.
A percentage fee uses the remaining amount owed after recorded payments and credited refunds, not the original gross invoice. If nothing remains owed, no fee is due from this calculation.
When the fee fires
At or after the configured final reminder threshold, an eligible unpaid invoice can receive a fee. The app creates the fee invoice and records the relationship to the original to support retry protection.
Review existing fee and invoice records before manually recreating anything after an error. The original invoice and fee remain separate payment requests.
Late fee opt-in date
The feature stores when it was enabled. Billing snapshots created before that cutoff are excluded; turning on the setting does not automatically apply fees to the existing backlog.
The cutoff is a software eligibility rule, not client consent or legal authorization. Make sure the fee reflects the terms you actually agreed with the client.
What clients see
The fee invoice references the original invoice. The client may see both as separate amounts due, with the fee also identified in the related billing information.
Voiding or writing off stuck invoices
The app does not automatically void or write off an invoice just because it reaches an age threshold. Use the supported invoice or Stripe action and review the effect on the outstanding balance.
Voiding, writing off, and refunding are different actions. None should be used simply to hide an unexplained payment mismatch.
Pausing dunning for one client
There is no general per-client skip dunning switch documented in this workflow. A legitimately changed due date can affect eligibility once that change is reflected in the portal; do not assume a Stripe-only edit has already synchronized.
For a payment plan or exception, check the actual invoice terms, recorded status, and available controls before telling the client reminders have stopped.
Audit log
Review the client's history and History Overview for recorded reminders and billing actions. Use the actual invoice and processor record to resolve payment questions, since a history event alone does not establish current settlement.
