Logistics Order

logistic_order
REPOSITORY
REPOSITORYOCA/vertical-ngo
GIT
GIThttps://github.com/OCA/vertical-ngo.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-ngo/tree/10.0/logistic_order
VERSION
VERSION 0.3.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/sale-workflow:
    - sale_validity
    - sale_quotation_sourcing
    - sale_exception
    - sale_procurement_group_by_line
OCA/server-tools:
    - base_exception
OCA/stock-logistics-transport:
    - sale_transport_multi_address
    - stock_transport_multi_address
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - web_planner
    - procurement
    - stock_account
    - stock
    - barcodes
    - delivery
    - purchase
    - stock_dropshipping
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Logistics Order
===============

This module customizes the Sales Orders to disguise them in Logistics Orders

A draft Sale order is now a Cost Estimate
An opened Sale order is now a Logistics Order

* Adds Consignee, Incoterm Address and Delivery time on the Logistics Order
* Adds a main menu entry `Order Management`


Contributors
------------

* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
report_logistic_order_document report_logistic_order_document ir.ui.view qweb Inherits sale.report_saleorder_document
view_order_form sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit
view_quotation_tree sale.order.tree sale.order tree Inherits sale.view_quotation_tree
view_sales_order_filter sale.order.list.select sale.order field Inherits sale.view_sales_order_filter
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • send_mail(self)
    @api.multi
    When sending mail for a Cost Estimate Only Send a signal to set the Cost Estimate to `done`

New fields (20)
  • carrier_id Many2one → delivery.carrier
    help='Complete this field if you plan to invoice the shipping based on picking.' states=LO_STATES string='Delivery Method' args: 'delivery.carrier'
  • client_order_ref Char
    states=LO_STATES
  • company_id Many2one
    states=LO_STATES
  • currency_id Many2one
    co_model='res.currency' related='pricelist_id.currency_id' states=LO_STATES string='Currency'
  • delivery_remark Text
    states=LO_STATES args: 'Delivery Remarks'
  • delivery_time Char
    states=LO_STATES args: 'Delivery time'
  • fiscal_position Many2one
    states=LO_STATES
  • incoterm Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' states=LO_STATES args: 'stock.incoterms', 'Incoterm'
  • incoterm_address Char
    help='Incoterm Place of Delivery. International Commercial Terms are a series of predefined commercial terms used in international transactions.' states=LO_STATES args: 'Incoterm Place'
  • note Text
    states=LO_STATES
  • order_type Selection
    default='standard' selection=_get_order_type_selection states=LO_STATES string='Type'
  • origin Char
    states=LO_STATES
  • payment_term Many2one
    states=LO_STATES
  • procurement_group_id Many2one
    states=LO_STATES
  • remark Text
    states=LO_STATES args: 'Remarks / Description'
  • section_id Many2one
    states=LO_STATES
  • state Selection
    copy=False help="Gives the status of the quotation or sales order.\nThe exception status is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception).\nThe 'Waiting Schedule' status is set when the invoice is confirmed but waiting for the scheduler to run on the order date." readonly=True select=True args: [('draft', 'Draft Quotation'), ('sent', 'Quotation Sent'), ('accepted', 'Cost Estimate Accepted'), ('cancel', 'Cancelled'), ('waiting_date', 'Waiting Schedule'), ('progress', 'Sales Order'), ('manual', 'Sale to Invoice'), ('shipping_except', 'Shipping Exception'), ('invoice_except', 'Invoice Exception'), ('done', 'Done')], 'Status'
  • user_id Many2one
    states=LO_STATES
  • volume Float
    compute='_get_volume' store=True string='Volume (m³)'
  • weight Float
    compute='_get_weight' store=True string='Weight (kg)'
