HADOOPT
TECHNOLOGIES
Schedule a Tech Consultation
Home
Services
Odoo ERP implementation Rollout, custom modules, migration and support. Web application development SaaS products, portals and internal platforms. Mobile application development Offline-first field apps and customer apps. AI development & automation LLM assistants, document processing, forecasting. Odoo version upgrades ↗ Move to a newer release, scoped and priced on its own site.
Products
OrgExp ↗ Budget, CAPEX and OPEX management.
Blog About Contact Schedule a Tech Consultation
Blog / Odoo 19: Complete Guide for Businesses
Odoo 19 6 min read

Odoo 19 Point of Sale for retail and restaurants

Odoo 19 Point of Sale setup: sessions, payment methods and terminals, restaurant floors and kitchen printing, offline mode, and GST on Indian receipts.

· ERP practice 22 Sep 2026

Odoo 19 Point of Sale is a Community (LGPL) app that runs in a browser on any tablet, PC or phone, keeps selling when the internet drops, and posts each session to accounting as a single journal entry when it closes. Restaurants add floors, tables, courses and kitchen order printing on top, still in Community. The kitchen preparation display screen and several hardware and delivery integrations are Enterprise.

This is part 9 of our Odoo 19 guide. POS sells the products and prices you set up in part 8, so do that first.

How Odoo 19 POS is structured: shops, sessions and orders

Each till or outlet is a point of sale (one configuration record) with its own payment methods, product categories, pricelists, receipt header and footer, and printers. Settings live under Point of Sale › Configuration › Settings, with the shop picked at the top of the page. One shop can be flagged Is a Bar/Restaurant; the rest behave as retail.

Staff open a session on a shop, sell, and close it. If the shop has a cash payment method, cash control is on automatically: the opening float is counted, and at closing the expected and counted cash are compared, with the difference posted. Closing the session creates the accounting journal entry for all its orders. Orders where the customer asked for an invoice get a proper customer invoice as well.

Point of Sale › Configuration › Settings
  Point of Sale       shop picker · Is a Bar/Restaurant
  Payment             payment methods
  Payment Terminals   Razorpay · Pine Labs · Adyen · Stripe …
  Pricing             Default Pricelist · Available Pricelists
  Accounting          Default Sale Tax · Fiscal Positions
  Bills & Receipts    Receipt Header / Footer · Automatic Receipt Printing
  Preparation         Order Printer
  Connected Devices   ePos Printer · Customer Display · IoT Box
The areas to work through per shop, in the order the settings page lists them.

Payment methods and card terminals

