Catalog
The Catalog is the hub for managing all your products, categories, suppliers, and other data. Open it from the main menu by clicking Catalog. You'll see a screen with up to seven tabs (depending on permissions and enabled modules), each offering specific functionality.
The Catalog is the hub for managing all your products, categories, suppliers, and other data. Open it from the main menu by clicking Catalog. You'll see a screen with up to seven tabs (depending on permissions and enabled modules), each offering specific functionality.
All tables in the Catalog support sorting by clicking on a column header. In compact mode, the tables are replaced by a list of cards — each card shows the item name and price on the first line, and the category, type, and other details on the second line.
Products
The Products tab shows a list of all your goods — food, drinks, ingredients, and everything else you sell. Each product displays its basic information: Name, Category, Sale price, Sales tax, Type (requires the Advanced Catalog module), Supplier (requires the Advanced Catalog module), and Purchase price (requires the products.view_cost permission).
Adding a new product
Click the + Add button to open the form for creating a new product. Enter the product name, select a category, set the sale price, and choose the product type. If you want to track profitability, also enter the purchase price.
The sales tax is determined automatically based on the product's category and the settings under Settings > Company > Tax rates, but you can also change it manually.
Product types
The system recognizes seven types: Product (a regular item), Service, Counter, Recipe, Ingredient, Variant (different sizes or versions of the same product), and Modifier (add-ons such as salt, pepper, or extras for drinks).
You choose the correct type when creating a product. Variants are used when you have, for example, a small and a large beer — it's the same product in different sizes. Modifiers are optional add-ons that the customer can add to their order.
Search and filtering
Use the search field (magnifier icon) to quickly find a product by name. Click the filter icon (filter_alt_outlined) to set filters:
- Type — filter by product type (requires the Advanced Catalog module)
- Category — a tree structure of categories, including "All" and "No category"
- On sale — All / Yes / No
- Inventory tracking — All / Yes / No (shown only when the Inventory module is enabled)
- Manufacturer and Supplier — filter by manufacturer or supplier (requires the Advanced Catalog module)
Use the "Reset" button to clear the filters and the "Apply" button to apply them.
The sort icon (swap_vert) lets you sort by: Name, Price, Type (with the Advanced Catalog module).
Compact mode
In compact mode, a list of cards is shown instead of a table. Each card shows the product name and sale price on the first line, and the category, type, and purchase price (if any) along with the sales tax on the second line. The catalog tabs scroll horizontally. Functionally, everything is identical to full mode — clicking a card opens the same edit dialog.
Editing a product
Click a product in the list to open the edit form. The form contains:
- Name (required, must be unique) and Category (selecting a category can set default values for tax, prep station, and color)
- Sale price (with a with/without VAT toggle) and Purchase price (requires the products.manage_purchase_price permission, also with a VAT toggle)
- Sales tax and Purchase VAT (require the products.manage_tax permission)
- Supplier and Manufacturer (require the Advanced Catalog module)
- Product type — a chip bar with options (requires the Advanced Catalog module; without the module, the type is automatically "Product")
- SKU and Alternative SKU (with a scanner icon on platforms that have a camera) and Unit (pcs, kg, l, m, min)
- Description — a multi-line text field
- On sale — toggle (requires the products.set_availability permission)
- Track inventory — toggle (shown only when the Inventory module is enabled). Once enabled, the Min. quantity and Sell without stock (Allow / Warn / Block) fields appear
- Prep station and Color — select the prep station and the product color
- Variants and Modifier groups — expandable sections (shown only for existing products of the Product type with the Advanced Catalog module)
After you click Save, the changes take effect in the register immediately. Long-press a product in the list to delete it (the system checks for dependencies).
Categories
The Categories tab lets you organize your products into logical groups. You can have categories such as "Hot dishes", "Cold drinks", "Desserts", and so on.
The table shows the following columns: Name | Parent category | Default sales tax | Default purchase tax | Active (green check mark = active).
Creating a category
Click + Add and enter the category name. Optionally, you can assign it a color to help you identify it visually in the register. The color appears on buttons and filters in the catalog, making navigation easier.
Organizing categories
You can sort categories according to your preferences. The order of categories is also reflected in the register, so arrange them by your most frequently used categories.
Assigning products
When you create or edit a product, you can choose which category it belongs to. A single product belongs to one category. If you need a product in multiple categories, create a variant of it in the other category.
Modifier groups
The Modifier groups tab requires the Advanced Catalog module (moduleAdvancedCatalog).
Modifiers are add-ons and extras for products. Modifier groups let you organize them into logical sets. For example, you can have a "Drink extras" group with modifiers such as lemon, sugar, and ice, or a "Extra meat" group with options such as bacon, chicken breast, and beef steak.
The table shows the following columns: Group name | Min. selection | Max. selection.
Creating a modifier group
Click + Add and enter the group name. Then add individual modifiers by clicking + Add modifier. Enter the name and price of each modifier. If a modifier is free (for example, a teaspoon of flour), set its price to zero.
Assigning to products
Once you create a modifier group, you can assign it to products. When a customer orders that product, they'll be able to choose a modifier from the offered group.
Suppliers
The Suppliers tab requires the Advanced Catalog module (moduleAdvancedCatalog).
In the Suppliers tab, you manage all the companies you buy from. The table shows the following columns: Supplier name | Contact person | Email | Phone.
Adding a supplier
Click + Add and enter the supplier name. Optionally, add a contact person, phone number, email, and address. This information will be useful when you need to place an order or get in touch with the supplier.
Linking to products
When you create or edit a product, you can choose which supplier you buy it from. This way you keep track of where each product comes from and can analyze your purchases.
Manufacturers
The Manufacturers tab requires the Advanced Catalog module (moduleAdvancedCatalog).
If you produce items yourself or work with external producers (for example, a confectionery or a bakery), record them in the Manufacturers tab. It works similarly to suppliers but applies to production rather than to one-time purchases.
The table shows a single column: Name.
Recipes
The Recipes tab requires the Advanced Catalog module (moduleAdvancedCatalog).
Custom recipes are useful when you want to track which raw materials make up your sale item and what the individual costs are. A recipe can be assigned to any sale item — a product, a variant, or a modifier — and the system automatically deducts the ingredients from inventory when the item is sold.
The table shows the following columns: Item | Components | Cost (the recipe's current purchase price).
When an item is sold, the recipe cost is saved as a snapshot with that order (purchase_price_att), so historical margin statistics stay accurate even if you later change ingredient prices.
Customers
The Customers tab requires the Customers module (moduleCustomers).
If you have regular customers or sell on invoice, you can record them in the Customers tab. Here you keep their names, contact details, and other information needed for invoicing and the loyalty program.
The table shows the following columns: First name | Last name | Email | Phone | Points (loyalty points) | Credit (prepaid credit) | Last visit.
Creating a customer
Click + Add and enter the customer's details. If you want, you can set a credit limit or a special discount that is applied to them automatically.
Invoicing
When you create a new order, you can select a customer and the system automatically fills in the billing details. This speeds up the process and reduces the risk of errors.
Price levels
Price levels let you sell the same item at different prices depending on the situation — typically takeaway (a different VAT rate and price for to-go orders) or happy hour (a discount at a certain time). The level definitions are configured under Settings > Register > Price levels, and you then set the prices for individual items in the product editor.
Types of price levels
- Manual — the staff member selects the level manually via a chip in the register (for example, "Member price", "VIP"). Suitable for customer-dependent discounts.
- Takeaway — activated automatically by the "To go" toggle on a tab. You can set both a different price and a different VAT rate (typically a reduced rate for to-go food).
- Timed — the level turns on by itself on certain days and hours (for example, "Happy hour Monday–Thursday 5:00–7:00 PM"). You configure the day and time range.
Per-item prices
In the product editor (the Price levels tab), you set a price for each active level. If no price is set for a level, the default sale price is used. When an item is sold, the register resolves the correct price automatically based on the active level and the tab type.
Active level in the register
The staff member sees the currently selected price level as a chip in the top bar of the register (hidden if only the default level exists). Manual levels require the pos.price_level_select permission.
Activating and deactivating levels
Under Settings > Register > Price levels, each level has an Active toggle. A deactivated level is not offered in the register or in the product editor, but its definition (including per-item prices) is preserved for re-enabling later.
Price level on the receipt
If a price level other than the default was used during a sale, its name appears as an annotation on the printed receipt as well as in the tab detail in the app. This way, both the staff member and the customer can immediately see which price the tab was charged at.
Search and filtering in the catalog
All catalog tabs include a search field and a sorting option. Some tabs also offer filters. Use them to quickly find what you're looking for.
Synchronization
All changes in the catalog are synchronized automatically through the PowerSync system. If you're working in offline mode, the changes are uploaded to the server automatically as soon as you're back online. There's nothing you need to do — synchronization runs in the background.
For managers and administrators
Bulk import and export
For bulk operations on the catalog, use the Data screen (see chapter 17). Imports and exports are not part of the catalog but a separate screen.
- Export (
data.exportpermission, Manager+) — export products, categories, customers, and other entities to XLSX format - Import (
data.importpermission, Admin only) — import products and customers from an XLSX file
Import is particularly useful during the initial system rollout, when you need to upload hundreds of products at once, or when migrating from another system.
Advanced Catalog module
Enabling the Advanced Catalog module (moduleAdvancedCatalog) under Settings > System > Modules unlocks:
- Recipes — define the composition of any sale item (product, variant, modifier) from ingredients with quantities. The system automatically calculates the cost, saves a cost snapshot with each sale, and deducts the ingredients from inventory. Requires the
products.manage_recipespermission. - Manufacturers — a record of product manufacturers. Requires the
products.manage_manufacturerspermission. - Suppliers — a record of suppliers with contact details. Requires the
products.manage_supplierspermission. - Product types — the ability to distinguish between Product, Service, Counter, Recipe, Ingredient, Variant, and Modifier
- Modifier groups — management of product add-ons (sides, extras). Requires the
products.manage_modifierspermission.
Without this module, all new products are automatically created as the "Product" type, and the Recipes, Manufacturers, Suppliers, and Modifier groups tabs are hidden. Disabling the module does not delete existing data.
Tracking purchase prices and markups
To work with purchase prices, you need two permissions:
products.view_cost— view purchase prices and markups in the catalog (the "Purchase price" column in the products table). Default for Manager and Administrator.products.manage_purchase_price— the ability to change purchase prices when editing a product. Requires bothproducts.manageandproducts.view_cost.
The purchase price is entered when editing a product with a with/without VAT toggle (analogous to the sale price). If you have the Markups module enabled, the system automatically calculates the markup from the difference between the sale and purchase prices.
Category hierarchy and inheritance
Categories can have a tree structure (parent/child category). When creating a category, you can set:
- Default sales tax and Default purchase tax — new products in this category automatically inherit these rates
- Default on sale — whether new products in the category are automatically put on sale
- Prep station — the default prep station for products in the category
- Category color and Default item color — visual distinction
If you have the Markups module enabled, a category inherits the target markup from its parent category (or from the company's default value). Inherited values are shown in a lighter color. You'll find the category target markup settings under Settings > Finance > General > Markups.
Catalog permissions
| Action | Permission | Helper | Staff | Manager | Admin |
|---|---|---|---|---|---|
| View catalog | products.view | ✓ | ✓ | ✓ | ✓ |
| View purchase prices | products.view_cost | — | — | ✓ | ✓ |
| Create/edit products | products.manage | — | — | ✓ | ✓ |
| Manage categories | products.manage_categories | — | — | ✓ | ✓ |
| Manage modifiers | products.manage_modifiers | — | — | ✓ | ✓ |
| Manage recipes | products.manage_recipes | — | — | ✓ | ✓ |
| Change purchase price | products.manage_purchase_price | — | — | ✓ | ✓ |
| Change tax rates | products.manage_tax | — | — | ✓ | ✓ |
| Manage suppliers | products.manage_suppliers | — | — | ✓ | ✓ |
| Manage manufacturers | products.manage_manufacturers | — | — | ✓ | ✓ |
| Remove from sale | products.set_availability | — | ✓ | ✓ | ✓ |
| Import data | data.import | — | — | — | ✓ |
| Export data | data.export | — | — | ✓ | ✓ |