Chapter 2: Product Setup — 2.5 Bundle Setup
Use Bundle Setup to create combo deals and set meals — like a "Lunch Set" with a main dish + drink + dessert at a special price. Customers love bundles, and they're a great way to boost average order value.
When to use this: When you want to sell multiple products together as a set at a special price.

The Bundle list displays all bundle groups. Each bundle has a name, description, and Min/Max item limits. Bundles are assigned to products via the product edit form's "Bundle" tab.
| Element | Type | Function |
|---|---|---|
| + Add New | Green Button | Create a new bundle group |
| Export | Orange Button | Download bundle list |
| Search Bar | Text Input | Filter by bundle name |
| 🔽 Filter | Funnel Icon | Opens the Column Visibility Panel — toggle columns ON/OFF to customize the data grid view |
Click the 🔽 funnel icon (top-right of the toolbar) to open the Column Visibility Panel. Each toggle switches a column ON (visible, blue) or OFF (hidden, grey).
| Toggle | Column | Description |
|---|---|---|
| 🔵 SetMealGroupName | SetMealGroupName | Bundle group name (clickable → edit form) |
| 🔵 Description | Description | Bundle description/remarks |
| 🔵 Min | Min | Minimum items customer must select |
| 🔵 Max | Max | Maximum items customer can select |
| 🔵 Deleted | Deleted | Hidden/deleted status |
| Toggle | When ON (Visible) | When OFF (Hidden) |
|---|---|---|
| ⚪ CreatedBy | Shows who created this bundle group | Column hidden |
| ⚪ CreatedOn | Shows when this bundle was created | Column hidden |
| ⚪ ModifiedBy | Shows who last modified this bundle | Column hidden |
| ⚪ ModifiedOn | Shows when the last modification occurred | Column hidden |

| Field | Type | Required | Description |
|---|---|---|---|
| ID | Text | Auto | System-generated SetMealGroupCode |
| Name | Text | ✅ Yes | Bundle display name (e.g., "Combo Meal Set A") |
| Description | Textarea | No | Notes about this bundle |
| Field | Type | Description |
|---|---|---|
| Min Items | Number | Minimum items customer must select from this bundle |
| Max Items | Number | Maximum items customer can select from this bundle |
| Toggle | When ON | When OFF |
|---|---|---|
| Select All Items | All items are pre-selected by default when bundle is opened on POS | Customer must manually select items |
[!IMPORTANT] Validation rules:
Minmust be ≥ 0,Maxmust be > 0, andMin≤Max. The number of pre-selected items cannot exceedMax.
After saving the bundle group for the first time, the Items Table appears. Here you assign individual products to the bundle.

| Column | Type | Description |
|---|---|---|
| Item Code | Auto | System-assigned item-in-bundle code |
| Item Name | Text | Product name |
| Item No | Text | Linked product code from the catalog |
| Original Price | Number | Product's retail price |
| Bundle Price | Number (editable) | Override price within the bundle (can be $0 for included items) |
| Selected | Toggle (editable) | Whether item is pre-selected when POS opens the bundle |
| Color | Color Picker | POS button color for this item |
| Sequence | Number | Display order on POS |
| Action | Function |
|---|---|
| Add Item | Opens a modal to search and add products by category |
| Reset All Color | Clears all color assignments on bundle items |
[!NOTE] Before the first save, the items table shows: "Please save the bundle group first before adding items"

| Button | Condition | Function |
|---|---|---|
| Save | Always | Saves the bundle group and item assignments |
| Save and New | Always | Saves then opens a new blank form |
| Duplicate | Edit mode | Creates a copy of the entire bundle (group + items) |
| Delete | Edit mode | Removes the bundle |
| Restore | After delete | Restores a safely deleted bundle |


Change the fields you need to update.
Click Save to apply your changes.
✅ Expected Result: The bundle group is saved and can be linked to products.

[!TIP] To make changes, just click the name of any bundle in the list — the same form opens with everything already filled in. Change what you need and click Save.
A fast food restaurant offers "Set Meal A" — choose 1 main + 1 drink + 1 side.
3. At POS: Cashier selects "Set Meal A" → POS prompts to choose 1 from each group.

A cosmetics store offers a "Holiday Gift Set" — pick any 3 from a selection of 8 items.
2. Add 8 items with Bundle Price = $0 (already included in set price)
3. The set price is defined on the parent product (e.g., $49.90)
4. At POS: Cashier selects "Holiday Gift Set" ($49.90) → POS shows 8 items → customer picks 3.

A pizza chain allows customers to add up to 5 extra toppings.
[!TIP] Use Duplicate when creating similar bundles. For example, if "Combo Meal B" is similar to "Combo Meal A" but with different items, duplicate Combo A and modify the items.
| Role | View | Create | Edit | Delete |
|---|---|---|---|---|
| Admin | Yes | Yes | Yes | Yes |
| Supervisor | Yes | Yes | Yes | No |
| Cashier | No backend access | — | — | — |
[!NOTE] Exact permissions depend on the Privileges Setup configured for each role. Contact your administrator if you cannot access this page.
2. Click the name or code link (blue text) of the record you want to delete.
3. In the edit form, scroll down to the bottom.
4. Click the Delete button (red button).
5. A confirmation dialog appears — click Yes to confirm deletion.
Expected Result: The record is soft-deleted — it is hidden from the active list and POS terminals but can be restored later using the "Show Deleted" filter.
[!WARNING] Records linked to active transactions or other modules cannot be deleted. The system will display an error if deletion is not allowed.

Click the + Add New button (green button).
Fill in the required fields in the form.

Fill in any optional fields as needed.
Click Save to create the new bundle.

✅ Expected Result: The new bundle appears in the list and is available for use across the system.
Q: Why is my product not showing on the POS? A: The POS needs to sync first. Check Terminal Status to see the last sync time. Also verify the product is not deleted and is assigned to the correct outlet.
Q: Can I delete a product that has sales history? A: You can soft-delete it (it will be hidden from active lists and POS), but it cannot be permanently removed because it is linked to transaction records.
Q: How do I update prices for multiple products at once? A: Use the Data Importer > Product Importer to bulk update. Export the current list, modify prices in the spreadsheet, then re-import.
| Issue | Possible Cause | Solution |
|---|---|---|
| Cannot save the record | Required fields are empty or invalid | Check all fields marked with * and fill in valid data |
| Record not appearing in POS | POS terminal has not synced yet | Wait for the next sync cycle or manually trigger sync from Terminal Status |
| Cannot delete the record | Record is being used by other modules | Check if the record is linked to active transactions, products, or other settings |
| Changes not taking effect | Browser cache showing old data | Refresh the page (Ctrl+F5) or clear browser cache |
| "Duplicate" error on save | A record with the same name/code already exists | Search the list (including deleted records) for duplicates |
| Page not loading | Session expired or network issue | Log out and log back in. Check your internet connection |
[!NOTE] The following items may vary depending on your system version and configuration:
- Exact permission settings depend on your Privileges Setup configuration
- Sync timing to POS terminals depends on network conditions and sync schedule
- Some features may require additional licensing or module activation
- Field behavior may differ between EQuip versions
If you encounter behavior not described in this manual, contact your system administrator or EQuip support team.