Skip to main content
POS Restaurant Dine-in / Takeaway / Delivery Modes — Toggle POS orders between dine-in, takeaway & delivery — each with its o — 1/1Illustrative preview

Toggle POS orders between dine-in, takeaway & delivery

— each with its own price list, tax rules, and packaging or delivery charges.

What is POS Restaurant Dine-in / Takeaway / Delivery Modes?

Toggle POS orders between dine-in, takeaway & delivery — each with its own price list, tax rules, and packaging or delivery charges. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dine-in / Takeaway / Delivery toggle rendered directly on the POS order screen (OWL/JS extension of point_of_sale), stored on pos.order as a service-mode field for full traceability
Mode-specific price lists — automatically applies the correct pricelist per order mode (e.g. delivery-uplift pricing) via mode-to-pricelist mapping, no manual discounts or duplicate products
Mode-based tax rules through Odoo fiscal positions — each mode maps to its own fiscal position so takeaway/delivery VAT differs from dine-in where regulations require it
Automatic packaging charge — configurable service product added as an order line for takeaway/delivery so it posts to the right income and tax accounts
Automatic delivery charge — flat, tiered, or zone-based delivery fee injected as a service line, computed with @api.depends server logic
Kitchen ticket tagged with the order mode — QWeb kitchen/prep ticket prints DINE-IN / TAKEAWAY / DELIVERY prominently so the line knows how to plate and pack
Takeaway queue / pager number — auto-assigned sequence per takeaway order printed on the receipt and shown on screen for order pickup calling
Default mode per POS config — set a default service mode per register (e.g. a dedicated delivery terminal) editable per order
Mode-aware receipt layout — QWeb receipt template shows the service mode, packaging line, delivery line, and pager number for clear customer records
Back-office reporting by mode — revenue, order count, and average ticket sliceable by dine-in vs takeaway vs delivery in POS analytics and pivot views
Role-based access via ir.model.access.csv + record rules — cashiers can set mode, only managers can override surcharge or mode-locked pricing
Order-mode surcharge exemptions — rules to waive packaging/delivery fees for staff, loyalty tiers, or specific product categories
Data flows to pos.order and accounting — every mode, surcharge, and tax posts correctly to the journal so financials reconcile by channel
Extensible via XML-RPC/JSON-RPC — the mode field and surcharges are exposed on the standard external API for integration with aggregators or delivery apps

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Most restaurants run three service channels — dine-in, takeaway, and delivery — through one Odoo POS, but Odoo core gives you a single price and a single tax per product no matter how the guest is served. That means your staff either key in manual discounts, maintain duplicate products, or eat the difference on packaging and delivery. This build-to-order module makes the service mode a first-class attribute of every POS order.

ECOSIRE builds, installs, and supports a custom Odoo module that adds a Dine-in / Takeaway / Delivery toggle directly on the POS order screen. The selected mode drives the pricing engine, tax mapping, and automatic surcharges, then flows through to your kitchen tickets, receipts, and back-office reporting. A new field on pos.order (extended with a mode-aware model and @api.depends computes) records the channel so every downstream document and analytics view can slice revenue by how the food was served.

Under the hood we extend the point_of_sale app the Odoo-native way: a clean __manifest__.py declaring point_of_sale as a dependency, server models subclassing models.Model, an OWL/JS extension of the POS front end for the mode switcher, mode-to-pricelist and mode-to-fiscal-position mapping, and QWeb receipt/kitchen-ticket templates tagged with the mode. Access is governed by ir.model.access.csv plus record rules so cashiers, shift managers, and delivery staff each see the right controls. Delivery and packaging surcharges are added as configurable service products so they post to the correct income and tax accounts with no manual line entry.

Because this is a bespoke build — not an off-the-shelf apps.odoo.com download — we tailor the mode names, surcharge logic, tax rules, kitchen routing, and receipt layout to how your venue actually operates, and we validate it against your real menu and fiscal setup before go-live. The module ships for Odoo 17, 18, and 19 (Community or Enterprise), with your configuration documented and your team trained. Typical delivery is one working week from requirements sign-off, and every engagement includes a support window and source code you own.

What you get

  • Custom Odoo module source code (full addon: __manifest__.py, Python models, OWL/JS POS extension, XML/QWeb views and receipts, security CSV) — you own it
  • Mode, pricelist, fiscal-position, and surcharge configuration built and validated against your real menu and tax setup
  • Installation and deployment on your Odoo 17, 18, or 19 instance (Community or Enterprise), on your server or ours
  • QWeb kitchen-ticket and receipt templates styled to your venue and printer layout
  • Admin and cashier documentation covering how to set modes, manage surcharges, and read the by-mode reports
  • Live staff training session (cashiers + managers) plus a recorded walkthrough
  • Post-launch support window for bug fixes and adjustments, with clear SLA and escalation path
  • UAT sign-off checklist and a rollback plan so go-live is low-risk