Public methods (4)
  • action_accepted(self)
    @api.multi
  • action_quotation_send(self)
    @api.multi
    In case of Cost Estimate only, register an option to set the Cost Estimate immediatly to `done` when the users sends his mail. Nevertheless, if he launches the wizard but cancel it, we won't trigger the transition to `done` We pass this in order to avoid to browse in `mail.compose.message`
  • copy_quotation(self)
    @api.multi
    Copy the quotation and open it in the current form view. Do not specify the view, so that the inherited one is chosen.
  • get_order_type_selection(self)
    @api.model
    Extendable selection list

New fields (3)
  • value_of_goods Float
    help='This field represent the value of the goods and will be used for reporting purpose (e.g mobilization table)'
  • volume Float
    compute='_get_volume' string='Volume (m³)'
  • weight Float
    compute='_get_weight' string='Weight (kg)'
Public methods (1)
  • product_id_change_with_wh(self, cr, uid, ids, pricelist, product, qty=0, uom=False, qty_uos=0, uos=False, name='', partner_id=False, lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, warehouse_id=False, context=None)
REPOSITORY
REPOSITORYOCA/vertical-ngo
GIT
GIThttps://github.com/OCA/vertical-ngo.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-ngo/tree/9.0/logistic_order
VERSION
VERSION 0.3.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/sale-workflow:
    - sale_validity
    - sale_quotation_sourcing
    - sale_exception
    - sale_procurement_group_by_line
OCA/stock-logistics-transport:
    - sale_transport_multi_address
    - stock_transport_multi_address
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - web_tip
    - web_planner
    - procurement
    - stock_account
    - stock
    - barcodes
    - delivery
    - purchase
    - stock_dropshipping
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Logistics Order
===============

This module customizes the Sales Orders to disguise them in Logistics Orders

A draft Sale order is now a Cost Estimate
An opened Sale order is now a Logistics Order

* Adds Consignee, Incoterm Address and Delivery time on the Logistics Order
* Adds a main menu entry `Order Management`


Contributors
------------

* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
report_logistic_order_document report_logistic_order_document ir.ui.view qweb Inherits sale.report_saleorder_document
view_order_form sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit
view_quotation_tree sale.order.tree sale.order tree Inherits sale.view_quotation_tree
view_sales_order_filter sale.order.list.select sale.order field Inherits sale.view_sales_order_filter
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • send_mail(self)
    @api.multi
    When sending mail for a Cost Estimate Only Send a signal to set the Cost Estimate to `done`

New fields (20)
  • carrier_id Many2one → delivery.carrier
    help='Complete this field if you plan to invoice the shipping based on picking.' states=LO_STATES string='Delivery Method' args: 'delivery.carrier'
  • client_order_ref Char
    states=LO_STATES
  • company_id Many2one
    states=LO_STATES
  • currency_id Many2one
    co_model='res.currency' related='pricelist_id.currency_id' states=LO_STATES string='Currency'
  • delivery_remark Text
    states=LO_STATES args: 'Delivery Remarks'
  • delivery_time Char
    states=LO_STATES args: 'Delivery time'
  • fiscal_position Many2one
    states=LO_STATES
  • incoterm Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' states=LO_STATES args: 'stock.incoterms', 'Incoterm'
  • incoterm_address Char
    help='Incoterm Place of Delivery. International Commercial Terms are a series of predefined commercial terms used in international transactions.' states=LO_STATES args: 'Incoterm Place'
  • note Text
    states=LO_STATES
  • order_type Selection
    default='standard' selection=_get_order_type_selection states=LO_STATES string='Type'
  • origin Char
    states=LO_STATES
  • payment_term Many2one
    states=LO_STATES
  • procurement_group_id Many2one
    states=LO_STATES
  • remark Text
    states=LO_STATES args: 'Remarks / Description'
  • section_id Many2one
    states=LO_STATES
  • state Selection
    copy=False help="Gives the status of the quotation or sales order.\nThe exception status is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception).\nThe 'Waiting Schedule' status is set when the invoice is confirmed but waiting for the scheduler to run on the order date." readonly=True select=True args: [('draft', 'Draft Quotation'), ('sent', 'Quotation Sent'), ('accepted', 'Cost Estimate Accepted'), ('cancel', 'Cancelled'), ('waiting_date', 'Waiting Schedule'), ('progress', 'Sales Order'), ('manual', 'Sale to Invoice'), ('shipping_except', 'Shipping Exception'), ('invoice_except', 'Invoice Exception'), ('done', 'Done')], 'Status'
  • user_id Many2one
    states=LO_STATES
  • volume Float
    compute='_get_volume' store=True string='Volume (m³)'
  • weight Float
    compute='_get_weight' store=True string='Weight (kg)'
