Working assumptions
Confirm these defaults
Add to the Decisions checklist
Dunning timeline days (Day 1 / 3 / 7 / 14) below are defaults. Service-pause threshold for unpaid managed-infrastructure (default: 14 days past due). Whether ACH returns get a longer grace window than card declines.
SOP 1
Client offboarding / cancellation
- Trigger
- A client cancels, declines to renew, or the relationship otherwise ends.
- Owner
- Clinton (commercial + relationship); Derek (technical + data).
Steps
- 1Acknowledge in writing. Confirm the effective end date per the SOW notice period (SOW Standard Terms 3.5). Be gracious regardless of the reason.
- 2Internal notice. Update the Client Record and Craft Brain status to Offboarding/Churned; notify the team; log the reason for leaving (capture the learning — this feeds the health/save-play system).
- 3Final billing. Confirm any final or prorated invoice per the SOW; stop the Stripe subscription effective the correct date; confirm no outstanding balance (see SOP 2 if there is).
- 4Data & assets handoff. Export and transfer the client's data, documentation, and any assets they own, per the agreed terms.
- 5Knowledge transfer. Provide documentation so the client (or a new vendor) can operate the system; offer paid transition support if they want it.
- 6Access revocation. After data handoff: revoke our access to their systems and disable their access to ours as appropriate.
- 7Decommission / archive. Archive the client Slack channel, archive the Craft Brain record, and store the final documents.
- 8Graceful exit. Send a thank-you, leave the door open, and request brief exit feedback. If the relationship ended well, ask whether they'd serve as a reference or testimonial.
Definition of done
Subscription stopped, final billing settled, access revoked both ways, record archived, and the reason for leaving logged.
Offboarding checklist
- Cancellation acknowledged + end date confirmed (per notice period)
- Craft Brain status updated; team notified; reason logged
- Final/prorated invoice settled; Stripe subscription stopped
- Client data + assets exported and handed over
- Documentation / knowledge transfer delivered
- Our access to their systems revoked
- Their access to our systems disabled
- Slack channel + Craft Brain record archived
- Exit feedback requested; testimonial/reference asked if appropriate
SOP 2
Payment failure & collections
- Trigger
- A Stripe charge fails (card decline or ACH return) or an invoice goes past due.
- Owner
- Clinton (Derek kept informed, since service status may be affected).
- Context
- Build deposit/balance and the managed-infrastructure subscription all run through Stripe (funds settle to Mercury).
Important distinction
Build payments — work does not start (deposit) or continue/launch (balance) until paid. Pause the work, not a live system. Subscription payments — the system is live; follow the dunning ladder and only pause service as a last resort.
Dunning ladder (managed-infrastructure subscription)
- 1Day 0 (failure): Stripe auto-retry per settings; Clinton notified. Log the failure in the Client Record / Craft Brain.
- 2Day 1: friendly heads-up to the client (template below) with a link to update payment.
- 3Day 3: second reminder; offer an alternate method (ACH or card).
- 4Day 7: firmer notice; state that continued non-payment may pause managed-infrastructure service per the terms.
- 5Day 14: final notice; escalate to Clinton; decide on service pause.
- 6Service pause: if still unpaid past the pause threshold (default 14 days), pause managed-infrastructure per the SOW. Communicate clearly and state exactly what "paused" means (monitoring and support suspended; system access per terms).
- 7Resolution: on payment, restore service promptly. If unrecoverable, move to SOP 1 (Offboarding).
Per the SOW
Billing obligations stand regardless of build status — a client-caused build delay does not excuse a missed subscription payment.
Definition of done
Invoice paid and service restored, or service paused / offboarding initiated, with every step logged.
Templates
Reminder templates
Day 1 — friendly
“Hi {{NAME}} — quick heads-up, this month's payment didn't go through (these things happen). You can update it here: {{Stripe link}}. Let me know if you need anything.”
Day 7 — firmer
“Hi {{NAME}} — following up on the outstanding payment for {{system}}. To avoid any interruption to your service, please update payment here: {{Stripe link}}. Happy to jump on a quick call if easier.”
Day 14 — final
“Hi {{NAME}} — we still haven't been able to process payment for {{system}}. Per our agreement, service will be paused on {{date}} if it remains unpaid. Please update here: {{Stripe link}} or reach out today so we can sort it out.”