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:

ColumnRequiredNotes
nameYesDisplay name for the stock item.
skuNoYour internal stock-keeping unit code. Used for duplicate detection.
unit_of_measureNoUnit label (e.g. units, kg, m). Defaults to units if blank.
cost_priceNoCost price per unit. Must be a non-negative number if provided.
sale_priceNoSale price per unit. Must be a non-negative number if provided.
min_stock_levelNoMinimum stock level for reorder alerts. Defaults to 0 if blank.
descriptionNoFree-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 name column 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:

StrategyBehaviour
Skip (default)Duplicate rows are counted as skipped; the existing item is left unchanged.
UpdateThe 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:

CountMeaning
ImportedNew stock items created.
UpdatedExisting items updated (only when strategy is set to Update).
SkippedDuplicate rows that were left unchanged (strategy set to Skip).

Click Import another file to start a new import from the beginning.