MoySklad
Odoo
amoCRM
Tizimlashtirish
Marketing
AI agentlar
BUline
MoySklad
Odoo
amoCRM
Систематизация
Маркетинг
Маркетинг: обзор
Стратегия и контент
Стратегия и планКонтент и SMM
Рекламные каналы
Google AdsYandex DirectРеклама в TelegramInstagram и FacebookМаркетплейсы
Органический рост
SEO
Измерение и аналитика
Аналитика и KPI
AI-агенты
BUline
MoySklad
Odoo
amoCRM
Systematization
Marketing
AI agents
BUline
Home/Odoo/Supermarket and grocery store chains
Odooimplemented by BUline
Odoo · Industries · Supermarket chain

A supermarket chain — central purchasing, branch POS and warehouse in one system

The head office buys goods and distributes them to branches, every sale at a POS is deducted from stock immediately, and batches nearing expiry are visible in advance. The fiscal receipt and marking requirements are covered separately, based on official sources.

Multiple branchesCentral purchasingExpiration dateLoyaltyStock counts
Problems

Typical obstacles in a grocery chain

There are many products, turnover is fast and shelf life is short. As the number of branches grows, managing through Excel and the phone stops working.

Branches and warehouse

  • A branch’s stock level reaches the head office late
  • Transfers between branches are handled by phone and on paper
  • The head office and the branch books give different figures

Shelf life and discounts

  • Goods nearing expiry are found on the shelf late
  • The discount label is stuck on by hand and relies on the cashier’s memory
  • Write-offs are recorded without a reason

POS and requirements

  • The fiscal receipt and marked goods (tobacco, alcohol, beer, beverages) have requirements of their own
  • A stocktake halts the store’s work
  • The supplier’s electronic invoice and the goods receipt do not match
In Odoo

Which app solves which problem

The core set for a chain. Which apps are needed is determined during the diagnostic.

POS

Branch POS, shift, returns, loyalty, weighed goods. Cash register and POS page →

Warehouse

Central warehouse and branch warehouses, internal transfers, goods in transit, stocktaking.

Barcode

Receiving, transfers and counting with a scanner. Part of Enterprise.

Purchase

Central purchasing, supplier terms, minimum and maximum stock rules.

Expiration date

Expiry by batch (lot), alert date, issuing goods with the nearest expiry first (FEFO).

Loyalty and promotions

Loyalty card, coupon, “buy X, get Y free,” gift card.

Accounting

Journals by branch, supplier invoices, payment and bank reconciliation.

Devices (IoT)

Scale, USB printer, customer display, cash drawer. Part of Enterprise.

Planning

Scheduling cashiers and warehouse staff into shifts. Part of Enterprise.

Process

From the supplier to the POS and the report

Every step leaves a document in Odoo, so the head office sees a branch’s stock level on its own screen.

01Central purchasing

A minimum and maximum rule is set for fast-moving goods, and the rest is bought to order. Odoo 20 suggests the minimum and maximum based on demand history.

02Receiving

Goods are received with a scanner, and the batch number and expiry are entered. The quantity is matched against the supplier’s invoice.

03Distribution

A transfer document is created from the central warehouse to the branch. Goods in transit sit in the “transit” location and remain the company’s property.

04Sales floor

At the branch, goods are put on the shelf. Weighed goods are weighed on the scale, and the rest are sold by barcode.

05Sale at the POS

Each sale is deducted from the branch warehouse, loyalty points are credited, and the journals are closed at the end of the shift.

06Expiry control

When the alert date arrives, the goods become visible. A discount label is applied, or the goods are removed from stock and the write-off reason is recorded.

07Stock counts

A periodic count interval is set for locations. The count result is recorded separately as a difference and leaves an audit trail.

08Report

The manager sees sales, stock levels, write-offs and differences by branch and category.

Hypothetical example

A batch of dairy products: five days until expiry

The example is illustrative. A batch of yogurt was entered at receipt with a lot number and an expiration date. In the product card, the alert and removal periods are set in days, and the FEFO strategy is selected for the location.

  • When the alert date arrives, a warning appears on the lot; after the expiry date, a notification goes to the responsible employee
  • For a new order, Odoo issues the lot with the nearest expiry first
  • The cashier scans the barcode of the discount label — the discount is applied to the last product added
  • A lot past its removal date is not picked for an order; someone has to write it off manually
  • The write-off is recorded as a move to a location of the inventory-loss type and leaves an audit trail
—
—
—
Honest scope

What Odoo includes as standard and what we add

Most chain processes are covered by the standard apps. Marking, the fiscal receipt and automatic discounts based on expiry are a separate matter. The information follows the Odoo 20 documentation; if your version differs, we check it during the diagnostic.

