How to import inventory from Excel or CSV
If your stock is already in a spreadsheet or an ERP export, you do not need to retype it. Varify loads bin locations and the items in them from a CSV or Excel file in one upload.
Cleaning the file first is what saves you time later.
1. Create your sites first
The import cannot create sites, so add each one before you upload. Everything else it creates as it goes: bins, zones, inventory types, units of measure and the items themselves. You need Manager access or higher to import.
2. Lay out one row per item in a bin
Each row says one item sits in one bin. An item stored in three bins takes three rows. A bin holding five different items takes five. These are the columns:
| Column | Needed | Notes |
|---|---|---|
site_name | Required | Must match a site you have already created and can access. |
location_code | Required | The bin code, such as A-04-12. |
sku | Required | Unique per item across your company. |
barcode | Optional | An existing barcode on the item, so scanners recognise it without relabelling. |
item_name | Required | Display name. |
item_description | Optional | Free text. |
inventory_type | Required | For example Raw Material or Finished Goods. |
zone | Optional | The bin’s zone. |
uom | Optional | Unit of measure, such as Each or Carton. |
item_cost | Optional | Cost per unit. Used for the financial impact of a count. |
qty | Optional | Last known quantity. Becomes the starting figure for a count. |
Column names are not case-sensitive, and extra columns in your file are ignored, so you can leave your own notes in there.
3. Clean the file before you upload
Varify creates whatever it does not recognise. That is helpful for a new bin and unhelpful for a typo. Check these:
- SKUs are case-sensitive.
SKU-1andsku-1become two different items. - Spell inventory types and zones the same way every time. "Raw Material" and "Raw Materials" become two separate types.
- Strip stray spaces from SKUs and bin codes. Excel hides them well.
- Check that long numeric SKUs and barcodes have not turned into scientific notation. Format those columns as text first.
- Remove blank rows and any duplicate item-and-bin pairs.
4. Download the template and upload
Open Import Data and download the CSV or Excel template. It has the header row and one example row in the right order. Paste your data underneath, delete the example, and upload the file.
An import is all or nothing. If one row is bad, nothing from that file is written, so you never end up with half a warehouse loaded. Fix the row and upload again. A file can hold up to 50,000 rows and 10 MB. Larger files run in the background, so give them time to finish.
5. Decide what happens to items missing from the file
Before it writes anything, Varify checks your file against the sites it covers. If those sites hold items your file does not mention, it lists them under Items not in this file. Every item it is allowed to remove starts ticked. Untick the ones you want to keep, then choose Import & Remove. Removed items lose their inventory at those sites permanently.
That matters when your file is only part of the picture. Upload a list of one aisle and the rest of the site is ticked for removal, so untick it before you confirm. Items with count history are greyed out and always kept.
The separate Remove items not in this file checkbox skips that review. With it on, everything missing from the file is removed automatically. Use it only when the file is a complete list and you want the system to match it exactly. A site your file never mentions is never touched.
6. Importing again later
You can upload a new file whenever your data changes. Existing items and bins are matched and updated, not duplicated. Some fields change on every upload and some only apply the first time:
- Cost updates every time it appears.
- Quantity sets the last known figure used to start your next count.
- A barcode can be added or changed on a later upload.
- Item name, description and unit of measure only apply when the item is first created. Re-uploading does not overwrite them.
After the import
Your bins and items are in, so print labels and run a first count. The cycle count guide covers a small first count, and the stock take guide covers a full one.
When a file stops being enough
If your stock lives in an ERP and you would rather not upload a file each time, the same import is available as a REST endpoint. You send the rows as JSON from a scheduled job, with an API key. The validation and result are identical, but the import runs in the background, so your system checks a job status instead of waiting for the reply. The details are in the API reference.
Load your stock and run a first count
Import your items and bin locations, then count from your phone.
Start 7-day free trialMonthly plans only. Card required. Trial sessions take up to 10 items.