Failed payment grace period and lock

If a subscription payment fails you get seven days and a daily reminder with a pay link before anything locks — and paying lifts it immediately.

What it is

A dunning ladder for the platform subscription. Day zero the payment fails and the account goes past due with an email carrying the pay link. Reminders go daily through day six. On day seven the account locks and shows a lock screen with the same pay button. A successful payment at any point clears everything and unlocks.

Also called: card declined · my account got locked · past due · payment failed · suspended account

See it
Failed payment grace period and lock
Area
Platform & Admin
Group
Subscription billing
System
Platform Billing
Solves
3 named problems
01A failed renewal marks the org past_due, stores the invoice id, its hosted pay URL and the amount, and sends the first email.
02A daily sweep sends the next reminder, or locks at day seven, writing an audit entry either way.
03The sweep first re-checks the invoice at the processor, so a payment whose webhook was missed still clears the dunning.
The lock screen: business name, the amount outstanding, how long it has been failing, and a single Pay now button. Backed by lockInfo in src/lib/billingDunning.ts. Sample data — no customer information appears here.
How it works
  1. 1A failed renewal marks the org past_due, stores the invoice id, its hosted pay URL and the amount, and sends the first email.
  2. 2A daily sweep sends the next reminder, or locks at day seven, writing an audit entry either way.
  3. 3The sweep first re-checks the invoice at the processor, so a payment whose webhook was missed still clears the dunning.
  4. 4Recovery restores the org to active, clears every dunning field and sends a payment-received email.
  5. 5Business owners are copied on every step so the agency sees the state without asking.
Why we built it

A failed card on a subscription usually means an expired card, not a business that has decided to stop paying — so cutting them off with no warning and no explanation loses a customer over a bank's fraud rule. Failed payments escalate through reminders before anything locks, and the lock is read-only rather than a blank screen: nothing is deleted, every estimate, contact and project stays where it was, and paying lifts the lock immediately. The notice itself is laid out with care, because a message about a failed payment cannot also look broken.

The problem
  • Silent access loss after a card failure.
  • No obvious way to pay once locked out.
  • Missed payment webhooks leaving an account past due after it was paid.
Sound familiar?
What you get
A full week of warnings before anything stops.
One button in every email and on the lock screen does the same thing.
Nothing is deleted, and paying restores access at once.
What's inside

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →