Prepare your service history
Useful data. Customer identities left out.
Need help creating anonymous IDs?
Follow the dedicated guide, download the private bridge template, and keep the same customer ID across every visit and future export.
Open data preparation help →Start with a CSV export from your shop software. Keep one row per completed repair order and remove identifying information before uploading. The limit is 10 MB and 50,000 repair orders, with no cell longer than 256 characters.
The example contains made-up records. Replace them with your own de-identified history; do not upload the example as your shop's data.
Before you export
- Choose a consistent date range and note the locations included.
- Replace customer and repair-order identifiers with anonymous IDs. Use only letters, numbers, underscores, or hyphens, up to 64 characters.
- Combine repair-order line items into one total and one broad service category per order.
- Keep only the supported columns below. Check the entire file for identifiers and free-text notes.
- Save as UTF-8 CSV, complete your order's intake and authorization statement, then upload from My account.
Five required columns
Use these exact column names. Every row must contain a value for each required field.
| Column | What to include | Example |
|---|---|---|
anonymous_customer_id | A made-up, stable customer ID. Use the same ID for each visit; keep the identity lookup at your shop. | anon_001 |
service_date | The completed service date, in YYYY-MM-DD format. Future dates are not accepted. | 2025-07-15 |
transaction_or_ro_id | A unique, de-identified repair-order ID. Combine line items so each repair order appears once. | ro_001 |
transaction_amount | The total repair-order amount in USD, with at most two decimal places. Refunds may be negative. | 149.95 |
service_category | A broad service label, such as Oil, Brakes, Tires, or Inspection. Never include customer notes. | Oil |
Optional columns
- vehicle_year, vehicle_make, vehicle_model
- General vehicle description only. No VIN, registration, license plate, or owner details.
- odometer
- A non-negative whole number. Use a consistent unit throughout the file.
- location_id
- A made-up location label, using letters, numbers, underscores, or hyphens.
- contact_eligible, email_eligible, sms_eligible
- Use true, false, 1, or 0. Flags describe your records; they are not proof of consent and do not trigger messages.
- deferred_service_category
- A broad category of work recorded as deferred. No technician or customer notes.
Leave these out
Do not include names, phone numbers, email addresses, street addresses, VINs, license plates, dates of birth, payment details, or free-text customer and technician notes. Renaming an identifying column does not make its contents anonymous.
Screening is a safeguard, not a guarantee
Every row is checked, but automated screening cannot recognize every name or identifier. You remain responsible for reviewing and de-identifying the export before upload.
What happens after upload
- Accepted
- Required fields, formats, and privacy screening passed. The file is stored privately and attached to your order. Acceptance does not certify anonymity or data accuracy.
- Rejected
- There is a file or data problem, such as an invalid date, missing field, duplicate repair order, or malformed amount. Read the error on your intake page, correct the source file, and upload again.
- Quarantined
- Unsupported columns or recognizable identifying information were detected. The file cannot enter analysis. Remove the information and upload a corrected copy.
The checks cover all rows, duplicate headers and repair orders, column counts, quotation, dates, amounts, ID formats, and contact flags. The intake page shows errors and any remaining cautions.
Private analysis and human review
Totals are calculated from the accepted file. When AI report writing is enabled, it receives aggregate counts, totals, date ranges, and fixed service categories. Raw customer rows and intake notes are excluded from its request. Customer report access stays locked until an administrator approves the saved report.
Once an accepted file is attached, it cannot be replaced through the upload form. Visit Contact if a correction is needed.