GoalIn standard OdooExtra work (BUline)
Multiple branches, a warehouse for each branchAvailable: several warehouses, replenishment from another warehouse (Resupply From)Branch structure, locations, roles
Transfers between branchesAvailable: internal transfers, a transit location for goods in transitLinking to the waybill — estimated
Central purchasing and replenishmentAvailable: minimum and maximum rules, triggered manually or automatically. In Odoo 20, the values are suggested based on demand historyInitial values by branch and category
Expiration dateAvailable: only for goods tracked by lot or serial number; four dates, FEFO. The Odoo 20 POS warns about goods past their expiry dateDecide which product groups to enable it for
Automatic discount based on remaining shelf lifeNot confirmed in the documentation: the POS has a discount label barcode, but tying the price to the lot expiry is not mentionedThe discount rule and the label printing process, with a custom module if needed
LoyaltyAvailable: loyalty card, coupon, “buy X, get Y free,” gift cardThe rules and reporting are adapted to your policy
Weighed goods, customer display, electronic price tagsAvailable: scale, customer display, integration with the Pricer platformTesting device models
Stock countsAvailable: physical inventory, periodic counts by location, counting with a scannerCount schedule and grouping of products
Fiscal receiptNot mentioned in the official documentation: connecting to Uzbekistan’s fiscal moduleConnecting to cash register equipment from the registry. Cash register and POS page →
Marked goods (Asl Belgisi)Not mentioned in the official documentation: connecting to Asl BelgisiOnly if a marked group is sold: estimated as a separate project
Uzbekistan requirements

Local requirements for a grocery chain

The following has been checked against official sources. What applies to your product range, we list in writing during the diagnostic.

Cash register and receipt

  • An entrepreneur with cash receipts uses an online or virtual cash register from the registry
  • The IKPU (MXIK) code of the product must appear on cash register receipts: equipment that does not show the MXIK code on the receipt cannot be used (Tax Committee)
  • If the connection is lost, a receipt can be issued offline. The deadline for transmitting data to the operator is 24 hours under PF-5813 and 48 hours for the first offline receipt under clause 31 of Resolution No. 943 (version of 23 January 2026). We clarify the current deadline in writing with the tax service
  • Online cash register, virtual cash register and E-POS

Digital marking (Asl Belgisi)

  • Tax Committee list: tobacco and alcohol (1 January 2021), beer (1 April), household appliances (15 April 2022), medicines (1 September), water and soft drinks (1 March 2024)
  • The online cash register must work with a 2D scanner; if an attempt is made to sell marked goods that are past their expiry date or have no production date, the receipt is not printed on the 2D scanner’s signal (Resolution No. 943, clause 6)
  • From 1 July 2026, codes are checked automatically in the electronic invoice, and on the receipt the presence of the code in Asl Belgisi and its match with IKPU (MXIK) are checked
  • What to do with the code in case of a return or loss, we clarify in writing through the “Working with digital marking” service in the tax cabinet
  • Asl Belgisi rules (sales at the POS)

Supplier documents

  • Electronic invoices have been mandatory for all business entities since 1 January 2020; cash trade with a cash register receipt falls outside this procedure
  • From 1 January 2026, electronic invoices are assigned a risk level: VAT on a high-risk invoice is credited to the buyer only after it has been paid to the budget in full (Resolution No. 830)
  • If goods are shipped at the same time as the sale, the invoice and the waybill can be combined; a transfer between branches involves no sale, so the documents are not combined
  • The VAT rate is 12 percent. Electronic invoices and Odoo
  • Businesses whose main activity is trade, catering or services can voluntarily choose a simplified VAT regime from 1 June 2026 to 1 January 2030 (Presidential Decree PF-100, 26 May 2026): 6% VAT on all turnover, 0% profit tax, and VAT paid on purchases is not deductible. Companies with a state share of 50% or more, and large taxpayers, cannot choose it. Odoo’s Uzbekistan package does not mention a ready-made tax for 6%; an accountant confirms whether it applies

Loyalty and data

  • A loyalty database is personal data: consent is obtained in a form that can be proven
  • Biometric and genetic data, and data of telecom users, are stored in Uzbekistan (Article 27¹)
  • Other data can be stored abroad under certain conditions
  • Where the database must be located
Integrations

Systems that connect to the chain

Each connection is assessed and built separately. We do not promise that a “ready-made connector exists.”

Fiscal receipt and marking

  • Cash register equipment from the registry and its API
  • Asl Belgisi: if a marked group is sold, it is estimated separately
  • 2D scanner and the receiving process

