CSV Import

Bulk data import

6 min read

Import assets, parts, locations, users, vendors, customers, WOs, PM plans, and requests via CSV.

Supported Types

  • Assets
  • Parts
  • Locations
  • Users
  • Vendors
  • Customers
  • Work Orders
  • PM Plans
  • Requests

Process

  1. Download template
  2. Fill with data
  3. Save as CSV UTF-8
  4. Upload
  5. Review validation
  6. Confirm import

Tip

Always start with the template.

How big a file can be

Up to 8,000 rows per file. This limits ONE FILE, not your account: there is no cap on how many assets, parts, locations or any other records you can hold โ€” on any plan, including the free Core plan. A larger dataset is simply split into several files that you import one after another, and each import adds to what is already there. Very large files also take longer and produce a longer error report, so 2,000 to 5,000 rows per file is usually more comfortable to work with than one file at the maximum.

Updating existing records

Export your data, make your edits, then re-upload the file. FreeMaint matches each row back to its existing record by the ID (or Reference) column, so records are updated in place instead of duplicated. On the preview step you choose how the import is applied:

Create new only

Always add new records. Existing ones are not touched (may create duplicates).

Update existing only

Only update records matched by ID/reference. Rows with no match are skipped and reported.

Update existing & create the rest

Matched records are updated, unmatched rows are created.

Export, edit in Excel, re-import

The exported file and the import template now use the same columns, so you can export your data, edit it in Excel and upload it straight back โ€” no need to add or rename columns. Keep the ID column untouched: it is what matches each row to the existing record, so rows are updated instead of duplicated. Columns that cannot be imported (On Hand, On Order, Total Cost, dates) are listed as ignored during the mapping step.

A column you DELETE from the file, or a cell you leave EMPTY, keeps its stored value. That is how you update one thing without disturbing another: to fill in unit costs across hundreds of parts without touching stock levels, delete the Quantity column before uploading. Total value is recalculated from the new unit cost automatically.

Custom fields in an import

Your custom fields appear as cf_ columns in the export and can be filled in and re-imported. Leave a cf_ column out of your file to keep the stored value untouched; include it and leave the cell empty to clear it.

Vendor contacts

Vendors support individual contacts directly in import and export. Add numbered columns โ€” Contact 1 Name, Contact 1 Email, Contact 1 Phone, Contact 1 Role, Contact 1 Primary โ€” and repeat with Contact 2, Contact 3, and so on for as many contacts as you need. Only the name is required; the email can be left blank. Exporting your vendors already includes these columns, so you can export, edit, and re-upload. When updating, including any Contact column replaces that vendor's contacts; leave the Contact columns out to keep the existing ones.

Importing a location hierarchy

Locations can be nested as deeply as you need. In the Parent Location column, type the parent's name โ€” or, when sub-locations share the same name in different branches, the full path with each level separated by ' > ' (for example: Site A > Building 1 > Floor 2). This lets you reuse a name like 'Office' or 'Corridor' under different parents without any conflict. Exports already fill this column with the full path, so an exported file re-imports exactly as it was.

Tip

To remove a parent during an Excel import, type NONE in the Parent Asset (or Parent Location) column. A blank cell means "leave unchanged", so clearing it will not detach the parent.

Was this page helpful?