OCA sales modules for Odoo
Sales order workflow, quotations, pricelists, promotions, agent commissions and sales reports: building blocks to adapt the Odoo sales cycle to the way each company works. The catalogue has 504 modules in this area, 1 of them confirmed in Odoo 20.0 (reviewed on 2026-11-03).
Confirmed modules per version
OCA repositories in this area
Other areas
- Accounting and finance
- CRM and marketing
- Purchases
- Inventory and logistics
- Manufacturing and maintenance
- Products and catalogue
- Human resources
- Projects and timesheets
- Field service and customer support
- Point of sale
- Website and e-commerce
- Country localisations
- Contracts and documents
- Integrations, EDI and connectors
- Industries and verticals
- Technical tools and administration
Modules in this area
- Sale Exception Public HolidaysOdoo 16, 17sale_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 TooltipOdoo 19sale_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 Exception Stock PrebookOdoo 14, 16sale_exception_stock_prebook
Prevents the automatic release of stock reservations when a sales order has exceptions, so orders with problems keep their reserved stock until the issues are resolved.
- Sale Fixed DiscountOdoo 12, 13, 14, 15, 16, 17, 18, 19sale_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 DiscountOdoo 16sale_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, 19sale_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, 19sale_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 InvoiceabilityOdoo 12, 13, 15, 17sale_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, 19sale_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 GeneratorOdoo 12sale_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, 19sale_global_discount
Apply global discounts to sales orders, automatically carried over to invoices and shown on the quotation/sales order report.
- Sale Import BaseOdoo 16sale_import_base
This module provides the base to import sale orders into Odoo from JSON data coming from external sales channels. Users can review each import in a 'Sale Import' screen, retry failed imports, and configure how orders, customers and payments are created per…
- 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, 19sale_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 StateOdoo 14, 18sale_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, 19sale_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 MethodOdoo 12sale_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, 15sale_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, 19sale_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.
- Sales Invoice Plan ReportOdoo 18sale_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, 19sale_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 PaymentOdoo 16, 18sale_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 PartnerOdoo 19sale_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, 16sale_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, 19sale_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 layout category hide detailOdoo 12, 13, 14, 15, 16, 17, 18sale_layout_category_hide_detail
Adds eye-style toggle icons on section lines of sale orders and invoices so you can hide or show the section's detail lines, subtotals and line amounts in the PDF reports and the customer portal.
- Lead Time Range - SaleOdoo 15sale_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 OptionOdoo 18, 19sale_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 CommentOdoo 18sale_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.
- Auto Refresh CouponsOdoo 16, 18, 19sale_loyalty_auto_refresh
Automatically applies and refreshes loyalty and promotion rewards on sales orders whenever the order changes, without the user having to click anything. A company-wide setting turns this behaviour on or off.
- Loyalty multi product criteria in saleOdoo 16, 18sale_loyalty_criteria_multi_product
Lets you use multi-product promotion criteria on sales orders, so a promotion only applies when all the required products are actually in the order.
- Sale Loyalty Product ExcludeOdoo 16sale_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.
- Loyalty incompatibilities in salesOdoo 16, 17, 18sale_loyalty_incompatibility
Adds incompatibility rules between promotions in sales orders, so a promotion that conflicts with one already applied cannot be used together.
- sale_loyalty_initial_date_validity
When a sales order is created or edited, Odoo only offers promotions and loyalty programs whose start date has already arrived, so future-dated promotions cannot be applied by mistake.
- Sale Loyalty LimitOdoo 16, 17, 18sale_loyalty_limit
Limit how many times a promotion or coupon can be applied per customer or per salesperson. When the limit is reached, Odoo blocks the promotion on new sales orders with a clear message.
- Sale Loyalty Multi GiftOdoo 16, 18sale_loyalty_multi_gift
Lets you offer several different free gift products in a single sales promotion, and lets the salesperson choose which gift to give for each gift line when applying the reward on a sale order.
- Loyalty Order InfoOdoo 16, 18sale_loyalty_order_info
Adds reporting fields to sale orders showing the total reward amount including taxes, the promo codes used, the coupons generated, and the loyalty programs applied.
- Link loyalty programs to order linesOdoo 16, 17, 18sale_loyalty_order_line_link
Links each sale order line to the loyalty program and reward lines it is involved with, so you can trace which promotions generated or applied discounts. Adds a button on the loyalty program form to see related sale orders.
- Sale Loyalty SuggestionsOdoo 16, 18sale_loyalty_order_suggestion
Shows a gift icon on sales order lines when the product can trigger an available promotion, and opens the promotion wizard to add the missing quantities needed to claim the reward.
- Sale Loyalty Order Suggestion Multi GiftOdoo 16, 18sale_loyalty_order_suggestion_multi_gift
Extends the sale order promotion suggestions to also show multi-gift promotions that require a minimum quantity of products, and adjusts order lines when a multi-gift reward is applied.
- Sale Loyalty Order Suggestion Multi ProductOdoo 16, 18sale_loyalty_order_suggestion_multi_product
This module makes Odoo suggest promotions whose rules require multiple products directly on the sale order. It also adds a wizard that shows which products and quantities are needed to qualify for the promotion.
- sale_loyalty_order_type_applicability
Lets you choose which sales order types a loyalty program applies to, so promotions and reward points are only given on the order types you select.
- Sale Loyalty PartnerOdoo 16, 18sale_loyalty_partner
Lets you assign a partner (contact/company) to a loyalty program and then group sales analysis by that partner.
- Sale Loyalty Partner ApplicabilityOdoo 16, 17, 18sale_loyalty_partner_applicability
Lets you restrict loyalty and promotion programs to specific customers, and optionally share coupons between members of the same commercial entity.
- Sale Mail AutosubscribeOdoo 14, 18sale_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, 19sale_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 UpdateOdoo 16sale_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 InvoiceOdoo 12sale_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 AmountOdoo 19sale_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 TrackingOdoo 15sale_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, 19sale_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 LinkOdoo 12sale_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 ConfirmOdoo 14sale_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 applicationOdoo 17, 18sale_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 Multicompany Reporting CurrencyOdoo 15, 16sale_multicompany_reporting_currency
Shows each sales order and quotation total converted into your company's multicompany reporting currency, so you can compare the order currency amount with a single group-wide currency.