An FMCG-focused Odoo Point of Sale pack engineered for supermarkets and grocery chains: high-speed barcode and PLU scanning, weighed-product price-embedded barcodes, multi-buy promotions, and electronic shelf-label sync. ECOSIRE builds it to your scope, installs it, and supports it after go-live. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $499.00 USD; request a quote for a scoped proposal.

An FMCG-focused Odoo Point of Sale pack engineered for supermarkets and grocery chains: high-speed barcode and PLU scanning, weighed-product price-embedded barcodes, multi-buy promotions, and electronic shelf-label sync. ECOSIRE builds it to your scope, installs it, and supports it after go-live.
Sem pagamento agora. Isto envia um pedido de orçamento à nossa equipe — responderemos por e-mail com preços e próximos passos.
Grocery retail lives and dies on checkout throughput and price accuracy, and this is exactly where a stock Odoo POS starts to strain. Native point_of_sale handles a clean barcode and a fixed unit price well, but a real supermarket lane deals with GS1 price-embedded scale labels (20/21 prefixes that carry weight or amount in the barcode), deli counters selling by the kilo, multi-buy shelf tags like "3 for 100", and thousands of SKUs whose prices must stay identical between the shelf edge and the till. Out of the box, Odoo cannot decode a weighed barcode into product plus quantity, cannot express mix-and-match promotions across a product family, and has no channel to push a price change out to electronic shelf labels. Cashiers end up keying weights by hand and the store leaks margin through pricing mismatches.
GS1 price-embedded barcode parser extending `barcode.rule` that decodes embedded-weight and embedded-price scale labels into product, quantity, and line total on a single scan
PLU keypad screen built as an OWL component for fast loose-produce entry, backed by an indexed PLU-to-product lookup table
Multi-buy, mix-and-match, and threshold promotion engine evaluated server-side at order validation so receipt totals always match shelf tags
Pricelist-aware promotion model using `@api.depends` computed fields to keep effective prices consistent across pricelists and stores
Electronic shelf-label (ESL) sync via a batched `ir.cron` automated action that pushes price and stock deltas to your ESL gateway API
Weighed-product workflow integrating floor and counter scales, with configurable tare and unit-of-measure handling
The POS Grocery & Supermarket Suite is an Odoo module set we build on top of point_of_sale to close that gap. At its core is a barcode-rule engine extending barcode.rule that parses embedded-weight and embedded-price GS1 formats, so a scanned scale label resolves to the right product.product, quantity, and line total in one beep without a keystroke. A pos.pricelist-aware promotion model (models.Model with @api.depends computes) evaluates multi-buy, mix-and-match, and threshold discounts server-side at order validation, so the receipt and the shelf tag always agree. PLU lookups for loose produce are backed by an indexed lookup table and surfaced in a fast keypad screen built with OWL components in the POS front end, keeping the cashier on the keyboard and off the mouse.
Technically, the suite ships as clean, upgrade-safe addons: each has its own __manifest__.py declaring dependencies on point_of_sale (and pos_hr for lane/cashier management), models under models/, XML/OWL views, ir.model.access.csv plus record rules so a store manager sees only their store's data, and QWeb receipt and end-of-day reports. Electronic shelf-label sync runs through a documented integration layer: an ir.cron automated action batches price and stock deltas and delivers them to your ESL gateway over its API, while the same JSON-RPC/XML-RPC surface lets head-office systems push pricelist updates in. Cash-drawer and lane management extend the session model so each register reconciles independently at close. Everything targets Odoo 17.0, 18.0, and 19.0, and we scope Community versus Enterprise honestly up front — several capabilities (like advanced barcode-driven inventory) behave differently on Community, and we tell you which before you commit.
Because this is a build-to-order product, you are not downloading a finished app from apps.odoo.com. After a short scoping call we confirm your Odoo version, edition, hardware (scanners, scales, ESL gateway, drawer/printer models), and the exact promotion and barcode rules your stores use. We then build the suite to that scope, deliver it on a staging instance for UAT, and only move to production once you have signed off. Typical delivery is 2–4 weeks from confirmed scope, and you receive the full source, documentation, and a support window after go-live.
Multi-lane stores that need weighed-item and price-embedded-barcode checkout to run without manual keying, and shelf-edge prices that never drift from the till.
Central teams managing pricelists and promotions across many stores who need to push price and promo changes down (and pull sales up) via the Odoo RPC API with per-store data isolation.
Front-line managers responsible for cash-up, lane reconciliation, and promotion accuracy who need per-lane drawer control and end-of-day QWeb reports for clean sign-off.
Partners delivering an FMCG rollout who want a scoped, documented POS extension with clean security and clear Community-vs-Enterprise boundaries rather than building the barcode and promotion engine from scratch.
Compre a licença em ecosire.com e baixe o ZIP do módulo POS Grocery & Supermarket Suite no painel da sua conta.
Extraia o ZIP em sua pasta de complementos personalizados do Odoo no servidor (ou faça upload via Aplicativos > Instalar do arquivo em Odoo.sh/runbot).
Ative o modo de desenvolvedor, abra Aplicativos, clique em Atualizar lista de aplicativos, procure por POS Grocery & Supermarket Suite e pressione Instalar.
Abra o novo menu, cole sua chave de licença ECOSIRE, conecte quaisquer credenciais externas (Shopify, Amazon, Stripe, etc.) e salve.
Execute o teste de conexão integrado, sincronize seus primeiros 10 registros e agende o cron recorrente. Entre em contato com o suporte se algo falhar.
| Critério | ECOSIRE | Construção personalizada | Concorrente | Odoo nativo |
|---|---|---|---|---|
| Weighed / price-embedded barcodes | GS1 scale-label parser built into the barcode-rule engine | Possible but you build and maintain the decoder yourself | Partial; often fixed prefixes only | |
| Multi-buy & mix-and-match promos | Server-side engine evaluated at order validation, receipt matches shelf tag | Bespoke build, tested at your cost | Basic discounts, limited family-level logic | |
| Electronic shelf-label sync | Batched `ir.cron` push to your ESL gateway API | Full integration built from zero | Rarely included | |
| Per-lane cash-drawer management | Independent session reconciliation per register | Extend `pos.session` yourself | Varies by module | |
| Multi-store data isolation | Record rules scope data per store, RPC for head office | You design the security model | Often generic access only | |
| Odoo version fit (17/18/19) | Built and tested for your exact version and edition | Depends on your team's version discipline | May lag new releases | |
| Support & ownership | Post-go-live window + full source and git handover | You own it and all maintenance | Vendor SLA, no source | |
| Delivery model | Build-to-order, UAT on staging, 2–4 weeks from scope | Long internal build cycle | Instant download but generic fit |
This is a build-to-order product, so we build it to your confirmed scope rather than shipping a fixed download. Typical delivery is 2–4 weeks from the point where scope is confirmed — your Odoo version and edition, hardware, barcode formats, and promotion rules. Larger multi-store rollouts with heavy customization can run longer, and we tell you honestly during scoping if that applies.
Yes. The suite extends Odoo's `barcode.rule` engine to decode GS1 price-embedded and weight-embedded scale labels, so a single scan resolves to the correct product, quantity, and line total. We configure the exact prefixes and formats your scales produce during the build.
We build and target Odoo 17.0, 18.0, and 19.0. It works on both Community and Enterprise, but a few capabilities behave differently on Community (for example advanced barcode-driven inventory flows). We confirm your edition during scoping and document exactly which features apply so there are no surprises.
Yes. We build an integration layer that batches price and stock changes through an `ir.cron` automated action and delivers them to your ESL gateway over its API. We need your ESL vendor and gateway details during scoping to build against the correct interface.
Every engagement includes a post-go-live support window for defect fixes and configuration help. Because you receive the full source and git repository, you own the code outright. We also offer ongoing support and Odoo version-upgrade services (for example moving from 18.0 to 19.0) as a separate arrangement when you need it.
No. This is not an existing apps.odoo.com download. ECOSIRE builds the module to your scope, installs it, validates it on staging with you, and supports it after go-live. You then receive installable source code and the git repository.
Head office can push pricelist and promotion updates and pull sales data through Odoo's JSON-RPC/XML-RPC API. Record rules scope each store's data so managers only see their own store, while central teams retain catalog and pricing control across the estate.
An FMCG-focused Odoo Point of Sale pack engineered for supermarkets and grocery chains: high-speed barcode and PLU scanning, weighed-product price-embedded barcodes, multi-buy promotions, and electronic shelf-label sync. ECOSIRE builds it to your scope, installs it, and supports it after go-live.