How to Import Your Inventory into a New System from a Spreadsheet

July 11, 2026
9 min read
By Nstock Team
How to Import Your Inventory into a New System from a Spreadsheet
KM

Kyle Moloney

Procurement & Operations | 10+ Years

Kyle has spent over a decade managing procurement and operations for manufacturing companies ranging from small food producers to mid-size contract manufacturers. He now writes about practical inventory management, supply chain, and production operations.

Every manufacturer moving off spreadsheets faces the same first task: getting years of item data, quantities, and supplier records into the new system without losing accuracy or spending a week doing it by hand. Done right, this takes a few focused days. Done wrong, it means chasing incorrect stock numbers for months afterward.

I've run this migration with manufacturers going from a single master spreadsheet to a real inventory system dozens of times. The steps below are the order that actually works — skipping ahead (importing before cleaning, for instance) is the single most common way this goes sideways.

Step 1: Audit and Clean Your Spreadsheet Data

Before anything gets imported, look hard at what you actually have. Spreadsheets accumulate mess over years — duplicate rows for the same item, inconsistent unit labels ("box" vs "boxes" vs "bx"), blank cells where a quantity should be, and SKUs that were renamed at some point without updating every reference.

  • Deduplicate by SKU. If the same item appears twice with different quantities, figure out which one is current before importing either.
  • Standardize units. Pick one unit label per item type and apply it consistently — "ea," "lb," "kg," whatever fits your operation — since import validators typically reject or misinterpret mixed formats.
  • Fill required fields. Most systems require at minimum a SKU, name, unit, and quantity per row. Blank cells in required columns will cause that row to fail.
  • Remove discontinued items, or flag them clearly so they don't get imported as active stock you're tracking going forward.

This step is tedious and it's tempting to skip it and "clean up after import." Don't — cleaning bad data inside a new system, row by row, through a UI takes far longer than cleaning it in the spreadsheet you already know how to navigate.

Step 2: Map Your Columns to Standard Import Fields

Every inventory system expects a specific set of fields, usually: SKU, name, unit, category, and quantity, sometimes with cost, supplier, and reorder point as additional fields. Your spreadsheet's column headers rarely match these exactly.

  • Rename your columns to match the target system's expected field names, or use the system's field-mapping step if it offers one (most CSV importers let you map "Item #" in your file to "SKU" in the system without renaming your source file).
  • Watch for fields that look similar but mean different things — "cost" in your spreadsheet might be your last purchase price, while the system's "cost" field might expect an average or standard cost. Get this right before import; it directly feeds your COGS numbers later.
  • Category fields should match values the target system recognizes, or at minimum, be consistent enough that you can bulk-edit them post-import if the exact labels don't map cleanly.

Step 3: Split Into the Right Import Types

A single "everything" spreadsheet doesn't map to how most systems structure imports. Expect to split your data into separate files:

  • Products (master catalog) — SKU, name, unit, category, and any static attributes. This is your foundational import; everything else references it.
  • Bills of materials (BOMs) — component-to-finished-good relationships and quantities, if you manufacture rather than just resell. BOMs typically import after products, since the importer needs to validate that every component SKU already exists.
  • Stock levels — current on-hand quantities, ideally with lot numbers and locations if you track those. This is a snapshot as of your import date, not historical transaction data.
  • Suppliers — vendor names, contact details, and lead times, imported separately and then linked to products.

Import in that order — products first, then BOMs (which reference products), then stock levels, then suppliers — since each subsequent import typically validates against records already in the system.

Step 4: Run a Small Test Batch First

Never run your full file as the first import. Take 10-20 representative rows — a mix of simple items, items with BOMs, and anything with unusual data (a long SKU, a special character in a name, a zero quantity) — and import that subset first.

Check every field after the test batch lands: did quantities come through as numbers, not text? Did categories map to the right values? Did any BOM relationships resolve correctly? Catching a mapping error in a 15-row test costs you five minutes. Catching the same error after importing 3,000 rows costs you an afternoon of cleanup.

Step 5: Run the Full Import and Validate

With the test batch confirmed clean, import the complete file. Most import tools will flag or reject rows with validation errors rather than silently importing bad data — review that rejection list carefully rather than dismissing it.

  • Fix and re-import rejected rows individually or in a small batch, rather than re-running the entire file (which risks creating duplicates of rows that already succeeded).
  • Spot-check a sample of successfully imported records against your original spreadsheet — pull up ten random SKUs and confirm name, unit, and quantity match.
  • If you're importing BOMs, verify at least one multi-level BOM resolves its full cost rollup correctly before trusting the rest.

Step 6: Do a Physical Verification Count

Your spreadsheet's quantities are only as accurate as the last time someone updated them by hand — which, for most manufacturers switching systems, is not "today." Before you trust the imported numbers for production planning or purchasing, verify them against reality.

Run a quick count on your highest-value items (your A-tier by usage value) and compare against what just got imported. Discrepancies here aren't an import failure — they're your old spreadsheet's accuracy problem finally surfacing. Better to find and fix it now than after a production run comes up short on a component the system said you had.

For a fuller walkthrough of the whole migration — including platform-specific export notes if you're coming from Katana, Cin7, Fishbowl, inFlow, Craftybase, or Sortly rather than a plain spreadsheet — see Switch to Nstock. Nstock's free templates, including the BOM template, are formatted to match the import fields directly, so you can build your cleaned spreadsheet straight into the expected shape instead of guessing at column names.

Frequently Asked Questions

How long does a spreadsheet-to-system import take?

For a small manufacturer with a few hundred SKUs, expect one to two days: a few hours cleaning data, an hour or two mapping and testing, an afternoon running the full import, and a day or two of verification counts before you trust the numbers for production. Larger catalogs take proportionally longer, mostly in the cleaning step.

What if my spreadsheet doesn't have all the fields the system wants?

Fill in what you can before importing, and treat missing optional fields (cost, reorder point, supplier lead time) as a post-import cleanup task rather than a blocker — most systems let you import with just SKU, name, unit, and quantity and add the rest later. Required fields, though, need to be present before the row will import at all.

Should I import historical transaction data, or just current stock?

Just current stock, in almost every case. Historical transactions (past purchase orders, old production runs) rarely import cleanly and rarely get used once the new system is live — most manufacturers keep their old spreadsheet or system as a read-only archive for the rare lookup, rather than trying to migrate the full history.

What's the biggest mistake manufacturers make importing from spreadsheets?

Skipping the cleaning step and importing messy data directly, then trying to fix duplicates, inconsistent units, and missing fields inside the new system's UI afterward. It's always faster to clean data in the spreadsheet format you already know than to fix it row by row post-import.

Can I import in stages instead of all at once?

Yes — importing your top 20% of SKUs by usage first, verifying they're correct, then expanding to the rest is a common and low-risk approach, especially for manufacturers with large or messy catalogs. It limits how much cleanup you're doing at once and lets you validate the process before committing your full dataset.

Get Manufacturing Insights in Your Inbox

Practical guides on inventory management, production efficiency, and AI-powered manufacturing — delivered to you.

Subscribe to the Newsletter