Import items & BOM — bulk-load your product catalogue

If your products already live in a spreadsheet or another system, Brytebuild's Data Import lets you load your entire catalogue from a single Excel file in minutes. Once imported, set up Bills of Materials for your assemblies directly in the app.

1 min read Owners & Admins Updated August 2026

Section 01

Before you start

2 minutes to read

Brytebuild has three separate importers, all accessible from the same screen. This guide covers Products — the others work identically.

Products

Your full product catalogue — names, IDs, pricing, barcodes and stock levels.

Customers

Customer company names, contacts, addresses and account details.

Suppliers

Supplier company names, contacts, countries and postal codes.

Import or manual entry?

Use import when you have more than 15–20 products to load, or when migrating from a spreadsheet or another system. For smaller catalogues, adding products manually through Products → Inventory → + New is quicker. You can mix both — import in bulk first, then add individual products manually.

Key rules before you start

Imports are all-or-nothing

If any single row fails validation, the entire import is rejected and nothing is saved. All errors are reported by row so you know exactly what to fix. This protects you from ending up with a half-loaded catalogue.

  • Always export the template first — never start from a blank file. The exported file contains the correct column headers, valid field values and your existing records pre-filled.
  • The ID column is a UUID — leave it blank for new records. For updates, keep the existing UUID exactly as exported. Changing it creates a duplicate instead of updating.
  • Status must be lowercaseactive or inactive, not Active.
  • Numbers must be plain decimals — no currency symbols (£, $) and no commas. Write 49.99 not £49.99.
  • BOMs are not in the import file — Bills of Materials are set up inside the app after importing. See Section 05.

Section 02

Get the template

2 minutes

Always start by exporting from Brytebuild. The exported .xlsx file gives you the correct column structure, valid field values, and — if you already have products — your existing records pre-filled so you can update them.

Navigate toAdminSettingsData ImportProductsExport to Excel

An .xlsx file downloads immediately. Open it in Excel. It contains a single worksheet called products with one row per product and 17 columns. If your account has no products yet, you'll see the header row only — that's expected for a first-time import.

Section 03

Fill in the Products sheet

5 minutes

Each row represents one product. Fill in as many columns as you have data for. Only name, product_id, status and unit are strictly required.

Column reference

Column Required? Format & notes
id Auto UUID assigned by Brytebuild (e.g. 0dd8b99a-866c-41ea-afc8-6bdefbf5451a). Leave blank for new records. Keep it exactly as exported when updating existing records — do not alter it.
product_id Required Your internal part number or reference code. Can be letters, numbers or a mix — e.g. CSS-040 or 456. Must be unique within your account.
name Required The product name your team uses — e.g. Carbon Steel Shaft 40mm.
description Optional Free-text notes about this product. Can be left blank.
status Required active or inactivelowercase only. Active products appear in order and inventory screens.
unit Required Unit of measure. Common values: ea, pcs, kg, g, ml, m, cm, in. Check your exported template for the full accepted list.
price Optional Sale price charged to customers. Plain decimal: 49.99. No currency symbols or commas.
cost Optional Your purchase or production cost. Same format as price.
tax_rate Optional VAT or tax rate as a decimal: 20.00 for 20% VAT. Leave blank to use account default.
sku Optional Stock Keeping Unit code — e.g. SKU-Assembly-3. Alphanumeric.
ean Optional EAN-13 barcode — exactly 13 digits. Format this column as Text in Excel before entering values, or Excel will strip leading zeros.
upc Optional UPC barcode — exactly 12 digits. Same Excel Text formatting tip applies.
minimum_stock_level Optional Triggers a low-stock alert when stock falls below this quantity. Decimal format: 15.000000 or simply 15.
max_stock_level Optional Upper stock limit for replenishment planning.
reorder_quantity Optional Default quantity to order when stock falls below minimum.
costing_method Optional Cost accounting method. Leave blank to use account default.
revenue_account_code Optional Accounting integration code (e.g. for Xero or Sage). Leave blank if not using accounting integrations.

What a filled sheet looks like

Here's what real data from a Brytebuild export looks like. Existing records have UUIDs in the id column — leave it blank for new ones.

