CSV import
Move your whole inventory in at once: download the template, fill it, preview, commit. Nothing is written until every row passes.
CSV import needs the manager role or above.
Files up to 2 MB, UTF-8 text.
The columns
Download the template from the Import page — it's one header row plus an
example. Only name is required; every other cell can be blank.
| Column | Rules |
|---|---|
name | Required on every row. |
barcode | Optional. Must not already exist in your inventory or repeat within the file; blank barcodes are auto-assigned on commit. |
serial_number | Optional free text. |
category, location | Optional names, matched case-insensitively against your organization's lists (managed in Settings). Unknown names are created for you during commit, and you can rename or retire them in Settings afterwards. |
condition | Optional label, e.g. Good. Labels the file introduces join your organization's condition list in Settings. |
value | Optional; must be a number. |
purchase_date | Optional; YYYY-MM-DD. |
notes | Optional free text. |
Columns outside this list are rejected by name, so a typo'd header fails loudly instead of silently dropping data.
Preview, then commit
- Upload for preview. This is a dry run: every row is validated and problems are listed with their line numbers. Nothing has been written.
- Commit. Enabled only when every row is valid. The import is all-or-nothing — all rows land in one transaction, and the file is re-validated at commit time in case the inventory changed since your preview (if it did, you're bounced back to review, not half-imported).
The audit trail records the import and how many items it created.
Next: Roles and permissions