CSV Import
The CSV Import tool lets you create or update stock items in bulk from a spreadsheet instead of adding them one by one. If you’ve been tracking stock in a spreadsheet, this is the fastest way to get your existing data into Kitted. The import is a three-step process: upload, preview, confirm.
Step 1 - Download the Template
Navigate to CSV Import from the sidebar. Before uploading your own file, download the template by clicking Download template. This gives you a correctly-headed CSV file ready to fill in.
The template columns (in order) are:
| Column | Required | Notes |
|---|---|---|
name | Yes | Display name for the stock item. |
sku | No | Your internal stock-keeping unit code. Used for duplicate detection. |
unit_of_measure | No | Unit label (e.g. units, kg, m). Defaults to units if blank. |
cost_price | No | Cost price per unit. Must be a non-negative number if provided. |
sale_price | No | Sale price per unit. Must be a non-negative number if provided. |
min_stock_level | No | Minimum stock level for reorder alerts. Defaults to 0 if blank. |
description | No | Free-text description. |
The file must have a header row matching these column names exactly (case-insensitive). Extra columns are ignored. The maximum file size is 2 MB.
Step 2 - Preview
Once you select and upload your CSV file, Kitted parses it and shows a preview table with every data row. Each row is validated before anything is written to the database.
Validation errors
Rows with errors are highlighted in red and will never be imported, regardless of the duplicate strategy chosen. Common errors:
- Name is required - the
namecolumn is blank. - Cost/sale price must be a non-negative number - a price column contains text or a negative value.
- Min stock level must be a non-negative number - same for the minimum stock level column.
- Duplicate SKU in this file - the same SKU appears more than once within the uploaded file (the row after the first occurrence is flagged).
Duplicate detection
If a row’s SKU matches an existing stock item (case-insensitive), the row is flagged as a duplicate. Rows without a SKU are always treated as new items.
Choose how duplicates should be handled using the Duplicate strategy option:
| Strategy | Behaviour |
|---|---|
| Skip (default) | Duplicate rows are counted as skipped; the existing item is left unchanged. |
| Update | The existing item’s fields are updated with the values from the CSV. Fields left blank in the CSV are not overwritten - only columns with values in the file are applied. |
Summary counts
The preview header shows totals for:
- Valid rows - rows with no errors (will be imported or updated/skipped depending on strategy).
- Rows with errors - will be dropped.
- Duplicates - valid rows whose SKU already exists.
Step 3 - Confirm
Review the preview, choose your duplicate strategy, then click Confirm import. All valid rows are imported in a single database transaction - either all succeed or none do.
On completion, a results summary is shown:
| Count | Meaning |
|---|---|
| Imported | New stock items created. |
| Updated | Existing items updated (only when strategy is set to Update). |
| Skipped | Duplicate rows that were left unchanged (strategy set to Skip). |
Click Import another file to start a new import from the beginning.