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_commission_settlement_partial_invoice
Lets you invoice a commission settlement in several partial invoices instead of one, and tracks how much of the settlement has already been invoiced.
- sale_commission_settlement_report
Adds two company-wide settings that change how sales commission settlements and their printed report look: you can show the customer on each settlement line and hide lines whose settled amount is zero.
- sale_commitment_date_mandatory
Lets you make the Delivery commitment date mandatory on sales orders. When enabled, the date is pre-filled with the current date and order lines stay locked until a commitment date is set.
- Sale Commitment Lead TimeOdoo 12sale_commitment_lead_time
Lets you set a daily order cut-off hour and timezone per company, then automatically flags each sales order as delivered on time when it was confirmed before that hour and shipped within one day.
- Company Currency in Sale OrdersOdoo 14, 16, 18, 19sale_company_currency
Adds a "Total (Company Currency)" column to sale order and quotation lists, and shows the same total on the sale order form, so orders in different currencies can be summed in your company's currency.
- Sale Confirmation GroupOdoo 18, 19sale_confirm_group
Restrict who can confirm sale orders by choosing specific user groups per company. Users outside those groups no longer see the Confirm button and get an error if they try to confirm.
- Sale Contact TypeOdoo 12, 13, 14sale_contact_type
Adds an 'Ordering contact' type to contacts so a company can mark the person to address on sales orders. On a sales order, the customer field only suggests ordering contacts or companies without one.
- Auto Refresh CouponsOdoo 13, 14, 15sale_coupon_auto_refresh
Automatically re-applies promotion programs marked as auto-apply on sales orders whenever the order or its lines change, without the user having to click anything.
- Sale Coupon ChatterOdoo 13sale_coupon_chatter
Adds a chatter to coupon and promotion programs so users can log notes, send messages and schedule activities directly on each program record.
- Coupons on Commercial EntityOdoo 13sale_coupon_commercial_partner_applicability
Coupons generated for one contact can also be used by other contacts that belong to the same commercial entity, instead of being rejected as belonging to an invalid partner.
- Coupons multi product criteria in saleOdoo 13, 14, 15sale_coupon_criteria_multi_product
Lets you use multi-product promotion criteria (from the coupon_criteria_multi_product module) when applying coupons and promotions on sale orders. Odoo checks each order's products and quantities against those criteria before granting the reward.
- Sales Coupon based on Sales Order valuesOdoo 13, 14, 15sale_coupon_criteria_order_based
Adds an extra condition to coupon and promotion programs so they only apply to sales orders that match a chosen order filter, for example a specific sales team or customer.
- Auto Refresh Coupons with Delivery lineOdoo 13, 14, 15sale_coupon_delivery_auto_refresh
Keeps automatic coupon and free-shipping behaviour working together on sales orders: when a delivery line is added automatically, coupons are still applied, and when coupons are recomputed, delivery lines are not refreshed again.
- Sale Coupons Rewards from domainOdoo 13, 15sale_coupon_domain_free_product
This module lets you create coupon programs that give free products based on a product domain, automatically adding 100% discounted reward lines to sales orders when the domain conditions are met.
- Sale Coupon Promotion Product Domain DiscountOdoo 13, 14, 15sale_coupon_domain_product_discount
Lets you apply a coupon promotion discount only to the products that match a product domain, instead of the whole order. It also supports a strict per-product limit so each product must individually meet the minimum quantity and amount rules.
- sale_coupon_domain_product_discount_in_field
This bridge module makes a coupon promotion apply its discount only to the products that match the promotion's product domain, instead of to all order lines. It installs automatically when both related promotion modules are present.
- sale_coupon_domain_product_reward_fixed_price
This bridge module makes two promotion features work together: fixed-price rewards and product-specific discount rules. It lets a fixed price be applied only to the products that match the promotion's product filter.
- Coupon Financial Risk CompatibilityOdoo 13, 15sale_coupon_financial_risk
Prevents reward coupons from being emailed to customers when their sales order exceeds the allowed financial risk. It links coupon promotions with credit risk checks on confirmation.
- sale_coupon_free_shipping_default_product
Lets you choose one default service product that is automatically used as the reward product whenever a promotion is set to free shipping, so you don't have to create a new product for every free shipping promotion.
- Coupon incompatibilitiesOdoo 13, 15sale_coupon_incompatibility
Lets you mark promotions as incompatible so that two conflicting promotions cannot be applied to the same sales order. When a customer tries to add a promotion or coupon that clashes with one already on the order, Odoo blocks it with an error message.
- Coupon LimitOdoo 13, 14, 15sale_coupon_limit
Limit how many times a promotion or coupon can be used per customer or per salesperson. When a limit is reached, Odoo blocks the promotion and shows an error message.
- Sale Coupon Mas MailingOdoo 13sale_coupon_mass_mailing
Link mass mailings to promotion programs and launch them from a smart button on the promotion form. The mailing audience is pre-filled with the promotion's contact domain.
- Sale Coupon Most ExpensiveOdoo 13sale_coupon_most_expensive
Adds a new discount option to coupon programs: apply the reward discount to the most expensive product line of the order instead of the whole order or the cheapest product.
- sale_coupon_most_expensive_delivery
This bridge module makes the 'most expensive product' coupon program ignore delivery charges when picking the eligible product, so shipping costs never win the discount.
- Sale Coupon Multi CurrencyOdoo 13sale_coupon_multi_currency
Lets you set a custom currency on coupon and promotion programs instead of always using the company currency, so discounts can be defined in a different currency.
- Coupons multi gift in salesOdoo 13, 14, 15sale_coupon_multi_gift
This module lets you set up promotions that give several different free products as a reward on a sales order. When a promotion with multiple gift rewards applies, Odoo automatically adds the free products as separate order lines with a 100% discount.
- Sale Coupon Multi UseOdoo 13sale_coupon_multi_use
Lets a single fixed-amount coupon be used on several sale orders until its value is fully consumed. It adds a 'Multi Use Coupons' option on coupon programs and tracks each use.
- sale_coupon_multi_use_currency
Prevents changing the currency of a coupon program once multi-use coupons have already been generated from it.
- Code coupon program multiple timesOdoo 13, 15sale_coupon_multiple_code_program
Allows a single sales order to use more than one coupon code promotion program, instead of Odoo's default limit of one code program per order.
- Sale Coupon Multiplier Free ProductOdoo 13, 15sale_coupon_multiplier_free_product
This module lets you set up 'buy X, get Y free' promotions that repeat automatically, such as 3x2 offers, and ensures the free product lines are correctly added, updated, or removed on sales orders.
- sale_coupon_order_discount_fast_change_ui
Adds a "Skip reward lines" checkbox to the fast discount change wizard, so users can apply a new discount only to paid product lines and leave coupon/promotion reward lines untouched.
- Link coupons to order linesOdoo 13, 14, 15sale_coupon_order_line_link
Links each sale order line to the coupon or promotion program that produced it, and shows which lines generated a reward and which lines received it. Adds promotion tracking fields and filters to sales orders and the sales analysis report.
- Pending CouponsOdoo 13, 15sale_coupon_order_pending
Shows salespeople how many coupons a customer still has available and lets them apply one directly from the sales order.
- sale_coupon_order_pending_commercial_partner
Automatically installed glue module that widens the search for pending coupons on a sales order so coupons belonging to the whole commercial entity (parent company and its contacts) are shown, not just those of the order's contact.
- Coupons SuggestionsOdoo 13, 15sale_coupon_order_suggestion
Shows a gift icon on sales order lines when a promotion is available for the product, letting the salesperson open the promotion wizard directly from the line.
- Sale Coupon PartnerOdoo 13, 14, 15sale_coupon_partner
Lets you link a coupon or promotion program to a specific customer, and then analyse sales by that customer in the Sales Analysis report.
- Sale Coupon PortalOdoo 13sale_coupon_portal
Customers can see and manage their own sale coupons from the customer portal, with filters, sorting and search by coupon code or program.
- sale_coupon_portal_commercial_partner_applicability
Lets customers see on the portal the coupons that belong to their company, not only the ones linked to their own contact.
- sale_coupon_product_exclude
Lets you set a product filter on a promotion so that matching products are left out when Odoo calculates the discount. The excluded products are ignored for the reward, both for whole-order and per-line discounts.
- sale_coupon_product_management
Lets you control the reward product of a sale coupon or promotion program through a dedicated product category, so the discount product is created and kept in sync automatically.
- sale_coupon_promotion_generate_coupon
When a promotion is set to hand out its reward coupon through a different promotion, this module makes the coupon be created in that other promotion instead, and keeps the sales counters and coupon expiry consistent.
- sale_coupon_reward_add_product
Lets you configure a promotion so the free reward product is added automatically to the sales order when it is missing, instead of requiring the customer to add it first.
- Sale Coupon Fixed PriceOdoo 14sale_coupon_reward_fixed_price
Adds a new "Fixed Price" reward type to coupon and promotion programs, letting you set a specific unit price for the products that match the program's rules instead of giving a percentage or amount discount.
- sale_coupon_reward_fixed_price_order_line_link
Bridge module that links fixed-price coupon rewards to the sales order lines they discount, so each discounted line records which promotion program applied it.
- Coupons Selection WizardOdoo 13, 15sale_coupon_selection_wizard
Salespeople can open a wizard from a sales order to see all promotions that fit the order, preview the required products and rewards, and apply the chosen promotion in one click.
- sale_coupon_validity_notification
When a coupon linked to a sales order expires, Odoo automatically posts a note on that order and schedules a warning activity for the salesperson, so they know the coupon must be removed.
- Sale Credit PointsOdoo 15sale_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 RoundingOdoo 15, 18sale_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 DeliveryOdoo 13sale_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.
- Default Sale UOMOdoo 14sale_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 DateOdoo 14sale_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, 19sale_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, 19sale_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 CheckOdoo 12sale_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, 18sale_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.
- Double validation for SalesOdoo 12sale_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, 19sale_elaboration
Lets you attach elaborations (extra handling or service work) to sales order lines, automatically adding a surcharge line when the delivery is validated.
- Product brand in sale elaboration reportOdoo 15, 18, 19sale_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, 19sale_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.