A restaurant owner sees daily sales on the cashier screen, but cannot easily see the real cost of a dish, the gap between ingredients bought and ingredients used, or how one branch performs against another. With every new branch, the business relies more on spreadsheets and phone calls.

This article explains what Odoo offers restaurants and cafés: point of sale, purchasing, recipes and dish costing, and branch management, and what needs configuration or depends on the edition.

Point of sale for restaurants (Odoo POS)

Odoo Point of Sale has a restaurant mode which, according to the Odoo restaurant documentation, includes:

  • Floors and tables: a table plan as the starting screen for cashiers or waiters, with order transfer between tables.
  • Courses: send starters first, then main dishes.
  • Kitchen notification: print the order on the kitchen or bar printer. A kitchen Preparation Display is available in Odoo Enterprise.
  • Bill splitting and tips, and multiple payment methods.
  • Self-ordering: customers order from a QR code on the table or from a kiosk.
  • Loyalty and promotions: points, coupons and offers on selected items or times.

E-invoicing at the point of sale

Most restaurant sales are simplified invoices. The l10n_sa_edi_pos module adds Phase 2 e-invoicing to the point of sale, and the Saudi localization documentation states that each receipt is reported and the Phase 2 QR code appears on the printed receipt. What is actually configured depends on the Odoo version and the business's e-invoicing phase. Details are in Odoo point of sale and e-invoicing.

Recipes and dish costing

Odoo has no app called "Recipes", but the idea is built with a bill of materials (BoM) from the Manufacturing app:

  • The dish as a kit: a Kit-type BoM defines the ingredients and quantities of the dish, so ingredients are deducted from stock when the dish is sold instead of the dish itself.
  • Semi-finished items: a sauce or dough prepared in batches with a manufacturing order, then used as an ingredient in dishes.
  • Dish cost: calculated from ingredient costs and compared with the selling price to see the margin.

Important: accurate dish costs and stock deductions depend on accurate recipes, units of measure (kg, g, piece) and recording waste. This is operational work agreed with the kitchen before implementation, not just a technical setting. Detailed behaviour differs between versions, so we test it on a trial database.

Purchasing and inventory

  • Reordering rules: minimum and maximum per ingredient, with purchase orders proposed when stock runs low.
  • Periodic stock counts: compare system stock with the physical count; the gap points to waste or poor recording.
  • Expiry and lots: track food expiry dates when lots are enabled.
  • Central purchasing: buy into a main warehouse and transfer to branches, or buy directly per branch.

Branch management

Each branch has one or more points of sale and its own warehouse, and sales and stock come together in one database. Prices and menus can be set per branch, and sales and margin compared across branches in POS and accounting reports. If branches have different commercial registrations or VAT numbers, a multi-company setup in Odoo may be needed, a decision made during analysis.

If you use Foodics

Many restaurants in Saudi Arabia use Foodics as their point of sale and want Odoo for accounting, inventory and purchasing. The choice is between moving to Odoo POS or integrating the two systems. We discuss both in Foodics and Odoo integration for restaurants.

Restaurant checklist before implementation

  1. Number of branches and POS terminals per branch; does each branch have its own VAT number?
  2. Are recipes documented with clear quantities and units?
  3. Is purchasing central or per branch?
  4. Do you need a kitchen screen, or are printers enough?
  5. Delivery apps and payment providers you use today.

Frequently asked questions

Does Odoo POS work when the internet is down?

According to the Odoo documentation, the point of sale switches to offline mode and keeps creating orders, which sync when the connection returns. Connected payment terminals do not work offline, and the browser must not be closed or its cache cleared before syncing. We test this scenario, including e-invoice reporting, before go-live.

Do I need Enterprise for a restaurant?

Point of sale, restaurant mode and self-ordering are available in Community, while the Preparation Display and some integrations are Enterprise. See Odoo Community or Enterprise.

What does it cost?

Implementation packages are on the pricing page, the Odoo licence is paid to Odoo, and hardware (printers, screens) is priced separately.

Next step

See the restaurants industry page and our Odoo ERP implementation service, or book a free 30-minute introductory session to review your branches, recipes and purchasing.