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_stock_warehouse_partner

    Lets you set a default warehouse on a contact so that new sales orders for that customer automatically use it. The delivery address warehouse takes priority over the customer's warehouse.

  • Sale Sub StateOdoo 12, 14, 15, 16, 17, 18, 19
    sale_substate

    Adds a secondary status (substate) to quotations and sales orders, so you can track finer steps like "Waiting for legal documents" or "In delivering" on top of the standard Quotation/Sale status.

  • sale_team_payment_term

    Lets you set a default payment term on each sales team, which is automatically applied to sale orders when the customer has no payment term of their own.

  • sale_timesheet_project_manual

    Lets you create the project and tasks for a service quotation before confirming the sales order, so work can start early. A 'Generate Project/Task' button appears on draft or sent quotations that contain services with timesheet generation.

  • Sale Transaction Form LinkOdoo 14, 16, 18, 19
    sale_transaction_form_link

    Adds a smart button on the Sale Order form showing how many payment transactions are linked to the order, and lets you open them directly from there.

  • Sale Triple DiscountOdoo 12, 14, 15, 16, 17, 18
    sale_triple_discount

    Lets users enter up to three percentage discounts on each sale order line, with the total discount calculated automatically and carried over to the invoice and the printed quotation.

  • Sale ValidityOdoo 12, 13, 14
    sale_validity

    Set a default validity delay for quotations and sale orders. Odoo automatically fills the validity date based on the order date plus the configured number of days.

  • Sale Validity Auto-CancelOdoo 13, 14, 15, 16, 17, 18, 19
    sale_validity_auto_cancel

    Automatically cancels expired quotations after a configurable grace period. You set the number of days in Sales settings and can exclude specific customers from auto-cancellation.

  • Sale Warn OptionOdoo 15, 18
    sale_warn_option

    Lets you pick a ready-made warning message for a customer or a product on sales orders, instead of typing the text each time. The chosen option automatically fills the warning message field.

  • Sale WishlistOdoo 12, 13, 14, 15, 16, 18, 19
    sale_wishlist

    Adds a "Wishlist" type to product sets, so you can save lists of products for a customer and see how many wishlists each contact has.

  • sales_team_invoiced_target_domain

    Lets you define a custom filter (domain) that controls which customer invoices and refunds are counted in the 'Invoiced' amount shown on Sales Teams.

  • sales_team_invoiced_target_report

    Adds a Sales Teams reporting dashboard with invoiced amounts, opportunities, quotations and orders to invoice, plus a configurable rule for which invoices count as invoiced.

  • Sales documents permissions by channels (teams)Odoo 12, 13, 14, 15, 16, 17, 18, 19
    sales_team_security

    Adds a new sales permission group, "User: Team Documents Only", so users only see contacts linked to their sales team or with no salesman, and automatically keeps salespeople as followers on company and invoice/delivery contacts.

  • sales_team_security_crm

    Adds record-level access rules so sales team managers only see CRM leads, activities and sales teams that belong to their own teams (or are unassigned).

  • sales_team_security_sale

    Adds record-level access rules so that users with the "Team Documents Only" sales permission can only see quotations, sales orders and their lines that belong to their own sales teams or that they personally own.

  • sell_only_by_packaging

    Lets you force products to be sold only in whole packagings on sale orders, blocking or auto-rounding quantities that do not match the packaging.

  • web_widget_product_label_section_and_note_full_label_sale

    Keeps the custom line label you type on a sale order line when the order is invoiced, and makes that label editable in the sale order line product widget.

  • website_sale_coupon_page

    Publish coupon programs as promotional banners on a public website page, with an image, a rich-text name and a click-to-enlarge popup.

  • website_sale_coupon_restrict

    Adds an "Only for e-commerce" option on coupon programs so a coupon or promo code can only be used on the website, not in backend sales orders.

  • website_sale_coupon_selection_wizard

    Lets online shoppers apply and configure multi-gift, multi-criteria promotions directly from the website, with an Apply button on the promotions page and a configuration pop-up in the cart.

  • website_sale_loyalty_page

    Publish loyalty programs and promotions on your website with a banner image and a public name, and show them on a public /promotions page.

  • website_sale_loyalty_suggestion_wizard

    Lets online shoppers see suggested promotions in the cart and on the promotions page, then configure and apply them through a pop-up wizard without leaving the website.

  • website_sale_loyalty_suggestion_wizard_multi_gift

    On the website shop, customers can now see and configure multi-gift promotions (promotions where several free products can be chosen) directly in the promotion suggestion wizard, and apply them to their cart.

  • website_sale_loyalty_suggestion_wizard_multi_product

    Lets online shoppers configure and apply multi-product promotions directly from the website cart using the promotion suggestion wizard.

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.