[ agency ]
What to do when a WordPress client stops paying
You shipped the site. The launch went fine. The invoice went out. Two weeks pass. Then four. Your friendly follow-up email gets read and ignored. The polite reminder gets a thumbs-up but no payment. By week eight you are losing sleep over money that has already been earned.
This is the most common failure mode in agency work, and it is rarely solved by sending more emails. Here is the actual ladder, from what most agencies try first to what tends to actually work.
1. Confirm the situation is what you think it is
Before anything else, rule out the boring explanations. Did the invoice land in spam? Did your bank details change without you sending an updated PDF? Is the client's accounts-payable contact on leave? A 30-second WhatsApp to the person who hired you usually resolves the friendly cases. The rest of this post assumes you have done that and the client really is dodging you.
2. Re-read your contract before you do anything else
Three things determine the rest of your options:
- What does "delivery" legally mean in your contract? If the contract says delivery occurred at handover and ownership transferred at that moment, you have weaker leverage than if delivery was contingent on payment.
- Is there a late-fee clause? Almost no clients pay late fees voluntarily, but they exist to make small-claims court cleaner.
- Is there a license-revocation clause? Most agency contracts grant the client a license to use the deliverables; good contracts make that license explicitly contingent on full payment. If yours does, you have legal grounds to suspend the site.
If your contract is missing any of these, fix the template before signing your next client. We wrote a separate post on how to write a payment-contingent delivery clause that you can adapt.
3. Send the structured payment-demand letter
Most agencies skip from friendly reminder straight to threatening to sue. The intermediate step that resolves the most cases is a formal-but-polite payment-demand letter. It should:
- Reference the contract clause that requires payment by date X.
- List the unpaid invoice number(s) and outstanding balance.
- State a specific deadline (typically 7 or 14 days) by which payment must be received.
- State exactly what happens if the deadline is missed. This is the paragraph people skip, and it is the most important. Don't bluff. Don't over-state. Just lay out the next step.
Send it as both an email and a registered letter to the address on the contract. The registered letter is what makes any subsequent small-claims action straightforward.
4. Use whatever leverage you actually have
At this point you are out of polite options. The leverage available to you depends on what you control:
- The hosting account. If you set up the host in your name, you can suspend or take the site offline. Be careful: if the client's business depends on the site, doing this without warning can escalate to legal counter-action.
- The domain. Same caution. If the domain is in your name, you can let it lapse or transfer it. This is heavy-handed.
- The site code. Many agencies forget that they retain license control over the WordPress build itself, even after handover. A maintenance-mode plugin you control means you can pause the public site without touching DNS or hosting.
The third option is the one we built HyperControl for, because it is the most surgical. You don't have to be the host, you don't have to own the domain, and you can restore the site within minutes the moment the wire lands.
The entire point of leverage is to never have to use it. Clients who know you have a kill-switch tend to never make you flip it.
5. Small claims, last resort
For invoices under €5,000, small-claims court is usually faster and cheaper than hiring a debt-collection agency. Bring: the signed contract, the unpaid invoice, the registered demand letter, and a brief log of communication. Most cases settle before the hearing once the client realises you are serious.
For larger amounts, talk to a lawyer. Outside of legal action, a competent collections agency typically charges 25-50% of recovered debt; that math only works if the invoice is large and recovery is otherwise hopeless.
What we do at HyperControl
HyperControl is the technical layer for step 4 above. The agency ships a small WordPress plugin to the client's site at handover. When an invoice goes overdue, the agency toggles maintenance mode from a dashboard; the public site shows a generic "temporarily unavailable" page; logged-in WordPress admins (the agency's client) see an overlay with the unpaid invoice and a Stripe payment link.
When they pay, the site restores within minutes. We never lock the end-client's site for any reason that isn't the agency's decision: if your subscription with us ends, every connected site automatically restores. The kill-switch belongs to the agency, not to us.