Import Builder/Guides/Bill of materials CSV import
Manufacturing

Bill of Materials CSV Import: Katana, MRPeasy and Fishbowl

Moving bills of materials into an MRP system saves rebuilding every product by hand, as long as the file is laid out the way the system reads it. Here's what Katana, MRPeasy and Fishbowl each expect, how multi-level products fit, and the errors that stop an import.

What each system needs

Katana

Settings, Import and more, Data import, then BOMs & Recipes. One row per ingredient with three required columns: Product variant code / SKU, Ingredient variant code / SKU and Quantity. The file must be .xls or .xlsx, and on upload you choose whether to replace existing recipes or add to them.

MRPeasy

Production planning, Bills of materials, Import from CSV. One row per part, and you choose which field each column is: Product number, Part No. and Quantity are required, with optional unit, BOM number, BOM name and notes. Up to 3,000 lines per upload.

Fishbowl Advanced

File, Import, then the Bill of Materials import. A BOM row starts each bill of materials (number, description and when to auto-create work orders), followed by Item rows for its parts, each typed as a Finished Good, Raw Good, Repair or Note. An error on any line fails the whole file.

How a bill of materials is laid out

Katana and MRPeasy take it flat: one row per component, with the product's code repeated on each of its rows. A product with three components is three rows:

Product variant code / SKUIngredient variant code / SKUQuantity
TBL-OAK-120TOP-OAK-1201
TBL-OAK-120LEG-ASM-724
TBL-OAK-120SCR-M6-4016
LEG-ASM-72LEG-OAK-721
LEG-ASM-72FOOT-FELT-301

The last two rows show a multi-level product. The leg assembly is a component of the table, and a product in its own rows with its own components. Every sub-assembly needs its own item code and its own bill of materials, imported like any other.

Fishbowl works differently. Each bill of materials starts with a row whose Flag is BOM, giving its number, description and AutoCreateType (Never, Short Quantity, Order Quantity, Always Create or Build To Order). Rows flagged Item follow, one per line: the product being made as a Finished Good, and its inputs as Raw Goods, each with a part, quantity and UOM.

Errors, and the fix

Lines fail because the item doesn't exist

A BOM import links items that are already there; Katana and MRPeasy say plainly it can't create them. Import products, materials and parts first, then the bills of materials. MRPeasy suggests vendors, storage locations, items and purchase terms before BOMs.

Part numbers no longer match

A spreadsheet turns 00412 into 412, or a long code into 1.23E+11, and the line no longer matches the item. MRPeasy warns about exactly this. Keep SKU and part number columns as text, and copy codes from an item export rather than retyping them. Excel leading zeros guide.

The same component appears twice

Listing one part on two rows of the same product's bill of materials, say 2 and then 1 more, is easy to miss when checking it, and systems don't all treat it the same way. Add the quantities up and list each component once per product.

Quantities are in the wrong unit

Quantity is per finished unit, in the component's own unit. Katana takes the unit from the item card and can't set it in the file. MRPeasy has a unit column only for a secondary unit. Fishbowl needs a UOM on every item row, matching a unit abbreviation in Fishbowl including its capitals.

Quantities with commas or units

2 pcs or 1,5 isn't a number. Fishbowl takes numbers of zero or more with up to four decimal places and no thousands separators: 1234.56, not 1,234.56.

Re-importing doubled or replaced recipes

Katana asks whether to replace each product's recipe or add the file's ingredients to it, so adding a corrected file adds its ingredients again. MRPeasy updates a BOM when the BOM number, or the product, already has one. Decide which you want before uploading a corrected file.

The file type is refused

Katana's recipe import takes .xls or .xlsx only: open the CSV in Excel and save it as a workbook. MRPeasy reads CSV, and Fishbowl reads CSV as well as TXT, XLS and XLSX. Excel to CSV guide.

Fishbowl rejects the whole file

One bad line fails everything. Keep all of a bill of materials' lines together with its BOM row first, use only Fishbowl's values for AutoCreateType and item Type, and give every Raw Good and Finished Good a part and a quantity.

Too many lines or garbled names

Split MRPeasy files over 3,000 lines into several uploads, keeping each product's rows in one file. Names with accents need UTF-8, which MRPeasy asks for. CSV special characters guide.

Before you import

Products, materials and parts imported before the bills of materials
SKUs and part numbers copied from an export, kept as text
One row per component, with the product code repeated on each
Each component listed once per product, quantities added up
Quantities as plain numbers per finished unit, in the component's unit
Sub-assemblies with their own code and their own bill of materials
Katana: saved as .xls or .xlsx, and Replace or Add chosen on purpose
MRPeasy: 3,000 lines or fewer per upload, saved as UTF-8
Fishbowl: BOM row first, its Item rows together, UOM matching exactly

Collect bills of materials in the right layout

Send engineering or a contract manufacturer a form instead of a spreadsheet. Each component gets a row, SKUs are kept exactly as typed and quantities must be plain numbers. Data is checked in the browser and never stored by us.

Katana, MRPeasy and Fishbowl are trademarks of their owners. Import Builder isn't affiliated with any of them. Import rules as described in each product's help documentation, October 2026.