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
    • Approvals
    • 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
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Point Of Sale
  3. Top Packaging Price v 18.0
  4. Sales Conditions FAQ

Top Packaging Price

by TopBusiness https://www.topbusiness.io
Odoo
v 18.0 Third Party 3
Download for v 18.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Point of Sale (point_of_sale)
• Sales (sale_management)
• Discuss (mail)
• Invoicing (account)
Lines of code 862
Technical Name top_packaging_price
LicenseLGPL-3
Websitehttps://www.topbusiness.io
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Point of Sale (point_of_sale)
• Sales (sale_management)
• Discuss (mail)
• Invoicing (account)
Lines of code 862
Technical Name top_packaging_price
LicenseLGPL-3
Websitehttps://www.topbusiness.io
Top Packaging Price — Sell single items or packages with dedicated prices in Odoo 18
Top Packaging Price app icon
Odoo 18 Module

Top Packaging Price

Package-based selling for the same product in Sales Orders and Point of Sale — dedicated package prices, accurate stock in product units, no duplicate SKUs.

Odoo 18 Sales Point of Sale Stock
Sales & POS package pricing Fixed package price per packaging row
Business Example

Coffee Mix — Single vs Box 12

1 LE Single item price
Box 12 Package name
10 LE Package price (12 units)

Sell one unit at 1 LE, or select package Box 12 at 10 LE (not 12 LE). Stock always deducts 12 product units — the same Coffee Mix product, no second SKU.

Overview

The Problem with Standard Packaging

Standard Odoo packaging defines how many units fit in a box — but not a dedicated commercial selling price for that package in Sales and POS.

Packaging in Odoo is built for logistics: contained quantity, barcodes, and delivery. It does not, by itself, let you set a fixed package selling price on the sales floor or on a quotation line.

Without a targeted extension, teams often create a second product for "Box of 12" — splitting inventory, breaking reporting, and adding daily operational work.

Same Coffee Mix example

  • Single item price: 1 LE
  • Box 12 package price: 10 LE (not 12 × 1 LE)
  • Contained quantity: 12 units

Promotional or wholesale box pricing on one product — no separate box item in stock.

How It Works

One Product. Package Price. Correct Stock.

Top Packaging Price adds package price fields on product.packaging. When a package is selected, the line keeps the original product and converts quantity and unit price automatically. Stock moves in real product units.

Package Sale Formula
Quantity        = Package Quantity (e.g. 12)
Unit Price     = Package Price ÷ Package Quantity
Line Total     = Package Price
Stock Deduction = Package Quantity in product units

Worked Example — Coffee Mix, Box 12

Field Value
ProductCoffee Mix (same product, no duplicate)
PackageBox 12
Quantity12 units
Unit Price0.833333 LE (10 ÷ 12)
Line Total10 LE
Stock Deducted12 units from Coffee Mix inventory
Features

What Top Packaging Price Delivers

Scoped to Sales, POS, and inventory — as implemented in this module.

💰

Package Price on Packaging

Set a fixed selling price on each product.packaging row (e.g. Box 12 at 10 LE).

📋

Sales Order Package Selection

Choose a package on the sale order line via top_product_packaging_id; qty and unit price update.

🛒

POS Single or Package Popup

Cashiers pick Single Item or a configured package when adding a product in POS.

📦

Accurate Stock Deduction

Stock moves deduct real product units (e.g. 12), not "1 box" as a separate item.

🏷️

POS Package Barcode

Scan a packaging barcode at POS to add the package qty and package price on the line.

🧾

Package Name on Documents

Package label on order lines, POS cart/receipt, and picking description.

🔀

Sales / POS Availability Toggles

Per packaging row: enable Available in Sales and/or Available in POS independently.

⚙️

top_* Fields (Not Pricelist Rules)

Uses module-specific top_* fields for fixed package pricing — not built-in Odoo pricelist integration.

Point of Sale

POS Cashier Workflow

Four steps — Coffee Mix, Box 12 at 10 LE, stock −12 units.

1

Click Product

Cashier taps Coffee Mix on the POS product screen.

→
2

Choose Selling Unit

Popup: Single Item or available packages.

→
3

Select Box 12

Cashier picks Box 12 at 10 LE.

→
4

Correct Line Added

Line: qty 12, total 10 LE, stock −12 units.

