Reference
CSV column reference
Every column Inventory exports and recognizes, and the rules it reads them by.
On this page
The columns
| Header | Meaning |
|---|---|
| Name | Required. A row without one is skipped with a warning. |
| SKU | Your own code. Import matches existing products on it, ignoring case. |
| Barcode | The code on the box. Keep it as text so leading zeros survive. |
| Category | Free text, used for grouping and filtering. |
| Quantity | Total on hand, in the stock unit. |
| Unit | each, kg, g, lb, oz, L, mL, m, cm, ft, or your own word. |
| Pack size | Units in one pack, when you buy in cases. |
| Pack name | What one pack is called: case, box, bundle. |
| Location | The product’s own location. A name not yet in the account is created. |
| Bin | Shelf code at that location. |
| Bins by location | Shelf codes across places, in one cell. |
| Stock by location | The per-location breakdown, in one cell. |
| Supplier | Supplier name. A name not yet in the account is created. |
| Supplier lead time (days) | Written onto the supplier record, not the product. |
| Supplier minimum order | Also written onto the supplier record. |
| Purchase cost | What one stock unit costs you. |
| Price | What you normally sell one for. |
| Low stock threshold | The alert level for this product. |
| Reorder quantity | A fixed order amount, which overrides the suggestion. |
| Notes | Free text. |
| Archived | Yes, no, true, false, 1, 0, inactive, discontinued, and similar. |
An export writes exactly these headers in this order, so exporting and re-importing a file changes nothing.
How your headers are matched
Import compares each header against a list of aliases for every field, ignoring case, spaces, and punctuation, so Item name, Qty, On hand, Unit cost, Vendor, and Reorder point all land where you would expect. The best alias wins rather than the leftmost column, so a file headed Description, SKU, Name still takes its names from Name. Each column feeds at most one field, and you can correct any mapping in the review step.
The first row is treated as a header when at least one cell matches a known alias and no cell is a bare number. Comma, semicolon, tab, and pipe delimited files are all read; exports are written with commas, quoting any field that contains one of the others.
Location breakdowns in one cell
So that an export stays one row per product, per-location detail travels in a single cell: Main warehouse: 10 | Storefront: 5 for stock, and Main warehouse: A3-12 | Storefront: B1 for shelf codes. Names are split on the last colon, so a place called “Aisle 3: back” still works, and a piece with no colon at all is joined to the one before it, which is what makes a name containing a pipe survive a round trip.
The label No location names the unassigned bucket. A breakdown that cannot be read is not partly applied: the row falls back to the plain Quantity column and the review step warns you, because importing half a breakdown would quietly shrink the total.
A blank cell and a missing column mean different things
A column the file does not have says nothing about that field, and a matched product keeps whatever it already has. A column that is present with an empty cell is the file stating a value: no price, no category, not archived. That distinction is what lets a sheet of names and prices leave costs, stock, and categories untouched.
An unreadable cell is a third case: the file tried to say something and Inventory could not read it, so the field is skipped and a warning names the spreadsheet row. Numbers accept currency symbols, thousands separators, and both decimal conventions, and money accepts accounting negatives in parentheses.
Exported text beginning with an equals sign, a plus, a minus, or an at sign is written with a leading apostrophe so that spreadsheets treat it as text rather than a formula. Import strips exactly one such apostrophe back off, so the round trip is lossless.