mise.

Tab Reference

A complete reference for every sidebar tab. For task-oriented walkthroughs, see Workflows.

The sidebar is organized into three zones:

  • Top: shop selector dropdown — switches all per-shop data
  • Per-shop: Dashboard, Sales, Prep, Production, Market List, Inventory, Expenses, Payroll — show data for the currently-selected shop
  • Shared catalog: Suppliers, Items, Recipes, Processing, Shops — definitions shared across all shops

Dashboard

Your operating snapshot for the currently-selected shop. Period toggle (7d / 30d / 90d) in the top right.

Money section — Inventory value (large), today's & week's food-cost % vs target, cash tied up in stock with a dead-stock flag.

Operations report — Revenue, COGS, gross profit, operating expenses, net profit for the period. Plus a wide break-even projection tile: monthly fixed expense baseline ÷ (1 − food cost ratio) = revenue needed this month. Compared to MTD revenue. Status pill: On track / Behind.

Cost intelligence — Menu items breaching their target food cost %. Biggest cost movers in the last 7 days (supplier prices that jumped + how many menu items each hit). Top and bottom margin dishes (by ₱ and by %).

Ingredient usage — Most-used ingredients in the period (by qty and value). Dead-stock candidates: items in stock with no recent usage.

Operational — Today's prep list (top 5). Today's market list total + item count. Below-par count with the worst items. Theoretical-vs-actual variance value impact (last 30 days).

Trends — Sales by item (top 10 horizontal bar chart). Day-of-week pattern (90-day average per weekday). Inventory value over time (30-day line reconstructed from moves history). Food cost % trend (30-day line).

Every tile is clickable; clicking jumps to the relevant tab.

Suppliers (shared)

Directory of vendors. Add / edit / delete.

Fields: name, category (Meat / Produce / Dry goods / etc — with suggestions), contact person + number, payment terms (COD / Net 7 / Net 15 / Net 30 / etc — with suggestions), notes.

Suppliers are shared catalog. Their pricing is per-shop — see Items.

Deleting a supplier removes its pricing rows across all shops and recomputes item costs accordingly. Confirmation modal lists the consequences.

Items (shared)

The unified catalog: every physical thing.

Left: filterable list (RAW / PROCESSED / SUBRECIPE / MENU) with search.

Right: detail panel for the selected item. Header shows live cost (resolved for the current shop). For RAW items, the panel shows attached supplier pricing with edit / set-default-supplier (star) / view-history (clock) / remove buttons.

Form fields:

  • Name, type, base unit (g / ml / piece-portion), selling price
  • Target food-cost % — per shop, written to shop_menu_settings
  • Photo + Video — file picker, copies the file into %APPDATA%\Mise Manager\media\ and stores a path. Rendered inline.

Catalog vs per-shop: items themselves are shared. Cost, target %, supplier links are per-shop and resolve based on the current shop dropdown.

Recipes (shared)

The definitions for SUBRECIPE and MENU items.

Left: list of all SUBRECIPE + MENU items. Status column shows "✓ defined" or "not yet."

Right: editor for the selected item.

Editor sections:

  • Yield (raw) — how much one batch produces, in a unit compatible with the item's base unit
  • Cooking yield (optional) — cooked-out qty. Drives per-cooked-unit cost basis. Values above 100% are valid (absorption / marinades).
  • Prepped fresh daily — flag for the Prep tab
  • Ingredients — line editor. Pick component item, qty, unit. Live cost contribution per line. Total cost + cost per portion appear in the summary card.
  • Menu pricing (MENU items only) — selling price, target %, actual % (computed), green/red flag for over-target

Print button — opens a print-friendly preview with the full subrecipe tree recursively expanded, then triggers Windows' print dialog.

Processing (shared)

Definitions for breaking down inputs into multiple outputs. Defines yields, NOT inventory events (see Production).

Left: list of processings (input item + output names + total yield + allocation mode).

