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_credit_point

    Give customers a credit point balance and block sales orders that exceed it. Points are automatically deducted when an order is confirmed and refunded when it is cancelled.

  • sale_custom_rounding

    Lets you choose a specific tax rounding method on each sale order, overriding the company default, and carries that choice through to the generated invoice.

  • sale_cutoff_time_delivery

    Define cut-off times on warehouses or customers so that confirmed sales orders are scheduled for delivery at the next cut-off moment, and filter delivery orders by whether they fall before, inside or after today's cut-off.

  • sale_default_uom

    Lets you set a separate default sales unit of measure on each product, so sales order lines automatically use that unit instead of the inventory unit.

  • sale_delivery_date

    Postpones delivery dates on sales orders and delivery orders based on customer delivery preferences and warehouse cut-off times, and shows the expected delivery date on reports.

  • Sale Delivery Split DateOdoo 12, 14, 15, 16, 17, 18, 19
    sale_delivery_split_date

    When a sale order is confirmed, deliveries are grouped and split by the requested date on each line, so each date gets its own delivery order. The scheduled date is also shown and searchable in the delivery list.

  • Sale delivery StateOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_delivery_state

    Adds a delivery status to sale orders (Not Delivered, Started, Partially Delivered, Fully Delivered) based on delivered quantities, with a button to force an order as fully delivered.

  • sale_disable_inventory_check

    Removes the 'Not enough inventory' warning that normally appears on sales order lines when the ordered quantity exceeds available stock.

  • Sale Discount Display AmountOdoo 12, 13, 14, 15, 16, 17, 18
    sale_discount_display_amount

    Shows the discount amount (not just the percentage) on sale orders and quotations, both on screen and on the printed/PDF quotation. You can choose whether the discount is shown with or without taxes and whether the report shows the total before discount.

  • sale_double_validation

    Adds a company-level option to require a second approval for large sales orders. Sales orders above a set amount created by non-managers go to a 'To Approve' state until a sales manager approves them.

  • sale_down_payment_wizard_taxes

    When creating a down payment invoice from a sale order, you can now choose the taxes to apply to the down payment. The tax field is shown and required in the down payment wizard unless you invoice what has already been delivered.

  • Sale ElaborationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_elaboration

    Lets you attach elaborations (extra handling or service work) to sales order lines, automatically adding a surcharge line when the delivery is validated.

  • sale_elaboration_brand

    Adds the product brand to the sale elaboration report, so users can see which brand each elaborated product belongs to directly in the report list.

  • Sale ExceptionOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_exception

    Lets you define custom exception rules on sales orders and order lines, so orders that break your rules are flagged and blocked from confirmation until someone reviews or ignores them.

  • sale_exception_holidays_public

    Adds an optional sales exception that warns or blocks a sales order when its delivery/commitment date falls on a public holiday for the shipping address.

  • sale_exception_line_tooltip

    Adds a warning icon on sale order lines that trigger exception rules, with a tooltip listing the names of the rules that apply.

  • sale_exception_product_sale_manufactured_for

    Adds a blocking sales exception that prevents confirming a sales order when the customer is not allowed to buy the products that are restricted to specific manufacturing partners.

  • Sale Fixed DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_fixed_discount

    Lets sales users enter a fixed money discount on each sales order line instead of only a percentage. The equivalent percentage is calculated automatically, shown on the quotation, portal and invoice, and checked for consistency.

  • sale_fixed_triple_discount

    This module adds a warning on sales orders when a line uses both a fixed discount and a percentage discount, and ensures the fixed discount takes priority in the calculation.

  • Sale Force InvoicedOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_force_invoiced

    Lets authorized users mark a confirmed sales order as fully invoiced, even when some ordered or delivered quantities are still pending to invoice.

  • Sale Force Invoiced QuantityOdoo 16, 17, 18, 19
    sale_force_invoiced_quantity

    Adds a "Force Invoiced" quantity field on sales order lines that is subtracted from the quantity and amount still to be invoiced, so users can manually reduce what Odoo proposes to invoice.

  • sale_force_whole_invoiceability

    Sales managers can force all lines of a confirmed sales order to be invoiceable, regardless of the invoice policy or delivered quantities, before any invoice has been created.

  • Sales Fully InvoicedOdoo 15, 16, 19
    sale_fully_invoiced

    Adds a "Posted Invoice Status" field on sales orders that reflects whether the related invoices are actually posted, plus two ready-made filters in the Sales search view to find orders that are fully invoiced and validated, or fully invoiced but not yet…

  • sale_generator

    Create a reusable sale order template and generate one sale order per selected customer in a single batch. Track all generated orders from one generator screen and confirm them all at once.

  • Sale Global DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_global_discount

    Apply global discounts to sales orders, automatically carried over to invoices and shown on the quotation/sales order report.

  • sale_invoice_auto_deliver

    Adds a new option when invoicing a sales order that invoices the whole order and automatically validates the related delivery, so the goods are marked as delivered in one step.

  • Sale Invoice BlockingOdoo 14, 15, 16, 17, 18, 19
    sale_invoice_blocking

    Lets you block invoicing on a sales order by selecting a blocking reason, so no invoice can be created from that order until the block is removed.

  • sale_invoice_delivery_state

    Lets you choose, per customer, whether they should be invoiced after a partial delivery or only after a full delivery, and blocks invoicing until that delivery condition is met.

  • Sale Invoice FrequencyOdoo 15, 16, 17, 18, 19
    sale_invoice_frequency

    Lets you label customers and sales orders with an invoicing frequency (Daily, Weekly, Monthly, etc.) and group or filter sales orders by that frequency, so you can pick the right orders to invoice.

  • sale_invoice_group_method

    Lets you group several sales orders into one single invoice based on rules you define, such as customer, currency, payment terms and other order fields. You can set a default grouping rule per customer so it is proposed automatically on their orders.

  • Sale Invoice No MailOdoo 13, 14, 15
    sale_invoice_no_mail

    Stops Odoo from automatically emailing customers when invoices are created from a sale order using the 'Create Invoice' wizard.

  • Sales Invoice PlanOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_invoice_plan

    Plan future customer invoices on a sales order: split the order into installments (optionally with an advance), then create the invoices one by one or all at once from the plan.

  • sale_invoice_plan_report

    Adds an Invoice Plan table to the sales order and quotation PDF, showing each installment's name, due date, percentage and amount when the order uses an invoice plan.

  • Sale invoice PolicyOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_invoice_policy

    Lets you choose an invoicing policy for the whole sale order (follow products, invoice ordered quantities, or invoice delivered quantities), instead of relying only on each product's own setting. A company-wide default policy for new orders can also be set.

  • sale_invoice_product_not_alone

    Adds a checkbox on products to prevent them from being invoiced on their own, so sale orders containing such products are not offered for separate invoicing.

  • sale_invoice_split_payment

    When invoicing several sales orders at once, Odoo now creates separate invoices for orders that have different payment terms, instead of merging them into one.

  • sale_invoice_to_partner

    Lets you point a customer to another partner who should receive and pay its invoices. Sales orders for that customer then use the other partner as the invoice address.

  • Sale Isolated QuotationOdoo 12, 13, 14, 15, 16
    sale_isolated_quotation

    Separates quotations and sales orders into two distinct documents with their own numbering. Quotations stay simple (Draft/Done) and a 'Convert to Order' button creates the real sales order.

  • Product Last Price Info - SaleOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_last_price_info

    Shows the last confirmed sale of each product directly on the product form: the last customer, the last sale date and the price used. This helps salespeople quote consistent prices without searching old orders.

  • sale_lead_time_range

    This module lets you set customer lead times on products and sales order lines using days, weeks, months, or years instead of only days. Odoo automatically converts your chosen unit into the standard number of days used for delivery scheduling.

  • sale_line_name_option

    Adds a company-level setting that hides product reference codes from the product description shown on sale order lines. When enabled, sale order lines display the product name without its internal reference.

  • sale_line_service_qty_delivered

    Automatically sets the delivered quantity of service order lines (with delivery-based invoicing) to their full ordered quantity once any stock product on the same order is delivered, or if the order has no stock products.

  • sale_line_vendor_comment

    Adds a free-text 'Vendor Comment' field to each sale order line, visible in the order lines list on the sales order form. It is hidden by default and can be shown when needed.

  • sale_loyalty_exclude

    Mark products as excluded from loyalty programs so they do not count towards the minimum amount needed to earn rewards. Excluded products are also hidden from loyalty rule and reward product selections.

  • sale_mail_autosubscribe

    Automatically adds configured partners as followers (in copy) of their company's sales orders. It works together with the Mail Autosubscribe module and is installed automatically when both that module and Sales are present.

  • Sale Manual DeliveryOdoo 12, 13, 14, 16, 17, 18, 19
    sale_manual_delivery

    Lets you decide per sales team or per quotation that deliveries are not created automatically when the order is confirmed. Instead, you create each delivery yourself with a wizard, choosing what to ship, the delivery address, carrier and planned date.

  • sale_margin_update

    Adds a refresh button on sale orders and order lines that opens a small wizard where you enter a margin percentage and Odoo recalculates the unit price of the products accordingly.

  • sale_merge_draft_invoice

    When invoicing sales orders, Odoo can now merge the new invoice with existing draft invoices for the same customer, instead of creating a separate one. A company setting and a checkbox on the invoicing wizard control this behaviour.

  • sale_milestone_profile_invoicing

    Shows, on each sales order line, how much work has been delivered and invoiced from timesheets for milestone products, and adjusts delivered/invoiced quantities accordingly.

  • sale_minimum_amount

    Set a minimum untaxed sale amount per customer; when a sale order falls below it, Odoo automatically applies an approval block reason so the order cannot be confirmed without review.

  • sale_missing_tracking

    Warns salespeople when a customer's order is missing a product they usually buy, and lets them record a reason, request an exception, or postpone the warning.

  • sale_missing_tracking_tier_validation

    Adds an approval workflow to sale missing tracking exceptions, so they must be reviewed and validated by designated people before they can be approved.

  • Sale MRP BOMOdoo 12, 14, 15, 16, 18, 19
    sale_mrp_bom

    Lets users pick a specific Bill of Materials (BoM) on each sale order line, so the right manufacturing or kit recipe is used for that order. It is useful when a product has several alternative BoMs.

  • sale_mrp_link

    This module links manufacturing orders to the sales orders they come from. On a sales order you get a smart button showing how many manufacturing orders exist, and you can jump straight to them.

  • sale_multi_payment_confirm

    Automatically confirms a sales order once the payments linked to it cover the full order total, even when several payment transactions are involved.

  • sale_multi_template_application

    Lets you apply several quotation templates to the same sales order without losing the lines you already added. Each new template's lines are appended after the existing ones, and the template field is cleared afterwards.

  • sale_no_portal_button

    This module removes the button that gives customers access to the sale order in the customer portal from sale order notification emails, except for contacts that have a user account.

  • sale_numeric_step

    Adds (-) and (+) buttons to quantity, packaging quantity and unit price fields on sales orders, making it easier to adjust values on mobile and tablet devices.

  • sale_order_action_invoice_create_hook

    This module changes how invoices are created from sales orders, allowing invoices to be grouped by customer and currency instead of by sales order, and it adds hooks for developers to customize the grouping and include draft invoices.

  • sale_order_add_byproduct

    When a Manufacturing Order is finished, any saleable by-products produced are automatically added as invoiceable lines on the related Sales Order, with a configurable note and price from the customer's pricelist.

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.