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_purchase_stock_auto_cancel

    Adds a company setting that automatically cancels purchase orders created from a sales order via MTO or Dropship when that sales order is cancelled.

  • sale_purchase_stock_auto_confirm

    Adds a company setting that automatically confirms purchase orders created from sales orders when using MTO or Dropship rules, so users no longer have to validate those purchase orders manually.

  • sale_quick

    Add many products to a sales order at once from a dedicated product list, with quantities and units of measure, instead of creating each order line one by one.

  • sale_quick_blanket_order

    Add many products to a blanket sale order at once from a quick product picker, instead of creating each line one by one. The Add button appears on draft or sent blanket orders.

  • sale_quick_commission

    Automatically carries sales agents and their commissions into order lines created with the quick product addition tool, so commission data is not lost when adding products in bulk.

  • sale_quick_seasonality

    Adds seasonality awareness to the quick sale order product mass-add feature, so only products allowed in the current season can be added to a sale order.

  • sale_quotation_builder

    Design rich quotation templates with website building blocks, and let Odoo automatically fill quotations with the matching product descriptions and template content.

  • Sale Quotation NumerationOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_quotation_number

    Lets you give quotations their own numbering (starting with SQ) instead of sharing the sales order sequence. When a quotation is confirmed, it keeps its quotation number in the Origin field and receives a new sales order number.

  • sale_quotation_template_product_multi_add

    Add many products to a quotation template in one go. A new button on the quotation template form opens a wizard where you pick products, set descriptions and quantities, then insert them all as template lines.

  • Sale Readonly SecurityOdoo 15, 16, 17, 18
    sale_readonly_security

    Adds a new permission called "Sale orders edition" that controls who can create, edit or delete sale orders. Users without it see sale orders in read-only mode and cannot generate invoices from them.

  • sale_report_commitment_date

    Adds the sales order commitment date to the Sales Order analysis report, so users can filter and group sales analysis by the promised delivery date.

  • sale_report_country_state

    Adds a "Customer State" filter and grouping option to the Sales analysis report, so users can break down sales figures by the customer's state or province.

  • sale_report_crossed_out_original_price

    When a sale order uses a pricelist with the "Show public price & discount to the customer" policy and a line has a discount, the printed sales order and quotation report shows the original unit price crossed out with the discounted price below it.

  • Sale Report DeliveredOdoo 13, 14, 15, 16, 18
    sale_report_delivered

    Adds a new 'Sales from deliveries' analysis report that shows sales figures based on quantities actually delivered, including returns and dropshipping, with cost and margin information.

  • sale_report_delivered_attribute_values

    Adds product attribute values to the Delivered Sales report, so you can filter and group delivered quantities by attribute (e.g. colour, size) directly in the report.

  • Sale Report Delivered BrandOdoo 13, 14, 15, 18
    sale_report_delivered_brand

    Adds the product brand to the Delivered Sales report, so you can see and filter delivered quantities by brand.

  • sale_report_delivered_deposit

    This module adds customer deposit lines to the Sale Report Delivered, so you can see deposits alongside regular deliveries in the same report.

  • sale_report_delivered_elaboration

    Adds an elaboration cost column to the Delivered Sales report, showing the total elaboration cost per product line based on the quantity delivered and the elaboration cost set on the sale order line.

  • sale_report_delivered_partner_priority

    Adds the customer's priority to the Delivered Sales report, so you can see and filter delivered quantities by customer priority.

  • sale_report_delivered_price_compliance

    Adds a "Price Compliance Tier" filter and grouping option to the Delivered Sales report, so users can analyse delivered quantities by how well their prices comply with the configured price compliance tiers.

  • sale_report_delivered_semaphore

    Adds a colour semaphore (green, yellow, red) to the Delivered Sales report, so users can see and group sales lines by their delivery status indicator.

  • Sale Report Delivered subtotalOdoo 12, 13, 14, 15, 16, 18
    sale_report_delivered_subtotal

    Adds two new columns to the Sales Report: the untaxed total based on delivered quantities and the gross weight delivered. Users can analyse sales by what was actually delivered, not just what was ordered.

  • sale_report_delivered_volume

    Adds a new "Volume Delivered" measure to the Sales analysis report, showing the total product volume actually delivered to customers.

  • sale_report_delivery_date

    Adds the last delivery date to the Sales Order analysis report, so users can filter and group sales analysis by when products were actually delivered.

  • Sale Report SalesmanOdoo 15, 16, 17, 18, 19
    sale_report_salesman

    Gives salespeople access to the Sales Reporting menu, so users in the Salesperson group can open sales reports without needing extra permissions.

  • sale_report_salesperson_from_partner

    Adds a new "Salesperson From Partner" field to the Sales Analysis report, letting users group and filter sales by the salesperson assigned to the customer's contact record.

  • sale_require_po_doc

    Lets you flag customers who must provide a purchase order or sales documentation before their sale orders can be confirmed, and blocks confirmation when those requirements are missing.

  • Sell resource bookingsOdoo 12, 13, 15, 16, 17, 18, 19
    sale_resource_booking

    Link products and sales orders to resource bookings. Selling a product that has a booking type automatically creates pending bookings, and a booking can only be confirmed once its sale order is confirmed.

  • sale_restricted_qty

    Set minimum, maximum and multiple-of sales quantities on product categories and products, then check them on sale order lines with either a blocking error or a simple warning.

  • sale_seasonality

    Link sales campaigns to seasonalities and see sales grouped by seasonality in the sales analysis report. Products can also be tagged with the campaigns they belong to.

  • sale_secondary_salesperson

    Add a second salesperson to a sales order alongside the main one, and filter or group sales analysis by that secondary salesperson.

  • Sale SemaphoreOdoo 15, 18
    sale_semaphore

    Adds a colour semaphore (green, yellow, red) to sales order lines showing whether the negotiated price respects the discount policy set on the product or its category, and blocks non-managers from confirming or editing lines priced below the accepted limit.

  • Sale shipping info helperOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_shipping_info_helper

    Adds six read-only amount fields on sale orders that split the order total into shipping and item amounts, so shipping costs can be shown separately in reports or e-commerce.

  • Sale Sourced by LineOdoo 13, 15, 16, 17, 18
    sale_sourced_by_line

    Lets you choose a different source warehouse on each sales order line, so one order can be fulfilled from several warehouses. The order keeps a default warehouse used when a line has none.

  • sale_sourced_by_line_product_rule

    Lets you define, per product, per attribute value or per template, which warehouse should ship a sale order line, and automatically applies that warehouse to the line and its delivery.

  • Sale Start End DatesOdoo 12, 14, 15, 16, 17, 18, 19
    sale_start_end_dates

    Adds Start Date, End Date and Number of Days on sale order lines, with default dates on the sale order. These dates are required for products flagged as needing dates and are copied to invoice lines.

  • Sale Stock Cancel RestrictionOdoo 13, 15, 16, 17, 18
    sale_stock_cancel_restriction

    Prevents cancelling sales orders that already have completed stock deliveries, by raising the standard Odoo error when a user tries to cancel such an order.

  • Sale Stock Delivery AddressOdoo 12, 13, 14, 15, 18, 19
    sale_stock_delivery_address

    Set a different delivery address on each sales order line, so one order can ship to several addresses. The system then splits the deliveries and uses the stock location linked to each address.

  • Sale Stock Delivery StateOdoo 16, 17, 18, 19
    sale_stock_delivery_state

    This glue module changes how the delivery status of a sales order is calculated when stock is installed, and hides the delivery status field from the sales order form and list views.

  • sale_stock_expiry_date_on_qty_at_date_widget

    Shows the next expiry date of the stock that will be used to fulfil a sales order line, directly in the Qty at Date popover, and lets users open the related stock quants.

  • sale_stock_invoice_plan

    Extends the sales invoice plan so that, when stock is installed, invoices created from a plan can be linked to the related stock pickings. It also grants read access to stock scrap records for users of this module.

  • Sale Stock Last DateOdoo 12, 13, 15, 18
    sale_stock_last_date

    Shows the date of the last completed outgoing delivery on each sale order line, and lets you filter and group sales analysis by that date.

  • sale_stock_line_customer_ref

    Add a customer reference on sale order lines and carry it through to delivery operations, packages and stock moves, so lines with the same product but different references are not merged.

  • Sale Stock Order Line SequenceOdoo 13, 14, 15, 16, 17, 18
    sale_stock_line_sequence

    Keeps the order of products on a sales order and its delivery in sync. When you confirm a sale or change its lines, the related stock moves are automatically renumbered to match the sales order line order.

  • sale_stock_partner_warehouse

    Lets you set a preferred warehouse on a customer or contact, and automatically proposes that warehouse on new draft sales orders for that customer.

  • Sale Stock Picking BlockingOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_picking_blocking

    Lets you block the creation of deliveries for a sales order and record the reason, so no stock is reserved or moved until someone releases the block.

  • Sale Stock Picking NoteOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_picking_note

    Adds two note fields to customers, sales orders and delivery orders: an internal picking note and a customer comment that is printed on the delivery slip.

  • sale_stock_picking_validation_blocking

    Sales managers can block the validation of delivery orders created from a sale order, so goods stay reserved but cannot be shipped until they unblock it.

  • Sale Stock PrebookOdoo 14, 16, 18
    sale_stock_prebook

    This module lets you reserve stock for a draft or sent quotation before confirming it, so you can secure inventory early. It adds Reserve Stock and Release Reservation buttons on the sale order form.

  • sale_stock_prebook_cancel_line

    Prevents cancelling a sale order line while it still has prebooked stock moves, and keeps prebooked quantities out of the cancelled quantity calculation on sale order lines.

  • sale_stock_prebook_stock_available_to_promise_release

    Links prebooked stock reservations with the available-to-promise release process, so that when a sales order is confirmed, the reservation's priority date is passed to the delivery moves.

  • sale_stock_product_recommendation

    Shows stock availability directly in the product recommendation wizard of a sale order, so you can see whether recommended products can actually be delivered before accepting them.

  • sale_stock_qty_at_date_widget_multi_warehouse

    The availability icon on sales order lines now considers stock from every warehouse, not just the line's own warehouse. It turns yellow when only all warehouses together can cover the demand and red when even that is not enough.

  • sale_stock_reconcile_valuation_kit

    When you post a customer invoice for a kit product with automated inventory valuation and Anglo-Saxon accounting, Odoo automatically reconciles the interim stock accounts linked to the invoice lines with those of the kit components' stock moves.

  • sale_stock_reference_by_line

    Adds a stock reference field on each sale order line so that stock moves generated from a sale order can be grouped per line instead of per order. On its own it changes little; it is a base for other modules.

  • sale_stock_reservation_issue_on_qty_at_date_widget

    Warns sales users when confirming a quotation or sales order would cause a stock reservation problem, by turning the quantity-at-date icon yellow and highlighting the free quantity today in the popover.

  • Sale Stock Return RequestOdoo 12, 13, 14, 15, 18
    sale_stock_return_request

    Create return requests directly from a sales order and link customer returns to their original sales orders. Track which sales are involved in a return and jump back to them from the return request.

  • Sale Stock Secondary UnitOdoo 12, 13, 14, 15, 16, 17, 18, 19
    sale_stock_secondary_unit

    When a sale order is confirmed, the secondary unit and quantity chosen on the sale order line are copied onto the related stock moves, so warehouse documents show the same secondary unit information as the sale.

  • sale_stock_service_level

    Lets you set a stock service level on a sales order so that the way stock is reserved and delivered for that order follows the chosen service level.

  • sale_stock_sourcing_address

    Shows, on each sales order line and invoice line, the address of the warehouse that will actually supply the goods. This helps users see where a delivery will be sourced from before confirming the order.

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.