Devices

  • Scale, printer, customer display, cash drawer
  • Electronic price tags
  • Card terminal: Uzcard and HUMO are not named in the Odoo documentation, so testing is required

Documents and invoices

  • Electronic invoice: third-party modules or the operator’s API
  • Waybill
  • Bank and payment systems
For managers

What the head office sees on screen

Reports are not copied into a separate spreadsheet; they are generated from the documents in the same database.

Sales

  • Sales by branch and category
  • POS sessions and cash differences
  • Loyalty program participation

Stock and expiry

  • Branch stock levels and low-stock goods
  • Goods nearing expiry in the forecast report (Odoo 19)
  • Filter for expired lots

Losses

  • By write-off reason
  • Inventory count differences
  • Goods in transit during transfers between branches
The BUline Method

How we implement it in a chain

The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →

01Diagnostic1–2 weeks

We study the central warehouse, one or two branches and the POS process, the groups of goods with limited shelf life, and whether marked goods are present. Outcome: a business requirements document (BRD).

02Architecture1–3 weeks

We confirm the branch and warehouse structure, the legal entities, the roles, and the POS and document integrations.

03Pilot branch8–16 weeks

First, one branch works with real sales: receiving, POS, expiry control, counting. The remaining branches are then connected one by one.

04Training

Cashiers, warehouse staff, branch managers and buyers are trained by role. Instructions and video lessons are provided.

05Post-launch support30 days + ongoing

Enhanced support, then connecting new branches and extending reports.

Preparation

What to gather before we start

This list speeds up the diagnostic. We can start even if not everything is ready.

Chain

  • List of branches, warehouses and POS terminals
  • Whether each branch is a separate legal entity
  • The central distribution scheme

Product

  • Catalog, barcode and IKPU (MXIK) codes
  • Groups of goods with limited shelf life and weighed goods
  • Marked groups

Rules

  • Shelf life and discount policy
  • Write-off reasons
  • Count frequency and the people responsible
Mistakes

Common mistakes and how to avoid them

MistakeConsequenceHow we prevent it
Turning the POS and the warehouse into two separate worldsSales and stock levels do not matchA single source of stock data from day one
Enabling tracking for all productsExtra data entry grows at receiving and saleEnable it only for groups with expiry dates
Not setting up FEFOThe old batch stays on the shelfThe FEFO strategy for a location or category
Processing the invoice and the warehouse receipt on different daysA quantity differenceBoth on the same day and by the same responsible person
Not testing the discount label prefixThe scanner does not apply the discountTesting the nomenclature rule at the POS
FAQ

Frequently asked questions

How do we run a central warehouse and branches in Odoo?

The head office and each branch are separate warehouses. A branch is replenished from the center, goods in transit sit in a transit location and remain company property. If branches are separate legal entities, Odoo 20 supports inter-company replenishment and delivery.

Does Odoo mark down near-expiry goods by itself?

The documentation does not confirm such automatic price reduction. Odoo shows the expiry date, raises a warning and, under FEFO, issues the older batch first. The point of sale has a barcode for the discount label. If the price has to be tied to the expiry date, it is assessed separately at the diagnostic.

Can we sell tobacco, alcohol and beverages?

These groups are on the Tax Committee's marking list. They require a 2D scanner, registration in the Asl Belgisi marking system and a code on the receipt. Odoo's documentation does not mention a connection to this system, so if marked goods are sold, the connection is assessed as a separate project.

Does the register issue a fiscal receipt?

A fiscal receipt is issued by an online or virtual cash register listed in the official register. The Odoo point of sale (POS) handles sales, inventory and accounting. How to connect the two is chosen at the diagnostic. POS page →

Does a stock count shut the store down?

In Odoo, counts are planned by location and by product, and a location can be given a periodic count interval. Counting with a scanner speeds up the warehouse clerk's work. How to run a count while the store is open depends on your procedures and is agreed at the diagnostic.

Odoo Online, Odoo.sh or your own server?

Odoo Online is not compatible with third-party and custom modules. If you need a fiscal receipt, electronic invoice or marking module, Odoo.sh or your own server is chosen. Hosting types →

How much does the service cost and how long does it take?

The Odoo license depends on the number of users and apps (terms on odoo.com). The scope of BUline's service depends on the number of branches and cash registers, apps, customization, integrations, data volume and training. The exact cost and timeline are given in a written proposal after the free diagnostic.

Free diagnostic

Let’s decide together which Odoo apps to start with

During the diagnostic, we review your processes and tell you where standard Odoo is enough and where configuration is needed — with an app list, edition and phases.

Free diagnostic