OdooWiki OCA HUB

Sale Order Type

sale_order_type folder_open OCA/sale-workflow open_in_new
Sales Management License: AGPL-3

This module adds a typology for the sales orders. In each different type, you can define, invoicing and refunding journal, a warehouse, a stock route, a sequence, the shipping policy, the invoicing policy, a payment term, a pricelist and an incoterm.

You can see sale types as lines of business.

You are able to select a sales order type by partner so that when you add a partner to a sales order it will get the related info to it.

When no partner or context default applies, the first available sale order type by sequence is used as the default.

Additionally, it adds a warning message to notify users when there is a mismatch between the partner's default pricelist and the effective pricelist set by the sales order type. This ensures clarity when creating sales orders, as the effective pricelist (determined by the sales order type) will take precedence over the partner's default pricelist. The warning is only visible for companies without a parent and when there is a mismatch between the two pricelists.

auto_awesome What this module does

AI-generated from the code · Odoo 20.0

Create sale order types (lines of business) that automatically fill in the warehouse, journal, payment terms, pricelist, shipping policy, salesperson and more on quotations, invoices and deliveries. Assign a default type per customer and see the type on sales and invoice reports.

This module lets you define sale order types, each acting as a line of business with its own defaults. You manage them under Sales > Configuration > Sales Order Types, where each type can carry a warehouse, stock routes, an entry sequence, a billing journal, shipping policy, payment term, pricelist, incoterm, salesperson, sales team, quotation validity in days and analytic distribution.

On a quotation you pick a type; Odoo then automatically fills the warehouse, shipping policy, payment term, pricelist, salesperson, sales team, incoterm and quotation validity date, and applies the type's stock routes to the order lines. If the type has its own entry sequence, the quotation number is taken from it, and changing the type on a draft quotation can renumber it.

You can set a default sale order type on a customer. When that customer is chosen, the type is applied automatically; otherwise the first type by sequence is used. A warning appears on the customer form when the customer's pricelist differs from the one the sale order type will impose.

Invoices inherit the type from the order, use the type's billing journal and payment term, and the type can be filtered and grouped in invoices and sales reports. A company setting makes the type mandatory on sale orders.

Depends on

sale_stockaccountsale_management

Menus it adds

sot_sale_order_type_menu
Models and fields (11)
  • sale.order · extends an existing modeltype_id, incoterm, picking_policy, order_type_required
  • res.company · extends an existing modelsale_order_type_required
  • res.partner · extends an existing modelsale_type (Sale Order Type), effective_pricelist_id (Sale Effective Pricelist)
  • sale.report · extends an existing modeltype_id
  • account.move · extends an existing modelsale_type_id
  • res.currency · extends an existing model
  • sale.order.line · extends an existing modelroute_ids
  • sale.order.type · new modelname, active, team_id (Sales Team), user_id (Salesperson), sequence, route_ids (Routes), company_id, journal_id (Billing Journal), description, incoterm_id, sequence_id (Entry Sequence), pricelist_id, warehouse_id, picking_policy (Shipping Policy), payment_term_id, quotation_validity_days (Quotation Validity (Days))
  • res.config.settings · extends an existing modelsale_order_type_required
  • account.invoice.report · extends an existing modelsale_type_id (Sale Order Type)
  • sale.advance.payment.inv · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 20.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 9 confirmed, 0 with no information of 9 versions.

Sources · Odoo 15.0

Confirmed on 2026-11-03 in branch 15.0 of OCA/sale-workflow.

terminal Installation and usage

OCA documentation · Odoo 20.0

To configure Sale Order Types you need to:

  • Go to Sales \> Configuration \> Sales Orders Types
  • Create a new sale order type with all the settings you want
  • Use the drag handle in the list view to define the priority of the sale order types. The first matching type for the current company is used as the default when no partner or context default applies.
  • Go to Sales \> Sales Orders and create a new sale order. Select the new type you have created before and all settings will be propagated.
  • You can also define a type for a particular partner if you go to Sales & Purchases and set a sale order type.
  • When no type is set on the partner and no default is provided in the context, the sale order uses the first available type according to the sequence configured on sale order types.

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.