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.

ColumnRules
nameRequired on every row.
barcodeOptional. Must not already exist in your inventory or repeat within the file; blank barcodes are auto-assigned on commit.
serial_numberOptional free text.
category, locationOptional 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.
conditionOptional label, e.g. Good. Labels the file introduces join your organization's condition list in Settings.
valueOptional; must be a number.
purchase_dateOptional; YYYY-MM-DD.
notesOptional 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

  1. Upload for preview. This is a dry run: every row is validated and problems are listed with their line numbers. Nothing has been written.
  2. 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