OdooWiki OCA HUB

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

12.0
111 modules
13.0
151 modules
14.0
205 modules
15.0
176 modules
16.0
232 modules
17.0
123 modules
18.0
245 modules
19.0
125 modules
20.0
1 module

OCA repositories in this area

Other areas

Modules in this area

  • sale_amount_payment_link

    When you generate a payment link from a sale order, this module automatically reduces the amount to pay by the value of payments already completed on that order.

  • Attached products in salesOdoo 13, 15, 16, 17, 18
    sale_attached_product

    Define attached products on a product so they are added automatically to sales orders when the main product is present. Attached lines follow the main line quantity and are removed when the main product is removed.

  • sale_auto_remove_zero_quantity_lines

    Adds a company-level setting that automatically deletes sales order lines with zero quantity (and empty note lines) when a sales order is confirmed, leaving a message in the order's chatter.

  • Sale Automatic WorkflowOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_automatic_workflow

    Lets you define automatic workflows that Odoo applies to sales orders on a scheduled job: confirm orders, send confirmation emails, create and post invoices, lock orders and register payments, each limited by a saved filter.

  • sale_automatic_workflow_auto_assign

    Automatically assigns a sales workflow to new sale orders based on rules you define, and adds a new duplication option to control how workflows are copied when orders are duplicated.

  • sale_automatic_workflow_delivery_state

    This glue module makes the sales order flag that says everything has been delivered rely on the delivery status field, so the two modules work together without recalculating the same information twice.

  • sale_automatic_workflow_force_invoiced

    Adds a "Force Invoice" option to sale automatic workflows, so confirmed orders matching a chosen filter are automatically marked as force invoiced.

  • sale_automatic_workflow_ignore_exception

    Adds a checkbox on sale workflow processes so that orders confirmed automatically by the workflow can bypass sale exceptions, instead of being blocked by them.

  • sale_automatic_workflow_invoice_default_value

    Lets you set default values for invoices created automatically by a sale workflow process, either as fixed text or copied from a field on the sale order.

  • Sale Automatic Workflow JobOdoo 12, 13, 14, 15, 16, 18, 19
    sale_automatic_workflow_job

    Runs the automatic sales workflow actions (confirm orders, send confirmation emails, create and validate invoices, mark orders as done) as background queue jobs instead of doing everything at once, so large volumes of orders are processed reliably.

  • sale_automatic_workflow_payment

    Lets you attach an automatic sales workflow to a payment provider, so that when a payment transaction is created for a sale order, that order automatically receives the provider's workflow.

  • Sale Automatic Workflow - Payment ModeOdoo 12, 13, 14, 15, 16, 18, 19
    sale_automatic_workflow_payment_mode

    Links payment modes to automatic sales workflows, so the right workflow is chosen automatically on sales orders. It also makes automatic invoice payment use the payment mode's type, method and journal.

  • sale_automatic_workflow_periodicity

    Lets you set how often an automatic sales workflow runs, in seconds, and shows when it will run next. You can also limit processing to sales created before the last run.

  • sale_automatic_workflow_stock

    Extend automatic sales workflows with stock options: choose the shipping policy and let Odoo automatically confirm and transfer the delivery pickings for sales orders handled by a workflow.

  • sale_automatic_workflow_stock_job

    Automatically validates stock transfers (deliveries) for sales orders as background jobs, so the automatic sales workflow does not slow down or block the user's screen.

  • sale_automatic_workflow_stock_location_route

    Lets you define a stock route on a sales workflow so that, when an order is confirmed, the route is automatically applied to its sale order lines.

  • sale_backorder

    Track uninvoiced delivered goods and backordered quantities and values on sales orders and order lines, and print a dedicated backorder report.

  • Sale Blanket OrdersOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_blanket_order

    Create blanket orders (pre-agreements to sell quantities of products at fixed prices) and generate sale orders from them at the agreed price until the validity period ends or quantities run out.

  • sale_blanket_order_revision

    Adds revision tracking to blanket orders, letting users create new revisions of a blanket order and view previous revisions from the form.

  • Sale Block no StockOdoo 16, 17, 18
    sale_block_no_stock

    Blocks confirming a sales order when storable products are not sufficiently available, showing a wizard to adjust quantities, move lines to a new order, or confirm anyway if allowed.

  • sale_by_packaging

    Control how products are sold by packaging on sale orders: mark packagings as sellable, force quantities to round up to a packaging multiple, and require a packaging for products flagged 'Only sell by packaging'.

  • sale_cancel_confirm

    Lets companies ask for an optional free-text reason when cancelling a sales order, and stores that reason, the user and the date on the cancelled order.

  • sale_cancel_confirmed_invoice

    When enabled, cancelling a sale order also cancels its posted but unpaid invoices. The option is turned on per company in the Sales settings.

  • Sale Cancel ReasonOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_cancel_reason

    When cancelling a sale order, users must pick a reason from a configurable list. The chosen reason is stored on the order and shown on cancelled orders.

  • sale_cancel_restrict

    Adds an option in Sales settings that blocks cancelling a sales order when a delivery has already been completed or when invoices are still draft or posted.

  • Sale ChannelOdoo 16, 18, 19
    sale_channel

    Lets you record which sales channel (e.g. Amazon, eBay) each sales order and invoice comes from, and manage the list of channels in Odoo.

  • sale_channel_category

    Lets you link product categories to sale channels, so a whole category of products can be assigned to a channel at once. Categories inherit the channels of their parent category.

  • Sale Channel PartnerOdoo 16, 18, 19
    sale_channel_partner

    Link contacts to sale channels and store their external identifier on each channel, so you can see which customer account corresponds to which marketplace or shop.

  • Sale Channel ProductOdoo 16, 18, 19
    sale_channel_product

    Adds a sale channel field to product forms so products can be linked to one or more sale channels directly from the product template.

  • sale_channel_search_engine

    Lets you attach a search engine to a sale channel and automatically keeps the products and categories of that channel indexed in the search engine.

  • sale_channel_search_engine_category

    Links product categories to sale channels so they can be exported to a search engine. When a sale channel changes, the related product categories are re-synchronised automatically.

  • sale_channel_search_engine_demo

    Demo module that installs sample data to test exporting products and product categories to an Elasticsearch search engine through a sale channel.

  • sale_channel_search_engine_product

    Shows, on each product form, how many search-engine index entries exist for its variants (done, pending, error) and lets you open that list. Also re-syncs the index when a product is archived or unarchived.

  • Sale CommentsOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_comment_template

    Adds a Comments tab to sales orders where reusable comment texts can be attached, and prints those comments on the sales order PDF above or below the order lines.

  • Sale Commercial PartnerOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_commercial_partner

    Adds two stored fields on sales orders: Customer Entity and Invoice Entity, and lets you group sales orders and sales analysis by Customer Entity.

  • Sales commissionsOdoo 12, 13, 14, 15, 16, 17
    sale_commission

    Adds sales commissions to sales orders: each order line can have agents with a commission, the total commission is shown on the order, and the agents are carried over to the invoice.

  • sale_commission_advance

    Automatically calculates sales agent commissions on down payment invoices, based on the commission that would be earned on the full sale order.

  • sale_commission_agent_restrict

    Restricts what commission agents can see and change in Odoo: they only see their own commission lines and, optionally, only their own customers, and they cannot edit payment terms or agent assignments.

  • sale_commission_check_deposit

    Adds a safety delay before commissions are paid on invoices settled by check. You mark a journal as a check journal and set a number of safety days; commissions on those invoices are only settled once the check's due date plus those days has passed.

  • sale_commission_delegated_partner

    Lets you assign a delegate partner to a sales agent so commission settlements are invoiced to that delegate instead of the agent, with the original agent noted on the invoice line.

  • sale_commission_formula

    Adds a new "Formula" commission type so you can write a custom calculation for agent commissions on sales orders and invoices, instead of using the standard percentage or fixed amount rules.

  • sale_commission_geo_assign

    Lets you define the geographic area (countries, states, ZIP range) where each sales agent works, then automatically assign matching agents to selected customers from a wizard.

  • sale_commission_geo_assign_product_domain

    Lets you assign sales agents to customers based on the customer's country, state or ZIP code, and automatically restrict which commission groups apply to that agent for that customer.

  • sale_commission_margin

    This module changes how the margin on sales order lines is calculated: agent commissions are now subtracted from the margin, so the margin and margin percentage shown on a sales order reflect the real profit after paying commissions.

  • sale_commission_margin_oca

    This module makes the margin on sales order lines take sales commissions into account, so the margin you see is the real profit after paying agents.

  • sale_commission_oca

    Adds sales commissions to sales orders: each order line can have agents with a commission, the total commission is shown on the order, and the agents are carried over to the invoice.

  • sale_commission_oca_product_criteria

    Adds a new "Product criteria" commission type so you can pay different commission rates per product, product variant, product category or all products, applied automatically on sales orders and invoices.

  • sale_commission_oca_product_criteria_semaphore

    Adds a traffic-light (green, yellow, red) criterion to sales commission rules, so different commission percentages can be applied depending on the semaphore status of the invoice line.

  • sale_commission_partial_settlement

    Lets you pay sales agents commissions only on the amounts customers have actually paid, instead of on the full invoice. You can track expected versus settled commission per payment and see it in dedicated menus.

  • sale_commission_pricelist

    Lets you assign a sales commission to each pricelist rule, so the commission paid to sales agents is automatically taken from the pricelist rule that applies to the sale order line.

  • sale_commission_pricelist_oca

    Lets you set a sales commission on a pricelist and on each pricelist rule, so the right commission is automatically applied to sales order lines based on the pricelist rule that matched.

  • sale_commission_product_based

    Adds a new commission type that calculates salesperson commissions from rules set per product or product category, with a fallback percentage when no rule matches.

  • sale_commission_product_criteria

    Adds a new 'Product criteria' commission type where you define commission rules per product, product variant, product category or all products, each with a fixed amount or a percentage.

  • sale_commission_product_criteria_country

    Lets you set commission rules that depend on the customer's country, so the same product can earn a different commission for customers in different countries.

  • sale_commission_product_criteria_discount

    Lets you set sales agent commission rules that depend on the discount given on a sale order line, so agents earn more when they discount less and less when they discount more.

  • sale_commission_product_criteria_domain

    Lets you restrict which commission rules apply to each agent per customer, so the same agent can earn different commissions depending on the customer and product.

  • sale_commission_product_criteria_fiscal_position_type

    Lets you set commission rules that only apply to customers of a certain fiscal position type, so salespeople earn different commissions depending on the customer's tax treatment.

  • sale_commission_product_criteria_semaphore

    Lets you add a traffic-light status (green, yellow or red) to commission rules, so the same product can earn different commission percentages depending on the semaphore shown on the invoice line.

  • sale_commission_queued

    Adds buttons to the sales commission wizards so that agent settlements and settlement invoices are created in the background through the job queue instead of immediately.

  • Sales commissions from salesmanOdoo 12, 13, 14, 15, 16, 17, 18
    sale_commission_salesman

    Automatically adds the salesman as a commission agent on sales orders and customer invoices when no other commission agent is already set, provided the salesman's contact is flagged as an agent with a commission plan.

Data imported from GitHub: “confirmed” means branch, module directory and installable manifest checked on the review date. A module that is not confirmed in a version may still exist: it may be in another repository or pending the next review. Active support and OCA certification are not assessed.