# Restaurant Costing — User Manual v2

**Version:** 0.4.3 | **Last updated:** 2026-06-03

Welcome to Restaurant Costing. This manual covers everything from your first login to advanced inventory workflows. Each section includes step-by-step instructions and notes on what to expect.

> **About the screenshots referenced in this manual**
> Screenshots are stored alongside this file. References like `[screenshot: filename.png]` indicate a relevant screenshot at that point in the workflow.

---

## Table of Contents

1. Quick Start
2. Dashboard — At a Glance
3. Ingredients — Your Food Library
4. Recipes — Building & Costing Dishes
5. Inventory — Stock & Ordering
6. Settings — Customizing RC
7. Backup & Restore
8. Import / Export
9. User Roles & Permissions
10. Troubleshooting
11. Common Questions

---

## 1. Quick Start

Complete these three steps to begin using Restaurant Costing:

1. **Import your ingredients** — Go to Settings > Ingredients Data > Upload foodmaster.csv (see section 8).
2. **Create your first recipe** — Go to Recipes > Add New (see section 4).
3. **Take a stock count** — Go to Inventory > New Count (see section 5).

That's it. The system calculates costs, nutrition, and reorder levels automatically from this data.

---

## 2. Dashboard — At a Glance

`[screenshot: dashboard.png]`

The Dashboard is your home screen. It shows:

- Total ingredient count
- Total recipe count
- Inventory count (number of stock counts)
- Quick links to all major sections

> **Tip:** The version number (top of every page) helps us help you if you contact support.

---

## 3. Ingredients — Your Food Library

`[screenshot: ingredients-list.png]`

The Ingredients page lists everything in your kitchen. Each ingredient has: name, product type, supplier, package size, unit cost, and nutrition data.

### View Ingredients

- Use the **Filter** bar to search by name, product type, or supplier.
- Toggle **Show Inactive** to include deactivated ingredients.
- Columns sort by clicking the header (Ingredient, Product Type, etc.).

### Add an Ingredient

1. Click **Add Ingredient**.
2. Fill in the fields:
   - **Name** (required) — The ingredient name.
   - **Product Type** — Category (Produce, Meat, Dairy, etc.).
   - **Supplier** — Who you buy from.
   - **Area** — Where it's stored (optional).
   - **Reference unit** — g, ml, or ea.
   - **Product Size** — e.g. "355 ml" or "10 lb".
   - **Weight** — The amount used in a single serving.
   - **Package size** — Total quantity in the package you buy.
   - **Package cost** — What you pay for that package.
   - **Food cost** — Calculated from package cost ÷ package size × weight, or entered manually.
3. Click **Save**.

### Edit an Ingredient

Click any ingredient name to open the detail modal. Change any field and click **Save**.

### Copy an Ingredient

Open an ingredient, click **Copy to New**, adjust fields, and save. Useful for similar items (e.g. "Chicken breast" → "Chicken thigh").

### Delete an Ingredient

Open the ingredient, scroll to the bottom of the modal, and click **Delete**. A confirmation dialog will ask you to confirm.

### Nutrition Fields

If nutrition data is available for an ingredient, it appears in the bottom section of the ingredient modal. Fields include: Calories, Protein, Carbohydrates, Fat, Fiber, Sugar, Sodium, Cholesterol, Saturated Fat, Trans Fat, Vitamin A, Vitamin C, Potassium, Calcium, Iron.

> **Warning:** If an ingredient is missing nutrition data, the recipe edit page shows a bold red "Not accurate" warning on the nutrition panel. Add nutrition data to remove this warning.

### Filters

- **Product Type** — Narrow by category.
- **Supplier** — Narrow by supplier.
- **Show Inactive** — Include deactivated ingredients.
- **Search** — Type any part of the ingredient name.

---

## 4. Recipes — Building & Costing Dishes

`[screenshot: recipes-list.png]`

### View Recipes

The Recipes page lists all your recipes. Use filters by name or menu type. Sort by any column.

### Add a Recipe

1. Click **Add New Recipe**.
2. Fill in:
   - **Recipe Name** (required)
   - **Menu Type** — e.g. Appetizer, Main Course, Beverage.
   - **Yield** — How many portions this recipe makes.
3. Click **Save**.

### Edit a Recipe — The Recipe Builder

`[screenshot: recipe-builder.png]`

The Recipe Builder has several panels:

**Ingredients Tab**
- Type an ingredient name in the autocomplete field to add it.
- Enter quantity and unit for each ingredient.
- The cost per line item and total ingredient cost update automatically.

**Prep / Labour Tab**
- Add labour items (prep time multiplied by hourly rate).
- Each labour line has a name, hours, and rate.

**Nutrition Panel**
- Shows per-portion nutrition calculated from ingredients.
- Bold red warning if any ingredient is missing nutrition data.

**Summary Panel** (right side)
- **Total Cost** — Sum of all ingredient and labour costs.
- **Cost per Portion** — Total ÷ yield.
- **Gross Margin** — Selling price minus cost per portion.
- **Food Cost %** — Cost per portion ÷ selling price × 100.
- **Portion Weight** — Total weight ÷ yield.

### Scale a Recipe

Use the **Scale Recipe** input to multiply all quantities by a factor. Useful for adjusting batch sizes.

### Print a Recipe

Click **Print** to open a printer-friendly view with the restaurant logo, ingredient list, quantities, and nutrition data.

### Sub-Recipes

An ingredient can be marked as a **Sub-Recipe**, meaning it's built from other ingredients. The costing panel rolls up sub-recipe costs into the parent recipe.

---

## 5. Inventory — Stock & Ordering

`[screenshot: inventory-we.png]`

### Take a Stock Count (Weekly Count)

