Import your catalog
How to upload your products, which columns Bruxel recognizes, and what happens to what you already loaded.
Chapters
Video transcript
In this video, you'll import your catalog from a CSV or Excel file.
Your catalog is still empty. Start with “Import catalog”.
Starting from scratch? Download the template: it has the columns Bruxel recognizes.
Upload your file. This one has 24 products from four departments.
Before anything is written, choose “Review before importing”.
Bruxel shows what would happen: 24 new products, and nothing gets overwritten.
It also shows how it read your columns: SKU, name, brand and category.
Color and material repeat values, so they'll become filterable attributes.
The supplier description is long text. Check it so Bruxel can use it when generating.
If everything looks right, import.
Done: 24 new products are in your catalog.
Here are your 24 products, each with its SKU, its brand and how complete its record is.
In the product record, color and material are already attributes.
And the supplier description is kept under Imported data.
The SKU is the key: import again, and Bruxel updates instead of duplicating.
In the next video, you'll generate your first descriptions.
Formats and size
Two formats are accepted, and the file is validated by its contents, not just its extension:
- CSV in UTF-8.
- Excel (.xlsx).
- CSV up to 256 MB and XLSX up to 10 MB, with up to 50,000 rows and 512 columns.
Columns
You do not need to rename anything: Bruxel recognizes several names for each key column.
| Column | Names it recognizes | Required? |
|---|---|---|
| SKU | sku, upc, ean, gtin, codigo, id, product_id, id_producto | Yes |
| Name | name, nombre, title, titulo, product_name, name_mejorado, nombre_mejorado, nombre_original | Yes |
| Brand | brand, marca | No |
| Category | category, categoria, categories, categoria_especifica, subcategoria, departamento | No |
The other columns in your file aren't lost. Before anything is written, the dry run lists them one by one and you tick which ones to keep: the ticked ones become source data and feed generation; the rest stay in your file.
What if your file has two columns that both work
An enriched catalog often carries the same thing twice: the raw ERP name and a polished one, or the department and the fine-grained category. Bruxel picks one, and always the same one:
- Name: the enriched one wins. If your file has name_mejorado and nombre_original, the first is used — it's usually cleaner, since the raw one often stuffs the description into the name.
- Category: the most specific one wins. Between categoria_especifica (“hammer drill”) and departamento (“Tools & Hardware”), the specific one is used: it describes the product, not the aisle.
How your attributes get in
Filterable attributes — colour, size, material — come in with the import itself, not from another screen. The place where it's decided is “Review before importing”: there, under “Which columns to keep”, Bruxel lists every column in your file and tells you what it would do with it. Three things can happen:
- The column matches an attribute you already have: it fills itself, free. No credits, no AI — it's your own data, it was already in the file.
- The column isn't an attribute yet: if you leave it ticked, it's created with its values during this same import and is ready to filter by. And if its cells carry several values at once (“Cruelty Free,Vegan”), it is created as a multi-select: each product gets its individual values, not the glued-together combination.
- The column doesn't work as an attribute, and it tells you why: “long text”, “a different value per product”, “a single value”, “empty” or “nearly empty”. A column with a different value per product won't become an attribute even if you tick it — it would be useless as a filter.
Whatever you don't tick isn't lost: it's stored as source data and still feeds description generation. You just can't filter by it in your store.
What happens to what was already there
The SKU is the key. Importing the same file twice does not duplicate anything:
- New SKU: the product is created.
- Existing SKU: name, brand, category and source data are updated.
- SKU you had deleted: the product comes back.
The journey of a load
In the import history, “View journey” shows where each load is: imported, listing generated, quality check, published, delivered to your system and in the store. Each stage shows its date, “In progress” (some products already got there), “Pending” or “No data”, with the reason.
It counts the products the load changed and what happened after it: a listing that already existed doesn't count as generated by this load. With several languages configured, a product counts once it's there in all of them.
“Delivered” is only known if a system listens for listing notices (webhooks), and for 30 days. “In the store” always says “No data”: Bruxel doesn't know when your store publishes each product.
Variants in the same file
If you sell sizes or colors, add a parent_sku column with the parent product's SKU. Bruxel builds the link on import, and you can bring parents and children in the same file.