Sale Dropshipping

sale_dropshipping
REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/10.0/sale_dropshipping
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYGeneric Modules/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSPedro M. Baeza, Denis Roussel
WEBSITE
WEBSITEhttps://github.com/OCA/sale-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
    - sale_stock
    - sale
    - sales_team
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Makes it better to deal with purchases with known sale schemes, specially the
following case:
1) normal
2) direct delivery (also called drop shipping)
3) direct invoice
4) direct delivery and direct invoice
See the attached diagram in images/purchase_to_sale.png to see the difference
between those flows.

In all those specific MTO (by opposition of MTS) cases,
it will link the sale order line and the purchase order lines together.

A good idea might be to use this module with the mrp_jit module
if you want MTO flows to be automatically dealt with right
at the sale order validation.

You can also tell if product suppliers accept drop shipping or not.
 If they accept it and if sale order
line has more products than the virtual quantity available,
then it selects drop shipping by default.

In the out going product list view, you can filter in or out drop shipping
picking.

TODO: eventually it might be interesting to do a chained move from supplier to
internal location and
from internal location to customer instead of supplier o customer directly.
This would enable moves to properly generate accounting moves
 in the stock journal for better tracking.
    

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
ir_ui_view_purchase_to_sale ir_ui_view_purchase_to_sale purchase.order field Inherits purchase.purchase_order_form
ir_ui_view_purchase_to_sale_purchase ir_ui_view_purchase_to_sale_purchase purchase.order field Inherits purchase.view_purchase_order_filter
ir_ui_view_purchase_to_sale_stock ir_ui_view_purchase_to_sale_stock stock.picking filter Inherits stock.view_picking_out_search
product_supplierinfo_form_view_partner_direct_delivery_form product.supplierinfo.form.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_form_view
product_supplierinfo_tree_view_partner_direct_delivery_tree product.supplierinfo.tree.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_tree_view
view_order_form_sale_flow view_order_form_sale_flow sale.order xpath Inherits sale.view_order_form
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • create_procurement_purchase_order(self, cr, uid, procurement, po_vals, line_vals, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • action_picking_create(self, cr, uid, ids, context=None)
  • sale_flow_change(self, cr, uid, ids, sale_flow, sale_id, warehouse_id, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_button_confirm(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (2)
  • onchange_sale_flow(self, cr, uid, ids, sale_flow, product_id, context=None)
    Change type to make_to_order when sale_flow is direct_delivery
  • product_id_change(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, context=None)
REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/9.0/sale_dropshipping
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYGeneric Modules/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSPedro M. Baeza
WEBSITE
WEBSITEhttp://www.openerp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
    - web_tip
    - sale_stock
    - sale
    - sales_team
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Makes it better to deal with purchases with known sale schemes, specially the
following case:
1) normal
2) direct delivery (also called drop shipping)
3) direct invoice
4) direct delivery and direct invoice
See the attached diagram in images/purchase_to_sale.png to see the difference
between those flows.

In all those specific MTO (by opposition of MTS) cases,
it will link the sale order line and the purchase order lines together.

A good idea might be to use this module with the mrp_jit module
if you want MTO flows to be automatically dealt with right
at the sale order validation.

You can also tell if product suppliers accept drop shipping or not.
 If they accept it and if sale order
line has more products than the virtual quantity available,
then it selects drop shipping by default.

In the out going product list view, you can filter in or out drop shipping
picking.

TODO: eventually it might be interesting to do a chained move from supplier to
internal location and
from internal location to customer instead of supplier o customer directly.
This would enable moves to properly generate accounting moves
 in the stock journal for better tracking.
    

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
ir_ui_view_purchase_to_sale ir_ui_view_purchase_to_sale purchase.order field Inherits purchase.purchase_order_form
ir_ui_view_purchase_to_sale_purchase ir_ui_view_purchase_to_sale_purchase purchase.order field Inherits purchase.view_purchase_order_filter
ir_ui_view_purchase_to_sale_stock ir_ui_view_purchase_to_sale_stock stock.picking filter Inherits stock.view_picking_out_search
product_supplierinfo_form_view_partner_direct_delivery_form product.supplierinfo.form.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_form_view
product_supplierinfo_tree_view_partner_direct_delivery_tree product.supplierinfo.tree.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_tree_view
view_order_form_sale_flow view_order_form_sale_flow sale.order xpath Inherits sale.view_order_form
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • create_procurement_purchase_order(self, cr, uid, procurement, po_vals, line_vals, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • action_picking_create(self, cr, uid, ids, context=None)
  • sale_flow_change(self, cr, uid, ids, sale_flow, sale_id, warehouse_id, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_button_confirm(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (2)
  • onchange_sale_flow(self, cr, uid, ids, sale_flow, product_id, context=None)
    Change type to make_to_order when sale_flow is direct_delivery
  • product_id_change(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, context=None)
REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/8.0/sale_dropshipping
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYGeneric Modules/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSStéphane Bidoul, Pedro M. Baeza
WEBSITE
WEBSITEhttp://www.openerp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - purchase
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
    - account
    - analytic
    - edi
    - email_template
    - sale_stock
    - sale
    - sales_team
    - account_voucher
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Makes it better to deal with purchases with known sale schemes, specially the
following case:
1) normal
2) direct delivery (also called drop shipping)
3) direct invoice
4) direct delivery and direct invoice
See the attached diagram in images/purchase_to_sale.png to see the difference
between those flows.