Public methods (4)
  • action_accepted(self)
    @api.multi
  • action_quotation_send(self)
    @api.multi
    In case of Cost Estimate only, register an option to set the Cost Estimate immediatly to `done` when the users sends his mail. Nevertheless, if he launches the wizard but cancel it, we won't trigger the transition to `done` We pass this in order to avoid to browse in `mail.compose.message`
  • copy_quotation(self)
    @api.multi
    Copy the quotation and open it in the current form view. Do not specify the view, so that the inherited one is chosen.
  • get_order_type_selection(self)
    @api.model
    Extendable selection list

New fields (3)
  • value_of_goods Float
    help='This field represent the value of the goods and will be used for reporting purpose (e.g mobilization table)'
  • volume Float
    compute='_get_volume' string='Volume (m³)'
  • weight Float
    compute='_get_weight' string='Weight (kg)'
Public methods (1)
  • product_id_change_with_wh(self, cr, uid, ids, pricelist, product, qty=0, uom=False, qty_uos=0, uos=False, name='', partner_id=False, lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, warehouse_id=False, context=None)
REPOSITORY
REPOSITORYOCA/vertical-ngo
GIT
GIThttps://github.com/OCA/vertical-ngo.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-ngo/tree/8.0/logistic_order
VERSION
VERSION 0.3.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSYannick Vaucher, Alexandre Fayolle, Joël Grand-Guillaume, Leonardo Pistone, Stéphane Bidoul (ACSONE), OCA-git-bot
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/sale-workflow:
    - sale_validity
    - sale_quotation_sourcing
    - sale_exceptions
    - sale_procurement_group_by_line
OCA/stock-logistics-transport:
    - sale_transport_multi_address
    - stock_transport_multi_address
odoo/odoo:
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - 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
    - delivery
    - purchase
    - stock_dropshipping
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Logistics Order
===============

This module customizes the Sales Orders to disguise them in Logistics Orders

A draft Sale order is now a Cost Estimate
An opened Sale order is now a Logistics Order

* Adds Consignee, Incoterm Address and Delivery time on the Logistics Order
* Adds a main menu entry `Order Management`


Contributors
------------

* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
report_logistic_order_document report_logistic_order_document ir.ui.view qweb Inherits sale.report_saleorder_document
view_order_form sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit
view_quotation_tree sale.order.tree sale.order tree Inherits sale.view_quotation_tree
view_sales_order_filter sale.order.list.select sale.order field Inherits sale.view_sales_order_filter
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • send_mail(self)
    @api.multi
    When sending mail for a Cost Estimate Only Send a signal to set the Cost Estimate to `done`

