Items
Use this page to add and manage menu items — finished products, ingredients, and packaging with prices, per-location overrides, variants, modifiers, inventory, and dietary tags. This is the newer items screen (marked NEW in the menu).
Open the screen: Sidebar → Master Data Management → Items
Set up master data first
Create Categories, Product Attributes, Modifiers Categories, and Modifiers before you build items. Assign categories and add-ons inside the item dialog.
Legacy Item Library
Item Library is the older list at /items. Prefer Items for location overrides, variants, and the tabbed dialog.
Items list
What it does
Shows all products with filters, row selection, drag-to-reorder, pagination, and bulk actions.
Step-by-step
- Open Master Data Management → Items.
- Wait if the table shows Loading items….
- Use filters to narrow the list. Name and barcode searches update shortly after you stop typing.
- Read the table — checkbox, drag handle, Name, Item Type, Category, Price, Online Price, Barcode, Inventory Tracked, Status, and Actions (⋮ menu).
- Tap Refresh to reload. Toast: Data Refreshed.
- Use pagination at the bottom to change page or rows per page.
- Tap a row to open View Item, or use the ⋮ menu for more actions.
Filters
| Filter | What it does |
|---|---|
| Item Name | Search by name. Tap X to clear. |
| Barcode | Search or scan a barcode |
| Item Type | All Types, Finished Product, Ingredient, or Packaging Item |
| Category | All Categories or one category |
| Status | All Status, Active, or Inactive |
Toolbar buttons
| Button | What it does |
|---|---|
| Refresh | Reload the list |
| Import | Open Import Products CSV dialog |
| Clone Location | Copy all products from one outlet to another |
| Add Item | Open the create item dialog |
Row actions (⋮ menu)
| Action | What it does |
|---|---|
| View Details | Read-only item view |
| Edit Item | Open edit dialog |
| Duplicate Item | Quick duplicate |
| Delete Item | Remove item (confirm dialog) |
Bulk actions (when rows are selected)
| Button | What it does |
|---|---|
| Set Active | Activate all selected items |
| Set Inactive | Deactivate all selected items |
| Bulk Edit | Edit shared fields for selection |
| Clone | Duplicate all selected items |
| Delete | Delete all selected items |
Find inactive items
Set Status to All Status or Inactive to see retired products.
Common mistakes / FAQs
- I see “No items found matching your filters”. Clear filters or widen Status and Item Type.
- I do not see Add Item, Import, or Edit. Ask your administrator for CREATE or UPDATE permission on Item Library / ITEM.
Add an item
What it does
Creates a new menu item using the tabbed item dialog.
Step-by-step
- Tap Add Item.
- In the Create Item dialog, upload an image (optional), enter Item Name, and add a Description if needed.
- Open the Basics tab — set Product Type, Category, Pack Size, Unit, and Location Availability (finished products).
- Set Price on Basics if you are not using variants.
- Open Pricing & Options to add variants, attributes, or modifier groups.
- Open Inventory and Advanced for stock, tax, discounts, loyalty, and dietary tags as needed.
- Tap Create Item.
- When successful, you see Item created successfully and the dialog closes.