Coffee Mix
↓
Select Selling Unit
Single Item — 1 LE
Box 12 — 10 LE
↓
Coffee Mix — Box 12 Qty: 12 pcs  |  Total: 10 LE  |  Stock: −12 units
Sales

Sales Order Workflow

Select a package on the order line (top_product_packaging_id). Quantity and unit price update; delivery deducts real units.

Selection Qty Unit Price Total Stock Deducted
Single Item 1 1.00 LE 1.00 LE 1 unit
Box 12 12 0.833333 LE 10.00 LE 12 units
Carton 24 (illustrative) 24 0.750000 LE 18.00 LE 24 units

Note: Coffee Mix / Box 12 / 10 LE is the primary documented example. Carton 24 and other package rows are illustrative — configure only the packaging lines you need on each product; values depend on your setup.

Configuration

Product Packaging Setup

Inventory tab → Packaging: set contained quantity, package price, barcode, and channel availability per row.

  • Package name (Box 12, Carton 24…)
  • Contained quantity (qty — units per package)
  • Package price — total selling price for the package
  • Package barcode for POS scanning
  • Available in Sales / Available in POS toggles
Package Qty Package Price Sales POS
Box 12 12 10.00 Yes Yes
Carton 24 24 18.00 Yes Yes

Carton 24 in the sample table is an optional second packaging row — add as many package lines as your product requires.

Design

Why Not a Separate Box Product?

One product with package-aware pricing — not duplicate inventory.

❌ Separate Box Product

  • Duplicated stock and SKUs
  • Manual conversion or BOM overhead
  • Split sales and inventory reporting
  • Extra maintenance when prices change

✅ Top Packaging Price

  • Original product only — package is a selling mode
  • Package selection sets real unit quantity on the line
  • Correct stock deduction on every sale
  • Clearer Sales and POS workflow for staff
Technical

Technical Highlights

Standard Odoo extension patterns for Odoo 18 — upgrade-safe, explicit dependencies.

  • Extends product.packaging with package price and Sales/POS availability fields
  • Extends sale.order.line with top_product_packaging_id and automatic pricing
  • Extends pos.order.line with top_* package metadata and stock qty logic
  • POS data loading via pos.load.mixin on packaging and order lines
  • OWL patches on ProductScreen, PosOrderline, and barcode handling in POS
  • Package name on order lines, POS cart/receipt, and picking descriptions
  • Stock movements based on real product quantity, not package count as a separate product
  • Dependencies: sale_management, point_of_sale, stock, product
Use Cases

Ideal For

Businesses that sell the same product as single units and pre-defined packages with different prices.

🛒

Retail & Grocery

Single unit or multipack with one SKU and correct stock.

☕

Cafes & Food Service

Box pricing on supplies — e.g. Coffee Mix Box 12 at 10 LE.

🏭

Wholesale

Case and carton prices without duplicate products.

🧴

FMCG

Single, box, and carton tiers on one product record.

Screenshots

In the Interface

Add PNG files alongside this page to replace the placeholders below.

Product Packaging Configuration ./packaging_config.png
Product Packaging Configuration
Sales Order Package Selection ./sale_order_package.png
Sales Order Package Selection
POS Package Selection Popup ./pos_popup.png
POS Package Selection Popup
POS Receipt Package Display ./receipt_display.png
POS Receipt Package Display
Setup

Installation

Install the module, configure packaging rows, then use packages in Sales and POS.

  1. Copy top_packaging_price to your Odoo addons path (e.g. addons/top_packaging_price).
  2. Update the Apps list and install Top Packaging Price.
  3. Restart Odoo if required; for POS, close and reopen the session so packaging data reloads.
  4. On each product (Inventory → Packaging), set qty, package price, and Sales/POS availability.
  5. In Sales, select a package on the line; in POS, choose Single Item or Package at checkout.
Support

Need Customization?

Need additional package workflows, receipt layout changes, or custom integrations? TopBusiness provides tailored Odoo development and support.

✉️ support@topbusiness.io 💬 WhatsApp +20 101 182 7324 🌐 www.topbusiness.io
Top Packaging Price Package-based pricing for Sales and POS on Odoo 18 — accurate stock in product units.

Author: TopBusiness

Email WhatsApp Website

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
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

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