1. Go to Inventory > **Take Weekly Count**.
2. For each ingredient, enter the quantity you have on hand.
3. Click **Save Count** to record it.

The system tracks inventory levels over time and highlights items below their minimum reorder level in yellow.

### Print / Order Sheet

`[screenshot: order-modal.png]`

1. Click **Print/Order** from any inventory view.
2. The modal groups items by supplier.
3. Click **Print** next to any supplier group for a supplier-specific sheet.
4. Click **Print All** for a complete order sheet.
5. Use **Print Not Ordered** for items not yet ordered.

### View / Prep List Toggle

Switch between **View** (read-only) and **Prep List** (editable prep quantities) modes.

### Areas

Organize ingredients by storage area (Line Fridge, Tall Fridge, Spices, etc.). Collapse/expand areas in the inventory view.

---

## 6. Settings — Customizing RC

`[screenshot: settings-page.png]`

### Display Settings

Opens a modal where you can:

- **Nutrition** — Show or hide nutrition fields on ingredient and recipe pages.
- **Theme** — Switch between Dark Theme and Light Theme.

### Management Cards

| Card | What it does |
|------|-------------|
| My Restaurant Info | Set business name, address, phone, logo, sender name/email for order emails. |
| Manage Suppliers | Add/edit/delete suppliers (opens in a modal). |
| Manage Areas | Add/edit/delete storage areas (opens in a modal). |
| Manage Users | Add/edit/delete users and assign roles (opens in a modal). |
| Manage Menu Types | Add/edit/delete recipe categories (e.g. Appetizers, Main Courses). |

### Backup & Restore

See section 7.

### Ingredients Data

- **Upload foodmaster.csv** — Replace the current ingredient CSV file.
- **Import FoodMaster** — Import ingredients from the CSV into the database. Option to skip existing items.
- **Download Ingredients as CSV** — Export all ingredients. Option to include sub-recipes.

---

## 7. Backup & Restore

### Download a Backup

1. Go to Settings > **Download Backup**.
2. A compressed `.sql.gz` file downloads containing all Restaurant Costing tables.

### Restore a Backup

1. Go to Settings > **Restore Backup**.
2. Choose a `.sql.gz` file.
3. Confirm the restore. **This replaces all existing data.**

> **Warning:** Restoring a backup will overwrite all current data. Back up your current data first.

---

## 8. Import / Export

### Import FoodMaster CSV

1. Upload your CSV file via **Upload foodmaster.csv**.
2. Click **Re-import** to process it.
3. New ingredients are added; existing ones can be skipped.

### Export Ingredients

1. Click **Export CSV** on the Ingredients page or Settings page.
2. Optionally include sub-recipes.
3. A CSV file downloads.

### Export Suppliers

Go to Settings > Management > Manage Suppliers — use the export option to download supplier data as CSV.

---

## 9. User Roles & Permissions

| Role | Capabilities |
|------|-------------|
| **RC Admin** | Full access: manage all settings, users, suppliers, areas, ingredients, recipes, inventory, imports/exports, backups. |
| **RC Manager** | Can view and edit ingredients and recipes, access inventory, print orders, export data. Cannot manage settings, users, or backups. |
| **RC User** | Can view ingredients and recipes, access inventory. Cannot edit, add, or delete anything. |

> **Note:** Role management is handled on the Users page in the WordPress admin. RC creates two custom roles: RC Manager and RC User. WordPress Administrator users inherit all RC permissions.

---

## 10. Troubleshooting

### "You are not allowed to access this page"

**Cause:** Your user account does not have the required RC capability.  
**Fix:** A WordPress Administrator must assign you the correct role (RC Manager or RC User) via Users > Your Profile.

### Nutrition warning shows "Not accurate"

**Cause:** One or more ingredients in the recipe is missing nutrition data.  
**Fix:** Open each ingredient in the recipe and add nutrition values on the ingredient modal.

### Plugin says version 0.4.2 but I just updated

**Cause:** Browser cache is holding the old version badge.  
**Fix:** Hard refresh (Ctrl+F5 or Cmd+Shift+R).

### "Destination folder already exists" when uploading zip

**Cause:** The plugin folder already exists from a previous install.  
**Fix:** Delete the existing plugin via Plugins > Delete, then upload fresh, or use "Replace current with uploaded."

### Print/Order modal is empty

**Cause:** No inventory count has been taken, or all items have zero quantity.  
**Fix:** Take a stock count first, then open Print/Order.

### Buttons don't change on hover in Light Theme

**Fix:** Hard refresh your browser to clear the CSS cache.

---

## 11. Common Questions

**Q: Can I use Restaurant Costing on multiple devices?**  
A: Yes. It runs inside WordPress, so any device with a browser and internet connection can access it.

**Q: How often should I do inventory counts?**  
A: Weekly is recommended. The system tracks trends over time and flags items at minimum levels.

**Q: Can I import recipes from another system?**  
A: Not directly. You can import ingredients via CSV (FoodMaster format), but recipes must be built manually using the Recipe Builder.

**Q: Does RC support bar inventory?**  
A: Yes. The Bar product type and liquor/wine categories are built in.

**Q: How is food cost percentage calculated?**  
A: Cost per portion ÷ selling price × 100. Enter the selling price on the recipe to see food cost %.

**Q: Can I delete multiple ingredients at once?**  
A: Not currently. Delete ingredients one at a time from the ingredient modal.

**Q: What happens to recipes when I delete an ingredient?**  
A: The recipe still exists but the ingredient line will show as missing. Re-add the ingredient or replace it with an alternative.

**Q: Is my data backed up automatically?**  
A: Not automatically. Use the Backup feature in Settings regularly, or set up server-level database backups.
