Home / Help Center / pos-app-restaurant / rest-kitchen / Kitchen Requisitions
📝 rest-kitchen

Kitchen Requisitions

Kitchen Requisitions is the internal request mechanism a kitchen head uses to ask the storeroom for ingredients needed for today's or tomorrow's service. Each requisition lists items with quantities, a station and an urgency level; a store manager then approves, partially approves, or rejects each line, and the whole requisition is marked fulfilled once picked from stock.

📍 Menu path: Kitchen Operations → Kitchen Requisitions
👤 Who uses it: All roles with the Billing feature enabled

Overview

A requisition is distinct from a Purchase Order (an external supplier order) and from Inventory (raw stock tracking) — it is purely the internal "kitchen asks storeroom" request step, with its own SUBMITTED → APPROVED/PARTIAL/REJECTED → FULFILLED status pipeline.

Each requisition line item carries a requested quantity/unit and, once reviewed, an approved quantity and its own item-level status (PENDING/APPROVED/PARTIAL/REJECTED) — the requisition's overall status is derived from the mix of its item statuses.

Urgency (Urgent/Normal/Low) is set by whoever raises the request and is purely a visual/sort signal — an amber banner highlights any pending URGENT requisitions.

The Submit tab raises a new requisition; the Approve tab (default view) shows only requisitions still awaiting a decision, sorted urgent-first; the Today's Log tab shows everything already processed today.

Each requisition can be printed as a slip showing raised-by, station, date, urgency, status and the full item table with requested/approved quantities.

Before You Start

Step-by-Step Guide

1 Raise a new requisition

  1. Open Kitchen Operations → Kitchen Requisitions and switch to the "Submit Request" tab.
  2. Choose For Date (today or tomorrow), Kitchen Station and Urgency (Urgent/Normal/Low).
  3. Add one or more item rows (ingredient name, quantity, unit) using "+ Add item"; remove a row with the × button.
  4. Add an optional note for the storeroom, then click "Submit Requisition".

2 Approve, partially approve or reject items

  1. Open the "Approve" tab — pending requisitions are listed as cards, urgent ones first.
  2. For each item row, adjust the approved quantity if needed and click ✓ to approve (full or partial, depending on the quantity entered) or ✗ to reject.
  3. The requisition's overall status updates automatically: SUBMITTED while any item is still pending, APPROVED once every item is approved in full, PARTIAL if some items were only partially approved, REJECTED if every item was rejected.
  4. Any rejected or under-approved item is flagged with a "Generate PO →" prompt as a reminder to raise a purchase order for the shortfall.

3 Mark a requisition fulfilled and print it

  1. Once every item on a requisition has been approved (no items left PENDING), a "Mark Fulfilled (picked from store)" button appears — click it once the items have physically been picked from the storeroom.
  2. Use the printer icon on any requisition card at any stage to print a requisition slip for hand-off between kitchen and store.
  3. Check the "Today's Log" tab to review everything processed (approved, partial, rejected or fulfilled) for the day.

Every Field & Button, Explained

Field / ButtonWhat it does
For DateToday or tomorrow — the service date this requisition is being raised for.
Kitchen StationOne of Hot Kitchen, Cold Kitchen / Salads, Tandoor / Grill, Pastry / Desserts, Bar, General.
UrgencyUrgent / Normal / Low — set when raising the request; drives sort order and the red "URGENT requisitions" banner.
Items (name, requested qty, unit)One or more lines; unit is chosen from a fixed list (kg, g, litre, ml, pcs, dozen, pack, box, bunch).
In Stock (manager view)Shown per item when approving — colour-coded red/amber/green based on whether stock covers the requested quantity; informational only, does not block approval.
Item StatusPENDING → APPROVED / PARTIAL / REJECTED, set individually per item by the approving manager.
Requisition StatusSUBMITTED, APPROVED, PARTIAL, REJECTED or FULFILLED — derived automatically from the combination of item statuses; FULFILLED is set manually once picked from store.

Tips & Best Practices

Troubleshooting & FAQ

A requisition stays stuck on SUBMITTED even though I approved every item.
The overall status only becomes APPROVED once every single item on that requisition has an APPROVED status — if even one line is still PENDING (not yet actioned) or was PARTIAL/REJECTED, the requisition will show SUBMITTED or PARTIAL instead.
I can't find "Mark Fulfilled" on a requisition.
That button only appears once there are no items left in PENDING status on the requisition — action (approve or reject) every line first.
The whole page felt broken before / requisitions never used to load.
This was a genuine bug in an earlier version: getKitchenRequisitions(), createKitchenRequisition() and updateKitchenRequisition() in packages/pos-core/src/restaurant/kitchen.js called date-handling helper functions (dateToEpoch, epochToDate, todayEpoch) that were never actually imported into that file, so every call to any of the three functions crashed with a ReferenceError — the Kitchen Requisitions feature did not work at all. This has been fixed by adding the missing import; requisitions now load, save and update normally.