Guide · bringing your catalogue
Import inventory from Excel or CSV
A supplier spreadsheet is almost never ready to import. Ten minutes of cleaning saves an afternoon of fixing duplicate items — and the preview exists so that a bad row is rejected with its line number before anything is written.
What the import accepts
Mobile Inventory imports CSV and Excel (.xlsx). In the Android app the file comes through the native file picker; on the web you can paste a CSV or choose a file. A comma-separated CSV with a header row is the most reliable format, and it is the one every supplier can produce.
| Column | Required | What it does |
|---|---|---|
name | Yes | The item name shown in the list and on a count. |
sku | Yes | The shop's own identifier. Used to update an existing item instead of creating a duplicate. |
barcode | No | EAN-13, EAN-8, UPC-A or Code 128. Leave empty if the item has none. |
unit | No | Each, case, pack, litre. Defaults to each if missing. |
cost | No | What you pay per unit; used for stock value. |
price | No | What you sell it for; used for sale totals. |
min_stock | No | The minimum that puts the item on the reorder list. |
quantity | No | Opening stock, written as one movement per item, once. |
supplier | No | Used to group the reorder list and draft purchase orders. |
tags | No | Comma-separated inside the cell; usable as a filter. |
Column names are matched case-insensitively. Extra columns are ignored rather than rejected, so a supplier file with fifty columns still imports.
Clean the sheet before you import
- One header row. Delete title rows, logos and merged cells above the headers. The importer reads the first row as names.
- One item per row. Remove subtotal and total rows. A row with a total in the quantity column becomes an item called "Total".
- A SKU on every row. If the supplier file has no SKU, generate one: a constant prefix plus the row number is enough, and you can change it later. Rows without a SKU cannot be matched on re-import.
- Numbers without currency symbols.
$12.50becomes12.50;1,200becomes1200or is quoted. A comma inside an unquoted CSV cell splits the column. - Decide the unit before import. If some rows are cases and some are each, add a unit column and fill it in; otherwise everything becomes each.
- Keep a copy of the original. It is your only record of what the supplier sent.
Import, step by step
- Open Items and choose Import.
- Choose the file or paste the CSV. The importer reads the header and maps the columns it recognises.
- Press Check file. Every row it cannot read is listed with its line number and the reason — a missing name, a duplicate SKU inside the file, a quantity that is not a number.
- Fix the sheet and check again. Nothing has been written yet.
- When the preview is clean, run the import. The result names how many items were created, how many updated and how many opening movements were written.
- Do a blind count of ten items to confirm the opening quantities match the shelf.
Re-importing the same file
Re-importing is safe by design. Items are matched on SKU: an existing item is updated, a new one is created. The opening quantity is written only when the item is created, so a second import of the same file does not add the stock again. That makes the spreadsheet a bulk-edit tool rather than a rival system — fix a hundred prices in Excel, import, and the ledger stays intact.
If you want to correct an on-hand quantity after the fact, do it with a count or an adjustment, not by importing a new quantity. The import is for the catalogue; the count is for the number.
Common failures and what they mean
- "Duplicate SKU in file." Two rows share a SKU. Decide which is right and delete the other; the importer will not guess.
- "Quantity is not a number." A unit, a currency symbol or a comma is in the cell. Clean it or quote it.
- Everything imported as "each". The unit column was missing or named differently. Re-import with a
unitcolumn; existing items are updated. - The item count is lower than the rows. Rows without a name or SKU were rejected, or duplicate SKUs were merged. Check the preview before running next time.
- Stock doubled. The quantity was imported into an existing SKU whose opening stock had already been written. Correct it with a count — the import will not add it again.
Exporting, and moving again
The same data leaves as items CSV, items XLSX, history CSV and JSON. A move to another system is a column mapping, not a rebuild. Export works on every plan and after a trial ends, so the catalogue is never held hostage.
Start with ten rows
Import ten items first, count them, and only then import the full catalogue. The ten-row test finds a unit or SKU problem while it is still cheap to fix. The full method for the count itself is inhow to run a stocktake on a phone.