Sale Product Catalog Extended
This module extends the standard Odoo product catalog available from sale orders with the following additions:
Multi-line product cards
When a product has more than one order line in the current sale order, the catalog renders one card per line instead of a single aggregated card. Each card shows the individual quantity and unit price for that specific line, allowing independent editing without opening the order form.
Per-line actions
Each in-order card exposes three inline actions:
New line – adds a new order line for the same product.
Edit – opens the specific order line form directly from the catalog.
Remove – removes that individual line from the order.
Search panel options
The catalog search panel gets these sections, combinable with each other and with the standard ones:
Origin: the cards shown, the products or the ones other modules add (e.g. one card per vendor row with sale_product_catalog_supplierinfo). It is only shown when such a module is installed.
Last sales: restricts the cards of the chosen origin to the products previously sold to the customer (last 180 days by default), most frequently sold first, then by delivered quantity.
Price: Last sale shows the unit price of the most recent delivered sale to the customer instead of the pricelist price, for the products that have one, and applies it to the lines added from the catalog.
History: the partner the sale history is matched against, the customer (commercial partner, including its child contacts) or the order delivery address. It is only shown when enabled in the settings and while the Last sales option or the Last sale price is active, as it has no effect otherwise.
The options preselected when the catalog is opened, the period and the product limit of the last sales are set in the Sales settings (see Configuration).
Exclude from last sales
The card dropdown menu adds an Exclude from last sales entry. It stores the product and the catalog history partner in a dedicated model, so that product is no longer offered by the Last sales option for any order of that partner. The Last sale price is not affected.
The entry is only shown while the Last sales option is active. On the vendor cards of sale_product_catalog_supplierinfo it excludes the product, not the vendor row.
The exclusion is dropped as soon as an order containing that product is confirmed for the same partner, so the product goes back to the Last sales option without any manual clean up. Adding the product to an already confirmed order has the same effect.
The exclusions can be checked and deleted in Sales > Configuration > Catalog Last Sales Exclusions, to offer an excluded product again without selling it.
Image zoom
Clicking on a product image in the catalog opens a full-size zoom dialog.
Table of contents
Configuration
Go to Sales > Configuration > Settings. The Product Catalog block has the options of the catalog opened from a sale order.
Order catalog options
The options of the catalog search panel preselected when the catalog is opened:
Origin: the cards shown. Empty shows the products; other modules add further origins (e.g. Suppliers in sale_product_catalog_supplierinfo).
Last sales: only show the products sold to the customer, most frequently sold first.
Price: empty shows the pricelist price, Last sale the price of the last sale to the customer.
History: the partner the sale history is matched against. Empty matches the customer (commercial partner, including its child contacts), Delivery address the order delivery address. Check Show to show this section in the catalog search panel, hidden by default; the partner chosen here applies either way.
Sort: the order of the products. Empty keeps the order of the origin (favorites first, then by internal reference, or the most sold first for the last sales), Name sorts them by product name in the language of the user and Category by category and then by name. With the last sales, the most sold products are kept and then sorted. Check Show to show this section in the catalog search panel, hidden by default; the order chosen here applies either way.
They are saved as the global default value of the catalog fields of product.product (catalog_origin_data, catalog_last_sales, catalog_price_mode, catalog_history_partner and catalog_sort), so they can also be set per user or company in Settings > Technical > User-defined Defaults, as for any other field.
Order catalog last sales
Days: days of sale history used by the Last sales option and the Last sale price, 180 by default.
Product limit: maximum number of products shown by the Last sales option. 0 shows them all.
Order catalog layout
Grid: several product cards per row, as in the standard catalog.
Rows: one card per row, with the image, the product data and the quantity buttons side by side. On wide screens the price and the quantity on hand go to a column of their own, so the cards are lower, and on extra wide screens the vendor of the supplier cards too. Every card keeps the same positions in every origin. Everything other modules add to the card is kept. Small screens and grouped views keep the grid cards.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
-
Carlos Dauden
Carlos Roca
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainers:
This module is part of the OCA/sale-workflow project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Metadata
Release files for odoo-addon-sale-product-catalog-extended 18.0.1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| odoo_addon_sale_product_catalog_extended-18.0.1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / odoo_addon_sale_product_catalog_extended-18.0.1.1.0-py3-none-any.whl
| Download URL | odoo_addon_sale_product_catalog_extended-18.0.1.1.0-py3-none-any.whl |
|---|---|
| Size | 76.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66bd7fd4a4322b46ee8be80895d22849adaf5ce8994567de7f25f37f176e2ec1
|
|
BLAKE2b-256 checksum How to use checksums |
dad00ae3561b3344526bc89f7944184345a72d0e2af9631e91526abd52a5f7a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for odoo-addon-sale-product-catalog-extended 18.0.1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.