Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Artificial Intelligence
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Odoo 19 - UoM Inventory wholesale/retail

Subscribe

Get notified when there's activity on this post

This question has been flagged
inventoryuomretailv19
3 Replies
254 Views
Avatar
morillopolancowagner@gmail.com

In Odoo v19 Enterprise for a wholesale/retail business. I'd like to know your approach to the following inventory issue.

I'd like to know what your approach would be for the following inventory challenge.

Example: a product which is a one-liter oil bottle (unit) packed in boxes of 24 units. We purchase by box, inventory tracking is by box and most of our sales are wholesale, meaning by boxes.

We also have a small dedicated area for retail sales where we sell by individual units.

From what I've researched, the general approach is to define the inventory UoM as the smallest unit (units in this case) and then define larger packages available for purchase and sale. It works fine, however it means the inventory module and its reports show quantities in units — we normally keep stock between 200 and 400 boxes of this product, imagine that multiplied by 24, it's hard to work with.

On the other hand, if the inventory UoM is defined as a box of 24 and the sales UoM as unit, there can be rounding issues when selling individual units, leading to stock quantity discrepancies.

For this case, my questions are:

What would you do in my situation, what would your approach be?

Is there any third-party module that could help with this?

Is there any existing solution I haven't considered yet?

I greatly appreciate your responses.

1
Avatar
Discard
Avatar
Rishu, Niyu Labs
Best Answer
I would still keep the product’s base Unit of Measure as the smallest unit: 1 bottle.

Reason: Odoo stock moves, retail sales, returns, inventory adjustments, and valuation are much safer when the base UoM is the smallest sellable/trackable unit. If you make “box” the inventory UoM, then selling individual bottles creates more friction and usually leads to awkward conversions later.

A practical setup would be:

1. Product base UoM:
   - Unit = bottle

2. Purchase:
   - Use packaging: box of 24 bottles
   - Purchase in boxes, but let Odoo convert to 24 units internally

3. Wholesale sales:
   - Sell by package/box where possible
   - Use package quantities so users can enter boxes instead of manually typing 24, 48, 72 units

4. Retail sales:
   - Sell by individual unit/bottle

5. Reporting:
   - Native inventory reports will show units, because that is the base UoM.
   - If the team thinks in boxes, add a custom computed/reporting field like “Qty in boxes = quantity / 24” or build a saved reporting view/export that shows both units and boxes.

The mistake to avoid is choosing the warehouse UoM only because reports look nicer. Operationally, the smallest unit is usually the safer base. Then solve the “I want to see boxes” problem in reporting/views, not by making the stock model less flexible.

So my recommendation:
- base UoM = bottle/unit,
- packaging = box of 24,

- reports/views show both units and equivalent boxes.


2
Avatar
Discard
Avatar
Zehntech Technologies Inc.
Best Answer

Hello, 

For this scenario, I would generally recommend following Odoo's standard approach and using the smallest unit (individual bottle) as the inventory UoM, while defining boxes of 24 as the purchase and sales UoM where needed.

Although inventory quantities will be displayed in units, this approach maintains accurate stock levels and avoids rounding issues when retail sales occur. Using boxes as the inventory UoM while selling individual units can lead to stock inconsistencies over time.

If the main concern is usability and reporting, a customization or third-party module can be considered to display stock quantities in boxes (or both boxes and units) within inventory views and reports while keeping the underlying inventory valuation in units.

In most wholesale/retail environments, inventory accuracy is usually prioritized over display convenience, so the smallest-unit approach remains the safest option.

Hope this works for you! If you need any help implementing this or want a more optimized approach, feel free to reach out for further discussion.

Regards,

Zehntech Technologies Inc.

santosh.sekwadia@zehntech.com

1
Avatar
Discard
Avatar
Codesphere Tech
Best Answer

Hello

Keep the Inventory UoM as "Units" for mathematical accuracy, but use the "Product Packaging" feature to completely transform how the inventory is viewed, counted, and transacted.
Please review this doc it is very useful in this case.
https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory/product_management/configur

Hope this helps
Thanks

1
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Help with UoM and product_second_uom
inventory uom
Avatar
Avatar
1
Mar 15
7983
[v19] Consolidation of purchase orders by supplier Solved
purchase inventory v19
Avatar
1
Feb 26
1453
Purchase UoM per Vendor
inventory uom v14
Avatar
Avatar
1
Jun 24
5149
Odoo 18.1 UoM & Packagings Solved
inventory barcode uom packagings
Avatar
Avatar
Avatar
2
Oct 25
4598
Multi Uom & Multi price Solved
inventory price uom Odoo13
Avatar
Avatar
1
Aug 22
3091
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now