This module extends the functionality of point of sale to allow you to load your pickings in the Point of Sale, in order to add / remove products and so create a PoS Order and mark it as paid.
Detailled Use Case
This module is usefull for the following use case
- You have many Sale Orders that have generated pickings. Typically if you have connected your Odoo instance to an online store like Shop Invader, Prestashop, Magento, or if you use light Odoo shop (website_sale module).
- Once the order validated, you prepare your pickings
- The customer come in your shop to recover his order
- the customer add (or remove) some products
- the customer pay his order, based on the real delivered products list
auto_awesome What this module does
AI-generated from the code · Odoo 16.0Lets cashiers load an existing stock picking (e.g. a prepared online order) directly into the Point of Sale, adjust the products, and pay for the real delivered goods. The original picking is then cancelled and linked to the new PoS order.
This module adds a "Load Picking" button to the Point of Sale product screen. When a cashier clicks it, a search screen opens listing stock pickings that are confirmed, partially available or assigned, and whose operation type has been flagged as "Available in Point Of Sale". The cashier can search by picking reference, source document or customer name, and the number of results is limited by a configurable maximum.
Selecting a picking loads its lines into the current PoS order: products, quantities, unit prices and discounts are taken from the original sale order lines. The customer is set automatically. The cashier can then add or remove products before payment.
Several checks prevent mistakes: products or customers not known in the PoS, or a picking already loaded in another draft or confirmed PoS order, block the loading with an error message. Once the PoS order is paid, the original picking is cancelled and linked to the new PoS order; the related sale order is marked as invoiced. The new delivery created by the PoS order is attached to the same procurement group as the original picking.
Settings are available in the Point of Sale configuration to enable the feature and set the maximum number of pickings shown. The picking operation type form gains an "Available in Point Of Sale" checkbox, and the sale order and picking forms show the final PoS order that replaced them.
Depends on
Required by other modules
Models and fields (6)
- pos.order · extends an existing modelorigin_picking_id (Origin Picking)
- pos.config · extends an existing modeliface_load_picking (Load Pickings), iface_load_picking_max_qty (Max Picking Quantity To Load)
- sale.order · extends an existing modelfinal_pos_order_id (Final PoS Order)
- stock.picking · extends an existing modelfinal_pos_order_id (Final PoS Order)
- stock.picking.type · extends an existing modelavailable_in_pos (Available in Point Of Sale)
- res.config.settings · extends an existing modelpos_iface_load_picking, pos_iface_load_picking_max_qty
Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/pos.
terminal Installation and usage
OCA documentation · Odoo 16.0Configuration
Source · Odoo 16.0To configure this module, you need to:
- Go to Warehouse / Configuration / Types of Operation
- Select the picking type(s) you want to see in the point of sale
- Check the box 'Available in Point of Sale'
Note: This box is NOT enabled by default except in demo data for the type 'Delivery Orders' of the demo company 'YourCompany'.
- Go to Point of Sale / Configuration / Settings
- Select the Point(s) of Sales witch those you want to enable the feature
- Check the box 'Load Pickings'
- Set the max quantity of pickings you want to load
Note: This box is enabled by default
Technical Notes
- By default, the Point of Sale will display only the pickings if the state is in 'Waiting Availability', 'Partially Available' or 'Ready to Transfer'.
You can change this filter by overloading the _prepare_filter_for_pos function of the model stock.picking.
- By default, the search of pickings will be done on the fields
name,originandpartner_idof the picking.
You can change this feature by overloading the _prepare_filter_query_for_pos function of the model stock.picking.
- By default, when the PoS order is confirmed, the original picking is cancelled and the sale order is set to the state 'Done'.
You can change this behaviour by overloading _handle_orders_with_original_picking function of the model pos.order.
Usage
Source · Odoo 16.0To use this module, you need to:
- Launch the point of sale
- On a new order (without lines), click on the 'Load Picking' button.
- Point of sale will load available pickings. (About displayed pickings, see 'Technical Notes' section).
- Click on a picking will check if the picking is loadable and if yes, will display a 'Select' button. (See 'Possible Warnings' Section)
- Confirm the selection, by clicking on 'Select' button. It will display the content of the moves (as PoS Order Lines)
The price and the discount will be the sale price and the discount set in the according Sale Order Line, if it was found. Otherwise, discount will be set to 0, and unit price will be the unit price of the product when it has been loaded in the Point of Sale.
Related Sale Order:
Related Picking:
- Finally, you can add / remove products or change quantity and collect the payment.
When, the order is marked as paid, the original picking will be cancelled, because Point Of Sale generates a new picking related to the real delivered products and the original Sale Order will pass to the state 'Done'. (Delivery exception is ignored). (See 'Technical Notes' section).
Possible Warnings
Some warning messages can appear:
- if some products are not available in the Point of Sale
- if the partner is not available in the Point of Sale
- if the picking has been still loaded in another PoS order
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.