This module adds a simply way for salesmen to create/update/delete lines of a sale order.
auto_awesome What this module does
AI-generated from the code · Odoo 16.0Adds a visual product picker tab to sale orders so salespeople can quickly add, update or remove order lines by clicking product cards, with filters for availability, attributes, categories and last sales.
This module adds a new "Picker" tab on the sale order form (visible in edit mode) that shows products as clickable cards with image, quantity, on-hand stock, price and discount. Salespeople can search by product name or code, filter by saved product filters, by attribute value, by category, and can restrict results to products that are available in stock.
- The picker can suggest products from the full product catalog or from the customer's last sales over the past six months, and can use either the pricelist price or the last sale price.
- Cards show whether a product is already in the order, how many times it was previously delivered, and warn when several different discounts exist for the same product.
- A gear button opens a dedicated product list where product filters used by the picker can be managed.
- The order lines area is switched to a kanban view, and the product field on lines becomes read-only once set; quantity, unit price and discount use step widgets.
- When the unit price is below the product list price, the list price is shown next to it.
- A new menu "Salesman Quotations" is added under the Sales menu, and a "Commercial Quotations" action is available.
- System parameters control the search delay, the maximum number of suggested products, which stock field is used (on hand or forecast), and the time used for forecast availability.
Depends on
Menus it adds
Models and fields (4)
- sale.order · extends an existing modelpicker_ids, picker_order, picker_filter (Filter), picker_origin_data, picker_price_origin, product_name_search (Search product), use_delivery_address, picker_only_available (Available), picker_product_attribute_value_id (Attribute value)
- sale.order.line · extends an existing modelcateg_id, list_price, is_different_price
- sale.order.picker · new modeluom_id, discount (Discount (%)), order_id, unit_name, list_price, price_unit (Unit Price), product_id, to_process, category_id, currency_id, is_in_order, unit_factor, sale_line_id, warehouse_id, product_image, qty_available (On Hand), qty_delivered (Delivered), product_uom_qty (Quantity), times_delivered, line_price_reduce, pricelist_item_id, compute_price_unit, is_different_price, multiple_discounts, product_no_variant_attribute_value_ids (Extra Values)
- ir.config_parameter · extends an existing model
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: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/sale-workflow.
terminal Installation and usage
OCA documentation · Odoo 16.0Configuration
Source · Odoo 16.0The default behavior is get last sales and last price from partner_id field, but partner_delivery_address can be used by following these steps:
- Create user default value with field use_delivery_address of sale.order model with true value.
- Another option is extend view to show use_delivery_address field and allow that user select this option in each sale order.
The default behavior is to display 40 records, but it can be configured by following these steps:
- Activate developer mode.
- Go to Settings > Technical > Parameters > System Parameters.
- Locate the setting with key sale_order_product_picker.product_picker_limit or create a new one if not exists.
- Set desired number of records
The default behavior is to display qty_available, but it can be configured by following these steps:
- Activate developer mode.
- Go to Settings > Technical > Parameters > System Parameters.
- Locate the setting with key sale_order_product_picker.product_available_field or create a new one if not exists.
- Set desired availability field (virtual_available, free_qty)
When available field is virtual_available the default behavior is take into account moves to commitment date or today at exactly time, but it can be configured by following these steps:
- Activate developer mode.
- Go to Settings > Technical > Parameters > System Parameters.
- Locate the setting with key sale_order_product_picker.product_virtual_available_time or create a new one if not exists.
- Set desired time to be used in available quantities compute (Example: 23:59)
ATTENTION: product_virtual_available_time is a technical parameter and the value must be set in server timezone
Installation of this module sets sale_planner_calendar.action_open_sale_order system parameter as sale_order_product_picker.action_open_picker_views to show new picker view from sale calendar planner.
When the +1 button is used, the changes are added to a processing queue. By default, this queue is processed after one second, but this can be changed by using the system parameter sale_order_product_picker.delay and setting the number of seconds to wait before writing the lines.
Usage
Source · Odoo 16.0- Go to Sales > Orders > Salesman Quotations
- Create or edit an order.
- On page Picker you can search for products.
- You can:
- Add a line by clicking on +1 button.
- Add/edit/delete a line by clicking the kanban card.
- Show image on fullscreen by clicking it.
On next gif you can see the options mentioned:
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.