Recording Waste Events
There is a full API collection that allows creating and submitting waste events to record stock losses at a given outlet. Submitting a waste event deducts the wasted quantities from inventory.
Waste categories
Each item added to a waste event can be assigned a waste_category to indicate the reason for the loss. The possible values are:
| Value | Description |
|---|---|
| DATE_EXPIRED | Item past its expiration date. |
| RETURNED_BY_CUSTOMER | Returned by customer. |
| KITCHEN_ERROR | Kitchen error. |
| ITEM_RENDERED_UNUSABLE | Item was rendered unusable. |
| MISTAKE_EXPIRED | Item expired because of a mistake. |
| MARKETING | Used for marketing. |
| FREEBIE | Given away as a freebie. |
| BUFFET_BREAKFAST | Wasted in a buffet/breakfast. |
| STAFF | Staff consumption. |
| ACCIDENT | Wasted by accident. |
| OTHER | Other. |
Wasting recipes vs. stock items
When adding items to a waste event, you specify either a stock_item or a recipe, not both.
When wasting a stock item, the quantity is deducted directly from that item's inventory.
When wasting a recipe, the quantity represents the number of wasted portions. What happens next depends on the recipe type:
- If the recipe is stockable, its own stock items are deducted from inventory.
- If the recipe is not stockable, the equivalent amounts of its component ingredients are deducted instead.
Step by step instructions
These steps should be followed in this order to submit a waste event via the Apicbase API:
- Start a waste event at the outlet where the waste occurred.
- Claim the waste event. A waste event must be owned by your user before it can be modified.
- Add items to the waste event. Two approaches are available:
- Add items one at a time, each with a quantity and an optional
waste_category. - Bulk update all items at once to set the full list of wasted items in a single call.
- Add items one at a time, each with a quantity and an optional
- Submit the waste event.
Inventory is only updated at step 4, when the waste event is submitted. The event can be cancelled at any point before submission using the Cancel Waste Event endpoint — this permanently deletes the event and cannot be undone.
Overwriting vs. updating items in bulk
Two bulk endpoints are available and they behave differently:
- Overwrite Items: replaces the entire list of items in the waste event. Any items not included in the payload are removed.
- Bulk Update Items: updates only the items included in the payload. Items previously present but not included are left unchanged.
Use Overwrite when you are managing the full state of the waste event from your application. It will completely replace the items in the waste event and any items not in the payload will be removed from the event. Use Bulk Update when you only want to patch specific quantities without affecting the rest.
Updated 7 days ago
