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

# Waste and internal consumption

> Register waste events with configurable reasons and record internal consumption such as staff meals.

Not all stock leaves through a sale. **Waste events** record what you discard; **internal consumption** records what the store itself uses — staff meals, tastings, samples. Both deduct stock and both show up in reports, so recording them keeps your theoretical inventory honest.

**Where you work:** **BOH → Movements** — **Waste events** (`/boh/admin/operations/waste-events`) and **Internal consumption** (`/boh/admin/operations/internal-consumptions`). The **Waste reasons** catalog lives under **Catalog → Waste reasons** (`/boh/admin/operations/waste-reasons`).

## Waste reasons

Before registering waste, define the catalog of **reasons**: expiry, preparation error, breakage, spoilage… Each reason has a code, a name, and whether it is considered **controllable** (caused by operation) or not — a distinction that later makes waste reports actionable.

<Frame>
  <img src="https://mintcdn.com/firepos/BrdVCD37uC_Sgwgg/images/manuals/boh/waste-consumption/01-waste-reasons.png?fit=max&auto=format&n=BrdVCD37uC_Sgwgg&q=85&s=dcad6dc30999b5233a684d4591676800" alt="Waste reasons catalog" width="2940" height="2808" data-path="images/manuals/boh/waste-consumption/01-waste-reasons.png" />
</Frame>

To add one: **Catalog → Waste reasons → Create** (`/boh/admin/operations/waste-reasons/new`).

## Register a waste event

<Steps>
  <Step title="Open the waste form">
    **Movements → Waste events → Create** (`/boh/admin/operations/waste-events/new`).
  </Step>

  <Step title="Pick the store" />

  <Step title="Enter the lines">
    Item, quantity, unit — and the **reason**, which is required on every line.
  </Step>

  <Step title="Confirm">
    Stock is deducted from the closest-to-expiry lots first, unless you point at a specific lot.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/firepos/BrdVCD37uC_Sgwgg/images/manuals/boh/waste-consumption/02-waste-form.png?fit=max&auto=format&n=BrdVCD37uC_Sgwgg&q=85&s=074e06008522d0e9922ac2b69c66406b" alt="Waste event form with reason per line" width="2940" height="3456" data-path="images/manuals/boh/waste-consumption/02-waste-form.png" />
</Frame>

<Tip>
  Make waste registration part of the shift routine (e.g. before close). Waste recorded days later distorts both the waste report and the stock counts in between.
</Tip>

## Internal consumption

Internal consumption works like waste but without a reason catalog: it represents legitimate non-sale usage such as employee meals or kitchen tests.

<Steps>
  <Step title="Open the form">
    **Movements → Internal consumption → Create** (`/boh/admin/operations/internal-consumptions/new`).
  </Step>

  <Step title="Pick the store and enter the lines">
    Item, quantity, and unit per line.
  </Step>

  <Step title="Confirm" />
</Steps>

<Frame>
  <img src="https://mintcdn.com/firepos/BrdVCD37uC_Sgwgg/images/manuals/boh/waste-consumption/03-internal-consumption.png?fit=max&auto=format&n=BrdVCD37uC_Sgwgg&q=85&s=08bf304945663a5e3068e76e43542b7b" alt="Internal consumption form" width="2940" height="3652" data-path="images/manuals/boh/waste-consumption/03-internal-consumption.png" />
</Frame>

<Note>
  Both documents can be **cancelled** from their detail page if recorded by mistake — BOH posts the opposite movements to restore the stock.
</Note>

Next: [Transfers and production](/en/manuals/boh/transfers-production).
