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_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 confirmOdoo 18, 19sale_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.
- Quick Sale orderOdoo 14sale_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.
- Quick Sale Blanket OrdersOdoo 14sale_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.
- Sales Quick CommissionOdoo 14sale_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.
- Quick Sale order seasonalityOdoo 14sale_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.
- Quotation BuilderOdoo 17, 19sale_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, 19sale_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, 18sale_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 DateOdoo 14, 16sale_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 Filter by StateOdoo 12, 13, 16sale_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, 18sale_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 ValuesOdoo 16, 18sale_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, 18sale_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 ElaborationOdoo 13, 15, 18sale_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 PriorityOdoo 13, 15, 18sale_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 SemaphoreOdoo 15, 18sale_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, 18sale_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 VolumeOdoo 15, 16, 18sale_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 DateOdoo 14sale_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, 19sale_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 PartnerOdoo 15, 16, 17, 18sale_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 Orders Require PO or Sales DocumentationOdoo 12, 14, 18, 19sale_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, 19sale_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 order restricted quantity: min, max, multiple-ofOdoo 12, 14, 16, 17, 18sale_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 SeasonalityOdoo 16sale_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 SalespersonOdoo 12, 13sale_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, 18sale_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, 19sale_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, 18sale_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, 19sale_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, 18sale_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, 19sale_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, 19sale_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 widgetOdoo 16, 18sale_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.
- Sales Stock Invoice PlanOdoo 15sale_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, 18sale_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 ReferenceOdoo 14, 18sale_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, 18sale_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 wharehouseOdoo 16, 18, 19sale_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, 19sale_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, 19sale_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 BlockingOdoo 13, 17, 18sale_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, 18sale_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_releaseOdoo 14, 16, 18sale_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 Order Product Recommendation StockOdoo 16, 18sale_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 LineOdoo 19sale_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, 18sale_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, 19sale_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 levelOdoo 14sale_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 AddressOdoo 12, 13sale_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.