New fields (20)
  • carrier_id Many2one → delivery.carrier
    help='Complete this field if you plan to invoice the shipping based on picking.' states=LO_STATES string='Delivery Method' args: 'delivery.carrier'
  • client_order_ref Char
    states=LO_STATES
  • company_id Many2one
    states=LO_STATES
  • currency_id Many2one
    co_model='res.currency' related='pricelist_id.currency_id' states=LO_STATES string='Currency'
  • delivery_remark Text
    states=LO_STATES args: 'Delivery Remarks'
  • delivery_time Char
    states=LO_STATES args: 'Delivery time'
  • fiscal_position Many2one
    states=LO_STATES
  • incoterm Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' states=LO_STATES args: 'stock.incoterms', 'Incoterm'
  • incoterm_address Char
    help='Incoterm Place of Delivery. International Commercial Terms are a series of predefined commercial terms used in international transactions.' states=LO_STATES args: 'Incoterm Place'
  • note Text
    states=LO_STATES
  • order_type Selection
    default='standard' selection=_get_order_type_selection states=LO_STATES string='Type'
  • origin Char
    states=LO_STATES
  • payment_term Many2one
    states=LO_STATES
  • procurement_group_id Many2one
    states=LO_STATES
  • remark Text
    states=LO_STATES args: 'Remarks / Description'
  • section_id Many2one
    states=LO_STATES
  • state Selection
    copy=False help="Gives the status of the quotation or sales order.\nThe exception status is automatically set when a cancel operation occurs in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception).\nThe 'Waiting Schedule' status is set when the invoice is confirmed but waiting for the scheduler to run on the order date." readonly=True select=True args: [('draft', 'Draft Quotation'), ('sent', 'Quotation Sent'), ('accepted', 'Cost Estimate Accepted'), ('cancel', 'Cancelled'), ('waiting_date', 'Waiting Schedule'), ('progress', 'Sales Order'), ('manual', 'Sale to Invoice'), ('shipping_except', 'Shipping Exception'), ('invoice_except', 'Invoice Exception'), ('done', 'Done')], 'Status'
  • user_id Many2one
    states=LO_STATES
  • volume Float
    compute='_get_volume' store=True string='Volume (m³)'
  • weight Float
    compute='_get_weight' store=True string='Weight (kg)'
Public methods (4)
  • action_accepted(self)
    @api.multi
  • action_quotation_send(self)
    @api.multi
    In case of Cost Estimate only, register an option to set the Cost Estimate immediatly to `done` when the users sends his mail. Nevertheless, if he launches the wizard but cancel it, we won't trigger the transition to `done` We pass this in order to avoid to browse in `mail.compose.message`
  • copy_quotation(self)
    @api.multi
    Copy the quotation and open it in the current form view. Do not specify the view, so that the inherited one is chosen.
  • get_order_type_selection(self)
    @api.model
    Extendable selection list

New fields (3)
  • value_of_goods Float
    help='This field represent the value of the goods and will be used for reporting purpose (e.g mobilization table)'
  • volume Float
    compute='_get_volume' string='Volume (m³)'
  • weight Float
    compute='_get_weight' string='Weight (kg)'
Public methods (1)
  • product_id_change_with_wh(self, cr, uid, ids, pricelist, product, qty=0, uom=False, qty_uos=0, uos=False, name='', partner_id=False, lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, warehouse_id=False, context=None)
REPOSITORY
REPOSITORYOCA/vertical-ngo
GIT
GIThttps://github.com/OCA/vertical-ngo.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/vertical-ngo/tree/7.0/logistic_order
VERSION
VERSION 0.1
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSGuewen Baconnier, Alexandre Fayolle, Joel Grand-Guillaume, Nicolas Bessi
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/purchase-workflow:
    - purchase_group_hooks
OCA/sale-reporting:
    - sale_order_webkit
OCA/sale-workflow:
    - sale_validity
    - sale_sourced_by_line
    - sale_dropshipping
OCA/stock-logistics-warehouse:
    - stock_location_ownership
OCA/vertical-ngo:
    - transport_plan
OCA/webkit-tools:
    - base_headers_webkit
odoo/odoo:
    - sale_stock
    - sale
    - account_voucher
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - process
    - decimal_precision
    - mail
    - analytic
    - board
    - edi
    - email_template
    - stock
    - procurement
    - purchase
    - delivery
    - report_webkit
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module customizes the Sales Orders to disguise them in Logistic Orders
===========================================================================

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
view_order_form sale.order.form sale.order xpath Inherits sale_stock.view_order_form_inherit
view_order_form_delivery_time delivery time sale.order xpath Inherits sale.view_order_form
view_quotation_tree sale.order.tree sale.order tree Inherits sale.view_quotation_tree
view_sales_order_filter sale.order.list.select sale.order search Inherits sale.view_sales_order_filter
Models touched (1)

New fields (0)

No new fields.

Public methods (0)

No public methods.