# How to import items, recipes and stock from Excel or CSV

> Click Import on the Items, Recipes or Stock page, upload your existing spreadsheet, confirm how its columns map to Jogan's fields, review the rows that will be skipped, and import. Jogan reads your own column headings, so no template is required.

_Category: Getting started · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/import-from-excel_

Smart Import reads the spreadsheet you already have. It suggests which of your columns is the name, which is the unit and so on; you confirm or adjust, review what will be skipped, and then nothing is saved until you press import.

## Where to find it

- **Items → Import** for your catalogue.
- **Recipes → Import** for bills of materials.
- **Stock → Import** for opening balances and purchase history.

Each page also has a **Download sample file** link showing the columns Jogan understands.

## Steps

1. Click **Import** and choose a `.xlsx`, `.xls` or `.csv` file. Files up to 10 MB and 20,000 rows are accepted.
2. **Map your columns.** Each of your column headings is listed with a few sample values and Jogan's best guess at the matching field. Change any guess, or set a column to **Do not import**.
3. **Review before importing.** You see how many rows are valid and how many will be skipped, with the reason for each skipped row. You can download the invalid rows as a file to fix and re-import later.
4. Click import. Valid rows are saved; invalid rows are skipped, never half-saved.

## What each import accepts

**Items** (one row per item): SKU, name, unit, category, cost price, selling price, minimum stock, track expiry (yes/no), shelf life days. SKU and name are required. If track expiry is yes, shelf life is required.

**Recipes** (one row per component line): output item SKU, output quantity (units per batch), component SKU, component quantity. Rows with the same output SKU are grouped into one recipe. Every SKU must already exist in Items, so import items first.

**Stock** (one row per movement): SKU, type (such as `opening` or `purchase`), quantity, unit cost, date, notes, expiry date, batch number. The SKU must exist. Expiry date and batch number only apply to expiry-tracked items.

## Order of operations for a new workspace

1. Items.
2. Recipes.
3. Stock: one `opening` row per item with your current count and average cost.

## Tips

- **Clean the SKU column first.** It is the key that links recipes and stock to items. Trailing spaces and inconsistent capitalisation are the usual cause of "unknown SKU" skips.
- **Keep units consistent.** The importer does not convert grams to kilograms.
- **Import a small file first** to see how the mapping behaves, then the full list.
- **Check your plan's room.** An item or recipe import that would go past your plan's limit is refused as a whole, with how many more fit. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit).