Who this is for

Multi-channel restaurant owner

Runs dine-in, takeaway, and delivery from one POS and needs each channel priced and taxed correctly without duplicate menus or manual discounts — plus clean revenue reporting by channel.

Restaurant operations / POS manager

Manages registers, shift staff, and menu changes. Wants a simple on-screen mode toggle, automatic packaging and delivery fees, and role controls so cashiers can't accidentally break pricing.

Kitchen and expo lead

Needs every ticket to clearly state dine-in, takeaway, or delivery so food is plated, packed, and routed correctly, and takeaway orders carry a pager/queue number for pickup.

How POS Restaurant Dine-in / Takeaway / Delivery Modes Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Dine-in / takeaway / delivery toggle on POS screenIncludedPartial supportPartial supportNot included
Mode-specific price lists and per-mode tax (fiscal positions)IncludedPartial supportPartial supportNot included
Automatic packaging + delivery surcharges as posted order linesIncludedPartial supportPartial supportNot included
Kitchen ticket + receipt tagged with mode and pager numberIncludedPartial supportPartial supportNot included
Tailored to your menu, taxes, and workflow (not generic)IncludedIncludedNot includedNot included
Built and validated for Odoo 17, 18 and 19 (Community/Enterprise)IncludedPartial supportPartial supportPartial support
You own the source codeIncludedIncludedNot includedNot included
Included install, training, and support windowIncludedNot includedNot includedNot included
Revenue reporting sliced by service channelIncludedPartial supportPartial supportNot included

Frequently Asked Questions about POS Restaurant Dine-in / Takeaway / Delivery Modes

How long until the module is delivered and live?

This is a build-to-order module, not an instant download. After we confirm your requirements — mode names, pricing rules, tax/fiscal-position mapping, surcharge logic, and kitchen-ticket layout — typical delivery is one working week. That covers development on Odoo 17/18/19, testing against your real menu and fiscal setup, installation, UAT sign-off, and staff training before go-live.

What support and updates are included after launch?

Every engagement includes a post-launch support window for bug fixes and adjustments with a defined SLA. Because you receive the full source code, the module is yours to maintain; we also offer version-compatibility updates when you upgrade Odoo (e.g. 17 to 18 or 19) and optional ongoing support retainers for new modes, surcharge rules, or aggregator integrations.

Does this work with Odoo Community or only Enterprise?

Both. The module extends the standard point_of_sale app and is built for Odoo 17, 18, and 19 on Community or Enterprise. We confirm your exact version and edition during requirements so the OWL/JS POS extension and QWeb templates match your environment.

Can each mode have genuinely different tax, not just a different price?

Yes. We map each service mode to its own Odoo fiscal position, so dine-in, takeaway, and delivery can carry different tax treatments where your local regulations require it. Pricing is handled separately through mode-specific price lists, so you can vary price, tax, or both independently.

How are packaging and delivery charges added — do cashiers key them manually?

No manual entry. Packaging and delivery fees are configured as service products and injected automatically as order lines based on the selected mode, using server-side @api.depends logic. They post to the correct income and tax accounts so your accounting reconciles by channel. Rules can waive fees for staff, loyalty tiers, or specific product categories.

Will the order mode show on kitchen tickets and reach my reports and other systems?

Yes. The mode is stored on pos.order, printed prominently on QWeb kitchen tickets and receipts (with a takeaway pager/queue number), available in back-office analytics to slice revenue by channel, and exposed on Odoo's standard XML-RPC/JSON-RPC API for integration with delivery aggregators or third-party apps.

Request a quote

POS Restaurant Dine-in / Takeaway / Delivery Modes

Toggle POS orders between dine-in, takeaway & delivery — each with its own price list, tax rules, and packaging or delivery charges.

  • Dine-in / Takeaway / Delivery toggle rendered directly on the POS order screen (OWL/JS extension of point_of_sale), stored on pos.order as a service-mode field for full traceability
  • Mode-specific price lists — automatically applies the correct pricelist per order mode (e.g. delivery-uplift pricing) via mode-to-pricelist mapping, no manual discounts or duplicate products
  • Mode-based tax rules through Odoo fiscal positions — each mode maps to its own fiscal position so takeaway/delivery VAT differs from dine-in where regulations require it
  • Automatic packaging charge — configurable service product added as an order line for takeaway/delivery so it posts to the right income and tax accounts

Request a Quotation

Tell us about your POS Restaurant Dine-in / Takeaway / Delivery Modes requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.