Repository
OCA/stock-logistics-warehouse · module folder · Try on Runboat
Module version
1.0.0
Category
Warehouse
Folder size
0.11 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/stock-logistics-warehouse
Last tracking update
2026-08-11 11:13:00
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
Yann Papouin, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module add a Make To Stock + Make to Order Route.

If you choose the make to stock + make to order rule instead of the make
to order route, the creation of a purchase order will depend on the
virtual stock. There are 3 cases :

1.  The virtual stock of the product is 0  
    =\> It will act exactly like the make to order route.

2.  The virtual stock is equal to the quantity ordered  
    =\> It will act exactly like a make to stock route

3.  The virtual stock is more than 0 but less than ordered quantity  
    =\> On part of the products will be taken from stock and a purchase order  
    will be created for the rest. So it will act like both make to order
    and make to stock rule.

Example : We have a virtual stock of : 1 product A A sale Order is made
for 3 products A. 2 Procurements will be created :

1.  1 with a make to stock rule and a quantity of 1
2.  1 with a make to order rule and a quantity of 2.

After validation, a purchase order with 2 products will be created.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
stock_location_route_form_view_mto_mto stock.route.form.mts.mto stock.route form Inherits stock.stock_location_route_form_view
view_stock_rule_form_view_mto_mto stock.rule.form.mts.mto stock.rule form Inherits stock.view_stock_rule_form
view_warehouse_inherited view_warehouse_inherited stock.warehouse Inherits stock.view_warehouse
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (3)
  • action Selection
    ondelete={'split_procurement': 'cascade'} selection_add=[('split_procurement', 'Choose between MTS and MTO')]
  • mto_rule_id Many2one → stock.rule
    check_company=True string='MTO Rule' args: 'stock.rule'
  • mts_rule_id Many2one → stock.rule
    check_company=True string='MTS Rule' args: 'stock.rule'
Public methods (1)
  • get_mto_qty_to_order(self, product, product_qty, product_uom, values)

New fields (2)
  • mto_mts_management Boolean
    help='If this new route is selected on product form view, a purchase order will be created only if the virtual stock is less than 0 else, the product will be taken from stocks' args: 'Use MTO+MTS rules'
  • mts_mto_rule_id Many2one → stock.rule
    check_company=True args: 'stock.rule', 'MTO+MTS rule'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…