id product_id name description status unit price cost sku ean minimum_stock_level
2 0dd8b99a… 456 040424 040424 active ea 50.00 20.00 321 3333333333333 15.000000
3 aa2f98c4… 32 061123 061123 active ea 323232 0.000000
4 f4c4e689… 230424 230424 230424 active in 50.00 10.00 asd2-32d-as 6.000000
5 (blank) NEW-PART-01 New Product Brand new item active pcs 25.00 8.50 50.000000

Row 5 shows a new product — the id column is blank, so Brytebuild creates it fresh and assigns a UUID. Rows 2–4 have existing UUIDs so they are updated, not duplicated.

Updating existing records

When you re-import with existing UUIDs in the id column, Brytebuild updates those records with whatever values are in the file. Any fields left blank in the file will clear the corresponding field in the database — so include all data you want to keep, not just the fields you're changing.

Section 04

Run the import

Under 2 minutes

Navigate toData ImportProductsImport from Excel

Select your filled file

Click Import from Excel, browse to your .xlsx file and select it. Brytebuild reads the products worksheet.

Validation runs automatically

Before saving anything, Brytebuild checks every row. Two outcomes:

  • All rows pass — records are created or updated. A success message confirms how many rows were processed.
  • Any row fails — the entire import is rejected. An error list shows exactly which rows failed and why. Nothing is saved.

Verify in Inventory

Go to Products → Inventory and confirm your products are listed correctly with the right names, IDs, pricing and stock levels.

Products imported

Your catalogue is now in Brytebuild. Re-run the import any time to update records — export first to get current UUIDs, edit your values, then import back. For assemblies, continue to Section 05 to add their Bills of Materials.

Section 05

Set up Bills of Materials in the app

2–3 minutes per assembly

The product import file contains a single products sheet — there is no BOM column or BOM sheet in the import. Bills of Materials are configured directly inside each Assembly in the app after importing.

Import your components first

Make sure all Items (raw materials and components) that go into an Assembly are already in Brytebuild before you build the BOM. Import your Items first, verify they appear in Inventory, then set up your Assembly BOMs.

How to build a BOM in the app

Navigate toProductsInventory[Assembly name]Bill of Materials tab

Adding components to an Assembly

Open the Assembly from your Inventory list and click the Bill of Materials tab.

The top table shows your full Item Catalogue. Use Search to filter. Set the Quantity for each component, then tick Choose Items to add it.

Selected components appear in the Selected BOM Items table below. Review quantities. Click Remove to take a component out.

When all components are added and quantities confirmed, click Save BOM. Brytebuild uses this BOM to calculate material requirements for every production job that uses this Assembly.

BOM quantity accuracy matters

Every BOM quantity error causes Brytebuild to miscalculate material requirements for every production job that uses this Assembly. Double-check quantities before saving — a shaft that needs 2 bearings listed as 1 will result in half the bearings being allocated on every job.

Section 06

Common import errors & fixes

Reference

When an import fails, Brytebuild shows a list of errors with the row number and a short message. Here are the most common ones.

Error Cause Fix
Required field missing: name The name column is empty on this row. Add a product name.
Required field missing: product_id The product_id column is blank. Add your internal part number or reference code.
Invalid value for status Status contains Active or ACTIVE instead of lowercase active. Change to exactly active or inactive — lowercase only.
Duplicate product_id: CSS-040 Two rows share the same product_id, or the product already exists and the id (UUID) column is blank — creating a duplicate instead of updating. Either make the product_id unique, or fill in the existing UUID in the id column so it updates instead of creating.
Invalid number: price Price contains a currency symbol or comma — e.g. £49.99 or 49,99. Remove all formatting. Enter 49.99.
EAN must be 13 digits Excel stripped leading zeros (e.g. 0123456789012 became 123456789012) or the barcode is the wrong length. Format the ean column as Text in Excel before entering barcodes, then re-paste the values.
Invalid unit: pieces The unit value isn't in Brytebuild's accepted list — e.g. pieces instead of pcs. Check the accepted values from the exported template or use a value visible in an existing row.
Fix all errors at once

The error list shows every failing row, not just the first one. Fix everything in your spreadsheet before importing again — there's no partial-fix benefit since the whole file is revalidated each time.

What to do next