Catalog
The Catalog section manages everything your restaurant sells and sources — menu items, ingredients, suppliers, and automated stock tracking.
Menu Items
Add, edit, and manage all items available for sale in the POS.
Item List
| Column | Description |
|---|---|
| Code | Numeric item code used for fast keyboard entry |
| Name | Item display name |
| Description | Optional description |
| Price | Selling price in KES |
| VAT | Whether VAT applies (Yes/No) |
| Status | Active (available for sale) or Disabled |
| Actions | Edit item details |
Use the Search box for instant filtering. Toggle Show disabled to see items that have been deactivated.
Adding a Menu Item
Click + Add Menu Item and fill in:
- Code — numeric code for keyboard-first ordering
- Name — item name as it appears on receipts and kitchen tickets
- Price — selling price including VAT (if applicable)
- VAT — toggle off for non-vatable items (e.g., raw produce resale)
- Category — assign to a menu category for kitchen routing and reporting
Menu Code Design
Hierarchical Menu Codes
Design your codes using a mnemonic system for fast keyboard entry. A good pattern for food items is <starch><protein> using 2-digit groups:
Starch codes:
| Code | Starch |
|---|---|
| 10 | Ugali |
| 11 | Rice |
| 12 | Chips |
| 13 | Chapati |
Protein codes:
| Code | Protein |
|---|---|
| 10 | Beef |
| 11 | Chicken Stew |
| 12 | Beans Stew |
| 13 | Fish |
Combined:
| Code | Item |
|---|---|
| 1010 | Ugali + Beef |
| 1112 | Rice + Beans Stew |
| 1211 | Chips + Chicken Stew |
| 1313 | Chapati + Fish |
Waiters memorize the pattern, not individual codes. A new starch or protein only needs one new 2-digit code to create all combinations.
VAT Handling
Items marked as VAT: Yes have tax calculated automatically on receipts and fiscal invoices. Set VAT to No for:
- Raw ingredient resale (e.g., raw beef sold to customers)
- Non-vatable services
- Items already priced as tax-exclusive
Categories
Organize menu items into categories for kitchen routing and reporting.
Categories determine:
- Kitchen printer routing — items in the "Drinks" category go to the bar printer, "Food" items go to the kitchen printer
- Menu Analysis reporting — revenue breakdown by category
- POS client grouping — items organized by category in the order entry screen
Ingredients
Manage the raw inputs and supplies purchased daily — these are the items that appear in the Expenses list when cashiers record purchases.
Ingredient List
| Column | Description |
|---|---|
| ID | Unique identifier |
| Name | Ingredient name (e.g., Beef, Potatoes, Bread) |
| Track Supply | Whether this ingredient is tracked in Smart Stock |
| Actions | Edit |
Use Search for filtering. Toggle Tracked Only to show only ingredients with supply tracking enabled.
Adding Ingredients
Click + Add Ingredient to create a new ingredient. Mark Track Supply: Yes if you want it to appear in Smart Stock calculations.
Common ingredient types:
- Food supplies — Beef, Chicken, Potatoes, Rice, Vegetables
- Beverages — Soda, Juice, Water, Milk
- Operational — Detergent, Gas, Charcoal, Packaging
- Misc — Airtime, Transport, Stationery
Suppliers
Manage your vendors and suppliers.
Supplier List
| Column | Description |
|---|---|
| ID | Unique identifier |
| Name | Supplier/vendor name |
| Contact | Contact person |
| Phone | Phone number |
| Tax PIN | Tax authority PIN — e.g., KRA PIN (Kenya), TIN (Uganda) — for fiscal compliance and purchase invoices |
| Status | Active or Disabled |
| Actions | Edit |
Click + Add Supplier to register a new vendor. Toggle Enabled Only to filter out disabled suppliers.
Smart Stock
The Smart Stock engine automatically calculates ingredient consumption based on what was sold. It uses pattern matching rules to map menu items to their raw ingredient usage.
Requires Stock Engine Feature
Smart Stock requires the Stock Engine feature, available on the Growth plan and above, or as a feature add-on.
How It Works
- You define rules that map menu item names to ingredients with quantities
- When orders are placed, the engine matches each sold item against the rules
- Consumption is calculated automatically — no manual stock counting needed
Pattern Matching
Rules use pattern matching to link menu items to ingredients. For example:
| Ingredient | Pattern | Meaning |
|---|---|---|
| Chicken | chicken stew | Any item containing "chicken stew" uses 0.25 chickens |
| Rice | rice | Any item containing "rice" uses 1/11 kg of raw rice |
| Beans | beans|githeri | Items matching "beans" OR "githeri" use beans |
| Bacon | main breakfast|bacon with|fried bacon|olive best | Multiple menu items that use bacon |
The pipe character (|) acts as an OR operator, matching any of the listed patterns.
Usage Report
The Usage Report view shows calculated consumption for any date range:
Each ingredient card displays:
- Ingredient name and the matching pattern
- Units consumed — total calculated usage
- Breakdown by menu item — which menu items contributed and how many were sold
Example: If 52 Andazi were sold and 4 Olive Bites (both matching the "andazi" pattern), the engine reports 56.00 units of Andazi consumed.
Views
Smart Stock offers three views:
| View | Description |
|---|---|
| Tree View | Hierarchical view of ingredient rules |
| Node List View | Flat list of all rules with patterns |
| Usage Report | Calculated consumption for a date range |
Adding Rules
Click + Add Node to create a new stock tracking rule:
- Ingredient — select the ingredient to track
- Pattern — enter the pattern to match against menu item names
- Quantity per match — how much of the ingredient each matching item uses (e.g., 0.25 for quarter chicken)
Real-World Example
A restaurant sells "Chicken Stew with Ugali" and "Chicken Stew with Rice":
| Rule | Pattern | Qty/Match | Ingredient |
|---|---|---|---|
| Chicken | chicken stew | 0.25 | Whole chicken |
| Ugali | ugali | 0.11 | Ugali packet (1 packet makes ~9 servings) |
| Rice | rice | 0.09 | Rice kg (1/11 kg per serving) |
If 5 chicken stews are sold (2 with rice, 3 with ugali):
- Chicken: 5 × 0.25 = 1.25 whole chickens
- Rice: 2 × 0.09 = 0.18 kg rice
- Ugali: 3 × 0.11 = 0.33 packets ugali
Compare these calculated amounts against your actual purchases in the Expenses & Cash report to spot waste, theft, or over-portioning.