Deleting a customer
Summary
Section titled “Summary”Hide a customer record from search, customer lists, and detail pages — useful for redundant entries, fake records, and test data created in error. The delete is a soft-delete: historical work orders and paid invoices stay on file with the customer’s name as it was at the time they were issued, so HMRC retention is respected. Active vehicles owned by the customer are hidden too. There is a 30-second undo window from the success toast.
If you have two real records that should become one, use Merge instead. See “Merging duplicate customers”. Merge combines records; delete removes one.
Prerequisites
Section titled “Prerequisites”- You have the
customers.deletepermission. Owner and Manager roles have this by default. Service Advisors do not. - The customer must have no active work orders, no unpaid invoices, and no active conversations. The dialog tells you if any of these are blocking the delete.
Open the delete dialog
Section titled “Open the delete dialog”- Open the customer’s detail page.
- Click Delete customer in the page header.
- The dialog runs a pre-flight check and shows you one of two states.
If the dialog shows blockers
Section titled “If the dialog shows blockers”The dialog will list whatever is preventing the delete:
- “N active work orders (including 1 on AB12 CDE)”
- “N unpaid invoices totalling £xx.xx”
- “N active conversation”
Each blocker is a link that opens the relevant page in a new tab, filtered to the customer. A banner on the linked page reminds you to come back and finish:
“Finish resolving these, then return to complete deleting {customer}”
with a Return to customer button.
Resolve each blocker:
- Active work orders - close them, mark them complete, or cancel them.
- Unpaid invoices - take payment, void, or write off.
- Active conversations - close them.
Then return and click Delete customer again.
If the dialog shows the cascade preview
Section titled “If the dialog shows the cascade preview”If the safeguards passed, the dialog tells you exactly what will happen:
“This will hide this customer, N vehicle(s), and M closed conversation(s). Historical work orders and paid invoices stay on file.”
- Type the confirmation token into the input —
DELETEin English (Polish and Romanian tokens are shown if you are using those locales). - Click Delete customer.
The dialog closes and a 10-second toast confirms the delete.
Undo within 30 seconds
Section titled “Undo within 30 seconds”The success toast contains an Undo link. Click it within 30 seconds to fully restore the customer, their vehicles, and their conversations.
After 30 seconds, undo is no longer available from the UI. Contact support if you need to recover a deleted customer after the window has passed — they may be able to restore from the audit log.
Expected Outcome
Section titled “Expected Outcome”The customer disappears from search, the customer list, and any link in the navigation. Their vehicles are hidden. Their open conversations are closed. The customer list reloads with a small banner at the top reading “Customer deleted”.
Behind the scenes:
- The customer record is soft-deleted (kept for audit, hidden from all lists).
- Their vehicles are soft-deleted in the same way.
- The current registration plates on those vehicles are released, so a cherished-plate transfer to another vehicle can succeed in future.
- Active conversations are set to closed.
- Historical work orders and paid invoices stay queryable for HMRC retention. They render with the customer name as it was when each invoice was issued.
- An audit log entry is written naming who deleted what and when.
What is removed and what is kept
Section titled “What is removed and what is kept”| What | After delete |
|---|---|
| Customer record | Hidden from search, lists, and detail navigation |
| Customer’s vehicles | Hidden |
| Vehicle registration plates (current) | Released |
| Active conversations | Closed |
| Historical work orders | Kept |
| Paid invoices | Kept (with name-at-issue) |
| Consent audit trail | Kept |
| Audit log of the delete itself | Kept |
When to delete vs when to merge
Section titled “When to delete vs when to merge”| Situation | What to do |
|---|---|
| Test record / fake / typo with no real history | Delete |
| Two real records with history for the same person | Merge |
| One redundant duplicate that has no work orders or invoices | Delete |
| Customer asking to be forgotten under GDPR | Contact support — full GDPR erasure is a separate workflow handled by support |
- This is not GDPR erasure. Soft-deleted data is retained for compliance and audit. A separate “right to be forgotten” workflow that handles full erasure is being designed — for now, route those requests through support.
- Customers cannot delete themselves from the portal. This is an internal staff tool.
- There is no bulk delete — you delete one customer at a time on purpose, to avoid accidents.
- A rate limit of 10 successful deletes per hour per user protects against accidental scripting or a compromised account.
Troubleshooting
Section titled “Troubleshooting”Problem: I cannot see the Delete customer button.
Cause: Your role does not have the customers.delete permission, or the customer has already been deleted.
Fix: Ask an Owner to grant the permission. If the customer was already deleted, no action is needed.
Problem: The dialog says blockers were resolved when I tried, but appears again on retry. Cause: The server re-runs the pre-flight check inside the transaction. Sometimes new active work or a new invoice is created between when you opened the dialog and clicked Delete. Fix: Read the new blocker list, resolve it, and try again. The dialog flips to blocked mode automatically rather than just toasting.
Problem: I deleted the wrong customer and missed the undo toast. Cause: The 30-second undo window has expired. Fix: Contact support immediately. The audit log preserves the delete, and recovery is possible by hand within a reasonable timeframe — but treat this as a last resort.
Problem: “Customer already deleted” tooltip on the button. Cause: This customer has already been deleted. The button is left visible but disabled as a defensive measure. Fix: No action needed. Use the customer list with the deleted filter if you need to inspect them.
Problem: “Rate limited - too many deletes this hour”. Cause: You have hit the 10-deletes-per-hour limit. Fix: Wait an hour, or batch with another Owner / Manager. The limit resets on a rolling basis.
Permissions
Section titled “Permissions”customers.deleteis required to delete a customer. Held by Owner and Manager. Not held by Service Advisor or Technician.