A payment method is one of three types, decided by its journal: Cash, Bank, or Customer Account (no journal, so the amount goes onto the customer's receivable to settle later). Each bank method then has an integration: None required (the cashier records a card or UPI payment taken on a separate device), Terminal, or Bank App (QR Code) where a QR format is available for your bank account.

Terminal integrations in 19 include Razorpay and Pine Labs, both Community modules and relevant in India, plus Adyen, Stripe, Viva.com, Mercado Pago, QFPay and Worldline. With an integrated terminal the amount is pushed to the device and the result comes back automatically, which removes a whole class of end-of-day mismatches.

The mistake we see most is a single "Card" method for everything. Create one method per settlement account, for example Razorpay card, UPI and cash, so each reconciles against its own bank or clearing account. Your finance team will thank you at month end.

Restaurant features: floors, tables and kitchen printing

Ticking Is a Bar/Restaurant installs the Restaurant module (Community) and adds:

  • Floors and tables. You draw the plan directly in the POS: square or round tables, seats, colours and positions per floor. The default screen can be Tables or Register.
  • Bill Printing and Bill Splitting. Print a bill before payment, or split one table across several payments.
  • Courses. Group lines into courses and fire each one to the kitchen when the table is ready.
  • Presets such as dine-in, takeout and delivery. Each can carry its own pricelist and fiscal position and ask for a name or address.
  • Tips, including setting the tip after card payment.

For the kitchen, an Order Printer is configured per shop and prints new and changed lines for the product categories you assign to it, for example drinks to the bar and mains to the kitchen. A printer is either an Epson ePOS printer on the network, reached directly, or a printer connected to an IoT Box (the IoT app is Enterprise).

The preparation display, a kitchen screen with stages and preparation-time reporting, comes from the Point of Sale enterprise module (OEEL). So do the customer-facing order tracking display and the UrbanPiper connector. UrbanPiper's Indian localisation includes Swiggy and Zomato as delivery providers. QR-code menus, ordering from the table, and self-order kiosks come from POS Self Order, which installs with Restaurant in Community.

Offline mode: what keeps working

The POS is a web application that caches its data in the browser (using IndexedDB and a service worker). If the connection drops mid-shift, cashiers keep scanning, taking payments and printing receipts. Orders queue locally and sync once the connection returns.

There are limits. The POS must have been loaded online first. Integrated terminals, QR bank payments and online payments need connectivity. Anything created in the backend while you are offline will not appear until you reconnect. Do not clear the browser's data on a till with unsynced orders, and do not close the session until everything has synced.

GST on POS receipts in India

With the Indian localisation, the Indian - Point of Sale module installs automatically. For a company registered under GST, the receipt shows the HSN/SAC code on each line and an HSN summary table with the rate and the CGST, SGST and, where applicable, IGST and cess amounts. The HSN code is copied from the product onto each order line, which is one more reason to fill it in on every product before go-live.

Receipts also show the customer name and phone when a customer is set. For B2B walk-ins who need input credit, set the customer (with their GSTIN on the contact) and tick invoice, so a proper tax invoice is generated. Enterprise adds GSTR India eFiling with POS, which feeds POS orders into the GSTR-1 data set. GST setup in general is covered in part 22.

  1. Products, POS categories, taxes and HSN codes are complete.
  2. One shop per till, with receipt header and footer.
  3. Payment methods, one per settlement account, with terminals paired.
  4. Restaurant: floors, tables, order printers per category.
  5. A full dry-run day: open, sell, refund, go offline, reconnect, close, and check the journal entry with accounts.

Next in the series: selling online with Odoo 19 eCommerce. If you are choosing POS hardware or terminals for a new outlet, talk to us before you buy.

Questions we get asked

Does Odoo 19 Point of Sale work offline?

Yes. Odoo 19 POS caches products, prices and customers in the browser, so cashiers can keep selling, taking cash and manual card payments, and printing receipts when the connection drops. Orders are stored locally and synchronised when the connection returns. Integrated card terminals, QR bank payments and anything created in the backend need connectivity, and the POS must be loaded online first.

Is the Odoo restaurant POS available in Community?

Yes. The Odoo 19 Restaurant module is LGPL and adds floor plans, tables, bill splitting, bill printing, courses, presets such as dine-in and takeout, tips and kitchen order printers. QR menus and self-ordering are also Community. The kitchen preparation display, order tracking screen, IoT Box and UrbanPiper delivery connector need Enterprise.

Does Odoo POS print GST details on receipts in India?

Yes. For a company registered under GST, the Indian Point of Sale module prints the HSN/SAC code on each receipt line and adds an HSN summary with the tax rate and CGST, SGST, IGST and cess amounts. The HSN code comes from the product, so it must be set on every product. B2B customers can request a full tax invoice at the till.

Which card terminals integrate with Odoo 19 POS in India?

Odoo 19 includes Community integrations for Razorpay and Pine Labs terminals, both widely used in India, alongside Adyen, Stripe, Viva.com and others. With an integrated terminal the amount is sent to the device and the result returns to the POS automatically. Without one, create a payment method with no integration and record payments taken on a separate machine.

← Previous Products, variants and pricelists in Odoo 19 Next → Setting up an online shop with Odoo 19 eCommerce
Keep reading
Odoo 19 Invoicing and customer payments in Odoo 19 6 min read Odoo 19 GST compliance in Odoo 19: taxes, HSN, e-invoice, e-way bill and GSTR 6 min read Odoo 19 Getting started with Odoo 19: what changed and where to begin 6 min read