Import items from a spreadsheet
If you’ve got a lot of items to add or change at once, you can import them from a spreadsheet instead of typing each one in. It’s the fast way to load your catalog or push a batch of price changes. This is a one-off file upload — different from the ongoing Loyverse sync, which keeps two systems in step automatically.
Importing is part of the Advanced inventory add-on. If you don’t see Import under Catalog, it isn’t on your plan — contact Swann Software to add it.
Import a file
Section titled “Import a file”Importing is a short guided flow — you pick your file, review what’s in it, then confirm.
- Go to Catalog → Import and press Download template to get a CSV with the right column headings.
- Fill in one row per item (a sample row shows the format).
- Press Choose file, pick your filled-in CSV or spreadsheet, and press Next.
- Review the columns. For a CSV you’ll see every column we found — marked imported, not yet stored, or
ignored (anything not in the template) — plus a preview of the first few rows and the total row count, so you
can catch a mis-labelled column before anything changes. (A spreadsheet —
.xlsx— is checked on import instead; export it as CSV first if you want the column preview.) Press Next. - Confirm & import. A short summary shows the file, how many rows will be imported, and any columns that are ignored or not stored yet. Press Import to create and update your items — then read the per-row results below.
Nothing is created or changed until you press Import on the final step, so it’s safe to go Back and choose a different file at any point.
Size limits: one import handles up to 10,000 rows and a file up to 5 MB. If your catalog is bigger, split it into a few files and import them one after another — matching is by SKU, so importing in batches loads the same items without duplicating anything.
The columns
Section titled “The columns”Every row needs a name and a sku — the SKU is how an import matches a row to an item, so a row without one can’t be imported. Everything else is optional; leave anything you don’t need blank.
| Column | What it’s for |
|---|---|
| name | The item name (required). |
| sku | The item’s SKU (required) — also how an import matches an existing item (see below). |
| barcode | The barcode you scan at the register — a valid UPC / EAN (a bad barcode fails the row). |
| price | The selling price, in your store’s currency (e.g. 12.50). |
| category | The category name — created if it doesn’t exist yet. |
| partNumber | A supplier part number, for back-office search. |
| supplierSku | The supplier’s own SKU. |
| supplierName | The supplier’s name. |
| nicknames | Alternate search names, separated by a semicolon or comma (widget;gadget). |
| description | The item description. |
| quantity | Opening stock — applied only when the item is first created (see below). |
| notIndividuallySellable | yes if the item is a component used in others, not sold on its own. |
A couple of columns (material cost and markup) are recognized but not imported yet — if your file has them, they’re listed back to you as skipped, and nothing breaks.
New items vs updates
Section titled “New items vs updates”An import matches on SKU. If a row’s SKU already exists, that item is updated; if it doesn’t, a new item is created. A row with no SKU can’t be matched either way, so it’s reported as failed — give every row a SKU. The quantity column only applies when an item is first created — a later import that updates the same SKU won’t touch its stock (adjust stock from the item instead, see Track your stock).
Read the results
Section titled “Read the results”After importing you get a summary — Created, Updated, and Failed — followed by a row-by-row list. Any row that failed shows the reason, so you can fix just those rows in your file and import again. Because matching is by SKU, re-importing updates the rows that already landed rather than duplicating them.