Dialog tabs
| Tab | What it covers |
|---|---|
| Basics | Item details, location availability, base pricing (hidden when variants exist) |
| Pricing & Options | Variants or attributes, modifier groups |
| Inventory | Stock tracking, costs, reorder levels |
| Advanced | Discounts, tax, loyalty, dietary tags, location settings, active status |
Minimum fields (finished product)
| Field | Required? | Notes |
|---|---|---|
| Item Name | Yes | |
| Category | Yes | Select a real category |
| Pack Size | Yes | Must be greater than 0 |
| Unit | Yes | |
| Price | Yes* | On Basics when not using variants |
| Locations | Yes* | Pick outlets under Location Availability |
| Discount type | Yes* | Required when any discount amount is greater than 0 |
Common mistakes / FAQs
- “Item name is required”. Enter a name before you save.
- “Please select a discount type when applying discounts”. Pick Discount Type when any discount field is filled.
- “Category is required for finished products”. Select a category on Basics.
Edit an item
What it does
Updates an existing item across all tabs.
Step-by-step
- Open the ⋮ menu and tap Edit Item, or use the edit action on the row.
- In the Edit Item dialog, change fields on any tab.
- Tap Save Changes.
- When successful, you see Item updated successfully and the dialog closes.
View an item
What it does
Opens the item dialog in read-only mode.
Step-by-step
- Tap View Details from the ⋮ menu, or tap the row.
- The dialog title shows View Item. All fields are disabled.
- Browse each tab without saving.
- Tap Cancel to close.
Product variants (sizes and options)
What it does
Lets one menu item sell as separate versions (for example Small, Medium, Large), each with its own price.
Step-by-step
- Open Add Item or Edit Item on a Finished Product.
- Fill Basics first — Item Name, Category, Unit, and Location Availability.
- Tap the Pricing & Options tab.
- Expand Pricing Options.
- Tap Use Variants (not Use Attributes).
- Tap Quick Fill (S/M/L) for starter rows, or tap Add Variant for each size.
- Enter Variant Name and Price for each row. Tap the star to set the default variant.
- Tap Save Changes on the item dialog — variants save with the product.
Variants table columns
| Column / control | Purpose |
|---|---|
| Drag handle | Reorder variants |
| Chevron (›) | Expand barcode, inventory, location prices |
| Star | Default variant pre-selected on POS |
| Variant Name | Label shown to staff and customers |
| Unit | Measurement unit for this variant |
| Price | Standard / in-store price |
| Online | Online ordering price |
| Dine-in | Dine-in channel price |
Variants hide base pricing
When variants exist, the Pricing section on Basics is hidden — set prices on each variant row instead.
Variants vs Attributes
An item uses one pricing style. Variants = fixed sizes with own prices. Attributes = combinations with price adjustments. Switching between them deletes the other setup after you confirm.
Common mistakes / FAQs
- I do not see Pricing Options. Variants are only for Finished Product items.
- Prices on Basics disappeared. That is normal when variants are active — edit prices on variant rows.
Clone location products
What it does
Copies all active products from one outlet to another, including pricing and modifiers.
Step-by-step
- Tap Clone Location on the items list.
- In Clone Location Products, select From (source location) and To (target location).
- Tap Clone Products.
- Wait for the success message. Existing products at the target are skipped.
Reorder items
What it does
Changes display order within a category.
Step-by-step
- Drag the grip handle on a row up or down.
- Drop the row in the new position.
- Wait for Item sequence has been updated successfully.
Delete an item
What it does
Permanently removes an item from the list.
Step-by-step
- Open the ⋮ menu and tap Delete Item, or select rows and tap bulk Delete.
- In the confirmation dialog, read the warning.
- Tap Delete to confirm, or Cancel to keep the item.
Deletion removes the item
Prefer Set Inactive if you only want to stop selling an item without deleting its history.
Import items from CSV
What it does
Creates many products at once from a spreadsheet.
Step-by-step
- Tap the Import icon.
- In Import Products, tap Sample CSV to download the template if needed.
- Toggle Show field reference to see column help.
- Upload a
.csvfile. - Tap Import.
- Review per-row results. Tap Import another file to run again.
Download a blank template: Items V2 import template (CSV)
CSV columns
| Column | Header name | Notes |
|---|---|---|
| Item name | name | Required |
| Description | description | Optional |
| Barcode | barcode | Optional |
| Product type | product_type | finished_product, ingredient, or packaging_item |
| Category ID | category_id | Required for finished products |
| Measurement unit ID | measurement_unit_id | Required |
| Quantity | quantity | Optional number |
| Base price | price | Required number |
| Online price | online_price | Optional |
| Dine-in price | dine_in_price | Optional |
| Discount type ID | discount_type_id | Optional |
| Discount | discount | Optional |
| Online discount | online_discount | Optional |
| Dine-in discount | dine_in_discount | Optional |
| Locations | restaurant_ids | Comma-separated outlet IDs, e.g. 101,102 |
| Status | status | 1 = active, 0 = inactive |
Use UTF-8 for special characters
Save the CSV as UTF-8 if names include accents or non-English characters.
Common mistakes / FAQs
- “Only CSV files are supported”. Select a
.csvfile, not Excel.xlsx. - Row errors in import results. Fix the named column on that row and import again.
Permissions
| What you need | Why |
|---|---|
| Item Library / ITEM module permission | See the Items menu and list |
| CREATE on ITEM | Add Item, Import, Clone Location, Duplicate |
| UPDATE on ITEM | Edit Item, Bulk Edit, reorder, Set Active / Inactive |
| DELETE on ITEM | Delete Item, bulk Delete |
