Free trial
Colour

Merge duplicate customers and vehicles

Fold a duplicate customer or vehicle into the record you keep, with every job, invoice and photo moving across and the change written to the audit log.

For
OwnerAdministrator
Hosting
Any hosting
Devices
All devices
Business
All businesses

Checked against Pop Dispatch 0.1.0

The same person sometimes ends up on file twice, once from a phone call and once from a website request. You will be able to fold the extra record into the one you keep, so the history sits in one place.

Before you start #

  • Owners and managers can merge. The button shows for owners and managers only.
  • Decide which record stays. Open that one. The duplicate is the one that goes.
  • A merge is final. Check the two names and phone numbers first.

Merge a customer #

  1. Open the customer you want to keep and scroll to Merge a duplicate customer.
  2. Type the duplicate's name, phone, email or plate and select Search.
  3. Choose the duplicate from the list. A confirmation appears.
  4. Select Merge, then Yes, do it. The screen says how many records moved.

The kept customer now has the duplicate's jobs, invoices, estimates, vehicles, statements and messages. Any detail the kept customer left empty (phone, email, address, language, terms) takes the duplicate's value. Notes from both are joined. A marketing opt-in stays on if either record had it. The duplicate is removed.

Merge a vehicle #

  1. Choose the owner on Vehicles.
  2. On the vehicle you want to keep, open Merge a duplicate and pick the other vehicle of the same owner.
  3. Select Merge, then Yes, do it.

Service history, inspections, reminders, photos and documents of the duplicate move to the kept vehicle. Empty fields on the kept vehicle (VIN, plate, colour, mileage) take the duplicate's value.

The audit log #

Each merge adds one entry, customer.merge or vehicle.merge, naming the kept record, the removed record and the tables that moved. The entry shows who merged and when.

Technical details
  • POST /customers/{id}/merge and POST /vehicles/{id}/merge with {"duplicate_id": 12}. The record in the path stays. Groups: owner and manager.
  • The answer holds id, merged_id, rows_moved, moved (table, column, rows) and filled (the fields the kept record took).
  • The whole merge is one transaction. A refusal changes nothing.
  • A table that keeps one settings row per customer keeps the kept customer's row.

If something goes wrong #

  • 409 "These vehicles belong to different customers": merge the two customers first, then the vehicles.
  • 409 "cannot be merged because both have a matching entry": both records have an entry that must be unique, such as the same unit number. Change one, then merge again.
  • 404: one of the numbers has no record.
  • 422: choose a different record from the one you are keeping.