Marcus Reyes
Supply Chain & Inventory Specialist | 12 Years
Marcus has managed supply chain and inventory operations in food & beverage manufacturing for over a decade, with a focus on compliance, lot traceability, and waste reduction. He has worked with FDA-regulated manufacturers across the US.
The Guesswork That Makes Manufacturers Dread Bulk Uploads
Ask anyone who has moved a product catalog into a new system what they remember most, and it's rarely the software — it's the CSV file. A few hundred rows of SKUs, quantities, and lot numbers, one upload button, and a genuine uncertainty about what happens next. Will it read the columns correctly? Will one malformed row wreck the whole batch? Will half the file import silently while the other half vanishes without a word?
That uncertainty is what mass upload guesswork actually means in practice, and it's not a minor annoyance — it's the reason teams put off migrations for months, or import a spreadsheet once, get burned, and go back to editing the old system by hand rather than try again.
Why CSV Imports Usually Go Wrong
Three failure modes account for almost every bad CSV import experience, and each one is avoidable — not by being more careful with your spreadsheet, but by the importer being built differently.
- Column order assumptions. Plenty of import tools expect your file's columns in an exact sequence — SKU first, then name, then quantity, in that order or nothing works. Real spreadsheets never look like that. They've been reordered, exported from a different system with different defaults, or edited by three different people over two years. An importer that reads position instead of the header text turns a perfectly normal spreadsheet into a rejected file for no reason a user could predict.
- One bad row kills the whole batch. A single blank required field, a typo in a unit label, or a duplicate SKU three rows from the bottom, and some importers stop cold — reject the entire file, report "import failed," and leave someone scanning hundreds of rows by eye to find the one that broke it.
- Silent partial imports. Worse than an outright failure: the upload reports success, but only some rows actually landed. Nothing tells you which ones didn't, so the gap between what you think is in the system and what's actually there doesn't surface until a production run comes up short on a component the system swears you have.
Any one of these is enough to make a team distrust bulk import entirely and fall back to manual entry — which defeats the entire point of having an importer.
How Nstock's CSV Import Fixes Each of These
Every CSV import in Nstock — stock inventory, master products, BOMs, suppliers, shipping boxes, and orders — is built against these three failure modes, not around them.
Column order is irrelevant. Every importer matches columns by header name, not position. If your file has "Item Code" in column four and "Qty" in column one, Nstock still finds them, as long as the header text is recognizable. You don't reorder your spreadsheet to match Nstock's expectations; Nstock reads your spreadsheet the way you actually built it.
Every import ends with a review step, not a leap of faith. Upload a file and nothing writes to your inventory yet. Instead, every valid row lands in a review table, pre-checked and ready to go:
- Uncheck any row to leave it out — no re-uploading a fixed file just to drop one line.
- Pencil-edit any row's fields right there — quantities, lot numbers, supplier names, whatever needs a tweak — with the same validation a fresh upload would apply, before anything saves.
- The import button reads "Import Selected (X of Y)," so you know exactly how many rows are about to become real inventory records before you commit.
One bad row never blocks the rest. Rows with problems don't sink the batch — they're listed separately, by line number, with the actual reason each one failed: missing required field, unrecognized supplier, duplicate SKU, whatever it is. The two hundred clean rows import while the three flagged ones wait for you to fix them, on your schedule.
No more silent gaps. When you commit the import, the result reports what actually happened — how many rows imported, how many you unchecked, how many failed — instead of a generic "success" message hiding a partial result.
Every upload page ships with a sample template and field guide, so you're never guessing what a column header should say or which fields are required before you build your file. And AI SKU validation checks and suggests consistent SKU formatting on the way in, catching a class of naming inconsistency that used to only surface after import, buried in a search that returned nothing.
Put together, none of this asks you to be more careful. It asks the importer to behave the way anyone assumes a bulk upload already works — until they've been burned by one that didn't. See the full CSV import feature set →
Switching From Another System: What Actually Happens
If you're not starting from a blank spreadsheet but moving off another inventory or MRP platform — Katana, Cin7, inFlow, Fishbowl, or anything else — the practical question is simpler than it sounds: can your old system's export become a clean Nstock import?
Here's what that looks like in practice:
- Export from your current system. Every platform we hear about from switching manufacturers — Katana, Cin7 Core, inFlow, Fishbowl, or a plain spreadsheet — can export products, stock, and vendor lists to CSV. Exactly which fields each export includes varies by platform and by plan, so check what your export actually contains before assuming it has everything Nstock's importer wants.
- Map your headers to Nstock's sample template. Download the sample template and field guide from the relevant Nstock upload page — Master Products, BOMs, Stock Inventory, or Suppliers — and rename your exported columns to match, or simply confirm your existing headers are close enough. Since matching is by header name, small differences in wording matter less than you'd think.
- Upload the file. Nstock reads the headers, validates every row, and sorts the results into what's ready to import and what needs a fix first.
- Review before anything commits. Walk the pre-checked table, uncheck anything that shouldn't come over yet, fix small mistakes inline, and check the error list for anything that needs attention back in the source file.
- Import, then verify. Confirm the row counts match what you expected, and run a quick physical count on your highest-value items to catch anything your old system's numbers had already drifted on before you switched.
One thing worth being direct about: this is not a one-click migration. There is no automated connector that reaches into Katana, Cin7, inFlow, or Fishbowl and pulls your data into Nstock on its own — you export, then import, with a person reviewing the result in between. What the review step buys you is a safety net for that manual process: a bad row from a messy old export gets isolated and flagged instead of either silently corrupting your new catalog or blocking the other two hundred rows that were fine. For manufacturers who've been burned by a previous migration, that's usually worth more than one-click automation would be anyway — automation that fails silently is worse than a manual step you can actually see the result of.
For platform-specific export notes — what typically transfers cleanly from Katana, Cin7, inFlow, and Fishbowl, and where BOM structures need a second look — see Switch to Nstock. If you're moving off a plain spreadsheet rather than another system, our walkthrough on cleaning and importing spreadsheet data covers deduplication and column mapping in more depth than this post does.
Frequently Asked Questions
Does the order of columns in my CSV matter?
No. Nstock matches every column by its header name, not its position, across every import type — stock, products, BOMs, suppliers, boxes, and orders. Reorder your spreadsheet however you like; the header text is what gets matched.
Can I fix a mistake without re-uploading the whole file?
Yes. The review step that follows every upload lets you edit a row's fields — quantities, lot numbers, supplier names, and more — directly in the table, with validation applied, before anything saves. You only need to touch the original spreadsheet again if a fix requires data that isn't in the file at all.
What happens to rows with errors?
They're listed separately from the valid rows, with a line number and the specific reason each one failed. They don't block the rest of the file — every other valid row still imports normally, and you can fix the flagged rows and upload just those on their own.
Can I import from a Katana, Cin7, inFlow, or Fishbowl export?
Yes, via their CSV export — not through an automated connector. Export your products, stock, or vendor data from whichever platform you're leaving, map the headers to Nstock's sample template if needed, and upload it through the matching importer. There's no one-click migration tool that pulls data directly from those platforms today; the header-matching and review step are what make a manual export-then-import process safe rather than risky.
Does every CSV import get this review step?
Yes. Stock inventory, master products, BOMs, suppliers, shipping boxes, and orders all use the same pre-checked, editable review table before anything saves — it's not limited to one upload type.



