メインコンテンツにスキップ
商品詳細は英語で表示されます。翻訳は近日公開予定です。
POS Restaurant Recipe & Ingredient Stock (BOM) — A build-to-order Odoo module that deducts raw ingredients from inventory on  — 1/1イメージプレビュー

A build-to-order Odoo module that deducts raw ingredients from inventory on every dish sold via recipe BOMs,

and reports true food cost, margin, and yield per menu item. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0, 18.0, or 19.0.

POS Restaurant Recipe & Ingredient Stock (BOM)とは?

A build-to-order Odoo module that deducts raw ingredients from inventory on every dish sold via recipe BOMs, and reports true food cost, margin, and yield per menu item. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0, 18.0, or 19.0. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

主な機能

Recipe Bill of Materials per menu item, with ingredient product, quantity, and unit of measure (`uom.uom`) per line
Automatic `stock.move` generation on POS order validation, consuming ingredients from the configured kitchen/warehouse location
Combo and set-menu explosion — component dishes each contribute their own recipe lines to the deduction
Modifier and variant ingredient mapping (extra cheese, large size) as incremental recipe lines, not flat surcharges
Computed food cost and gross margin per dish via `@api.depends` on recipe lines and ingredient `standard_price`
Theoretical-vs-actual consumption reporting to surface waste, over-portioning, and shrinkage
Yield handling for prep/intermediate items (one prep batch yields N portions) with sub-recipe support
Low-ingredient and reorder alerts driven by `ir.cron` scheduled jobs and Odoo reorder rules
Automated-action notifications to kitchen/purchasing when an ingredient crosses its reorder point
QWeb PDF food-cost sheet and daily consumption summary reports
Role-scoped access via `ir.model.access.csv` and record rules (line cook vs shift manager vs finance)
Multi-location aware — deduct from the correct kitchen stock location in multi-outlet / central-kitchen setups
Consumption and cost models exposed over XML-RPC / JSON-RPC for BI and central-kitchen integrations
Built and tested for Odoo 17.0, 18.0, and 19.0, Community or Enterprise, with negative-stock and rounding safeguards

受注生産、すべておまかせ

自分での設定は不要 — ECOSIRE が構築・インストール・サポートする実働アプリです。

  1. 1

    ご注文

    一回限りの構築料金から始めます。キックオフで一緒に範囲を決めます。

  2. 2

    構築とインストール

    ECOSIRE がお客様の Odoo 上で構築・設定・インストールします。

  3. 3

    本番稼働 + サポート

    約1週間(営業日ベース)で稼働し、本番稼働後2週間のサポートが付きます。納品したコードの不具合は無償で修正します。

技術仕様

Odoo互換性
Odoo 17, Odoo 18, Odoo 19
エディション
Enterprise&Community
ライセンス
ライセンスの確認が必要です
Python要件
Python 3.10+
データベース
PostgreSQL 12+

この製品について

Restaurants and central kitchens bleed margin at the point where a plated dish meets the stock ledger. In standard Odoo POS, a menu item is sold as a single finished product, so a burger leaves inventory as "1 burger" — the bun, patty, cheese, and sauce it consumed are never decremented. Odoo's Manufacturing (mrp) app can hold a Bill of Materials, but it is built for production orders on a factory floor, not for silently exploding a recipe on every pos.order.line at the counter. The result is that food-cost reporting is guesswork, ingredient stock drifts from reality within days, and reorder decisions are made on gut feel instead of consumption.

ECOSIRE builds a POS-native recipe engine that closes this gap. We add a recipe Bill of Materials to each menu item — modeled either on Odoo's existing mrp.bom structure or a purpose-built restaurant.recipe model depending on your Enterprise/Community edition and appetite for MRP dependencies. Each recipe line maps an ingredient product, a quantity, and a unit of measure (uom.uom), so 200 g of beef and 30 ml of sauce are recorded against the dish. When a POS order is validated, an extended flow hooks the order confirmation (via pos.order._process_order / stock move creation) to generate stock.move records that consume the ingredients from the kitchen location — real inventory movements, not a cosmetic counter. Combos and modifiers are handled explicitly: a "large" size or an "extra cheese" modifier carries its own incremental ingredient lines, so the deduction reflects what was actually made. Cost per dish is a computed field (@api.depends on recipe lines and the ingredients' standard_price) so gross margin per menu item is live, not a monthly spreadsheet.

On top of the deduction core we build the reporting and control layer operators actually run the business on: food-cost percentage and margin per dish, theoretical-vs-actual consumption, and yield reporting for prep items (e.g. one 5 kg tray of dough yields 40 bases). Low-ingredient and reorder alerts run as Odoo automated actions / scheduled ir.cron jobs against your reorder rules, notifying the kitchen manager before a key ingredient hits zero mid-service. QWeb PDF reports give you a printable food-cost sheet and a daily consumption summary, and every model ships with ir.model.access.csv entries plus record rules so line cooks, shift managers, and finance see only what their role permits. Where you already run integrations, the module's models are exposed over Odoo's XML-RPC / JSON-RPC API so a central-kitchen system or external BI tool can read consumption and cost data.

Because this is a build-to-order product, nothing ships as a blind download. We start with a short scoping call to confirm your edition (Community vs Enterprise — Enterprise unlocks tighter MRP and accounting hooks), your Odoo version (17.0, 18.0, or 19.0), your location/warehouse layout, and how your menu, combos, and modifiers are structured. From that confirmed scope we build the module, deliver it against a staging copy of your database for UAT, and only then install to production with a rollback plan. Typical delivery is one working week from confirmed scope, and every engagement includes documentation, a training session, and a post-go-live support window.

