| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/19.0/sale_order_type |
| VERSION | |
| VERSION | 1.6.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Maksym Yankin, r.perez, Franco Leyes |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:48 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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.  |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
res.config.settings.view.form | res.config.settings | setting | Inherits sale.res_config_settings_view_form |
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.move.form.sot | account.move | label | Inherits account.view_move_form |
sot_invoice_list |
account.invoice.list.sot | account.move | field | Inherits account.view_invoice_tree |
sot_invoice_search |
account.invoice.search.sot | account.move | field | Inherits account.view_account_invoice_filter |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.list.view | sale.order.type | list | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
sot_view_order_list |
sale.order.list.sot | sale.order | field | Inherits sale.view_order_tree |
view_account_invoice_report_search |
account.invoice.report | filter | Inherits account.view_account_invoice_report_search | |
view_order_product_search |
sale.report | filter | Inherits sale.view_order_product_search | |
view_sales_order_filter |
sale.order | field | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Sale Order Type'
No public methods.
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Sale Type'
No public methods.
sale_order_type_required
Boolean
default=True
help='If checked, the sale orders will require a type.'
No public methods.
sale_order_type_required
Boolean
readonly=False
related='company_id.sale_order_type_required'
No public methods.
No new fields.
Public methods (0)No public methods.
effective_pricelist_id
Many2one → product.pricelist
comodel_name='product.pricelist'
related='sale_type.pricelist_id'
string='Sale Effective Pricelist'
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
copy=True
string='Sale Order Type'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
incoterm
Many2one
compute='_compute_incoterm'
readonly=False
store=True
order_type_required
Boolean
related='company_id.sale_order_type_required'
picking_policy
Selection
compute='_compute_picking_policy'
readonly=False
store=True
type_id
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Type'
create(self, vals_list)
write(self, vals)
route_ids
Many2many
compute='_compute_route_ids'
precompute=True
readonly=False
store=True
No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
store=True
description
Text
translate=True
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
string='Incoterm'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
domain="[('type', '=', 'sale')]"
string='Billing Journal'
name
Char
required=True
translate=True
payment_term_id
Many2one → account.payment.term
check_company=True
comodel_name='account.payment.term'
string='Payment Term'
picking_policy
Selection
default=<expr>
selection=<expr>
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
check_company=True
comodel_name='product.pricelist'
string='Pricelist'
quotation_validity_days
Integer
string='Quotation Validity (Days)'
route_ids
Many2many → stock.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Routes'
args: 'stock.route'
sequence
Integer
default=10
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=<expr>
string='Entry Sequence'
team_id
Many2one → crm.team
check_company=True
comodel_name='crm.team'
string='Sales Team'
user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
domain=<expr>
string='Salesperson'
warehouse_id
Many2one → stock.warehouse
check_company=True
comodel_name='stock.warehouse'
string='Warehouse'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/18.0/sale_order_type |
| VERSION | |
| VERSION | 1.3.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Denis Roussel, sergio-teruel, lfreeke, Weblate, OCA-git-bot, oca-ci, Rocío Vega, Franco Leyes, Matias Peralta, Axel PREL |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:11 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
res.config.settings.view.form | res.config.settings | setting | Inherits sale.res_config_settings_view_form |
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.move.form.sot | account.move | label | Inherits account.view_move_form |
sot_invoice_list |
account.invoice.list.sot | account.move | field | Inherits account.view_invoice_tree |
sot_invoice_search |
account.invoice.search.sot | account.move | field | Inherits account.view_account_invoice_filter |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.list.view | sale.order.type | list | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
sot_view_order_list |
sale.order.list.sot | sale.order | field | Inherits sale.view_order_tree |
view_account_invoice_report_search |
account.invoice.report | filter | Inherits account.view_account_invoice_report_search | |
view_order_product_search |
sale.report | filter | Inherits sale.view_order_product_search | |
view_sales_order_filter |
sale.order | field | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Sale Order Type'
No public methods.
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Sale Type'
No public methods.
sale_order_type_required
Boolean
default=True
help='If checked, the sale orders will require a type.'
No public methods.
sale_order_type_required
Boolean
readonly=False
related='company_id.sale_order_type_required'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
copy=True
string='Sale Order Type'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
incoterm
Many2one
compute='_compute_incoterm'
readonly=False
store=True
order_type_required
Boolean
related='company_id.sale_order_type_required'
picking_policy
Selection
compute='_compute_picking_policy'
readonly=False
store=True
type_id
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Type'
create(self, vals_list)
write(self, vals)
route_id
Many2one
compute='_compute_route_id'
readonly=False
store=True
No public methods.
active
Boolean
default=True
analytic_account_id
Many2one → account.analytic.account
check_company=True
comodel_name='account.analytic.account'
string='Analytic account'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
store=True
description
Text
translate=True
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
string='Incoterm'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
domain="[('type', '=', 'sale'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Billing Journal'
name
Char
required=True
translate=True
payment_term_id
Many2one → account.payment.term
check_company=True
comodel_name='account.payment.term'
string='Payment Term'
picking_policy
Selection
default=<expr>
selection=<expr>
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
check_company=True
comodel_name='product.pricelist'
string='Pricelist'
quotation_validity_days
Integer
string='Quotation Validity (Days)'
route_id
Many2one → stock.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.route'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=<expr>
string='Entry Sequence'
team_id
Many2one → crm.team
check_company=True
comodel_name='crm.team'
string='Sales Team'
user_id
Many2one → res.users
check_company=True
comodel_name='res.users'
domain=<expr>
string='Salesperson'
warehouse_id
Many2one → stock.warehouse
check_company=True
comodel_name='stock.warehouse'
string='Warehouse'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/17.0/sale_order_type |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | GitHub, Weblate, OCA-git-bot, oca-ci, Rocío Vega, r.perez, docker-odoo, trisdoan, Matias Peralta |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | 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 Sale Order: directly select the type you want in the dedicated sale order - by Partner: so that when you add a partner to a sales order it will get the related info to it. 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.  |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.move.form.sot | account.move | label | Inherits account.view_move_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
view_account_invoice_report_search |
account.invoice.report | filter | Inherits account.view_account_invoice_report_search | |
view_order_product_search |
sale.report | filter | Inherits sale.view_order_product_search | |
view_sales_order_filter |
sale.order | field | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Sale Order Type'
No public methods.
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Sale Type'
No public methods.
No new fields.
Public methods (0)No public methods.
effective_pricelist_id
Many2one → product.pricelist
comodel_name='product.pricelist'
related='sale_type.pricelist_id'
string='Sale Effective Pricelist'
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
analytic_account_id
Many2one
compute='_compute_analytic_account_id'
readonly=False
store=True
incoterm
Many2one
compute='_compute_incoterm'
readonly=False
store=True
picking_policy
Selection
compute='_compute_picking_policy'
readonly=False
store=True
type_id
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=False
store=True
string='Type'
create(self, vals_list)
write(self, vals)
route_id
Many2one
compute='_compute_route_id'
readonly=False
store=True
No public methods.
active
Boolean
default=True
analytic_account_id
Many2one → account.analytic.account
check_company=True
comodel_name='account.analytic.account'
string='Analytic account'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
store=True
description
Text
translate=True
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
string='Incoterm'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
domain="[('type', '=', 'sale'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Billing Journal'
name
Char
required=True
translate=True
payment_term_id
Many2one → account.payment.term
check_company=True
comodel_name='account.payment.term'
string='Payment Term'
picking_policy
Selection
default=<expr>
selection=<expr>
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
check_company=True
comodel_name='product.pricelist'
string='Pricelist'
quotation_validity_days
Integer
string='Quotation Validity (Days)'
route_id
Many2one → stock.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.route'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=<expr>
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
check_company=True
comodel_name='stock.warehouse'
string='Warehouse'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/16.0/sale_order_type |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, Isaac Gallart Bochons, oca-ci, pilarvargas-tecnativa, Diego Paradeda, Stefan, augusto-weiss, sbiosca-s73, jok-adhoc |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:45 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - account_payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.move.form.sot | account.move | label | Inherits account.view_move_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
view_account_invoice_report_search |
account.invoice.report | filter | Inherits account.view_account_invoice_report_search | |
view_order_product_search |
sale.report | filter | Inherits sale.view_order_product_search | |
view_sales_order_filter |
sale.order | field | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Sale Order Type'
No public methods.
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=True
states={'draft': [('readonly', False)]}
store=True
string='Sale Type'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
analytic_account_id
Many2one
compute='_compute_analytic_account_id'
readonly=False
store=True
incoterm
Many2one
compute='_compute_incoterm'
readonly=False
store=True
picking_policy
Selection
compute='_compute_picking_policy'
readonly=False
store=True
type_id
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
precompute=True
readonly=False
states={'sale': [('readonly', True)], 'done': [('readonly', True)], 'cancel': [('readonly', True)]}
store=True
string='Type'
create(self, vals_list)
write(self, vals)
route_id
Many2one
compute='_compute_route_id'
readonly=False
store=True
No public methods.
active
Boolean
default=True
analytic_account_id
Many2one → account.analytic.account
check_company=True
comodel_name='account.analytic.account'
string='Analytic account'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
store=True
description
Text
translate=True
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
string='Incoterm'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
domain="[('type', '=', 'sale'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Billing Journal'
name
Char
required=True
translate=True
payment_term_id
Many2one → account.payment.term
check_company=True
comodel_name='account.payment.term'
string='Payment Term'
picking_policy
Selection
default=<expr>
selection=<expr>
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
check_company=True
comodel_name='product.pricelist'
string='Pricelist'
quotation_validity_days
Integer
string='Quotation Validity (Days)'
route_id
Many2one → stock.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.route'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=<expr>
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
check_company=True
comodel_name='stock.warehouse'
string='Warehouse'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/15.0/sale_order_type |
| VERSION | |
| VERSION | 2.1.4 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Carlos Dauden, david, OCA Transbot, sergio-teruel, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, pilarvargas-tecnativa, josep-tecnativa, Juan Pablo Garza |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:33 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.move.form.sot | account.move | label | Inherits account.view_move_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
view_account_invoice_report_search |
account.invoice.report | filter | Inherits account.view_account_invoice_report_search | |
view_order_product_search |
sale.report | filter | Inherits sale.view_order_product_search | |
view_sales_order_filter |
sale.order | field | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Sale Order Type'
No public methods.
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
store=True
string='Sale Type'
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
type_id
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
readonly=False
states={'sale': [('readonly', True)], 'done': [('readonly', True)], 'cancel': [('readonly', True)]}
store=True
string='Type'
copy_data(self, default=None)
create(self, vals)
onchange_type_id(self)
write(self, vals)
No new fields.
Public methods (1)product_id_change(self)
active
Boolean
default=True
analytic_account_id
Many2one → account.analytic.account
check_company=True
comodel_name='account.analytic.account'
string='Analytic account'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
store=True
description
Text
translate=True
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
string='Incoterm'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
domain="[('type', '=', 'sale'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Billing Journal'
name
Char
required=True
translate=True
payment_term_id
Many2one → account.payment.term
check_company=True
comodel_name='account.payment.term'
string='Payment Term'
picking_policy
Selection
default=default_picking_policy
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
check_company=True
comodel_name='product.pricelist'
string='Pricelist'
quotation_validity_days
Integer
string='Quotation Validity (Days)'
route_id
Many2one → stock.location.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
check_company=True
comodel_name='stock.warehouse'
string='Warehouse'
default_picking_policy(self)
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/14.0/sale_order_type |
| VERSION | |
| VERSION | 3.2.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, david, OCA Transbot, sergio-teruel, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, Oihane Crucelaegui, Ethan Hildick, Isaac Gallart Bochons, oca-ci, Stephan Keller, Christopher Ormaza, Carlos Serra-Toro, pilarvargas-tecnativa, David Alonso // Solvos, Hai Lang, rafamar |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.move.form.sot | account.move | label | Inherits account.view_move_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
view_account_invoice_report_search |
account.invoice.report | filter | Inherits account.view_account_invoice_report_search | |
view_order_product_search |
sale.report | filter | Inherits sale.view_order_product_search | |
view_sales_order_filter |
sale.order | field | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Sale Order Type'
No public methods.
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
readonly=True
states={'draft': [('readonly', False)]}
store=True
string='Sale Type'
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
copy_data(self, default=None)
No new fields.
Public methods (0)No public methods.
type_id
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
ondelete='restrict'
readonly=False
states={'sale': [('readonly', True)], 'done': [('readonly', True)], 'cancel': [('readonly', True)]}
store=True
string='Type'
create(self, vals)
onchange_type_id(self)
write(self, vals)
No new fields.
Public methods (1)product_id_change(self)
active
Boolean
default=True
analytic_account_id
Many2one → account.analytic.account
check_company=True
comodel_name='account.analytic.account'
string='Analytic account'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
store=True
description
Text
translate=True
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
string='Incoterm'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
domain="[('type', '=', 'sale'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Billing Journal'
name
Char
required=True
translate=True
payment_term_id
Many2one → account.payment.term
check_company=True
comodel_name='account.payment.term'
string='Payment Term'
picking_policy
Selection
default=default_picking_policy
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
check_company=True
comodel_name='product.pricelist'
string='Pricelist'
quotation_validity_days
Integer
string='Quotation Validity (Days)'
route_id
Many2one → stock.location.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
check_company=True
comodel_name='stock.warehouse'
string='Warehouse'
default_picking_policy(self)
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Type'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/13.0/sale_order_type |
| VERSION | |
| VERSION | 1.8.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Carlos Dauden, Akim Juillerat, david, Ivàn Todorovich, OCA Transbot, sergio-teruel, Nicolás Mac Rouillon, oca-travis, Weblate, OCA-git-bot, oca-ci, ntsirintanis, David Alonso // Solvos |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.move.form.sot | account.move | field | Inherits account.view_move_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
view_sales_order_filter |
sale.order | field | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
readonly=False
states={'posted': [('readonly', True)], 'cancel': [('readonly', True)]}
store=True
string='Sale Type'
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
No public methods.
type_id
Many2one → sale.order.type
check_company=True
comodel_name='sale.order.type'
compute='_compute_sale_type_id'
copy=True
default=<expr>
ondelete='restrict'
readonly=False
states={'sale': [('readonly', True)], 'done': [('readonly', True)], 'cancel': [('readonly', True)]}
store=True
string='Type'
create(self, vals)
onchange_type_id(self)
write(self, vals)
No new fields.
Public methods (1)product_id_change(self)
active
Boolean
default=True
analytic_account_id
Many2one → account.analytic.account
check_company=True
comodel_name='account.analytic.account'
string='Analytic account'
company_id
Many2one → res.company
comodel_name='res.company'
default=<expr>
store=True
description
Text
translate=True
incoterm_id
Many2one → account.incoterms
comodel_name='account.incoterms'
string='Incoterm'
journal_id
Many2one → account.journal
check_company=True
comodel_name='account.journal'
domain="[('type', '=', 'sale'), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Billing Journal'
name
Char
required=True
translate=True
payment_term_id
Many2one → account.payment.term
check_company=True
comodel_name='account.payment.term'
string='Payment Term'
picking_policy
Selection
default=default_picking_policy
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
check_company=True
comodel_name='product.pricelist'
strint='Pricelist'
quotation_validity_days
Integer
string='Quotation Validity (Days)'
route_id
Many2one → stock.location.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
check_company=True
comodel_name='stock.warehouse'
string='Warehouse'
default_picking_policy(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/12.0/sale_order_type |
| VERSION | |
| VERSION | 1.3.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | david, OCA Transbot, sergio-teruel, Nicolás Mac Rouillon, angelmoya, oca-travis, Weblate, OCA-git-bot, sergiocorato, Stephan Keller, Giovanni, cpatel |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:17 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - decimal_precision - uom - analytic - portal - http_routing - digest - stock_account - stock - barcodes - sale_management |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | group | Inherits base.view_partner_form |
sot_invoice_form |
account.invoice.form.sot | account.invoice | field | Inherits account.invoice_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
view_sales_order_filter |
sale.order.type.order.search | sale.order | filter | Inherits sale.view_sales_order_filter |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
readonly=True
states={'draft': [('readonly', False)]}
string='Sale Type'
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
readonly=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Type'
create(self, vals)
onchange_partner_id(self)
onchange_type_id(self)
write(self, vals)
No new fields.
Public methods (1)product_id_change(self)
active
Boolean
default=True
analytic_account_id
Many2one → account.analytic.account
check_company=True
comodel_name='account.analytic.account'
string='Analytic account'
company_id
Many2one → res.company
readonly=True
related='warehouse_id.company_id'
store=True
args: 'res.company'
description
Text
string='Description'
translate=True
incoterm_id
Many2one → account.incoterms
journal_id
Many2one → account.journal
comodel_name='account.journal'
domain=[('type', '=', 'sale')]
string='Billing Journal'
name
Char
required=True
string='Name'
translate=True
payment_term_id
Many2one → account.payment.term
picking_policy
Selection
default=default_picking_policy
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
route_id
Many2one → stock.location.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
comodel_name='stock.warehouse'
string='Warehouse'
default_picking_policy(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/11.0/sale_order_type |
| VERSION | |
| VERSION | 1.4.2 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, david, Stéphane Bidoul (ACSONE), OCA Transbot, Nicolás Mac Rouillon, oca-travis, Weblate, OCA-git-bot, SimoRubi, OCA Git Bot, David, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale_management - sale - sales_team - base - base_setup - web - bus - web_tour - account - product - decimal_precision - analytic - web_planner - portal - http_routing - account_invoicing - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | page | Inherits base.view_partner_form |
sale_order_type_rule_form |
Sale order type rule form | sale.order.type.rule | form | New |
sale_order_type_rule_tree |
Sale order type rule tree | sale.order.type.rule | tree | New |
sot_invoice_form |
account.invoice.form.sot | account.invoice | field | Inherits account.invoice_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
string='Sale Type'
match_order_type(self)
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Type'
create(self, vals)
match_order_type(self)
onchange_partner_id(self)
onchange_type_id(self)
company_id
Many2one → res.company
readonly=True
related='warehouse_id.company_id'
store=True
args: 'res.company'
description
Text
string='Description'
translate=True
incoterm_id
Many2one → stock.incoterms
journal_id
Many2one → account.journal
comodel_name='account.journal'
domain=[('type', '=', 'sale')]
string='Billing Journal'
name
Char
required=True
string='Name'
translate=True
payment_term_id
Many2one → account.payment.term
picking_policy
Selection
default=default_picking_policy
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
rule_ids
One2many → sale.order.type.rule
comodel_name='sale.order.type.rule'
copy=True
inverse_name='order_type_id'
sequence
Integer
default=10
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
comodel_name='stock.warehouse'
string='Warehouse'
default_picking_policy(self)
matches_invoice(self, invoice)
matches_order(self, order)
name
Char
required=True
order_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
ondelete='cascade'
product_category_ids
Many2many → product.category
comodel_name='product.category'
string='Product categories'
product_ids
Many2many → product.product
comodel_name='product.product'
string='Products'
sequence
Integer
default=10
matches_invoice(self, invoice)
matches_order(self, order)
matches_product_categories(self, categories)
matches_products(self, products)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/10.0/sale_order_type |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon, Niboo |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), cubells, OCA Transbot, oca-travis, Weblate, OCA-git-bot, SimoRubi, oca-ci, Pierre Faniel |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:56 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web_kanban - web - bus - web_tour - account - product - decimal_precision - report - analytic - web_planner - procurement - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | page | Inherits base.view_partner_form |
sale_order_type_rule_form |
Sale order type rule form | sale.order.type.rule | form | New |
sale_order_type_rule_tree |
Sale order type rule tree | sale.order.type.rule | tree | New |
sot_invoice_form |
account.invoice.form.sot | account.invoice | field | Inherits account.invoice_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
string='Sale Type'
match_order_type(self)
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
string='Type'
create(self, vals)
match_order_type(self)
onchange_partner_id(self)
onchange_type_id(self)
company_id
Many2one → res.company
readonly=True
related='warehouse_id.company_id'
store=True
args: 'res.company'
description
Text
string='Description'
translate=True
incoterm_id
Many2one → stock.incoterms
journal_id
Many2one → account.journal
comodel_name='account.journal'
domain=[('type', '=', 'sale')]
string='Billing Journal'
name
Char
required=True
string='Name'
translate=True
payment_term_id
Many2one → account.payment.term
picking_policy
Selection
default=default_picking_policy
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
rule_ids
One2many → sale.order.type.rule
comodel_name='sale.order.type.rule'
copy=True
inverse_name='order_type_id'
sequence
Integer
default=10
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
comodel_name='stock.warehouse'
string='Warehouse'
default_picking_policy(self)
matches_invoice(self, invoice)
matches_order(self, order)
name
Char
required=True
order_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
ondelete='cascade'
product_category_ids
Many2many → product.category
comodel_name='product.category'
string='Product categories'
product_ids
Many2many → product.product
comodel_name='product.product'
string='Products'
sequence
Integer
default=10
matches_invoice(self, invoice)
matches_order(self, order)
matches_product_categories(self, categories)
matches_products(self, products)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/9.0/sale_order_type |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), AvanzOSC, Agile Business Group, Grupo Vermon |
| COMMITTERS | |
| COMMITTERS | eLBati, Pedro M. Baeza, GitHub, Carlos Dauden, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Rafael Blasco, OCA-git-bot, Nicolas Mac Rouillon, nicomacr |
| WEBSITE | |
| WEBSITE | http://www.odoomrp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - sale - sales_team - base - base_setup - web_kanban - web - bus - account - product - decimal_precision - report - analytic - web_tip - web_planner - procurement - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | page | Inherits base.view_partner_form |
sot_invoice_form |
account.invoice.form.sot | account.invoice | field | Inherits account.invoice_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
string='Sale Type'
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
string='Type'
create(self, vals)
onchange_partner_id(self)
onchange_type_id(self)
company_id
Many2one → res.company
readonly=True
related='warehouse_id.company_id'
store=True
args: 'res.company'
description
Text
string='Description'
translate=True
incoterm_id
Many2one → stock.incoterms
journal_id
Many2one → account.journal
comodel_name='account.journal'
domain=[('type', '=', 'sale')]
string='Billing Journal'
name
Char
required=True
string='Name'
translate=True
payment_term_id
Many2one → account.payment.term
picking_policy
Selection
default=default_picking_policy
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
sequence
Integer
default=10
required=True
args: 'Sequence'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
comodel_name='stock.warehouse'
string='Warehouse'
default_picking_policy(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/sale-workflow |
| GIT | |
| GIT | https://github.com/OCA/sale-workflow.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/sale-workflow/tree/8.0/sale_order_type |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), AvanzOSC, Grupo Vermon, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), AvanzOSC, Grupo Vermon, OdooMRP team, Serv. Tecnol. Avanzados - Pedro M. Baeza |
| COMMITTERS | |
| COMMITTERS | Yannick Vaucher, Lorenzo Battistini, eLBati, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Alex Comba, OCA Transbot, oca-travis, Almudena, agaldona, Weblate, oihane, Matjaž Mozetič, Nicolas Mac Rouillon |
| WEBSITE | |
| WEBSITE | http://www.odoomrp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:22 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web_kanban - web - web_kanban_sparkline - account_voucher - account - product - decimal_precision - report - analytic - board - edi - email_template - procurement - stock - web_kanban_gauge - sale_stock - stock_account |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_partner_sale_type_form_view |
res.partner.sale_type.form | res.partner | page | Inherits base.view_partner_form |
sot_invoice_form |
account.invoice.form.sot | account.invoice | field | Inherits account.invoice_form |
sot_sale_order_type_form_view |
sale.order.type.form.view | sale.order.type | form | New |
sot_sale_order_type_search_view |
sale.order.type.search.view | sale.order.type | search | New |
sot_sale_order_type_tree_view |
sale.order.type.tree.view | sale.order.type | tree | New |
sot_view_order_form |
sale.order.form | sale.order | field | Inherits sale.view_order_form |
sale_type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
string='Sale Type'
onchange_partner_id(self, type, partner_id, date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False)
onchange_sale_type_id(self)
sale_type
Many2one → sale.order.type
comodel_name='sale.order.type'
company_dependent=True
string='Sale Order Type'
No public methods.
type_id
Many2one → sale.order.type
comodel_name='sale.order.type'
default=_get_order_type
string='Type'
create(self, vals)
onchange_partner_id(self, part)
onchange_type_id(self)
company_id
Many2one → res.company
readonly=True
related='warehouse_id.company_id'
store=True
args: 'res.company'
description
Text
string='Description'
translate=True
incoterm_id
Many2one → stock.incoterms
invoice_state
Selection
default=default_invoice_state
required=True
selection='_get_selection_invoice_state'
string='Invoice Control'
journal_id
Many2one → account.journal
comodel_name='account.journal'
domain=[('type', '=', 'sale')]
string='Billing Journal'
name
Char
required=True
string='Name'
translate=True
order_policy
Selection
default=default_order_policy
required=True
selection='_get_selection_order_policy'
string='Create Invoice'
payment_term_id
Many2one → account.payment.term
picking_policy
Selection
default=default_picking_policy
required=True
selection='_get_selection_picking_policy'
string='Shipping Policy'
pricelist_id
Many2one → product.pricelist
refund_journal_id
Many2one → account.journal
comodel_name='account.journal'
domain=[('type', '=', 'sale_refund')]
string='Refund Billing Journal'
sequence
Integer
default=0
string='Sequence'
sequence_id
Many2one → ir.sequence
comodel_name='ir.sequence'
copy=False
domain=_get_domain_sequence_id
string='Entry Sequence'
warehouse_id
Many2one → stock.warehouse
comodel_name='stock.warehouse'
required=True
string='Warehouse'
default_invoice_state(self)
default_order_policy(self)
default_picking_policy(self)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.