Skip to content

Importing Customers and Vehicles: Upload and Auto-Detection

Torqueflow’s import page is built around “upload and forget”. You drag one or more CSV or Excel files onto the page. Torqueflow reads each file’s heading row, works out what the file contains, groups the files into a single import run and processes them in the right order. It recognises export files from two systems: Techman (including its password-protected Excel files) and MAM Autowork Online. Files from any other system show as unrecognised, because there’s no general-purpose CSV import yet. This article covers the upload and detection flow. For the system-specific details see data-import/importing-from-techman and data-import/importing-from-autowork.

  • You’re signed in as the owner, or your role has the settings.import.manage capability.
  • Your files are exports from Techman or MAM Autowork Online, in CSV or .xlsx format. Legacy .xls files aren’t supported, so convert them first.
  • If you’re moving from another system, contact support before you start.
  1. Export your data from Techman or MAM Autowork Online. Leave the files exactly as the system produced them.
  2. Check the heading row is present and hasn’t been renamed or edited. Torqueflow recognises a file by its headings. A missing or renamed heading can stop a file being recognised.
  3. You don’t need to say what each file is. Torqueflow works it out.
  4. If you’re importing from MAM Autowork Online, upload and import its two files one at a time, customer list first. See data-import/importing-from-autowork.
  1. Go to Settings > Import Data.
  2. Drag your files onto the upload area, or click Select Files and pick them.
  3. Any combination of .csv and .xlsx is allowed in a single batch.
  4. The upload creates a single ImportRun record that groups all the files together.
  1. If you uploaded a password-protected .xlsx file (the format Techman typically sends), Torqueflow shows a password input labelled Enter the password from Techman’s second email.
  2. Enter the password and click Decrypt. The password is never stored, logged, or persisted - it is used in-memory on the server only.
  3. On successful decryption, each worksheet (tab) of the Excel file is extracted and treated as a separate CSV. A single Excel file with 11 tabs becomes 11 detected files in the run.
  4. If the password is wrong, you see “Could not open the file - please check the password and try again.” The file stays in the upload - you only need to retype the password.
  5. If the file is a non-encrypted .xlsx, Torqueflow reads it without a password.
  1. After upload and decryption, the detection summary shows every file with:
    • Filename (or tab name if extracted from Excel).
    • Detected type - what the auto-detector thinks it is (for example a Techman customers and vehicles file, a Techman jobs file, or an Autowork customers file).
    • Row count.
    • Confidence indicator.
  2. Unknown files are flagged with a warning: “This file wasn’t recognised. Check the format and try again.” Unknown files do not block the rest of the run.
  3. A summary line at the top reads something like “Found 11 files: 9,408 customer-vehicle rows, 7,339 jobs, 3,667 products…”.
  1. Click through to each detected file to see its preview.
  2. The preview shows the first 100 records with cleanup applied:
    • Phone numbers normalised to E.164.
    • Dates converted to ISO 8601.
    • Boolean strings converted to real booleans.
    • Vehicle registration marks (VRM) cleaned up.
  3. Flagged rows show warnings or errors. Fix them at source if there are patterns.
  1. For each incoming customer or vehicle that matches an existing Torqueflow record (by name + phone, email, or VRM), you see a duplicate flag with options: Skip, Merge, or Create new.
  2. Choose a default for the whole run via the Apply to all duplicates button, or handle each one individually.
  3. Merge updates the existing record with the incoming data without overwriting existing non-null values.
  4. Customers and vehicles files (Techman’s full customers and vehicles export, and both Autowork files) don’t show this choice. They match automatically: a customer already imported from the same system, or an existing customer with the same email address, is updated instead of created again.

Understand reconciliation via ImportMapping