Right: editor.

  • Input — pick an item, enter qty + unit
  • Allocation method — By weight (all outputs share the same cost-per-unit) or By value (each output's value_weight scales its share)
  • Outputs — table with picker, qty, unit, value_weight (only when BY_VALUE), derived yield %, share of cost, cost per unit
  • Inline + New PROCESSED item modal so you don't have to bounce to the Items tab
  • Yield summary card showing total yield %, waste % (or "+N% absorbed" if >100%)

Saving creates / updates the processing definition. It does not move inventory — that happens via Production runs.

Sales

Per-shop log of what was sold each day.

Form: pick menu item + qty + date. Per-portion cost + line cost preview as you type.

Banner at top lists MENU items missing recipes (they can't deduct stock or contribute to dashboards until you give them a recipe).

List: grouped by date. Each day shows count, portion total, food cost sum.

Logging a sale triggers a recipe-tree explosion down to RAW + PROCESSED leaves, writing one SALE_DEDUCT inventory move per leaf, tagged with ref_table='sales_entries', ref_id=this.id. Deleting the sale reverses the moves.

Undo on delete — 10-second toast with an Undo button. Stack of three.

Filter: date range. Refresh button at top right forces a reload.

Prep

Generated daily prep list for the currently-selected shop.

Forecast source (radio):

  • Yesterday's actuals
  • Day-of-week average (over the last 90 days of same-weekday data)
  • Specific date

The list:

  • Forecast section shows each menu item's expected qty
  • Prep tasks ordered deepest dependency first — Step 1 makes the foundations (e.g. marinade), Step 2 uses them (marinated chicken), Step 3 assembles (final dish)
  • Only items with is_prepped_fresh_daily = true on their recipe appear

Items NOT marked fresh-daily are intentionally absent — they're held in stock.

Production

Per-shop log of actual production events.

+ New production run modal:

  • Pick a PROCESSED or SUBRECIPE item
  • Enter qty produced
  • Live preview of what'll be deducted (ingredients) and what'll be added (output + any co-products from a processing)
  • Save

The preview makes the math transparent before you commit.

Delete with Undo support (10-second toast). Reversing a production run undoes its inventory moves cleanly.

Market List

Generated shopping list for the currently-selected shop.

Forecast source (same three as Prep).

The list, grouped by default supplier:

  • Forecast demand, on-hand (editable inline), par (editable inline), need, pack size, packs (editable to override), pack price, cost
  • Bottom total of projected spend

Per-row include/exclude checkbox for cherry-picking what to actually buy.

Items with no default supplier configured appear in a separate "no supplier configured" group at the bottom (and a yellow banner explains).

Inventory

Per-shop stock view with manual moves.

Top KPI strip: total inventory value, below-par count, at-zero count, moves today.

Filters: search, type (RAW/PROCESSED/SUBRECIPE), status (Below par / Out).

Per-row: name + type badge, on-hand qty, inline-editable par (saves on blur), status pill, cost/unit, value, last-move timestamp.

Four actions per row:

  • Receive (📦+) → PURCHASE move. Projected new on-hand previewed.
  • Count (✓📋) → ADJUSTMENT move. Variance vs theoretical shown in red/amber before commit; recorded in the move note.
  • Waste (🗑) → WASTE move. Value-lost shown in red.
  • History (🕘) → Drawer with last 100 moves for this item, colored badges by reason.

Expenses

Per-shop log of operating costs (everything that's not ingredients).

Categories: Rent, Utilities, Payroll, Supplies, Marketing, Equipment, Repairs, Insurance, Loan, Tax, Other.

Form: category + amount + date + payee (optional) + note (optional) + Recurring monthly checkbox.

The Recurring monthly flag is what makes an expense count toward the Dashboard's break-even projection. Fixed monthly rent? Tick recurring. One-off equipment purchase? Don't.

Top KPIs: total in range, monthly recurring baseline, top category.

Filters: date range + category.

Edit / delete with Undo for one-off correction.

Payroll

Filtered view of Expenses where category = 'Payroll'. Same data, different lens.

Form is pre-filled with category=Payroll; you enter employee name (payee), amount, date, optional note, recurring flag.

KPIs: total in range, recurring monthly (used for projections), distinct employees in range.

Per-employee totals roll-up shows who got paid what in the range.

The Recurring flag here matters as much as it does on Expenses — mark fixed salaries as recurring to count them in break-even projections.

Shops (shared)

CRUD for shops.

Each shop row shows name, location (optional), created date, and an Active pill on whichever shop is currently selected in the sidebar dropdown.

Header actions (top right):

  • Import DB — replaces the local database with a .db file you pick. Confirmation modal warns about data loss. Window reloads after import.
  • Export DB — saves a clean .db backup to a path you pick (uses better-sqlite3's .backup() so it handles WAL safely)
  • New shop

Deleting a shop wipes that shop's per-shop data (prices, inventory, sales, par stock, target settings, payroll, expenses) but leaves the shared catalog intact. Last remaining shop can't be deleted.