> ## Documentation Index
> Fetch the complete documentation index at: https://help.kwentra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Recipe Categories

> Classify recipes with a category, filter the recipe listing by it, and import and export recipes with the category code.

Recipes can now carry a category, and the recipe listing filters by it.

### **Business Value**

* Classifies recipes by type of dish.
* Narrows a long recipe listing to one category.
* Shows the recipe code next to the name.
* Replaces search boxes that never filtered anything.
* Exports recipes in the shape the import reads.

### **Use Cases**

* Chef filters the listing to desserts before costing a menu.
* Cost controller sets up categories once for the whole recipe file.
* Kitchen manager exports recipes, edits them in a spreadsheet and re-imports.

### **How It Works**

| **Where:** Point of Sale → Settings → Recipe Category, and Back Office → Inventory → Recipes |
| - |

Recipes had no classification, and only one of the nine search boxes worked. Recipes now have a category, and the listing is rebuilt.

#### **Setting up categories**

Open **Point of Sale → Settings → Recipe Category**. The listing shows Code and Name, and searches on either.

| Field | Rule | Length |
| - | - | - |
| **Code** | Required and unique | Up to 50 characters |
| **Name** | Required | Up to 100 characters |

The screen has its own add / change / view permission. Every role that can already edit a recipe has it. No other role has it until you grant it.

#### **Category on the recipe**

The Recipe screen gains an **optional** **Category** field, a single-select autocomplete.

#### **The rebuilt recipe listing**

The listing now shows **Recipe code**, **Recipe name** and **Category**. Category is empty where the recipe has none.

The search panel now has six fields that work:

| Field | Matches |
| - | - |
| **Recipe code** | Part of the code |
| **Recipe name** | Part of the name |
| **Category** | Multiselect — any chosen category |
| **Store** | Multiselect — any chosen store |
| **Number of portions** | The exact figure |
| **Profit factor** | The exact figure |

Fill several boxes to narrow on all of them. Fill none to get every recipe.

**Preparation time, Total cost, Cost per portion and Suggested selling price are gone.** None ever filtered. **Store** is now a multiselect.

#### **The recipe import**

The recipe row gains an optional **Category code**, matched by code. It goes **first, before the store code**, so every other column moves one to the right:

| Column | Recipe row | Ingredient row |
| - | - | - |
| 0 | **Category code** — *new, optional* | *empty* |
| 1 | Store code | — |
| 2 | Recipe code | *empty — marks an ingredient row* |
| 3 | Recipe name | — |
| 4 | Preparation time | — |
| 5 | Number of portions | — |
| 6 | Profit factor | — |
| 7 | Non-stock item code | — |
| 8 | — | Item code |
| 9 | — | Qty |

* Leave Category code empty to import with no category.
* A code that does not exist gives *"Category code in line 4 does not exist."* and nothing is imported.
* The import now **updates the existing recipe** by recipe code instead of creating a duplicate.
* A recipe code repeated inside one file is now rejected.
* **Non-stock item code is now optional**, so a recipe without one can be exported and re-imported.

| **Note:** Files in the old shape no longer import. Every file must gain the new column, left empty where there is no category. The import screen has a **Help** panel listing every column. |
| - |

#### **Exporting recipes**

An **Export** link on the import screen writes the file in the import's own shape. Export, edit in a spreadsheet, re-import.

| **Note:** Recipe codes are now unique. Duplicates are renamed on deployment. The lowest record keeps its code, the rest gain a `-2` or `-3` suffix. Check your recipe list if you rely on a code. |
| - |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.