Industry
Odoo for retail
In retail, every store sells, collects and invoices at its own point of sale, and the full chain only comes into view once the month has closed.
Photo: Rachel Claire on Pexels
A retail chain is a single business spread across many points of sale. Every store sells, takes payments, handles returns and issues invoices, and management needs to see inventory, cash and taxes for all of them while the month is still running; in restaurants and cafés, orders also have to reach the kitchen. In Mexico, taxes include the CFDI, the electronic invoice that has to back every sale, even when the customer never asks for one. In Odoo 20 each store’s point of sale, its inventory and the chain’s accounting live in the same database, and the work starts by deciding how each store operates before the first register is configured.
What we solve in the operation
-
The invoice the customer asks for later
Walk-in customers buy without asking for an invoice and come back days later with their receipt. If the sale already went into the global invoice, someone has to redo the transaction by hand.
How Odoo solves it
The receipt prints a QR code or a link to a portal where customers enter their tax details and issue their own CFDI, Mexico's electronic invoice. Whatever nobody invoiced is grouped into the period's global invoice (one per store when each point of sale has its own journal with its issuing address), as the tax authority (SAT) allows for sales to the general public, and a ticket already included in it can still be invoiced to the customer from the point of sale.
Modules
- Point of Sale
- Accounting
-
The return that turns into tax paperwork
Returning invoiced goods means issuing a credit note in another system and linking it to the original invoice, usually days after the customer has left.
How Odoo solves it
When the return is processed at the point of sale with the invoice box ticked, Odoo issues the credit note and has it stamped as a CFDI on the spot, with the «03 - Devolución de mercancía» (return of goods) relation the SAT requires.
Modules
- Point of Sale
- Accounting
-
The store that runs out of its best seller
One store runs out of what sells best while another has too much, and the order to the distribution center comes from a report that is already a week old.
How Odoo solves it
Each store is a warehouse in Odoo, and every point of sale order draws on its own stock. Odoo 20 replenishment rules compute each product's minimum and maximum from the daily demand in its history, and restocking leaves the central warehouse as an inter-warehouse transfer.
Modules
- Inventory
- Point of Sale
-
Stock that only matches on count day
Store shrinkage, whether damage, error or theft, surfaces at the annual stocktake, when there is no way left to tell which store or which month it happened in.
How Odoo solves it
Inventory schedules counts by location, each with its frequency in days, its date and the person responsible. The count is compared with what the system says before it is applied, the difference is recorded with its reason, and every adjustment stays in the moves history.
Modules
- Inventory
- Barcode
-
The promotion each store applies differently
The weekend promotion rings up differently at every register, and a customer's eWallet or gift card only works at the store where it was bought.
How Odoo solves it
Discount and loyalty programs, eWallets and gift cards are configured once, and every store's point of sale applies them the same way, unless a program is limited to certain stores. On the CFDI, whatever is paid with them is expressed as a discount, because the SAT does not accept negative lines.
Modules
- Point of Sale
- Accounting
-
The card terminal that does not talk to the register
The cashier keys the amount into the card terminal and again into the register, and the differences only show up at reconciliation.
How Odoo solves it
The Odoo 20 point of sale integrates with Mercado Pago's Point Smart terminals, which are sold in Mexico, and each payment method carries its SAT payment code, which goes onto the CFDI.
Modules
- Point of Sale
-
Nobody knows who rang up, discounted or voided a sale
Several cashiers work the same register, and when cash is missing or an extra discount shows up, there is no way to tell who did it.
How Odoo solves it
Each cashier logs in to the point of sale as an employee, with a PIN or a badge, and with minimal, basic or advanced rights depending on what they may do at the register.
Modules
- Point of Sale
- Employees
-
The checkout line that costs the sale
At peak hours the line grows, and some customers leave before they reach the register.
How Odoo solves it
With Odoo 20 self-ordering, customers order and pay from their phone, through a QR menu, or at a kiosk.
Modules
- Point of Sale
-
Paper tickets and checks that do not add up
In restaurants and cafés, the order travels on paper from the table to the kitchen, and splitting the check or recording the tip is done by hand.
How Odoo solves it
The Odoo 20 point of sale for restaurants has a floor plan, sends orders to the kitchen or the bar, splits checks, records tips and takes bookings. Its preparation display also works in retail, for orders the customer picks up.
Modules
- Point of Sale
Nivolty solutions for this industry
Nivolty is a company in Quantum Garage's group that operates independently: it develops and guarantees its own products for Odoo Enterprise, and offers the CloudCore hosting. Its first AI Agents solution, for WhatsApp, is now available.
All Nivolty solutions-
Radar Fiscal
Monitors the SAT; Odoo does the invoice stamping natively
-
Sentinel
Automated internal audit of the ERP
-
Radar Comply
Labor, foreign trade and data protection compliance
-
CloudCore
Dedicated hosting for Odoo Enterprise
-
AI Agents · WhatsApp
The first Nivolty AI Agents solution: WhatsApp connected to Odoo
Guides that apply
-
Guide · Mexico localization
Odoo 20 Mexico localization: CFDI 4.0, payment complement, Carta Porte and DIOT
-
Guide · Licensing
Odoo Enterprise licensing and pricing in Mexico: plans, users and what the subscription includes
-
Guide · Implementation
How to implement Odoo in a mid-sized company: phases, data migration, cut-off, go-live and adoption
-
Guide · Migration
How to migrate to Odoo from CONTPAQi, Aspel, SAP Business One, NetSuite or Business Central
Odoo with your industry's processes
We show you how your sector's processes run in Odoo, with the judgment we bring to every project: first the process, then the module.
Frequently asked questions
Does Odoo issue the global invoice for sales to the general public?
Yes. Odoo 20’s Mexican localization groups the point of sale orders nobody invoiced into a global invoice, on the schedule the accountant sets, from daily to bimonthly. If each point of sale has its own journal, with its own issuing address, each store issues its own, with the postal code it invoices from.
Can customers invoice their own receipt?
Yes. With self-invoicing enabled, the receipt carries a QR code, a link or both, and the customer opens a portal to enter their tax details, including their tax regime and the CFDI usage code.
Can products be sold by lot and expiry date at the counter?
Yes. The lot of each product is chosen on the ticket, and the point of sale warns when what is being sold has already expired.
Does every cashier need a user license?
Cashiers can log in to the point of sale as employees, with a PIN or a badge. Odoo’s contract counts as a light user every employee registered in Employees without a user account, and light users are billed separately, at their own price.