Categories
Group products by category for reports, catalog filters, and usual supplier.
Summary: Categories are the tree you use to organize your catalog. They serve to filter products, group reports, and link the usual supplier of a group of products. They support parent/child hierarchy.
Reading time: ~4 min
When to use this
Read this article if you need to:
- Create the initial category tree of your catalog (for example Beverages → Soft drinks → Cola).
- Reassign products to another category.
- Link a category to a default supplier to speed up purchase orders.
- Delete a category you no longer use.
Before you start
- You need the
categories:createorcategories:updatepermission. - If you are going to link a supplier to the category, create it first in Suppliers.
- To build a tree, plan the parent categories before the children.
Step by step
Create a category
- Enter the module. In the sidebar press Operations → Categories. (screenshot: category tree)
- Press "New category" in the header.
- Fill in the form.
- Name (required) - visible text (e.g.
Beverages). - Slug (required) - URL-friendly identifier. It is generated automatically from the name (
beverages); you can edit it. Only letters, numbers, and hyphens. - Description (optional) - internal note for the team.
- Parent category (optional) - select another existing category. Leave it empty if it is top-level. This creates the hierarchy.
- Supplier (optional) - usual supplier of the products in this category. Pre-fills the supplier on purchase orders when you select products from this category.
- Display order - integer (0, 1, 2…). Categories with a lower number are shown first.
- Active - turn off the switch to hide the category without deleting it.
- Name (required) - visible text (e.g.
- Press "Create".
Build a hierarchy
Mosce ERP supports a category tree with no depth limit. To create Beverages → Soft drinks:
- First create Beverages (no parent).
- Create Soft drinks and, in Parent category, select Beverages.
- Repeat the pattern for the levels you need.
When editing a category, it cannot be its own parent or descendant (the selector excludes it automatically).
Assign products to a category
Assignment is done from the product, not from the category:
- Go to Operations → Products and open the product you want to classify.
- In the Categorization section, select the category.
- Save the changes.
To reassign many products, edit them one by one; there is no bulk action in this version.
Edit a category
Press the pencil icon in the list. Change the name, parent, supplier, or status and press Update.
Delete a category
Press the trash icon. Deletion has two explicit restrictions:
- It cannot be deleted if it has subcategories. The system responds with
CATEGORY_HAS_CHILDREN. Reassign or delete the children first. - It cannot be deleted if it has associated products. The system responds with
CATEGORY_HAS_PRODUCTS. Reassign those products to another category (or remove the category from them) first.
When it no longer has children or products, deletion is permanent (not a soft delete).
Expected result
- The category appears in the selector when you create or edit a product.
- The tree is respected in filters and reports that group by category.
- If you linked a supplier, purchase orders for products in that category preselect that supplier.
Common errors
| Error | Cause | Solution |
|---|---|---|
| "Only letters, numbers, and hyphens" in the slug | The slug has spaces, accents, or symbols. | Use only a-z, 0-9, and -. The automatic generator already follows this rule. |
CATEGORY_HAS_CHILDREN when deleting | The category has active subcategories. | Delete or reassign the children first. |
CATEGORY_HAS_PRODUCTS when deleting | There are products assigned to the category. | Edit those products and change their category, then retry. |
| The tree does not appear as expected | The Display order field is 0 for all of them. | Edit the categories and assign different numbers to force the order. |
Notes
- The profit margin is configured per tenant (in Settings) and optionally per product or per client. There is no margin per category in this version.
- Inactive categories do not appear in the product selector, but already assigned products keep the reference.