OdooWiki OCA HUB

OCA/sale-workflow

OCA community repository with 338 Odoo modules confirmed in the OdooWiki catalogue (versions 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0). Reviewed on 2026-11-03.

Open on GitHub

Confirmed modules per version

12.0
98 modules
13.0
107 modules
14.0
152 modules
15.0
117 modules
16.0
154 modules
17.0
100 modules
18.0
178 modules
19.0
106 modules
20.0
1 module

Modules in the repository

  • sale_partner_version

    When a sales order is confirmed, this module freezes the customer's invoice and delivery addresses by making private copies for that order, so later changes to the customer record do not alter past orders.

  • Sale payment sheetOdoo 13, 15, 16, 17, 18
    sale_payment_sheet

    Salespeople can record customer payments on a simple 'payment sheet' without needing accounting rights. Confirming a sheet automatically creates a bank statement with the matching lines.

  • Sale planner calendarOdoo 15, 16, 18
    sale_planner_calendar

    Plan recurring commercial visits to customers directly from the partner form and track them in a dedicated sale planner calendar. Salespeople can create sale orders, invoices and payment sheets from each visit and review daily summaries.

  • sale_price_compliance

    Shows a colour-coded price compliance tier on each sale order line, based on discount thresholds set per product, product category or company. Orders containing non-compliant prices cannot be confirmed unless the user is a Sales Administrator.

  • sale_pricelist_discount_decimal_precision

    Makes pricelist percentage prices and price discounts follow Odoo's Discount decimal precision, so users can enter and see more than the default two decimals on pricelist items.

  • sale_pricelist_display_surcharge

    Lets you always show a price surcharge (negative discount) to customers on sales orders, instead of hiding it as standard Odoo does. You enable it per pricelist rule with a new checkbox.

  • sale_pricelist_from_commitment_date

    Use the sales order Delivery Date (commitment date) instead of the order date when the pricelist calculates unit prices. Also lets you show the Delivery Date in the order header and make it mandatory.

  • sale_pricelist_global_rule

    Lets you create pricelist rules that apply based on the total quantity of a product or product category across all lines of a sales order, not just per line. A button on the sales order recalculates prices and discounts using these global rules.

  • sale_pricelist_item_advanced

    Adds a dedicated "Pricelist Items" menu under Sales > Catalog so users can browse, search and edit all pricelist rules in one list, with an improved form and extra columns.

  • sale_pricelist_packaging

    Lets you set a price rule in a pricelist that only applies when a specific packaging is chosen on a sales order line, so the same product can be sold at different prices depending on the pack size.

  • sale_pricelist_technical

    Mark pricelists as "technical" so they can only be used to compute other pricelists and cannot be chosen on sale orders or customer forms.

  • sale_pricelist_triple_discount

    Lets you set up to three successive discounts on a pricelist rule, so quotations and sale order lines automatically receive the combined triple discount from the pricelist.

  • sale_probability_amount

    Adds a win probability percentage to quotations and sales orders, and shows the expected amount (total multiplied by that percentage) in the company currency.

  • sale_procurement_amendment

    When you reduce quantities on a confirmed sale order line, this module automatically updates the related stock moves and pickings, as long as no warehouse work has started yet.

  • sale_procurement_customer

    When a sales order is confirmed, the customer of the order is now copied onto the procurement group created for its stock moves, so the customer is visible on the related procurement/stock documents.

  • sale_procurement_group_by_commitment_date

    When a sale order line has a commitment date, confirming the order creates a separate procurement group (and therefore a separate delivery) for each different commitment date, and the planned date of the delivery follows that commitment date.

  • Sale Procurement Group by LineOdoo 12, 13, 14, 15, 16, 17, 18
    sale_procurement_group_by_line

    This is a base module that lets each sale order line get its own procurement group, so stock moves can be grouped per line instead of per whole order. It does not add menus or buttons by itself.

  • sale_product_brand_exception

    Adds a per-brand option to allow or forbid mixing products from different brands in one sale order, and blocks such orders through the sale exception mechanism.

  • sale_product_catalog_extended

    Extends the product catalog of sale orders with extra search-panel filters (origin, last sales, price, history, sort), one card per order line with inline edit/remove actions, and a way to exclude products from a customer's last-sales list.

  • Sale Product Category MenuOdoo 12, 13, 14, 15, 16
    sale_product_category_menu

    Adds a 'Product Categories' menu item under Sales > Configuration > Products, giving quick access to the product category list from the Sales app.

  • sale_product_classification

    Classify products automatically as A, B, C or D based on how much they sold in a chosen period, and mark how seasonal each product is. Thresholds and periods are set per company in Sales settings.

  • sale_product_configurator_widget_product_label

    This module makes the product label and note widget work together with the sale product configurator, so users can add free-text labels or notes to sale order lines while still using the configurator.

  • sale_product_email

    Lets you attach a specific email template to a product so that, when a sale order containing that product is confirmed, the buyer automatically receives that email.

  • sale_product_identification

    Require customer identification documents (authorizations, IDs) before confirming sales orders that contain certain products. Configure which identification categories are needed per product and whether they are mandatory or optional.

  • Sale Product Multi AddOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_product_multi_add

    Adds an "Add multiple products" button on draft or sent quotations so salespeople can pick several products at once, set a quantity for each, and create all the order lines in one go.

  • sale_product_packaging_container_deposit

    Automatically adds container deposit lines to sales orders based on the packaging used, and updates them when products are delivered.

  • sale_product_rating_verified

    Adds a "purchase verified" flag to product ratings, automatically set when the customer who left the rating has a paid invoice for that product.

  • sale_product_returnable

    Mark products as returnable and choose the product customers should get back. When a sales order is confirmed, Odoo automatically creates a draft return transfer for those products.

  • sale_product_seasonality

    Adds seasonal availability rules to sales orders: only products allowed for the order's commitment date can be selected, based on a seasonal configuration.

  • Sales product setOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_product_set

    Lets sales users insert a predefined product set (list of products and quantities) into a quotation through a wizard, creating separate order lines. Adds a discount per set line and an option to sync product set archiving with the partner.

  • sale_product_set_layout

    Lets you add section titles and notes inside product sets, so when a product set is added to a sale order the sections and notes are carried over into the order lines.

  • sale_product_set_packaging_qty

    When a product set is added to a sales order, the packaging chosen on each set line is now carried over to the generated sales order line.

  • sale_product_set_sale_by_packaging

    Warns you on the product form when a product that can only be sold by packaging is used in product set lines without a packaging, and lets you review or auto-fix those lines.

  • sale_product_set_variant

    Lets you build product sets (kits) using product templates and specific variants, then add them to a sale order with the exact variants chosen.

  • sale_production_state

    Adds a 'Manufacturing state' field to sales orders and sales order lines, showing whether the linked manufacturing orders are unprocessed, partially processed, done, or not applicable.

  • Sale Promotion RuleOdoo 12, 14, 17
    sale_promotion_rule

    Create promotion rules (automatic or coupon) and apply them to sales orders to give discounts. Users can apply, add a coupon code, or remove discounts directly from the quotation form.

  • sale_promotion_rule_assortment

    Limit a sales promotion rule so it only applies to a chosen set of products. On the promotion rule form you pick a product assortment filter, and only matching products count for the promotion.

  • sale_promotion_rule_delivery

    When delivery charges are used on sales orders, promotion rules no longer apply to delivery lines, so discounts and promotions are calculated only on the actual products.

  • sale_promotion_rule_display_discount_amount

    This module makes the discount amount and total without discount on a sale order include discounts created automatically by sale promotion rules, so the figures shown match the real promotion applied.

  • sale_purchase_procurement_group_by_line

    This hidden glue module makes the purchase order count on a sales order work correctly when both the 'MTO Sale <-> Purchase' and 'Sale Procurement Group by Line' features are installed.

  • sale_purchase_requisition

    Link a sales quotation to a purchase agreement (requisition) so the salesperson can create it directly from the quotation and keep product quantities in sync.

  • sale_purchase_stock_auto_cancel

    Adds a company setting that automatically cancels purchase orders created from a sales order via MTO or Dropship when that sales order is cancelled.

  • sale_purchase_stock_auto_confirm

    Adds a company setting that automatically confirms purchase orders created from sales orders when using MTO or Dropship rules, so users no longer have to validate those purchase orders manually.

  • sale_quick

    Add many products to a sales order at once from a dedicated product list, with quantities and units of measure, instead of creating each order line one by one.

  • sale_quick_blanket_order

    Add many products to a blanket sale order at once from a quick product picker, instead of creating each line one by one. The Add button appears on draft or sent blanket orders.

  • sale_quick_seasonality

    Adds seasonality awareness to the quick sale order product mass-add feature, so only products allowed in the current season can be added to a sale order.

  • Sale Quotation NumerationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_quotation_number

    Lets you give quotations their own numbering (starting with SQ) instead of sharing the sales order sequence. When a quotation is confirmed, it keeps its quotation number in the Origin field and receives a new sales order number.

  • sale_quotation_template_product_multi_add

    Add many products to a quotation template in one go. A new button on the quotation template form opens a wizard where you pick products, set descriptions and quantities, then insert them all as template lines.

  • Sale Readonly SecurityOdoo 15, 16, 17, 18
    sale_readonly_security

    Adds a new permission called "Sale orders edition" that controls who can create, edit or delete sale orders. Users without it see sale orders in read-only mode and cannot generate invoices from them.

  • Sale RentalOdoo 12, 14, 15
    sale_rental

    Lets you rent products to customers: create rental service products, rent them on sale orders with start and end dates, extend a rental, sell a rented item, and track each rental's delivery and return.

  • sale_require_po_doc

    Lets you flag customers who must provide a purchase order or sales documentation before their sale orders can be confirmed, and blocks confirmation when those requirements are missing.

  • Sell resource bookingsOdoo 12, 13, 15, 16, 17, 18, 19
    sale_resource_booking

    Link products and sales orders to resource bookings. Selling a product that has a booking type automatically creates pending bookings, and a booking can only be confirmed once its sale order is confirmed.

  • sale_restricted_qty

    Set minimum, maximum and multiple-of sales quantities on product categories and products, then check them on sale order lines with either a blocking error or a simple warning.

  • sale_seasonality

    Link sales campaigns to seasonalities and see sales grouped by seasonality in the sales analysis report. Products can also be tagged with the campaigns they belong to.

  • sale_secondary_salesperson

    Add a second salesperson to a sales order alongside the main one, and filter or group sales analysis by that secondary salesperson.

  • Sale SemaphoreOdoo 15, 18
    sale_semaphore

    Adds a colour semaphore (green, yellow, red) to sales order lines showing whether the negotiated price respects the discount policy set on the product or its category, and blocks non-managers from confirming or editing lines priced below the accepted limit.

  • Sale shipping info helperOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_shipping_info_helper

    Adds six read-only amount fields on sale orders that split the order total into shipping and item amounts, so shipping costs can be shown separately in reports or e-commerce.

  • Sale Sourced by LineOdoo 13, 15, 16, 17, 18
    sale_sourced_by_line

    Lets you choose a different source warehouse on each sales order line, so one order can be fulfilled from several warehouses. The order keeps a default warehouse used when a line has none.

  • sale_sourced_by_line_product_rule

    Lets you define, per product, per attribute value or per template, which warehouse should ship a sale order line, and automatically applies that warehouse to the line and its delivery.

  • Sale Start End DatesOdoo 12, 14, 15, 16, 17, 18, 19
    sale_start_end_dates

    Adds Start Date, End Date and Number of Days on sale order lines, with default dates on the sale order. These dates are required for products flagged as needing dates and are copied to invoice lines.

Data imported from GitHub: every listed version is confirmed (branch, module directory and installable manifest checked on the review date). Active support and OCA certification are not assessed.