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
- Default packaging for salesOdoo 16, 17, 18sale_packaging_default
Makes selling by packaging easier: the packaging fields are shown before the quantity, a default sales packaging is filled in automatically, and you can make packaging mandatory before confirming an order.
- Sale Packaging ReportOdoo 16, 18sale_packaging_report
Adds packaging information to sale order reports and to the Sales analysis report, so users can see which packaging was used and how many packages were sold or delivered.
- Sale Partner Address RestrictOdoo 16, 17, 18, 19sale_partner_address_restrict
Adds a company setting that limits the invoice and delivery addresses selectable on a sales order to contacts belonging to the chosen customer, and adds a 'Dropship Address' flag on delivery contacts.
- Sale Partner ApprovalOdoo 14sale_partner_approval
Adds a 'Can Sell To' flag on contacts and a 'Approved for Sales' flag on partner stages, so only approved customers can be selected on sales orders. Two optional blocking rules can stop sales orders that use non-approved customers or invoice addresses.
- Sale Partner DelayOdoo 19sale_partner_delay
Adds a customer-specific delivery lead time on contacts, which is automatically added to the product's delivery lead time on sale order lines.
- Sale Partner Delivery WindowOdoo 13sale_partner_delivery_window
This module lets you set preferred delivery time windows for customers and automatically schedules their delivery orders within those windows. It also warns you when a manually entered delivery date falls outside the customer's preferred windows.
- Default sales incoterm per partnerOdoo 12, 13, 14, 15, 16, 17, 18, 19sale_partner_incoterm
Lets you save a preferred incoterm (and incoterm address) on each customer, so new quotations automatically pick it up instead of being filled in by hand.
- Order template in partnerOdoo 17, 18sale_partner_order_template
Lets you set a default quotation template on a customer, so new quotations for that customer automatically start from that template.
- Sale Partner PricelistOdoo 16, 17sale_partner_pricelist
Lets you define which pricelists a customer is allowed to use, and restricts the pricelist choice on their sales orders to that list. The feature is switched on per company in Sales settings.
- Sale Partner PrimeshipOdoo 18, 19sale_partner_primeship
Sell time-limited "primeship" memberships to customers: confirming a sale order with a primeship product automatically creates a membership period for the customer, and Odoo tracks when it is active or expired.
- Sale Partner Sale ContactOdoo 16, 19sale_partner_sale_contact
Adds a 'Sale Contact' field to quotations, sale orders and invoices so you can name the person who handles the deal while the company stays the customer. The contact can also be shown on the PDF reports and gives that person portal access to the documents.
- Sale Partner Sale Contact on ProjectOdoo 16, 19sale_partner_sale_contact_on_project
When a sale order creates a project through a service product, the sale contact person recorded on the order is automatically copied onto the new project, and that contact is shown on the project form.
- sale_partner_sale_contact_website_sale
When a contact person of a company confirms a website order, the order is automatically reassigned to the company, while the person who ordered is kept as the sale contact and the chosen addresses, fiscal position and payment terms are preserved.
- Sale Partner Selectable OptionOdoo 13, 15, 16, 17, 18, 19sale_partner_selectable_option
Adds a "Selectable in sale orders" checkbox on contacts so you can control which customers appear when choosing a partner on a sales order.
- sale_partner_shipping_default_partner_invoice
Lets you set a default invoice address on a contact, so that when that contact is used as the shipping address on a sales order, Odoo automatically fills in the matching invoice address.
- sale_partner_shipping_invoice_domain
On a sales order, the shipping and invoicing address fields now only offer contacts that belong to the customer's company, instead of every contact in the database.
- Sale Partner SourceOdoo 17sale_partner_utm_source
Automatically fills the UTM Source on new quotations from the customer's source, and lets you see and group sales orders and invoices by UTM Source.
- Sale Partner VersionOdoo 14sale_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, 18sale_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, 18sale_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 ComplianceOdoo 16sale_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 SurchargeOdoo 16, 18, 19sale_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 DateOdoo 14, 16, 18sale_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 ruleOdoo 15, 17, 19sale_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 AdvancedOdoo 14, 16sale_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 PackagingOdoo 18sale_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.
- Technical Pricelists for SalesOdoo 12, 16sale_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 AmountOdoo 14, 18sale_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 AmendmentOdoo 13, 14sale_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 CustomerOdoo 16sale_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 DateOdoo 12, 13, 14, 15sale_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, 18sale_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 exceptionOdoo 14sale_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, 16sale_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 ClassificationOdoo 12sale_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 emailOdoo 16sale_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, 19sale_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.
- Product rating verifiedOdoo 14sale_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 ReturnableOdoo 12sale_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 seasonalityOdoo 14sale_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, 19sale_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 layoutOdoo 15sale_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.
- Sales Product Set PackagingOdoo 13, 14, 18sale_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 packagingOdoo 13, 14sale_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 variantOdoo 12sale_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 StateOdoo 14, 18sale_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_discount_in_field
Adds a new promotion reward type called "Discount in Line" that writes the promotion percentage directly into the Discount field of the sales order lines instead of creating a separate reward line.
- sale_promotion_discount_in_field_order_line_link
Bridge module that links coupon promotions to sales order lines when the discount is stored in a field, so the promotion program is recorded on the affected lines.
- Sale Promotion RuleOdoo 12, 14, 17sale_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 DeliveryOdoo 14sale_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 LineOdoo 15, 17sale_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 requisitionOdoo 14sale_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.