In all those specific MTO (by opposition of MTS) cases,
it will link the sale order line and the purchase order lines together.

A good idea might be to use this module with the mrp_jit module
if you want MTO flows to be automatically dealt with right
at the sale order validation.

You can also tell if product suppliers accept drop shipping or not.
 If they accept it and if sale order
line has more products than the virtual quantity available,
then it selects drop shipping by default.

In the out going product list view, you can filter in or out drop shipping
picking.

TODO: eventually it might be interesting to do a chained move from supplier to
internal location and
from internal location to customer instead of supplier o customer directly.
This would enable moves to properly generate accounting moves
 in the stock journal for better tracking.
    

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
ir_ui_view_purchase_to_sale ir_ui_view_purchase_to_sale purchase.order field Inherits purchase.purchase_order_form
ir_ui_view_purchase_to_sale_purchase ir_ui_view_purchase_to_sale_purchase purchase.order field Inherits purchase.view_purchase_order_filter
ir_ui_view_purchase_to_sale_stock ir_ui_view_purchase_to_sale_stock stock.picking filter Inherits stock.view_picking_out_search
product_supplierinfo_form_view_partner_direct_delivery_form product.supplierinfo.form.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_form_view
product_supplierinfo_tree_view_partner_direct_delivery_tree product.supplierinfo.tree.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_tree_view
view_order_form_sale_flow view_order_form_sale_flow sale.order xpath Inherits sale.view_order_form
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • create_procurement_purchase_order(self, cr, uid, procurement, po_vals, line_vals, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • action_picking_create(self, cr, uid, ids, context=None)
  • sale_flow_change(self, cr, uid, ids, sale_flow, sale_id, warehouse_id, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_button_confirm(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (2)
  • onchange_sale_flow(self, cr, uid, ids, sale_flow, product_id, context=None)
    Change type to make_to_order when sale_flow is direct_delivery
  • product_id_change(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, context=None)
REPOSITORY
REPOSITORYOCA/sale-workflow
GIT
GIThttps://github.com/OCA/sale-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-workflow/tree/7.0/sale_dropshipping
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYGeneric Modules/Purchase
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSYannick Vaucher, Romain Deheele, Guewen Baconnier, Lorenzo Battistini, Alexandre Fayolle, Joel Grand-Guillaume, Leonardo Pistone, Pedro M. Baeza, unknown, moylop260, tornoz
WEBSITE
WEBSITEhttp://www.openerp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/purchase-workflow:
    - purchase_group_hooks
odoo/odoo:
    - purchase
    - stock
    - product
    - base
    - process
    - web
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - account
    - analytic
    - board
    - edi
    - email_template
    - procurement
    - sale_stock
    - sale
    - account_voucher
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Makes it better to deal with purchases with known sale schemes, specially the
following case:
1) normal
2) direct delivery (also called drop shipping)
3) direct invoice
4) direct delivery and direct invoice
See the attached diagram in images/purchase_to_sale.png to see the difference
between those flows.

In all those specific MTO (by opposition of MTS) cases,
it will link the sale order line and the purchase order lines together.

A good idea might be to use this module with the mrp_jit module
if you want MTO flows to be automatically dealt with right
at the sale order validation.

You can also tell if product suppliers accept drop shipping or not.
 If they accept it and if sale order
line has more products than the virtual quantity available,
then it selects drop shipping by default.

In the out going product list view, you can filter in or out drop shipping
picking.

TODO: eventually it might be interesting to do a chained move from supplier to
internal location and
from internal location to customer instead of supplier o customer directly.
This would enable moves to properly generate accounting moves
 in the stock journal for better tracking.
    

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
ir_ui_view_purchase_to_sale ir_ui_view_purchase_to_sale purchase.order field Inherits purchase.purchase_order_form
ir_ui_view_purchase_to_sale_purchase ir_ui_view_purchase_to_sale_purchase purchase.order field Inherits purchase.view_purchase_order_filter
ir_ui_view_purchase_to_sale_stock ir_ui_view_purchase_to_sale_stock stock.picking filter Inherits stock.view_picking_out_search
product_supplierinfo_form_view_partner_direct_delivery_form product.supplierinfo.form.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_form_view
product_supplierinfo_tree_view_partner_direct_delivery_tree product.supplierinfo.tree.direct_delivery.inherit product.supplierinfo field Inherits product.product_supplierinfo_tree_view
view_order_form_sale_flow view_order_form_sale_flow sale.order xpath Inherits sale.view_order_form
Models touched (7)

New fields (0)

No new fields.

Public methods (1)
  • create_procurement_purchase_order(self, cr, uid, procurement, po_vals, line_vals, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • sale_flow_change(self, cr, uid, ids, sale_flow, sale_id, warehouse_id, context=None)
  • view_picking(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • action_button_confirm(self, cr, uid, ids, context=None)

New fields (0)

No new fields.

Public methods (2)
  • onchange_sale_flow(self, cr, uid, ids, sale_flow, product_id, context=None)
    Change type to make_to_order when sale_flow is direct_delivery
  • product_id_change(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, context=None)