🗂️ Organise your catalogue into a category tree
Build a nested category tree, file each product under as many categories as you like with one primary, filter the product list by any branch, and set it all in bulk from the CSV.
Erpilo had one place to say what a product was: a free-text Category box on the product form. Whatever you typed there was a label and nothing more - it could not nest, it could not be translated, and two spellings of the same word were two different things.
That is not how a shop is browsed. Customers go from Apparel to Men to T-shirts. Now your catalogue can too.
Build the tree
Products ▸ Categories is the new page. Add a category at the top level or inside another one, then shape the tree: drag a row to move it, or use the arrows to nudge it up, down, in or out. You can go up to ten levels deep.
Every row tells you what is under it before you reorganise anything - how many products sit in that category directly, and how many are in it and everything beneath it. A category holding nothing directly but four hundred products across its children reads that way at a glance.
Names are per language. You edit one language at a time, and each row shows how many of your product languages it has been named in. A language you have not filled in yet shows the name it is falling back to, greyed and tagged with where it came from - so a real translation never looks the same as a stand-in.
Each category also carries a URL slug and SEO title and description per language, ready for the day it goes out to a storefront. Leave the slug empty and it follows the name; fill it in only to pin a URL that must not move.
File your products
The product form's Categories tab now carries the tree. Tick as many as apply - a product can genuinely belong in both "Winter Sale" and "Jackets" - and one of them is the Primary: the home a storefront files it under. The first one you tick becomes the primary until you choose another.
There is a search box, so a deep tree stays workable.
Find them again
The product list has a Category filter, and picking a parent includes everything beneath it. Filtering by "Apparel" finds a product filed only under Apparel ▸ Men ▸ T-shirts - you do not have to know which branch it ended up in.
Tick several branches to see them all at once, or choose No category to find what you have not filed yet. That last one is usually where you want to start.
Set them in bulk, from the CSV
The product CSV has a new categories column, holding something like apparel/mens/tshirts|sale.
Each category is written as the path of codes down to it, joined by /. Several categories are separated by |, and the first one is the primary - so one column carries both which categories a product is in and which is its home.
A path you do not have yet is created for you, and every one is listed on the validation report before you confirm the import, so a typo is something you catch rather than something you find later.
Two things about this column are worth knowing, because it does not behave like the others:
- An empty cell leaves a product's categories exactly as they are. Every other column in the file clears the field when the cell is blank. This one does not, because a supplier file with a half-filled Category column would otherwise quietly unfile your whole catalogue.
- To remove a product from every category, type
-.
Your old Category values came with you
The free-text Category box is gone, and nothing was lost. Every distinct value you had typed became a real category, and the products carrying it were filed under it. There is nothing to redo - open Products ▸ Categories and you will find your old labels already there, ready to be nested, renamed and translated.
Worth knowing
Categories are not product groups, and both are still here. A product group is one per product and is your own internal grouping, the axis reporting will use. Categories are many per product and describe how a customer browses. Keeping them apart is what lets a product sit in "Winter Sale" without leaving its group.
A category's code never changes. You can rename a category in any language as often as you like, but the short code beside the name is fixed from the moment it is created - it is what a sales channel is mapped to, so a rename must never move it.
Deactivating and deleting are different. Deactivating a category keeps it on the products already filed under it but stops anyone picking it afresh - the way to retire a branch without disturbing history. Deleting one moves its children up a level and unfiles its products; nothing is deleted along with it.
Filing a product is not an admin job. Anyone who can edit products can put them in categories. Building and reshaping the tree itself is for admins and owners.