If you serve customers in the EU or UK, privacy law gives them rights over their personal data: to know what you hold, to receive a copy and, in some cases, to have it deleted. WHMCS includes tools that help you meet these obligations. This guide explains them; it is not legal advice, so confirm your duties with a professional.
Before you start
- A privacy policy and terms of service published on your website.
- Know your record-keeping obligations – tax law usually requires you to keep invoices for several years even after a deletion request.
Terms of service acceptance
- Go to Configuration → System Settings → General Settings → Ordering.
- Enable TOS Acceptance and enter your terms URL.
- WHMCS records acceptance with each order.
Marketing consent
- Under General Settings → Other (or Mail), enable Marketing Emails Opt-in.
- Choose whether the checkbox is pre-ticked – under GDPR it should not be.
- Write a clear opt-in message.
Clients can change their choice in their profile; WHMCS keeps a consent history visible on the client profile. Use the opt-in filter in the Mass Mail Tool for promotional mail; see mass mail.
Export a client's data
Open the client profile and use Export Client Data (or Data Export in the profile tools). WHMCS generates a file with profile details, contacts, services, domains, invoices, transactions and tickets. Send it to the verified client through a secure channel.
Delete or anonymise data
- Close client: stops services and logins but keeps records.
- Delete client: removes the client and associated data permanently – consider legal retention first.
- Data retention automation: in Configuration → System Settings → Data Retention (newer versions), WHMCS can automatically delete or anonymise clients inactive for a set period.
Before deleting, terminate services on servers so no personal data remains in hosting accounts, and check backups policies.
Client-initiated deletion requests
Enable Allow clients to request account closure/deletion if available in your version; requests appear for staff review. Verify identity before acting on any request – a fake request could be used to sabotage a real customer.
Other good practices
- Limit staff access to personal data with admin roles; see admin roles.
- Keep WHMCS secure and updated; see security checklist.
- Do not store unnecessary data in custom fields or tickets (for example full card numbers or passwords).
- Prune old activity and ticket attachments with System Cleanup.
Troubleshooting
- Cannot delete client: active services or unpaid invoices must be handled first.
- Consent history missing: opt-in was enabled after the client registered; ask them to confirm consent.
