Setting up your shop · 1 of 3 · 2 min read

Import from a spreadsheet

Bring products, opening stock, suppliers, and purchases in from CSV.

On this page

If you already have a product list — from an old system, a supplier, or a spreadsheet somebody keeps — bring it in rather than retyping it.

What can be imported

  • Products — names, prices, barcodes, categories, cost prices
  • Opening stock — quantities and what they cost you
  • Suppliers
  • Purchases — historical stock receipts, so cost layers start from something real

Each is a separate import, and they are best done in that order: products need to exist before stock can be attached to them.

Prepare the file

Save as CSV. One header row, one product per row. The importer shows you the columns it expects and lets you map yours onto them, so your headers do not have to match ours — but they do have to be consistent down the file.

Worth doing before you import:

  • Remove blank rows and total rows. A "TOTAL" line becomes a product called TOTAL.
  • Check barcodes are text, not numbers. Spreadsheets helpfully turn a long barcode into scientific notation, and 5.01E+12 scans as nothing.
  • Decide whether prices include tax, and be consistent.

Import

Choose the file, map the columns, and review the preview. The preview is the point — it shows what will be created before anything is written, including rows it could not read.

Fix the file and re-run rather than importing a mess and repairing it afterwards. Fixing a spreadsheet is quick; unpicking two thousand wrong products is not.

Opening stock posts to your books

Stock brought in this way is recorded at cost and posted to the ledger, exactly as a purchase would be. That is what makes your opening balance sheet correct rather than an approximation — and it is why the cost column matters even for stock you are not sure about.

After importing

  • Check a few products against the original file, including one with an unusual price
  • Scan a barcode at the till to confirm it matches
  • Look at the total stock value and see whether it resembles what you think you are holding

If something is wrong across the board, it is almost always a column mapped to the wrong field. Easier to correct the mapping and import again than to edit rows.

Something here wrong or missing? Tell us — we would rather fix it than have you work around it.