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 Stock Cancel RestrictionOdoo 13, 15, 16, 17, 18
    sale_stock_cancel_restriction

    Prevents cancelling sales orders that already have completed stock deliveries, by raising the standard Odoo error when a user tries to cancel such an order.

  • Sale Stock Delivery AddressOdoo 12, 13, 14, 15, 18, 19
    sale_stock_delivery_address

    Set a different delivery address on each sales order line, so one order can ship to several addresses. The system then splits the deliveries and uses the stock location linked to each address.

  • Sale Stock Delivery StateOdoo 16, 17, 18, 19
    sale_stock_delivery_state

    This glue module changes how the delivery status of a sales order is calculated when stock is installed, and hides the delivery status field from the sales order form and list views.

  • sale_stock_expiry_date_on_qty_at_date_widget

    Shows the next expiry date of the stock that will be used to fulfil a sales order line, directly in the Qty at Date popover, and lets users open the related stock quants.

  • sale_stock_invoice_plan

    Extends the sales invoice plan so that, when stock is installed, invoices created from a plan can be linked to the related stock pickings. It also grants read access to stock scrap records for users of this module.

  • Sale Stock Last DateOdoo 12, 13, 15, 18
    sale_stock_last_date

    Shows the date of the last completed outgoing delivery on each sale order line, and lets you filter and group sales analysis by that date.

  • sale_stock_line_customer_ref

    Add a customer reference on sale order lines and carry it through to delivery operations, packages and stock moves, so lines with the same product but different references are not merged.

  • Sale Stock Order Line SequenceOdoo 13, 14, 15, 16, 17, 18
    sale_stock_line_sequence

    Keeps the order of products on a sales order and its delivery in sync. When you confirm a sale or change its lines, the related stock moves are automatically renumbered to match the sales order line order.

  • sale_stock_partner_warehouse

    Lets you set a preferred warehouse on a customer or contact, and automatically proposes that warehouse on new draft sales orders for that customer.

  • Sale Stock Picking BlockingOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_picking_blocking

    Lets you block the creation of deliveries for a sales order and record the reason, so no stock is reserved or moved until someone releases the block.

  • Sale Stock Picking NoteOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_picking_note

    Adds two note fields to customers, sales orders and delivery orders: an internal picking note and a customer comment that is printed on the delivery slip.

  • sale_stock_picking_validation_blocking

    Sales managers can block the validation of delivery orders created from a sale order, so goods stay reserved but cannot be shipped until they unblock it.

  • sale_stock_product_recommendation

    Shows stock availability directly in the product recommendation wizard of a sale order, so you can see whether recommended products can actually be delivered before accepting them.

  • sale_stock_qty_at_date_widget_multi_warehouse

    The availability icon on sales order lines now considers stock from every warehouse, not just the line's own warehouse. It turns yellow when only all warehouses together can cover the demand and red when even that is not enough.

  • sale_stock_reconcile_valuation_kit

    When you post a customer invoice for a kit product with automated inventory valuation and Anglo-Saxon accounting, Odoo automatically reconciles the interim stock accounts linked to the invoice lines with those of the kit components' stock moves.

  • sale_stock_reference_by_line

    Adds a stock reference field on each sale order line so that stock moves generated from a sale order can be grouped per line instead of per order. On its own it changes little; it is a base for other modules.

  • sale_stock_reservation_issue_on_qty_at_date_widget

    Warns sales users when confirming a quotation or sales order would cause a stock reservation problem, by turning the quantity-at-date icon yellow and highlighting the free quantity today in the popover.

  • Sale Stock Return RequestOdoo 12, 13, 14, 15, 18
    sale_stock_return_request

    Create return requests directly from a sales order and link customer returns to their original sales orders. Track which sales are involved in a return and jump back to them from the return request.

  • Sale Stock Secondary UnitOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_secondary_unit

    When a sale order is confirmed, the secondary unit and quantity chosen on the sale order line are copied onto the related stock moves, so warehouse documents show the same secondary unit information as the sale.

  • sale_stock_service_level

    Lets you set a stock service level on a sales order so that the way stock is reserved and delivered for that order follows the chosen service level.

  • sale_stock_sourcing_address

    Shows, on each sales order line and invoice line, the address of the warehouse that will actually supply the goods. This helps users see where a delivery will be sourced from before confirming the order.

  • sale_stock_warehouse_partner

    Lets you set a default warehouse on a contact so that new sales orders for that customer automatically use it. The delivery address warehouse takes priority over the customer's warehouse.

  • Sale Sub StateOdoo 12, 14, 15, 16, 17, 18, 19
    sale_substate

    Adds a secondary status (substate) to quotations and sales orders, so you can track finer steps like "Waiting for legal documents" or "In delivering" on top of the standard Quotation/Sale status.

  • sale_team_payment_term

    Lets you set a default payment term on each sales team, which is automatically applied to sale orders when the customer has no payment term of their own.

  • Sale Tier ValidationOdoo 12, 13, 14, 15, 16, 17, 18
    sale_tier_validation

    Adds an approval workflow to sales orders and quotations: orders can require one or more validation tiers before they can be confirmed, and printing can be blocked until approval.

  • sale_timesheet_project_manual

    Lets you create the project and tasks for a service quotation before confirming the sales order, so work can start early. A 'Generate Project/Task' button appears on draft or sent quotations that contain services with timesheet generation.

  • Sale Transaction Form LinkOdoo 14, 16, 18, 19
    sale_transaction_form_link

    Adds a smart button on the Sale Order form showing how many payment transactions are linked to the order, and lets you open them directly from there.

  • Sale Triple DiscountOdoo 12, 14, 15, 16, 17, 18
    sale_triple_discount

    Lets users enter up to three percentage discounts on each sale order line, with the total discount calculated automatically and carried over to the invoice and the printed quotation.

  • Sale ValidityOdoo 12, 13, 14
    sale_validity

    Set a default validity delay for quotations and sale orders. Odoo automatically fills the validity date based on the order date plus the configured number of days.

  • Sale Validity Auto-CancelOdoo 13, 14, 15, 16, 17, 18, 19
    sale_validity_auto_cancel

    Automatically cancels expired quotations after a configurable grace period. You set the number of days in Sales settings and can exclude specific customers from auto-cancellation.

  • Sale Warn OptionOdoo 15, 18
    sale_warn_option

    Lets you pick a ready-made warning message for a customer or a product on sales orders, instead of typing the text each time. The chosen option automatically fills the warning message field.

  • Sale WishlistOdoo 12, 13, 14, 15, 16, 18, 19
    sale_wishlist

    Adds a "Wishlist" type to product sets, so you can save lists of products for a customer and see how many wishlists each contact has.

  • sales_team_invoiced_target_domain

    Lets you define a custom filter (domain) that controls which customer invoices and refunds are counted in the 'Invoiced' amount shown on Sales Teams.

  • Sales documents permissions by channels (teams)Odoo 12, 13, 14, 15, 16, 17, 18, 19
    sales_team_security

    Adds a new sales permission group, "User: Team Documents Only", so users only see contacts linked to their sales team or with no salesman, and automatically keeps salespeople as followers on company and invoice/delivery contacts.

  • sales_team_security_crm

    Adds record-level access rules so sales team managers only see CRM leads, activities and sales teams that belong to their own teams (or are unassigned).

  • sales_team_security_sale

    Adds record-level access rules so that users with the "Team Documents Only" sales permission can only see quotations, sales orders and their lines that belong to their own sales teams or that they personally own.

  • sell_only_by_packaging

    Lets you force products to be sold only in whole packagings on sale orders, blocking or auto-rounding quantities that do not match the packaging.

  • web_widget_product_label_section_and_note_full_label_sale

    Keeps the custom line label you type on a sale order line when the order is invoiced, and makes that label editable in the sale order line product widget.

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.