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

# Set up ingredients

> Build the ingredient catalog and track ingredients at a branch with opening stock, so they're countable in a stocktake.

There are **two steps** to getting countable ingredients, and both matter:

1. **Create the ingredient** in the business catalog.
2. **Track it at a branch** with an opening stock balance.

<Warning>
  Creating an ingredient is not enough on its own. A stocktake only shows
  ingredients that are **tracked at that branch** (have a stock level). This is the
  most common "my stocktake is empty" cause — the catalog has ingredients, but the
  branch has none tracked yet.
</Warning>

## Step 1 — Create ingredients

In the dashboard, open **Inventory → Inputs** and add an ingredient. You'll set:

<CardGroup cols={2}>
  <Card title="Name & category" icon="tag">
    A clear name (e.g. "Almonds") and a category to keep the catalog organized
    and to group reports.
  </Card>

  <Card title="Unit" icon="scale-balanced">
    The unit the ingredient is measured in (e.g. kg, g, L, ml, piece). This is the
    unit staff will count in, and it appears on every count line.
  </Card>

  <Card title="Purchase cost" icon="money-bill">
    What a unit costs. This is what powers **food cost** and **stock valuation**
    reporting later — set it if you want those numbers to be meaningful.
  </Card>

  <Card title="Supplier (optional)" icon="truck">
    Who you buy it from. Useful later for procurement and for the "Supplier Short
    Delivery" variance reason.
  </Card>
</CardGroup>

The catalog is **business-level** — an ingredient you create is available to every
branch of that business, but is only *tracked* where you choose in Step 2.

## Step 2 — Track ingredients at a branch (opening stock)

Tracking an ingredient at a branch creates its **stock level**. Pick whichever
method fits your situation.

<Tabs>
  <Tab title="Manually (a few items)">
    In **Inventory → Stock Levels**, select the branch, then add the ingredient
    and set:

    * **Opening stock** — how much you physically have right now.
    * **Reorder point** (optional) — the threshold for a low-stock signal.

    Repeat for each ingredient you want counted at that branch. This is the
    quickest path for a handful of items or for a smoke test.
  </Tab>

  <Tab title="Bulk import (onboarding)">
    For a new branch with 50–200 items, use the **opening-stock CSV import** to
    set them all at once. This is the recommended onboarding step — do it before
    the first stocktake so variance is meaningful from day one.
  </Tab>

  <Tab title="Auto-suggest from recipes">
    If your menu items already have **recipes** (each item's ingredient
    breakdown), open the **Tracked Items** tab and run **Sync**. It walks the
    branch's menu, finds every ingredient used, and lets you track them in one
    action.

    <Note>
      This only surfaces ingredients that appear in a recipe. A branch with no
      recipes yet will get an empty suggestion list — use Manual or Bulk import
      instead.
    </Note>
  </Tab>
</Tabs>

<Warning>
  **Always set an opening stock balance.** With no opening balance, "expected"
  quantity drifts negative and every variance figure becomes noise. Make setting
  opening stock a required step when onboarding a branch.
</Warning>

## You're set up when…

<Check>The branch shows its tracked ingredients under **Stock Levels**, each with a quantity.</Check>

Once a branch has active stock levels, a **newly created** stocktake will list
those ingredients as count lines.

<Note>
  Tracking ingredients does **not** backfill a stocktake that was already open —
  a stocktake snapshots its lines at creation time. If you tracked ingredients
  after starting a count, start a **fresh** stocktake.
</Note>

Next: [Run a stocktake](/inventory/stocktake).
