Skip to content

[Feature]: Ingredient Inventory Tracker #1149

@WebDevUCC

Description

@WebDevUCC

What is the feature?

It would be very useful to have ingredient-level inventory, not just menu item stock. For example:

  • Define a list of “Ingredients” (bread, lettuce, cheese, tomato, etc.)
  • When creating a menu item (e.g. a sandwich), specify how many of each ingredient are needed (e.g. 2 slices of bread, 1 piece of lettuce, 1 slice of cheese)
  • When an order is placed for that menu item, automatically subtract the used ingredients from their respective stock totals
  • Display low-stock alerts or prevent item from being ordered if ingredients are insufficient

Why this is useful / pain point:

  • Prevents overselling based on raw materials, not just finished menu items
  • Helps with food cost tracking, waste management, and purchasing
  • Gives restaurants better operational control and forecasting

Proposed solution / implementation ideas:

  1. Add a new backend model for Ingredient (name, current_stock, unit, etc.).
  2. Add a “Recipe” relation on MenuItem that links ingredients + required quantity.
  3. When an order is created/saved, hook into the order-complete event to deduct from Ingredient.current_stock for each linked recipe item.
  4. Add admin UI to:
    • Manage ingredients (add, remove, set stock)
    • Map recipe to menu items (define which ingredients + quantities)
    • Report on ingredient usage / low stock

Backwards compatibility / opt-in:

  • This could be optional (only enabled when a “recipe stock” mode is turned on)
  • Existing “stock on menu item” logic remains for those who don’t need recipe-level tracking

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions