| 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_automatic_workflow |
| 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), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, JasminSForgeFlow |
| 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 - 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Create workflows with more or less automatization and apply it on sales
orders.
A workflow can:
- Apply default values:
- Shipping Policy (Deliver each product when available or Deliver all
products at once)
- Set the invoice's date to the sale order's date
- Set a sales team
- Apply automatic actions:
- Validate the order (only if paid, always, never)
- Send order confirmation mail (only when order confirmed)
- Create an invoice
- Validate the invoice
- Confirm the picking
This module is used by Magentoerpconnect and Prestashoperpconnect. It is
well suited for other E-Commerce connectors as well. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_list | sale.workflow.process | list | New |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
ondelete='restrict'
string='Automatic Workflow'
write(self, vals)
create_invoice
Boolean
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
required=True
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
args: 'ir.filters'
payment_filter_domain
Text
related='payment_filter_id.domain'
payment_filter_id
Many2one → ir.filters
comodel_name='ir.filters'
default=<expr>
string='Register Payment Invoice Filter'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', '=', 'sale')]"
help='Set default journal to use on invoice'
string='Sales Journal'
property_payment_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
domain="[('type', 'in', ('bank', 'cash'))]"
help='Set default journal to use on payment'
string='Payment Journal'
register_payment
Boolean
sale_done
Boolean
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
send_order_confirmation_mail
Boolean
help='When checked, after order confirmation, a confirmation email will be sent (if not already sent).'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
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_automatic_workflow |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | JordiMForgeFlow, Weblate, OCA-git-bot, oca-ci, Aungkokolin1997, Mmequignon, chaule97 |
| 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 - 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Create workflows with more or less automatization and apply it on sales
orders.
A workflow can:
- Apply default values:
- Shipping Policy (Deliver each product when available or Deliver all
products at once)
- Set the invoice's date to the sale order's date
- Set a sales team
- Apply automatic actions:
- Validate the order (only if paid, always, never)
- Send order confirmation mail (only when order confirmed)
- Create an invoice
- Validate the invoice
- Confirm the picking
This module is used by Magentoerpconnect and Prestashoperpconnect. It is
well suited for other E-Commerce connectors as well. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_list | sale.workflow.process | list | New |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
ondelete='restrict'
string='Automatic Workflow'
write(self, vals)
create_invoice
Boolean
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
required=True
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
args: 'ir.filters'
payment_filter_domain
Text
related='payment_filter_id.domain'
payment_filter_id
Many2one → ir.filters
comodel_name='ir.filters'
default=<expr>
string='Register Payment Invoice Filter'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
property_payment_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on payment'
string='Payment Journal'
register_payment
Boolean
sale_done
Boolean
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
send_order_confirmation_mail
Boolean
help='When checked, after order confirmation, a confirmation email will be sent (if not already sent).'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
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_automatic_workflow |
| VERSION | |
| VERSION | 1.2.1 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | tafaRU, Weblate, OCA-git-bot, oca-ci, Kevin Khao, Henry Backman, trisdoan |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:04 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Create workflows with more or less automatization and apply it on sales
orders.
A workflow can:
- Apply default values:
- Shipping Policy (Deliver each product when available or Deliver all
products at once)
- Set the invoice's date to the sale order's date
- Set a sales team
- Apply automatic actions:
- Validate the order (only if paid, always, never)
- Send order confirmation mail (only when order confirmed)
- Create an invoice
- Validate the invoice
- Confirm the picking
This module is used by Magentoerpconnect and Prestashoperpconnect. It is
well suited for other E-Commerce connectors as well. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
ondelete='restrict'
string='Automatic Workflow'
write(self, vals)
create_invoice
Boolean
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
required=True
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
args: 'ir.filters'
payment_filter_domain
Text
related='payment_filter_id.domain'
payment_filter_id
Many2one → ir.filters
comodel_name='ir.filters'
default=<expr>
string='Register Payment Invoice Filter'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
property_payment_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on payment'
string='Payment Journal'
register_payment
Boolean
sale_done
Boolean
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
send_order_confirmation_mail
Boolean
help='When checked, after order confirmation, a confirmation email will be sent (if not already sent).'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
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_automatic_workflow |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | Denis Roussel, Sébastien BEAU, Florian da Costa, Weblate, OCA-git-bot, oca-ci, SodexisTeam, John Herholz, sodexisteam |
| 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
write(self, vals)
create_invoice
Boolean
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
required=True
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
args: 'ir.filters'
payment_filter_domain
Text
related='payment_filter_id.domain'
payment_filter_id
Many2one → ir.filters
comodel_name='ir.filters'
default=<expr>
string='Register Payment Invoice Filter'
picking_filter_domain
Text
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
register_payment
Boolean
sale_done
Boolean
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
send_invoice
Boolean
send_invoice_filter_domain
Text
related='send_invoice_filter_id.domain'
string='Send Invoice Filter Domain'
send_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Send Invoice Filter'
args: 'ir.filters'
send_order_confirmation_mail
Boolean
help='When checked, after order confirmation, a confirmation email will be sent (if not already sent).'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
validate_picking(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/15.0/sale_automatic_workflow |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Daniel Reis, OCA Transbot, Weblate, OCA-git-bot, oca-ci, Maksym Yankin |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:33 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/sale-workflow: - sale_delivery_state 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
write(self, vals)
create_invoice
Boolean
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
args: 'ir.filters'
payment_filter_domain
Text
related='payment_filter_id.domain'
payment_filter_id
Many2one → ir.filters
comodel_name='ir.filters'
default=<expr>
string='Register Payment Invoice Filter'
picking_filter_domain
Text
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
register_payment
Boolean
sale_done
Boolean
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
send_order_confirmation_mail
Boolean
help='When checked, after order confirmation, a confirmation email will be sent (if not already sent).'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
validate_picking(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/14.0/sale_automatic_workflow |
| VERSION | |
| VERSION | 1.5.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Denis Roussel, Akim Juillerat, sbejaoui, OCA Transbot, Thierry Ducrest, jcoux, Denis Leemann, oca-travis, Weblate, OCA-git-bot, Pierrick Brun, oca-ci, Xavier Bouquiaux, Tran Thanh Phuc, oca-git-bot, KV, SodexisTeam, Olivier Nibart |
| 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
openupgradelib |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
ondelete='restrict'
string='Automatic Workflow'
write(self, vals)
create_invoice
Boolean
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
args: 'ir.filters'
payment_filter_domain
Text
related='payment_filter_id.domain'
string='Payment Filter Domain'
payment_filter_id
Many2one → ir.filters
comodel_name='ir.filters'
default=<expr>
string='Register Payment Invoice Filter'
picking_filter_domain
Text
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
register_payment
Boolean
string='Register Payment'
sale_done
Boolean
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
send_invoice
Boolean
send_invoice_filter_domain
Text
related='send_invoice_filter_id.domain'
string='Send Invoice Filter Domain'
send_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Send Invoice Filter'
args: 'ir.filters'
send_invoice_template_id
Many2one → mail.template
domain="[('model', '=', 'account.move')]"
help='Template to use when sending the email. Keep blank to use the default.'
args: 'mail.template', 'Use template'
send_order_confirmation_mail
Boolean
help='When checked, after order confirmation, a confirmation email will be sent (if not already sent).'
string='Send order confirmation mail'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
validate_picking(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/13.0/sale_automatic_workflow |
| VERSION | |
| VERSION | 2.1.1 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | Paulius Sladkevičius, Pedro M. Baeza, mreficent, Denis Roussel, Akim Juillerat, david, OCA Transbot, sergio-teruel, Víctor Martínez, Thomas Binsfeld, jcoux, João Marques, Denis Leemann, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Kitti U, tfo |
| 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
write(self, vals)
create_invoice
Boolean
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
args: 'ir.filters'
payment_filter_domain
Text
related='payment_filter_id.domain'
string='Payment Filter Domain'
payment_filter_id
Many2one → ir.filters
comodel_name='ir.filters'
default=<expr>
string='Register Payment Invoice Filter'
picking_filter_domain
Text
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
register_payment
Boolean
string='Register Payment'
sale_done
Boolean
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
send_order_confirmation_mail
Boolean
help='When checked, after order confirmation, a confirmation email will be sent (if not already sent).'
string='Send order confirmation mail'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
validate_picking(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_automatic_workflow |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | Guewen Baconnier, sebalix, Denis Roussel, OCA Transbot, Graeme Gellatly, Denis Leemann, oca-travis, Weblate, OCA-git-bot, Iryna Vyshnevska |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:16 |
| 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 |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
action_invoice_create(self, grouped=False, final=False)
create_invoice
Boolean
string='Create Invoice'
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
string='Order Filter'
args: 'ir.filters'
picking_filter_domain
Text
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
sale_done
Boolean
string='Sale Done'
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
string='Validate Invoice'
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
string='Validate Order'
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
validate_picking(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_automatic_workflow |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, Hugo Santos, Graeme Gellatly, oca-travis, Weblate |
| 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 |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
action_invoice_create(self, grouped=False, final=False)
create_invoice
Boolean
string='Create Invoice'
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
string='Order Filter'
args: 'ir.filters'
picking_filter_domain
Text
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
sale_done
Boolean
string='Sale Done'
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
string='Validate Invoice'
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
string='Validate Order'
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
validate_picking(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/10.0/sale_automatic_workflow |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Laurent Mignon (ACSONE), Denis Roussel, Akim Juillerat, Stéphane Bidoul (ACSONE), OCA Transbot, Dave Lasley, oca-travis, Weblate, OCA-git-bot, François Honoré |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/sale-workflow |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:55 |
| 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 |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
action_invoice_create(self, grouped=False, final=False)
create_invoice
Boolean
string='Create Invoice'
create_invoice_filter_domain
Text
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
order_filter_domain
Text
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
string='Order Filter'
args: 'ir.filters'
picking_filter_domain
Text
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
sale_done
Boolean
string='Sale Done'
sale_done_filter_domain
Text
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
string='Validate Invoice'
validate_invoice_filter_domain
Text
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
string='Validate Order'
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
validate_picking(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/9.0/sale_automatic_workflow |
| VERSION | |
| VERSION | 1.1.1 |
| CATEGORY | |
| CATEGORY | Sales Management |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, Sodexis |
| COMMITTERS | |
| COMMITTERS | Guewen Baconnier, Laetitia Gangloff, Pedro M. Baeza, GitHub, Laurent Mignon (ACSONE), Stéphane Bidoul (ACSONE), OCA Transbot, Florian da Costa, oca-travis, Weblate, OCA-git-bot, Atchuthan, Sodexis, Dhinesh D, xavier |
| WEBSITE | |
| WEBSITE | http://www.akretion.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 |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | xpath | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale.order.form.automatic.inherit | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale_stock.view_order_form_inherit_sale_stock |
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (2)run(self)
run_with_workflow(self, sale_workflow)
all_qty_delivered
Boolean
compute='_compute_all_qty_delivered'
store=True
string='All quantities delivered'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
action_invoice_create(self, grouped=False, final=False)
onchange_workflow_process_id(self)
create_invoice
Boolean
string='Create Invoice'
create_invoice_filter_domain
Text
readonly=True
related='create_invoice_filter_id.domain'
string='Create Invoice Filter Domain'
create_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Create Invoice Filter'
args: 'ir.filters'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_service_delivery
Boolean
help='If this box is checked, when the first invoice is created The service sale order lines will be included and will be marked as delivered'
string='Invoice Service on delivery'
name
Char
order_filter_domain
Text
readonly=True
related='order_filter_id.domain'
string='Order Filter Domain'
order_filter_id
Many2one → ir.filters
default=<expr>
string='Order Filter'
args: 'ir.filters'
picking_filter_domain
Text
readonly=True
related='picking_filter_id.domain'
string='Picking Filter Domain'
picking_filter_id
Many2one → ir.filters
default=<expr>
string='Picking Filter'
args: 'ir.filters'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
sale_done
Boolean
string='Sale Done'
sale_done_filter_domain
Text
readonly=True
related='sale_done_filter_id.domain'
string='Sale Done Filter Domain'
sale_done_filter_id
Many2one → ir.filters
default=<expr>
string='Sale Done Filter'
args: 'ir.filters'
team_id
Many2one → crm.team
comodel_name='crm.team'
string='Sales Team'
validate_invoice
Boolean
string='Validate Invoice'
validate_invoice_filter_domain
Text
readonly=True
related='validate_invoice_filter_id.domain'
string='Validate Invoice Filter Domain'
validate_invoice_filter_id
Many2one → ir.filters
default=<expr>
string='Validate Invoice Filter'
args: 'ir.filters'
validate_order
Boolean
string='Validate Order'
validate_picking
Boolean
string='Confirm and Transfer Picking'
warning
Text
help='If set, displays the message when an userselects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
copy=False
string='Sale Workflow Process'
validate_picking(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_automatic_workflow |
| VERSION | |
| VERSION | 0.3.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Others |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp |
| COMMITTERS | |
| COMMITTERS | Benoit Guillot, Stéphane Bidoul, Alexis de Lattre, Yannick Vaucher, Guewen Baconnier, Alexandre Fayolle, Laetitia Gangloff, sebastien beau, Leonardo Pistone, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Sébastien Beau, Sebastien Beau, OCA Transbot, Alberto Garcia, Damien Crier, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | http://www.akretion.com/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_stock - 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_account - stock - web_kanban_gauge |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | page | Inherits sale.view_order_form |
sale_workflow_process_view_form |
sale_automic_workflow.sale_workflow_process.view_form | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
sale_ids
Many2many → sale.order
column1='invoice_id'
column2='order_id'
comodel_name='sale.order'
relation='sale_order_invoice_rel'
string='Sale Orders'
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
No public methods.
No new fields.
Public methods (1)run(self)
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
ondelete='restrict'
string='Automatic Workflow'
onchange_workflow_process_id(self)
test_create_invoice(self)
create_invoice_on
Selection
default='manual'
required=True
selection=[('manual', 'No automatic invoice'), ('on_order_confirm', 'On confirmation of Sale Order'), ('on_picking_done', 'After Delivery')]
string='Create Invoice'
invoice_date_is_order_date
Boolean
help="When checked, the invoice date will be the same than the order's date"
string='Force Invoice Date'
invoice_quantity
Selection
default='order'
selection=[('order', 'Ordered Quantities'), ('procurement', 'Shipped Quantities')]
string='Invoice on'
name
Char
order_policy
Selection
default='manual'
selection=[('prepaid', 'Before Delivery'), ('manual', 'On Demand'), ('picking', 'On Delivery Order')]
string='Invoice Policy'
picking_policy
Selection
default='direct'
selection=[('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
string='Shipping Policy'
property_journal_id
Many2one → account.journal
comodel_name='account.journal'
company_dependent=True
help='Set default journal to use on invoice'
string='Sales Journal'
section_id
Many2one → crm.case.section
comodel_name='crm.case.section'
string='Sales Team'
ship_only_available
Boolean
help='When checked, the available quantity is shipped, and if so, a backorder is created with the rest.'
string='Ship only available goods'
validate_invoice
Boolean
string='Validate Invoice'
validate_order
Boolean
string='Validate Order'
validate_picking
Boolean
string='Confirm and Close Picking'
warning
Text
help='If set, display the message when a user selects the process on a sale order'
translate=True
args: 'Warning Message'
No public methods.
No new fields.
Public methods (0)No public methods.
workflow_process_id
Many2one → sale.workflow.process
comodel_name='sale.workflow.process'
string='Sale Workflow Process'
validate_picking(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/e-commerce |
| GIT | |
| GIT | https://github.com/OCA/e-commerce.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/e-commerce/tree/7.0/sale_automatic_workflow |
| VERSION | |
| VERSION | 0.2 |
| CATEGORY | |
| CATEGORY | Generic Modules/Others |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp |
| COMMITTERS | |
| COMMITTERS | Yannick Vaucher, Romain Deheele, Guewen Baconnier, Alexandre Fayolle, Matthieu Dietrich, Sébastien Beau, Sebastien Beau, Rudolf Schnapka, Alberto Garcia |
| WEBSITE | |
| WEBSITE | http://www.akretion.com/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:07:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/e-commerce: - sale_payment_method odoo/odoo: - sale - account_voucher - account - base_setup - base - web_kanban - web - product - process - decimal_precision - analytic - board - edi - email_template - stock |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Sale Automatic Workflow ======================= Create workflows with more or less automatization and apply it on sales orders. A workflow can: - Apply default values: * Packing Policy (partial, complete) * Shipping Policy (prepaid, manual, postpaid, picking) * Invoice On (ordered quantities, shipped quantities) * Set the invoice's date to the sale order's date - Apply automatic actions: * Validate the order (only if paid, always, never) * Create an invoice * Validate the invoice * Confirm the picking This module is used by Magentoerpconnect and Prestashoperpconnect. It is well suited for other E-Commerce connectors as well. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
payment_method_view_form |
sale_automatic_workflow.payment_method.view_form | payment.method | field | Inherits sale_payment_method.payment_method_view_form |
payment_method_view_tree |
sale_automatic_workflow.payment_method.view_tree | payment.method | field | Inherits sale_payment_method.payment_method_view_tree |
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | field | Inherits sale_payment_method.sale_order_view_form |
sale_workflow_process_view_form |
sale_automic_workflow.sale_workflow_process.view_form | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
No new fields.
Public methods (1)reconcile_invoice(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)run(self, cr, uid, ids=None, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (3)onchange_payment_method_id(self, cr, uid, ids, payment_method_id, context=None)
onchange_workflow_process_id(self, cr, uid, ids, workflow_process_id, context=None)
test_create_invoice(self, cr, uid, ids)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)validate_picking(self, cr, uid, ids, context=None)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/e-commerce |
| GIT | |
| GIT | https://github.com/OCA/e-commerce.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/e-commerce/tree/6.1/sale_automatic_workflow |
| VERSION | |
| VERSION | 6.1.1 |
| CATEGORY | |
| CATEGORY | Generic Modules/Others |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Guewen Baconnier, Alexandre Fayolle, sebastien beau, florian-dacosta |
| WEBSITE | |
| WEBSITE | http://www.akretion.com/ |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:04:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/e-commerce: - sale_quick_payment odoo/odoo: - sale - stock - product - base - process - decimal_precision - account - base_setup - analytic - board - edi - email_template - base_tools - procurement - account_voucher |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | empty |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
payment_method_view_form |
sale_automatic_workflow.payment_method.view_form | payment.method | field | Inherits sale_quick_payment.payment_method_view_form |
payment_method_view_tree |
sale_automatic_workflow.payment_method.view_tree | payment.method | field | Inherits sale_quick_payment.payment_method_view_tree |
sale_order_view_form |
sale_automatic_workflow.sale_order.view_form | sale.order | group | Inherits sale_quick_payment.sale_order_view_form |
sale_workflow_process_view_form |
sale_automic_workflow.sale_workflow_process.view_form | sale.workflow.process | form | New |
sale_workflow_process_view_tree |
sale_automic_workflow.sale_workflow_process.view_tree | sale.workflow.process | tree | New |
No new fields.
Public methods (1)reconcile_invoice(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)run(self, cr, uid, ids=None, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)validate_picking(self, cr, uid, ids, context=None)