CSV import column and error reference
This is the reference. For the walkthrough, see How to import assets from CSV.
Requirements
- Roles: Owner or Admin. Managers, Employees, and Viewers cannot import.
There are three importers
Import asks first what kind of thing your file contains. Your choice decides what gets created — the file cannot decide for you.
| Importer | For | Custom fields |
|---|---|---|
| Individual Assets | One physical item per row — a laptop, a forklift | Yes |
| Asset Stock | A quantity of identical capital units — ten spare laptops | No |
| Consumables | Supply that gets used up — toner, filters, fasteners | Yes |
Each has its own template carrying only the columns it accepts. Always start from the template.
Important A column that does not belong to the importer you chose is reported as an error, not silently ignored — so an old mixed file cannot lose data without telling you.
No template carries an
assetTypecolumn any more. If a legacy file still has one, it must agree with the importer you picked, or the row is refused.
Document Assets cannot be imported by CSV. They require an expiry date and are created in the Documents module.
File requirements
| Requirement | Specification |
|---|---|
| Format | .csv |
| Maximum size | 1 MB |
| Encoding | UTF-8 |
| Header row | Required |
| Minimum | Header plus at least one data row |
Column names are matched case-insensitively.
Individual Assets columns
Required: name, category
| Column | Format |
|---|---|
serialNumber | Text — unique where used |
manufacturer, model, vendor | Text |
purchaseCost, salvageValue | A number — no currency symbols |
purchaseDate, warrantyExpiryDate | YYYY-MM-DD |
department | Must match an existing department |
assignedLocationName | Must match an existing location |
assignedUserEmail | Must match a user in your organization |
customStatus | Must match an existing custom status |
Custom fields are supported through metadata. columns.
Rejected here: quantity, minimumQuantity, unit — one row is one asset. If you are counting units, you want Asset Stock or Consumables.
Asset Stock columns
Required: name, category
| Column | Format |
|---|---|
manufacturer, model, vendor | Text |
department | Must match an existing department |
assignedLocationName | Must match an existing location |
customStatus | Must match an existing custom status |
quantity | Whole number — the opening balance |
minimumQuantity | Whole number — low-stock threshold |
unit | Text — pcs, boxes, metres |
The quantity you supply is recorded as the item's first ledger transaction, exactly as if you had created it in the form. The balance always has a movement behind it.
Rejected here, each with a message explaining why:
| Column | Why |
|---|---|
serialNumber | The units are interchangeable |
purchaseCost, purchaseDate | Stock does not record these |
salvageValue | Stock is inventory, not a depreciating fixed asset |
warrantyExpiryDate | A warranty covers one unit from one purchase |
assignedUserEmail | Stock is held at a location, not by a custodian |
Custom fields are not supported for Asset Stock.
Consumables columns
Required: name, category
Consumables accept the full set: serialNumber, manufacturer, model, vendor, purchaseCost, purchaseDate, salvageValue, warrantyExpiryDate, department, assignedLocationName, assignedUserEmail, customStatus, plus:
| Column | Format |
|---|---|
quantity | Whole number — the quantity currently held |
minimumQuantity | Whole number — low-stock alerts fire at or below this |
unit | Text |
Custom fields are supported through metadata. columns.
The rule that causes most failures
Names are resolved against your organization, not created.
Categories, locations, departments, custom statuses, and users must already exist. A name that does not match fails that row and tells you what is available.
This is deliberate — silently creating categories from an upstream typo produces an unusable taxonomy within weeks.
Error reference
| Error | Cause | Fix |
|---|---|---|
| Unauthorized — only OWNER and ADMIN can import assets | Your role | Ask an Owner or Admin |
| File size exceeds maximum | Over 1 MB | Split the file |
| File must be a CSV | Wrong format | Export as CSV, not .xlsx |
| CSV file is empty or has no data rows | Header only | Add data rows |
| Asset name is required | Blank name | Usually a trailing empty row — delete it |
| Category is required / not found | Missing or unmatched | Create the category first |
| Serial number already exists | Duplicate | Use a different one or leave blank |
| User with email not found in organization | Unmatched email | Check the address, or invite them first |
| Location not found | Unmatched name | Create the location first |
| Expected a numeric value | Text in a number column | Remove currency symbols and separators |
| Date format errors | Not YYYY-MM-DD | Check the file itself, not the spreadsheet view |
| "Quantity does not belong in the Individual Assets template…" | Wrong importer | Use Asset Stock or Consumables |
| "Asset Stock has no serial number…" | Wrong importer | Import serialised items as Individual Assets |
Errors identify the row and, where relevant, suggest the valid values available or the template the row belongs in.
Partial imports
Valid rows are created; invalid rows are reported. That is normal.
Re-import only the failed rows. Re-importing rows that already succeeded creates duplicates.
Related articles
Need Help?
If you have questions not covered in this article, our support team is here to help.
Contact Support