得られるもの

  • Installable module source code targeting your confirmed Odoo version (17.0/18.0/19.0) and edition
  • Installation and configuration on your environment, including recipe/location setup for your menu
  • Technical documentation — data model, `stock.move` flow, cron jobs, and integration points
  • User guide plus a live training session for kitchen and management staff
  • UAT on a staging copy of your database with a documented rollback plan before production install
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and tagged release
  • Seeded example recipes and a food-cost report template to jump-start rollout

これは誰のためのものですか

Restaurant Owner / Operator

Runs one or several outlets and needs true food-cost percentage per dish and reliable ingredient stock, instead of reconciling POS sales against inventory by hand each month.

Central Kitchen / Commissary Manager

Produces prep items in bulk and distributes to outlets; needs yield tracking, sub-recipe explosion, and multi-location deduction so stock reflects real consumption across sites.

Finance / Cost Controller

Owns margin and purchasing budgets; wants live gross margin per menu item, theoretical-vs-actual variance, and role-scoped reports to catch over-portioning and shrinkage.

Odoo Administrator / IT Lead

Maintains the Odoo instance and needs a clean, version-matched module with documented models, `ir.model.access.csv` security, and XML-RPC/JSON-RPC access for existing BI tools.

POS Restaurant Recipe & Ingredient Stock (BOM) の比較方法

基準エコシエールカスタムビルド競合他社Odoo 標準機能
Ingredient deduction per dishRecipe BOM explodes to real `stock.move` on every POS salePossible but you design and maintain the whole flowOften deducts only finished product, or a rigid recipe modelSells the dish as one product; ingredients never move
Food cost & margin per dishLive computed field on ingredient `standard_price` with QWeb reportDepends on your team's costing implementationBasic cost field, limited variance reportingNo per-dish food-cost concept in POS
Combos & modifiersExplicit explosion and incremental modifier ingredient linesMust be specified and coded case by caseFrequently unsupported or flat-surcharge onlyNot handled at ingredient level
Yield / sub-recipesPrep-batch yield and nested sub-recipes for central kitchensBuildable with significant design effortRarely offeredNot available
Reorder alerts`ir.cron` + automated actions against reorder pointsWire up your own scheduled jobsSometimes present, often genericReorder rules exist but decoupled from recipes
Version & edition fitBuilt for your exact 17.0/18.0/19.0, Community or EnterpriseWhatever you build it againstMay lag Odoo versions or force EnterpriseShips with core, but lacks the feature
Support & handoverPost-go-live window + full git repo + docs + trainingIn-house; support is your own burdenVendor ticket queue, variable SLAsCommunity forums only
Time to valueone working week build-to-order, UAT on staging firstWeeks to months depending on team capacityInstant install but generic fit + integration workImmediate but does not solve the problem

POS Restaurant Recipe & Ingredient Stock に関するよくある質問

How long does delivery take?

This is a build-to-order module, so it is built for your confirmed scope rather than downloaded. Typical delivery is one working week from the point where scope is confirmed on the scoping call — your Odoo version and edition, menu/combo/modifier structure, and warehouse layout. Larger menus or multi-location central-kitchen setups sit at the upper end of that range.

How are ongoing support and Odoo version updates handled?

Every engagement includes a post-go-live support window for defect fixes and configuration adjustments. Because the module is version-specific, moving to a newer Odoo release (for example 18.0 to 19.0) is handled as a scoped migration — we adapt the models, views, and POS hooks to the new version. You receive the full git repository, so your own team can also maintain it.

Does it work with Odoo Community or only Enterprise?

Both. We confirm your edition on the scoping call. Enterprise gives us tighter hooks into MRP and accounting for costing, but the recipe deduction and food-cost core runs on Community too — where needed we implement a purpose-built recipe model instead of depending on the `mrp` app.

Will it slow down the POS at the counter during a rush?

No. The ingredient explosion and `stock.move` creation run on order validation on the server side, not in the cashier's checkout keystrokes, and we build with batched moves plus negative-stock and UoM-rounding safeguards so high-volume service is not blocked by stock logic.

How are combos and modifiers deducted correctly?

Combos explode into their component dishes, each carrying its own recipe, and modifiers (extra cheese, large size) are mapped as incremental ingredient lines. So an 'extra cheese' order deducts the additional cheese, and a combo deducts every ingredient of every component — the deduction reflects what the kitchen actually made.

Can it feed our existing BI or central-kitchen system?

Yes. Consumption, cost, and recipe models are exposed over Odoo's standard XML-RPC / JSON-RPC API, so an external dashboard, procurement system, or central-kitchen platform can read live consumption and food-cost data without direct database access.

What do we get if we want to maintain it ourselves later?

You get the complete, documented source code and a git repository with full history and a tagged release, alongside technical documentation of the data model and stock flow. There is no lock-in — your team can extend or maintain the module independently.

見積もりを依頼

POS Restaurant Recipe & Ingredient Stock

A build-to-order Odoo module that deducts raw ingredients from inventory on every dish sold via recipe BOMs, and reports true food cost, margin, and yield per menu item. ECOSIRE scopes, builds, installs, and supports it for Odoo 17.0, 18.0, or 19.0.

  • Recipe Bill of Materials per menu item, with ingredient product, quantity, and unit of measure (`uom.uom`) per line
  • Automatic `stock.move` generation on POS order validation, consuming ingredients from the configured kitchen/warehouse location
  • Combo and set-menu explosion — component dishes each contribute their own recipe lines to the deduction
  • Modifier and variant ingredient mapping (extra cheese, large size) as incremental recipe lines, not flat surcharges

見積もりを依頼

POS Restaurant Recipe & Ingredient Stock のご要望をお知らせください。価格、ライセンスの選択肢、貴社に合わせたご提案を、通常1営業日以内にお送りします。

今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。