| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 418 |
| Technical Name |
pos_product_packaging |
| License | LGPL-3 |
| Versions | 17.0 18.0 19.0 |
đĻ POS Product Packaging
Add products by packaging quantity in Point of Sale â select a Box, Carton, or Pallet, enter the package count, and let Odoo calculate total units & price automatically.
đ Overview
POS Product Packaging is an Odoo 19 module that lets Point of Sale users add products using predefined packaging types â such as Box, Carton, Case, or Pallet â instead of entering individual unit quantities.
When a cashier clicks a product that has packaging configured, a smart popup appears showing all available packaging options with their unit counts. The cashier simply selects a packaging type and enters how many packages they want. Total units and price are calculated automatically and added to the order in one click.
Packaging information is carried through the entire flow â from the POS order line display to the backend order form â giving full traceability of how products were sold.
â Key Features
- â Packaging Selection Popup: Beautiful modal with all available packaging types for the clicked product
- â Auto-Calculation: Total units and total price computed instantly as you select packaging and quantity
- â Package Quantity Controls: Increment / decrement buttons and manual input for package count
- â Order Line Display: Shows packaging name and package quantity alongside the product on the order
- â Available in POS Toggle: Control which packaging types appear in POS from the product form
- â Add Single Unit Fallback: Skip packaging and add one unit with the "Add Single Unit" button
- â Backend Visibility: Packaging and package quantity columns on POS order lines in the backend
- â Receipt & Print Support: Packaging info included in receipt/print data for custom receipt templates
- â No Packaging? No Popup: Products without packaging behave normally â zero disruption
- â Community & Enterprise: Works on both Odoo 19 Community and Enterprise editions
⥠How It Works
The module intercepts the product click in POS. If the product has packaging with Available in POS enabled, a popup appears. Otherwise, the product is added normally.
|
đ
Click Product Cashier taps a product in POS |
â |
đĻ
Select Packaging Choose Box, Carton, Pallet & quantity |
â |
â
Auto-Added Units & price calculated, line created |
đĨ Installation
Requirements
| Requirement | Details |
|---|---|
| Odoo Version | 17.0 (Community & Enterprise) |
| Depends On | point_of_sale,
product
|
| Python Libraries | None (standard Odoo dependencies only) |
| License | LGPL-3 |
Steps
| 1 | Upload the
module Copy the pos_product_packaging
folder into your Odoo addons directory (e.g. /mnt/extra-addons/).
|
| 2 | Update app
list Go to Apps â Update Apps List |
| 3 | Install the
module Search for "POS Product Packaging" and click Install. |
| 4 | Clear browser
cache Press Ctrl+Shift+R
to load the new POS assets.
|
âī¸ Configuration
Setting Up Product Packaging
Before using packaging in POS, define packaging types on your products and enable them for POS.
| 1 | Navigate to Inventory â Products â Products and select a product. |
| 2 | Go to the Sales tab and find the Units of Measure & Packagings section (Upsell & Cross-Sell area). |
| 3 | Add packaging UoMs (e.g. "Box of 12") with the quantity defined in the UoM factor. Then go to Inventory â Configuration â Units & Packagings, open each packaging UoM and check Available in POS. |
| 4 | Save the product. The packaging will now appear in POS when this product is clicked. |
Example Setup
For a product called "Widget":
| UoM / Packaging Name | Units per Package | Available in POS |
|---|---|---|
| Box | 12 | â |
| Carton | 48 | â |
| Pallet | 480 | â |
đ Usage in Point of Sale
Adding Products with Packaging
| 1 | Open Point of Sale and start a new session. |
| 2 | Click on a product that has packaging configured. The Packaging Popup appears automatically. |
| 3 | Select a packaging type â e.g. "Box (12 units)", "Carton (48 units)". The selected option highlights in blue. |
| 4 | Enter the package quantity using the + / â buttons or type directly (e.g. 3 boxes). |
| 5 | Review the summary: Packages (e.g. 3 Ã Box), Total Units (e.g. 36), Total Price. |
| 6 | Click Confirm. The order line is created with the total unit quantity and packaging info displayed. |
Popup Sections
| Section | Description |
|---|---|
| Packaging Selection | Clickable buttons for each packaging type, showing name and unit count |
| Package Quantity | +/â buttons and number input to set how many packages to add |
| Summary | Live display of total packages, units, and price â updates as you change selection |
Popup Buttons
| Button | Action |
|---|---|
| â Confirm | Adds the product with calculated quantity and packaging info |
| Cancel | Closes popup without adding anything |
| â Add Single Unit | Skips packaging, adds product with quantity 1 (default POS behavior) |
Order Line Display
After adding a product with packaging, the order line shows:
- â Product name
- â Total quantity (e.g. 36 units)
- â Packaging info line: đĻ "3 x Box" (shown below the product name)
- â Total price
đĨī¸ Backend Integration
Packaging information is saved to the database and visible in the Odoo backend for full traceability.
POS Order Form
When viewing a POS order in Point of Sale â Orders, order lines include two additional columns:
| Column | Description |
|---|---|
| Packaging | The packaging type used (e.g. "Box",
"Carton") â linked to uom.uom
|
| Package Qty | Number of packages ordered (e.g. 3) |
Units & Packagings Views
The Available in POS checkbox is added to the form and list views of Units & Packagings (UoM), making it easy to manage which packaging types appear in POS. In Odoo 19, packaging and Units of Measure are merged into a single model.
â Frequently Asked Questions
Why doesn't the packaging popup appear for my product?
The popup only appears if the product has at least one packaging with Available in POS checked. Go to the product form â Inventory tab â Packaging section and ensure the checkbox is enabled. Also restart the POS session after making changes.
Can I add a product without packaging even if packaging is configured?
Yes. In the packaging popup, click the "Add Single Unit" button (red button at bottom-left). This skips packaging and adds the product with quantity 1.
Does this affect products without any packaging defined?
No. Products without POS-enabled packaging behave exactly as before â the standard POS flow is unchanged. The popup only appears when relevant packaging exists.
How do credit notes / refunds work with packaging?
Refunds follow the standard POS refund flow. The packaging info is preserved on the original order line for reference, but refund lines are created as normal unit-based lines.
Is packaging information visible on receipts?
The packaging data is exported in print data (packaging_name
and package_qty).
You can customize your receipt template to display it.
The POS is not loading packaging data after install
Clear your browser cache (Ctrl+Shift+R)
and restart the POS session. Packaging data is loaded when a new session starts.
đ¤ Support
For questions, bug reports, or feature requests, please contact the module developer:
./odoo-bin
-u pos_product_packaging -d your_databaseAlways clear browser cache and restart POS sessions after upgrading.
Please log in to comment on this module