Section titled “Understand reconciliation via ImportMapping”
  1. Every imported record gets an ImportMapping entry that records where it came from: source_system, source_entity_type, source_id, and the new Torqueflow ID.
  2. This means future imports can look up “is this record the same as one we already imported?” regardless of whether the earlier import was Techman, a CSV, or an Excel file.
  3. ImportMapping has a unique constraint on (organization_id, source_system, source_entity_type, source_id) so you cannot accidentally map two Torqueflow records to the same external ID.
  1. When you are happy with the preview and duplicate choices, click Start Import.
  2. The run status moves from ready to importing. Each file becomes its own background job, processed in batches of 100.
  3. A progress bar shows “X of Y imported” per file, updated within 2 seconds of each batch completing.
  4. Files are processed in the correct order - customers before the vehicles that reference them, for example.
  5. You can navigate away and come back at any time. Progress is stored on the ImportRun and resumes on refresh.
  1. When the run finishes, the summary shows per-file and per-run totals:
    • Total imported.
    • Skipped (duplicates).
    • Skipped (user choice).
    • Failed, with per-row reasons.
  2. Download the error log CSV for anything that failed.
  3. An audit log entry is created for the full run.
  • You dragged files onto the upload area without needing to know what was in each one.
  • Torqueflow detected, grouped, and processed them in the right order.
  • Customers and vehicles are in your database with provenance tracked via ImportMapping.
  • Excel files with passwords are handled natively - no manual tab-to-CSV conversion needed.
  • Duplicates are resolved explicitly so no phantom records are created.

Problem: One of my files is flagged as “unrecognized”. Cause: The header row does not match any known signature. Possible causes: missing columns, renamed columns, extra whitespace or BOM characters in the header. Fix: Export the file again from Techman or MAM Autowork Online and upload it unedited. If the file comes from a different system, Torqueflow can’t import it yet. Contact support to talk about moving your data across.

Problem: Excel decryption says password is correct but no tabs appear. Cause: The Excel file has tabs but they are all empty, or the header row is missing from each tab. Fix: Open the file in Excel and verify each tab has a header row and data. Re-save and re-upload.

Problem: I uploaded 5 files but only 4 appear in the detection summary. Cause: One of the files was empty, corrupted, or in an unsupported format. Fix: Check the file size and format. Re-export from the source system if needed.

Problem: Mixed CSV and Excel upload - duplicate detection seems wrong. Cause: If the same customer appears in both an Excel tab and a standalone CSV, both show up as separate ImportJobs and duplicate detection runs at the data level during import. Fix: This is expected. Let the import run - duplicate detection will handle it. Pick Merge as your default duplicate action if you expect overlap.

Problem: Phone numbers or VRMs are matching as duplicates when they should not. Cause: Normalisation can collapse values that look different but are actually the same. For VRMs, spaces and case are removed. Fix: Review flagged duplicates in the preview and use Create new for any that are genuinely distinct.

Problem: The password input never appears for my .xlsx file. Cause: The file is not actually password protected, or the system is reading it as unencrypted. Fix: Torqueflow reads unencrypted .xlsx files without a password - this is fine. If you believe the file should be encrypted, check the file properties in Excel.

Problem: Detection says a file is from Techman but my data is from another system. Cause: The file’s headings happen to look like a Techman export, so Torqueflow applies Techman’s rules to it. Fix: Check the preview very carefully before you import. If names, dates or phone numbers look wrong, don’t import. Contact support instead.

  • Passwords are handled in-memory only on the server. They are never written to the database, logs, or client storage. The decrypted workbook buffer is released immediately after extraction.
  • Excel files larger than the configured limit are rejected with a clear size error before decryption is attempted. Contact support if your file exceeds the limit.
  • CSV is a first-class format and will always be supported. Excel is additive.
  • The auto-detection engine recognises files by their headings. Today it knows the exports from Techman and MAM Autowork Online. Contact support if you’re moving from a system that isn’t recognised.
  • An import from MAM Autowork Online brings in customers and vehicles only. See data-import/importing-from-autowork for what does and doesn’t come across.
  • Each ImportRun can be reviewed, rolled back, or exported for audit. See data-import/reviewing-and-rolling-back-an-import.
  • settings.import.manage: required to upload files and run imports. The owner has it by default. Other built-in roles don’t.