diff --git a/__init__.py b/__init__.py
new file mode 100644
index 0000000..2ae6446
--- /dev/null
+++ b/__init__.py
@@ -0,0 +1,5 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import models
+from . import wizard
diff --git a/__manifest__.py b/__manifest__.py
new file mode 100644
index 0000000..baaae6e
--- /dev/null
+++ b/__manifest__.py
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+
+{
+ 'name': 'Dropship and Subcontracting Management',
+ 'version': '0.1',
+ 'category': 'Inventory/Purchase',
+ 'description': """
+This bridge module allows to manage subcontracting with the dropshipping module.
+ """,
+ 'depends': ['mrp_subcontracting', 'stock_dropshipping'],
+ 'data': [
+ 'data/mrp_subcontracting_dropshipping_data.xml',
+ 'views/stock_warehouse_views.xml',
+ 'views/purchase_order_views.xml',
+ ],
+ 'installable': True,
+ 'auto_install': True,
+ 'license': 'LGPL-3',
+}
diff --git a/data/mrp_subcontracting_dropshipping_data.xml b/data/mrp_subcontracting_dropshipping_data.xml
new file mode 100644
index 0000000..c99db07
--- /dev/null
+++ b/data/mrp_subcontracting_dropshipping_data.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ Dropship Subcontractor on Order
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/i18n/ar.po b/i18n/ar.po
new file mode 100644
index 0000000..b8928df
--- /dev/null
+++ b/i18n/ar.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Arabic (https://app.transifex.com/odoo/teams/41243/ar/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ar\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"حدد هذا المربع لإنشاء موقع تعاقد فرعي مخصص جديد لهذه الشركة. يرجى العلم بأن "
+"مسارات التعاقد الفرعي القياسية سيتم ضبطها لاعتبار تلك المسارات بعين الاعتبار"
+" تلقائياً. "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "الشركات"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "نوع عملية الانتقاء لإحالة الشحن للمتعاقد من الباطن "
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "إحالة الشحن للمتعاقد من الباطن حسب الطلب "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "إحالة الشحن للمتعاقدين من الباطن "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "إحالة الشحن للمتعاقدين من الباطن مع المكونات "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "موقع تعاقد من الباطن؟ "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "قاعدة إعادة الطلب"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "يرجى العلم بأن أمر الشراء هذا هو لأغراض التعاقد من الباطن. "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "تجديد مخزون المنتج "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "أمر شراء"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "حركة المخزون"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "قاعدة المخزون"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "قاعدة MTS لإحالة الشحن للتعاقد من الباطن "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "تحويل "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "المستودع "
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "تحذير"
diff --git a/i18n/bg.po b/i18n/bg.po
new file mode 100644
index 0000000..6e2f27b
--- /dev/null
+++ b/i18n/bg.po
@@ -0,0 +1,122 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Весел Карастоянов , 2023
+# Igor Sheludko , 2023
+# aleksandar ivanov, 2023
+# KeyVillage, 2023
+# Ивайло Малинов , 2023
+# Maria Boyadjieva , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Maria Boyadjieva , 2023\n"
+"Language-Team: Bulgarian (https://app.transifex.com/odoo/teams/41243/bg/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: bg\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Фирми"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Правило за минимален инвентар"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Поръчка"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Движение в склада"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Правило зс наличност"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Прехвърлете"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Склад"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Внимание"
diff --git a/i18n/ca.po b/i18n/ca.po
new file mode 100644
index 0000000..2b85642
--- /dev/null
+++ b/i18n/ca.po
@@ -0,0 +1,129 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Ivan Espinola, 2023
+# Arnau Ros, 2023
+# Quim - eccit , 2023
+# Martin Trigaux, 2023
+# jabiri7, 2023
+# Josep Anton Belchi, 2023
+# Manel Fernandez Ramirez , 2023
+# Óscar Fonseca , 2023
+# marcescu, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: marcescu, 2023\n"
+"Language-Team: Catalan (https://app.transifex.com/odoo/teams/41243/ca/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ca\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Activeu aquesta casella per a crear una nova ubicació de subcontractació "
+"dedicada per a aquesta empresa. Cal tenir en compte que les rutes de "
+"subcontractació estàndard s'adaptaran per a tenir-les en compte "
+"automàticament."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Empreses"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Tipus de selecció del subcontractista de l'abandonament"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Dropship a subcontratista sota comanda"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Subcontractistes de Dropship"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Dropship subcontratistes amb components"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "És una ubicació de subcontractació?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Regla d'inventari mínim"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Reaprovisionar productes"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Comanda de compra"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Moviment d'estoc"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Regla d'estoc"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Norma de subcontractació-despatx de MTS"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Transferència"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Magatzem"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Avís"
diff --git a/i18n/cs.po b/i18n/cs.po
new file mode 100644
index 0000000..188b2a2
--- /dev/null
+++ b/i18n/cs.po
@@ -0,0 +1,118 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+# Jakub Smolka, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Jakub Smolka, 2023\n"
+"Language-Team: Czech (https://app.transifex.com/odoo/teams/41243/cs/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: cs\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Společnosti"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Pravidlo minimálních skladových zásob"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Doplnění produktu"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Nákupní objednávka"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Pohyb zásob"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Zásobovací pravidlo"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Převod"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Sklad"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Varování"
diff --git a/i18n/da.po b/i18n/da.po
new file mode 100644
index 0000000..28f3489
--- /dev/null
+++ b/i18n/da.po
@@ -0,0 +1,117 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Danish (https://app.transifex.com/odoo/teams/41243/da/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: da\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Virksomheder"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Minimum lager regel"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Produkt genopfyldning"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Indkøbsordre"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Lagerflytning"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Lager regel"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Overfør"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Lagerstyring"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Advarsel"
diff --git a/i18n/de.po b/i18n/de.po
new file mode 100644
index 0000000..5008a8a
--- /dev/null
+++ b/i18n/de.po
@@ -0,0 +1,123 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: German (https://app.transifex.com/odoo/teams/41243/de/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Kreuzen Sie dieses Kästchen an, um einen neuen dedizierten "
+"Subunternehmerstandort für dieses Unternehmen zu erstellen. Beachten Sie, "
+"dass die Standardrouten für Subunternehmer so angepasst werden, dass diese "
+"automatisch berücksichtigt werden."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Unternehmen"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Kommissionierungsart für Subunternehmer im Streckengeschäft"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Subunternehmer per Streckengeschäft je Auftrag beliefern"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Subunternehmer für Streckengeschäft"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Subunternehmer für Streckengeschäft mit Komponenten"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Ist ein Subunternehmerstandort?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Mindestbestandsregel"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"Bitte beachten Sie, dass diese Bestellung für die Vergabe von Unteraufträgen"
+" bestimmt ist."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Produkt auffüllen"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Bestellung"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Lagerbuchung"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Bestandsregel"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Regel für Lagerfertigung bei Subunternehmer-Streckengeschäft"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Transfer"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Lagerhaus"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Warnung"
diff --git a/i18n/es.po b/i18n/es.po
new file mode 100644
index 0000000..5a43a93
--- /dev/null
+++ b/i18n/es.po
@@ -0,0 +1,123 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+# Larissa Manderfeld, 2024
+# Pedro M. Baeza , 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Pedro M. Baeza , 2024\n"
+"Language-Team: Spanish (https://app.transifex.com/odoo/teams/41243/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: es\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Seleccione esta casilla para crear una nueva ubicación de subcontratación "
+"dedicada para esta empresa. Tome en cuenta que las rutas de subcontratación "
+"estándar se adaptarán para considerarlas en automático."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Compañías"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Tipo de recolección de subcontratista de triangulación "
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Dropship a subcontratista bajo pedido"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Subcontratistas de triangulación"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Subcontratistas de triangulación con componentes"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "¿Es una ubicación de subcontratación?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Regla de inventario mínimo"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"Tenga en cuenta que esta orden de compra es para fines de subcontratación."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Reabastecimiento de producto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Orden de compra"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Movimiento de existencias"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Regla de Inventario"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Subcontratación- Regla de triangulación MTS"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Albarán"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Almacén"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Alerta"
diff --git a/i18n/es_419.po b/i18n/es_419.po
new file mode 100644
index 0000000..ed35074
--- /dev/null
+++ b/i18n/es_419.po
@@ -0,0 +1,122 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Spanish (Latin America) (https://app.transifex.com/odoo/teams/41243/es_419/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: es_419\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Seleccione esta casilla para crear una nueva ubicación de subcontratación "
+"específica para esta empresa. Tome en cuenta que las rutas de "
+"subcontratación estándar se adaptarán para considerar esta de forma "
+"automática."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Empresas"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Tipo de recolección de subcontratista de triangulación "
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Subcontratista de triangulación en la orden"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Subcontratistas de triangulación"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Subcontratistas de triangulación con componentes"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "¿Es una ubicación de subcontratación?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Regla de inventario mínimo"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"Tenga en cuenta que esta orden de compra es para fines de subcontratación."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Reabastecimiento de producto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Orden de compra"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Movimiento de existencias"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Regla de inventario"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Regla MTS de subcontratación-triangulación"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Trasladar "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Almacén"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Advertencia"
diff --git a/i18n/et.po b/i18n/et.po
new file mode 100644
index 0000000..8cf2433
--- /dev/null
+++ b/i18n/et.po
@@ -0,0 +1,127 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Triine Aavik , 2023
+# Rivo Zängov , 2023
+# Patrick-Jordan Kiudorv, 2023
+# Algo Kärp , 2023
+# Martin Trigaux, 2023
+# Martin Aavastik , 2023
+# JanaAvalah, 2023
+# Eneli Õigus , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Eneli Õigus , 2023\n"
+"Language-Team: Estonian (https://app.transifex.com/odoo/teams/41243/et/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: et\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Aktiveerige valik, et luua uus alltöövõtukoht. Pange tähele, et standardseid"
+" alltöövõtu marsruute kohandatakse nii, et neid võetakse automaatselt "
+"arvesse."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Ettevõtted"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Alltöövõtjatele korje tüüp otsetarne korral"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Otsetarne alltöövõtjatele"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Otsetarne allhankijatele"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Otsetarne allhankijale koos komponentidega"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Kas see on alltöövõtu asukoht?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Miinimumlao reegel"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Toote tellimine"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Ostutellimus"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Laoliikumine"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Laoreegel"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "MTS´i alltöövõtu-otsetarne reegel"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Siirded"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Ladu"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Hoiatus"
diff --git a/i18n/fa.po b/i18n/fa.po
new file mode 100644
index 0000000..a1d198b
--- /dev/null
+++ b/i18n/fa.po
@@ -0,0 +1,119 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Ali Reza Feizi Derakhshi, 2023
+# Hamed Mohammadi , 2023
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Persian (https://app.transifex.com/odoo/teams/41243/fa/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fa\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "شرکتها"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "قاعده حداقل انبارداری"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "سفارش خرید"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "انتقال موجودی"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "قانون موجودی انبار"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "انتقال"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "انبار"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "هشدار"
diff --git a/i18n/fi.po b/i18n/fi.po
new file mode 100644
index 0000000..23a2bed
--- /dev/null
+++ b/i18n/fi.po
@@ -0,0 +1,127 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Jarmo Kortetjärvi , 2023
+# Kari Lindgren , 2023
+# Tuomas Lyyra , 2023
+# Martin Trigaux, 2023
+# Marko Happonen , 2023
+# Jussi Lehto , 2023
+# Ossi Mantylahti , 2023
+# Tuomo Aura , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Tuomo Aura , 2023\n"
+"Language-Team: Finnish (https://app.transifex.com/odoo/teams/41243/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Merkitse tämä, jos haluat luoda yritykselle uuden alihankintapaikan. Huomaa,"
+" että alihankinnan vakioreittejä mukautetaan siten, että nämä otetaan "
+"automaattisesti huomioon."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Yritykset"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Dropship alihankkijan poimintatyyppi"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Dropship alihankkija tilauksesta"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Dropship alihankkijat"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Alihankkijat, jotka toimittavat komponentteja"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Onko alihankinnan sijaintipaikka?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Minimivarastosääntö"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "Huomaa, että tämä ostotilaus on tarkoitettu alihankintaa varten."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Tuotteen täydennystilaus"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Ostotilaus"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Varastosiirto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Varaston sääntö"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Alihankinta- ja drophipping MTS-sääntö"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Siirto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Varasto"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Varoitus"
diff --git a/i18n/fr.po b/i18n/fr.po
new file mode 100644
index 0000000..8fab131
--- /dev/null
+++ b/i18n/fr.po
@@ -0,0 +1,122 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: French (https://app.transifex.com/odoo/teams/41243/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fr\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Cochez cette case pour créer un nouvel emplacement de sous-traitance dédié "
+"pour cette entreprise. Notez que les routes de sous-traitance standards "
+"seront adaptées afin de les prendre automatiquement en considération."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Sociétés"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Type de choix de sous-traitant dropship"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Sous-traitant dropship sur commande"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Sous-traitants dropship"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Sous-traitants dropship avec les composants"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Est un emplacement de sous-traitance ?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Règle d'inventaire minimum"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"Veuillez noter que ce bon de commande est destiné à des fins de sous-"
+"traitance."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Réassort de produits"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Bon de commande fournisseur"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Mouvement de stock"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Règle de stock"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Règle MTS sous-traitance/dropshipping"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Transfert"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Entrepôt"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Avertissement"
diff --git a/i18n/he.po b/i18n/he.po
new file mode 100644
index 0000000..821fcbf
--- /dev/null
+++ b/i18n/he.po
@@ -0,0 +1,121 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Martin Trigaux, 2023
+# ExcaliberX , 2023
+# Yihya Hugirat , 2023
+# דודי מלכה , 2023
+# ZVI BLONDER , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: ZVI BLONDER , 2023\n"
+"Language-Team: Hebrew (https://app.transifex.com/odoo/teams/41243/he/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: he\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "חברות"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "כלל מלאי מינימלי"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "רענון מלאי מוצר"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "הזמנת רכש"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "תנועת מלאי"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "כלל מלאי "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "העברה"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "מחסן"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "אזהרה"
diff --git a/i18n/hu.po b/i18n/hu.po
new file mode 100644
index 0000000..23a21ab
--- /dev/null
+++ b/i18n/hu.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# gezza , 2023
+# Tamás Németh , 2023
+# Martin Trigaux, 2023
+# krnkris, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: krnkris, 2023\n"
+"Language-Team: Hungarian (https://app.transifex.com/odoo/teams/41243/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Vállalatok"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Minimum készlet szabály"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Termék feltöltés"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Beszerzési megrendelés"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Készletmozgás"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Készletszabály"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Átmozgatás"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Raktár"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Figyelmeztetés"
diff --git a/i18n/id.po b/i18n/id.po
new file mode 100644
index 0000000..f35fa64
--- /dev/null
+++ b/i18n/id.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Indonesian (https://app.transifex.com/odoo/teams/41243/id/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: id\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Centang kotak ini untuk membuat lokasi subkontrak terdedikasi baru untuk "
+"perusahaan ini. Ingat bahwa rute subkontrak standar akan diadaptasikan "
+"supaya secara otomatis memperhitungkan perubahan ini."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Perusahaan"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Pilih Tipe Subkontraktor Dropship"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Subkontraktor Dropship pada Order"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Subkontraktor Dropship"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Subkontraktor Dropship dengan komponen"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Apakah Lokasi Subkontrak?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Aturan Stok Persediaan Minimum"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "Mohon catat bahwa SPB ini untuk tujuan subkontrak."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Pemulihan Produk"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Order Pembelian"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Pergerakan Stok"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Peraturan Sto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Peraturan MTS Subkontrak-Dropship"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Transfer"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Gudang"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Peringatan"
diff --git a/i18n/it.po b/i18n/it.po
new file mode 100644
index 0000000..1a57c23
--- /dev/null
+++ b/i18n/it.po
@@ -0,0 +1,122 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Italian (https://app.transifex.com/odoo/teams/41243/it/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: it\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Spunta la casella per creare una nuova ubicazione dedicata all'appalto per "
+"l'azienda scelta. Nota che i percorsi predefinito di subappalto verranno "
+"adattati in modo da considerarli automaticamente."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Aziende"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Tipo di prelievo subappaltatore dropshipping"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Subappaltatore dropshipping su ordine"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Subappaltatori dropshipping"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Subappaltatori dropshipping con componenti"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "È un'ubicazione di subappalto?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Regola di scorta minima"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"Nota che il presente ordine di acquisto è valido solo per scopi di "
+"subappalto."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Rifornimento prodotto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Ordine di acquisto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Movimento di magazzino"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Regola di giacenza"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Regola del Subappalto-dropshipping MTS"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Trasferisci"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Magazzino"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Avviso"
diff --git a/i18n/ja.po b/i18n/ja.po
new file mode 100644
index 0000000..3102f20
--- /dev/null
+++ b/i18n/ja.po
@@ -0,0 +1,119 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+# Ryoko Tsuda , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Ryoko Tsuda , 2023\n"
+"Language-Team: Japanese (https://app.transifex.com/odoo/teams/41243/ja/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ja\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"この会社用に新規の専用外注ロケーションを作成するには、このボックスにチェックを入れてください。なお、標準的な外注ルートは、これらを自動的に考慮するよう適応されます。"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "会社"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "外注先直送の集荷タイプ"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "オーダの外注先へ直送"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "外注先直送"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "外注先に構成品を直送"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "外注先ロケーションですか?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "最小在庫ルール"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "この購買オーダは外注用です。"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "プロダクト補充"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "購買オーダ"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "在庫移動"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "在庫規則"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "外注‐直送MTS規則"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "移動"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "倉庫"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "警告"
diff --git a/i18n/ko.po b/i18n/ko.po
new file mode 100644
index 0000000..0a2549b
--- /dev/null
+++ b/i18n/ko.po
@@ -0,0 +1,119 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Korean (https://app.transifex.com/odoo/teams/41243/ko/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ko\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"이 회사에 대해 새롭게 지정된 외주 생산 위치를 생성하려면 체크박스에 표시해주십시오. 표준 하도급 경로는 이러한 사항을 자동으로 "
+"고려하도록 조정됩니다."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "회사"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "외주업체 직배송 피킹 유형"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "주문 시 외주업체로부터 직배송"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "외주업체 직배송 "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "부품을 보유한 외주업체 직배송"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "외주 생산 위치"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "최소 재고 규칙"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "외주 생산을 위한 구매 주문서입니다."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "품목 보충"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "구매 주문"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "재고 이동"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "재고 규칙"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "외주-직배송 MTS 규칙"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "전송"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "창고"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "경고"
diff --git a/i18n/lt.po b/i18n/lt.po
new file mode 100644
index 0000000..a3af8cc
--- /dev/null
+++ b/i18n/lt.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# UAB "Draugiški sprendimai" , 2023
+# Jonas Zinkevicius , 2023
+# Linas Versada , 2023
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Lithuanian (https://app.transifex.com/odoo/teams/41243/lt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: lt\n"
+"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Įmonės"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Mažiausio inventoriaus taisyklė"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Produkto papildymas"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Pirkimo užsakymas"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Atsargų perkėlimas"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Atsargų taisyklė"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Subrangos - Trikampės Prekybos Sandėlio Papildymo (MTS) Taisyklė"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Perkelti"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Sandėlis"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Įspėjimas"
diff --git a/i18n/lv.po b/i18n/lv.po
new file mode 100644
index 0000000..705535c
--- /dev/null
+++ b/i18n/lv.po
@@ -0,0 +1,122 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Konstantins Zabogonskis , 2023
+# ievaputnina , 2023
+# JanisJanis , 2023
+# Arnis Putniņš , 2023
+# Martin Trigaux, 2023
+# Will Sensors, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Will Sensors, 2024\n"
+"Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: lv\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Uzņēmumi"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Minimālu atlikumu noteikums"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Pasūtīt klāt produktu"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Pirkuma Pasūtījums"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Krājumu kustība"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Noliktavas noteikums"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Transfer"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Noliktava"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Brīdinājums"
diff --git a/i18n/mrp_subcontracting_dropshipping.pot b/i18n/mrp_subcontracting_dropshipping.pot
new file mode 100644
index 0000000..01f984c
--- /dev/null
+++ b/i18n/mrp_subcontracting_dropshipping.pot
@@ -0,0 +1,113 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 21:55+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr ""
diff --git a/i18n/nl.po b/i18n/nl.po
new file mode 100644
index 0000000..6fc1491
--- /dev/null
+++ b/i18n/nl.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Dutch (https://app.transifex.com/odoo/teams/41243/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Vink dit vakje aan om een nieuwe speciale uitbestedingslocatie voor dit "
+"bedrijf te maken. Houd er rekening mee dat standaard uitbestedingstrajecten "
+"worden aangepast om hier automatisch rekening mee te houden."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Bedrijven"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Kies type dropship-uitbesteder"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Dropship-uitbesteders op order"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Dropship-uitbesteders"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Dropship uitbesteding met onderdelen"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Is een uitbestedingslocatie?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Minimale voorraadregel"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "Let op: deze inkooporder is bedoeld voor uitbesteding."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Product aanvullen"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Inkooporder"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Voorraadverplaatsing"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Voorraadregel"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Uitbesteding-Dropshipping MTS-regel"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Verplaatsing"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Magazijn"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Waarschuwing"
diff --git a/i18n/pl.po b/i18n/pl.po
new file mode 100644
index 0000000..a49a81a
--- /dev/null
+++ b/i18n/pl.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Polish (https://app.transifex.com/odoo/teams/41243/pl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pl\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Zaznacz to pole, aby utworzyć nową dedykowaną lokalizację podwykonawczą dla "
+"tej firmy. Zauważ, że standardowe trasy podwykonawstwa zostaną dostosowane "
+"tak, aby automatycznie je uwzględnić."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Firmy"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Podwykonawca dropship rodzaj odbioru"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Podwykonawca dropship na zamówienie"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Podwykonawcy Dropship"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Podwykonawcy z podzespołami"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Czy jest to lokalizacja dla podwykonawców?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Reguła minimalnych zapasów"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "Należy pamiętać, że niniejsze zamówienie dotyczy podwykonawstwa."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Uzupełnienie produktu"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Zamówienie zakupu"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Przesunięcie"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Reguła zasobów"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Podwykonawstwo-Dropshipping Zasada MTS"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Przekaz"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Magazyn"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Ostrzeżenie"
diff --git a/i18n/pt.po b/i18n/pt.po
new file mode 100644
index 0000000..f746685
--- /dev/null
+++ b/i18n/pt.po
@@ -0,0 +1,117 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Portuguese (https://app.transifex.com/odoo/teams/41243/pt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Empresas"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Regra de Inventário Minimo"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Reabastecimento de Produto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Ordem de Compra"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Movimento do Stock"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Transferência"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Armazém"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Aviso"
diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po
new file mode 100644
index 0000000..716c5b9
--- /dev/null
+++ b/i18n/pt_BR.po
@@ -0,0 +1,121 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+# Maitê Dietze, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Maitê Dietze, 2024\n"
+"Language-Team: Portuguese (Brazil) (https://app.transifex.com/odoo/teams/41243/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Marque esta caixa para criar um novo local de subcontratação dedicado para "
+"esta empresa. Observe que as rotas padrões de subcontratação serão adaptadas"
+" para levá-los em consideração automaticamente."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Empresas"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Tipo de separação do subcontratado de envio direto"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Subcontratado de envio direto no pedido"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Subcontratantes de envio direto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Subcontratados de envio direto com componentes"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "É um local de subcontratação?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Regra de estoque mínimo"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "Observe que este pedido de compra é para fins de subcontratação."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Reposição de produto"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Pedido de compra"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Movimentação de estoque"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Regra de estoque"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Regra de FPE para envio direto subcontratado"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Transferência"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Armazém"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Aviso"
diff --git a/i18n/ru.po b/i18n/ru.po
new file mode 100644
index 0000000..f269177
--- /dev/null
+++ b/i18n/ru.po
@@ -0,0 +1,123 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Martin Trigaux, 2023
+# Wil Odoo, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2024\n"
+"Language-Team: Russian (https://app.transifex.com/odoo/teams/41243/ru/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ru\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Установите этот флажок, чтобы создать новое выделенное место субподряда для "
+"этой компании. Обратите внимание, что стандартные маршруты субподряда будут "
+"адаптированы таким образом, чтобы учитывать их автоматически."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Компании"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Тип выбора субподрядчика для челнока"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Субподрядчик-челнок по заказу"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Субподрядчики десантных кораблей"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Субподрядчики-челноки с компонентами"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Является ли это местом заключения субподряда?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Правило минимального запаса"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"Пожалуйста, обратите внимание, что данный заказ на покупку предназначен для "
+"целей субподряда."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Пополнение продукта"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Заказа на покупку"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Движение запасов"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Правило запаса"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "ПравилоMTS о субподряде-дропшиппинге"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Перевод"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Склад"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Предупреждение"
diff --git a/i18n/sk.po b/i18n/sk.po
new file mode 100644
index 0000000..700f223
--- /dev/null
+++ b/i18n/sk.po
@@ -0,0 +1,117 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Slovak (https://app.transifex.com/odoo/teams/41243/sk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sk\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Spoločnosti"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Pravidlo minimálneho inventára"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Doplnenie produktu"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Objednávka"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Pohyb skladu"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Skladové pravidlo"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Prevod"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Sklad"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Varovanie"
diff --git a/i18n/sl.po b/i18n/sl.po
new file mode 100644
index 0000000..f8a491d
--- /dev/null
+++ b/i18n/sl.po
@@ -0,0 +1,122 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Nejc G , 2023
+# Martin Trigaux, 2023
+# Boris Kodelja , 2023
+# matjaz k , 2023
+# Matjaz Mozetic , 2023
+# Tadej Lupšina , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Tadej Lupšina , 2023\n"
+"Language-Team: Slovenian (https://app.transifex.com/odoo/teams/41243/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Podjetja"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Pravilo minimalne zaloge"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Polnjenje izdelka"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Nabavni nalog"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Premik zaloge"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Pravilo zaloge"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Prenos"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Skladišče"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Opozorilo"
diff --git a/i18n/sr.po b/i18n/sr.po
new file mode 100644
index 0000000..b2b81cc
--- /dev/null
+++ b/i18n/sr.po
@@ -0,0 +1,123 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Milan Bojovic , 2023
+# Martin Trigaux, 2023
+# Dragan Vukosavljevic , 2023
+# コフスタジオ, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: コフスタジオ, 2024\n"
+"Language-Team: Serbian (https://app.transifex.com/odoo/teams/41243/sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Preduzeća"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Dropship Subcontractor Pick Type"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Dropship Subcontractor on Order"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Dropship Subcontractors"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Dropship subcontractors with components"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Is a Subcontracting Location?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Pravila Minimalnog Inventara"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "Please note this purchase order is for subcontracting purposes."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Product Replenish"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Nalog za nabavku"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Premeštanje zaliha"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Pravilo zalihe"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Subcontracting-Dropshipping MTS Rule"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Prenos"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Magacin"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Pažnja"
diff --git a/i18n/sv.po b/i18n/sv.po
new file mode 100644
index 0000000..6021ec5
--- /dev/null
+++ b/i18n/sv.po
@@ -0,0 +1,119 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Martin Trigaux, 2023
+# Anders Wallenquist , 2023
+# Simon S, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Simon S, 2023\n"
+"Language-Team: Swedish (https://app.transifex.com/odoo/teams/41243/sv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sv\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Bolag"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Minsta lagerregel"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Produktpåfyllnad"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Inköpsorder"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Lagerflytt"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Lagerregel"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Flytt"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Lager"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Varning"
diff --git a/i18n/th.po b/i18n/th.po
new file mode 100644
index 0000000..6a34aa7
--- /dev/null
+++ b/i18n/th.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Thai (https://app.transifex.com/odoo/teams/41243/th/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: th\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"ทำเครื่องหมายในช่องนี้ เพื่อสร้างสถานที่รับเหมาช่วงเฉพาะใหม่สำหรับบริษัทนี้ "
+"โปรดทราบว่าเส้นทางการรับเหมาช่วงมาตรฐานจะได้รับการปรับเปลี่ยนเพื่อนำมาพิจารณาโดยอัตโนมัติ"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "บริษัท"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "ประเภทการเลือกผู้รับเหมาช่วงดรอปชิป"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "ผู้รับเหมาช่วงดรอปชิปบนคำสั่ง"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "ผู้รับเหมาช่วงดรอปชิป"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "ผู้รับเหมาช่วงดรอปชิปด้วยส่วนประกอบ"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "เป็นสถานที่ของการรับเหมาช่วงหรือไม่?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "กฎขั้นต่ำของสินค้าคงคลัง"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"โปรดทราบว่าใบสั่งซื้อนี้มีไว้เพื่อวัตถุประสงค์ในการรับเหมาช่วงเท่านั้น"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "เติมสินค้า"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "คำสั่งซื้อ"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "ย้ายสต็อก"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "กฎสต็อก"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "กฎการทำสัญญาช่วง MTS-การดรอปชิป"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "โอน"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "โกดังสินค้า"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "คำเตือน"
diff --git a/i18n/tr.po b/i18n/tr.po
new file mode 100644
index 0000000..d24a8c3
--- /dev/null
+++ b/i18n/tr.po
@@ -0,0 +1,127 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Buket Şeker , 2023
+# Ediz Duman , 2023
+# İlknur Gözütok, 2023
+# Martin Trigaux, 2023
+# Murat Kaplan , 2023
+# Levent Karakaş , 2023
+# Ertuğrul Güreş , 2023
+# Tugay Hatıl , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Tugay Hatıl , 2023\n"
+"Language-Team: Turkish (https://app.transifex.com/odoo/teams/41243/tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: tr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Bu şirket için yeni bir ayrılmış fason konumu oluşturmak üzere bu kutuyu "
+"işaretleyin. Standart fason rotalarının, bunları otomatik olarak dikkate "
+"alacak şekilde uyarlanacağını unutmayın."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Şirketler"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Transit Fason Seçim Türü"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Sipariş Üzerine Transit Fason "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Transit Fason Firmalar"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Bileşenlerle fason firmaya transit"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Fason Üretim Yeri mi?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Minimum Envanter Kuralı"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Ürün İkmali"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Satınalma Siparişi"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Stok Hareketi"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Stok Kuralı"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Fason-Transit MTS Kuralı"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Aktarım"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Depo"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Uyarı"
diff --git a/i18n/uk.po b/i18n/uk.po
new file mode 100644
index 0000000..f95f33d
--- /dev/null
+++ b/i18n/uk.po
@@ -0,0 +1,123 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Alina Lisnenko , 2023
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Ukrainian (https://app.transifex.com/odoo/teams/41243/uk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: uk\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Позначте, щоб створити нове спеціальне субпідрядне місце для цієї компанії. "
+"Зауважте, що стандартні субпідрядні маршрути будуть адаптовані таким чином, "
+"щоб вони враховувалися автоматично."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Компанії"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Тип дропшипінгу комплектування субпідряду"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Субпідрядник на замовленні"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Субпідряд дропшипінгу"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Субпідряд дропшипінгу з компонентами"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Є розташуванням субпідряду?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Правило мінімальних залишків"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr ""
+"Будь ласка, зверніть увагу, що це замовлення на купівлю призначено для цілей"
+" субпідряду."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Поповнення товару"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Замовлення на купівлю"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Складське переміщення "
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Складське правило"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Правило MTS субпідряду по дропшипінгу"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Переміщення"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Склад"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Попередження"
diff --git a/i18n/vi.po b/i18n/vi.po
new file mode 100644
index 0000000..8dd25e0
--- /dev/null
+++ b/i18n/vi.po
@@ -0,0 +1,120 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Vietnamese (https://app.transifex.com/odoo/teams/41243/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr ""
+"Chọn ô này để tạo một địa điểm thầu phụ mới dành riêng cho công ty này. Lưu "
+"ý rằng các tuyến thầu phụ tiêu chuẩn sẽ được điều chỉnh để tự động tính cả "
+"chúng."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "Công ty"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "Loại lấy hàng Dropship cho nhà thầu phụ"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "Dropship cho nhà thầu phụ theo đơn hàng"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "Dropship cho nhà thầu phụ"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "Dropship nguyên liệu cho nhà thầu phụ"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "Là một địa điểm thầu phụ?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "Quy tắc tồn kho tối thiểu"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "Lưu ý rằng đơn mua hàng được dùng cho thầu phụ."
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "Bổ sung sản phẩm"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "Đơn mua hàng"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "Dịch chuyển tồn kho"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "Quy tắc tồn kho"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "Thầu phụ - Dropship theo qui tắc MTS"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "Điều chuyển"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "Kho hàng"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "Cảnh báo"
diff --git a/i18n/zh_CN.po b/i18n/zh_CN.po
new file mode 100644
index 0000000..18e541a
--- /dev/null
+++ b/i18n/zh_CN.po
@@ -0,0 +1,117 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Chinese (China) (https://app.transifex.com/odoo/teams/41243/zh_CN/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr "勾选该框,以为该公司创建新的专用外包地点。 请注意,将调整标准外包路线,以自动考虑。"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "公司"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "直发给分包商拣货类型"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "按订单直发给分包商"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "直发给分包商"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "将组件直发给分包商"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "是否为分包地址?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "最小库存规则"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "请注意,本订购单用于分包目的。"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "补料"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "采购订单"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "库存移动"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "库存规则"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "分包—按库存生产(MTS)直发规则"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "调拨"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "仓库"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "警告消息"
diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po
new file mode 100644
index 0000000..76c7e7a
--- /dev/null
+++ b/i18n/zh_TW.po
@@ -0,0 +1,117 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * mrp_subcontracting_dropshipping
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:55+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Chinese (Taiwan) (https://app.transifex.com/odoo/teams/41243/zh_TW/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: zh_TW\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid ""
+"Check this box to create a new dedicated subcontracting location for this "
+"company. Note that standard subcontracting routes will be adapted so as to "
+"take these into account automatically."
+msgstr "勾選此方塊以為此公司建立新的專屬分判地點。請注意,標準分判路線將會調整,以便自動考慮這些因素。"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_res_company
+msgid "Companies"
+msgstr "公司"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_res_company__dropship_subcontractor_pick_type_id
+msgid "Dropship Subcontractor Pick Type"
+msgstr "外包直運商揀貨類型"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: code:addons/mrp_subcontracting_dropshipping/models/stock_warehouse.py:0
+#: model:stock.route,name:mrp_subcontracting_dropshipping.route_subcontracting_dropshipping
+#, python-format
+msgid "Dropship Subcontractor on Order"
+msgstr "外包直運商訂單"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship Subcontractors"
+msgstr "外包直運商"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,help:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_to_resupply
+msgid "Dropship subcontractors with components"
+msgstr "帶組件的 外包直運商"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_purchase_order__default_location_dest_id_is_subcontracting_loc
+msgid "Is a Subcontracting Location?"
+msgstr "是分判地點?"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse_orderpoint
+msgid "Minimum Inventory Rule"
+msgstr "最小庫存規則"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Please note this purchase order is for subcontracting purposes."
+msgstr "請注意,此採購訂單用於分判目的。"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_product_replenish
+msgid "Product Replenish"
+msgstr "補貨"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_purchase_order
+msgid "Purchase Order"
+msgstr "採購訂單"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_move
+msgid "Stock Move"
+msgstr "庫存移動"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_rule
+msgid "Stock Rule"
+msgstr "庫存規則"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model.fields,field_description:mrp_subcontracting_dropshipping.field_stock_warehouse__subcontracting_dropshipping_pull_id
+msgid "Subcontracting-Dropshipping MTS Rule"
+msgstr "外包直運 MTS 規則"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_picking
+msgid "Transfer"
+msgstr "轉移"
+
+#. module: mrp_subcontracting_dropshipping
+#: model:ir.model,name:mrp_subcontracting_dropshipping.model_stock_warehouse
+msgid "Warehouse"
+msgstr "倉庫"
+
+#. module: mrp_subcontracting_dropshipping
+#. odoo-python
+#: code:addons/mrp_subcontracting_dropshipping/models/purchase.py:0
+#, python-format
+msgid "Warning"
+msgstr "警告"
diff --git a/models/__init__.py b/models/__init__.py
new file mode 100644
index 0000000..95e9ed2
--- /dev/null
+++ b/models/__init__.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import stock_move
+from . import stock_picking
+from . import res_company
+from . import stock_warehouse
+from . import purchase
+from . import stock_rule
+from . import stock_orderpoint
diff --git a/models/purchase.py b/models/purchase.py
new file mode 100644
index 0000000..9548e23
--- /dev/null
+++ b/models/purchase.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models, _
+from odoo.exceptions import UserError
+
+
+class PurchaseOrder(models.Model):
+ _inherit = 'purchase.order'
+
+ default_location_dest_id_is_subcontracting_loc = fields.Boolean(related='picking_type_id.default_location_dest_id.is_subcontracting_location')
+
+ @api.depends('default_location_dest_id_is_subcontracting_loc')
+ def _compute_dest_address_id(self):
+ dropship_subcontract_pos = self.filtered(lambda po: po.default_location_dest_id_is_subcontracting_loc)
+ for order in dropship_subcontract_pos:
+ subcontractor_ids = order.picking_type_id.default_location_dest_id.subcontractor_ids
+ order.dest_address_id = subcontractor_ids if len(subcontractor_ids) == 1 else False
+ super(PurchaseOrder, self - dropship_subcontract_pos)._compute_dest_address_id()
+
+ @api.onchange('picking_type_id')
+ def onchange_picking_type_id(self):
+ if self.default_location_dest_id_is_subcontracting_loc:
+ return {
+ 'warning': {'title': _('Warning'), 'message': _('Please note this purchase order is for subcontracting purposes.')}
+ }
+
+ def _get_destination_location(self):
+ self.ensure_one()
+ if self.default_location_dest_id_is_subcontracting_loc:
+ return self.dest_address_id.property_stock_subcontractor.id
+ return super()._get_destination_location()
diff --git a/models/res_company.py b/models/res_company.py
new file mode 100644
index 0000000..f71a4cd
--- /dev/null
+++ b/models/res_company.py
@@ -0,0 +1,108 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models
+
+
+class ResCompany(models.Model):
+ _inherit = 'res.company'
+
+ dropship_subcontractor_pick_type_id = fields.Many2one('stock.picking.type')
+
+ def _create_subcontracting_dropshipping_sequence(self):
+ seq_vals = [{
+ 'name': 'Dropship Subcontractor (%s)' % company.name,
+ 'code': 'mrp.subcontracting.dropshipping',
+ 'company_id': company.id,
+ 'prefix': 'DSC/',
+ 'padding': 5,
+ } for company in self]
+
+ if seq_vals:
+ self.env['ir.sequence'].create(seq_vals)
+
+ def _create_subcontracting_dropshipping_picking_type(self):
+ pick_type_vals = []
+ for company in self:
+ sequence = self.env['ir.sequence'].search([
+ ('code', '=', 'mrp.subcontracting.dropshipping'),
+ ('company_id', '=', company.id),
+ ])
+ pick_type_vals.append({
+ 'name': 'Dropship Subcontractor',
+ 'company_id': company.id,
+ 'warehouse_id': False,
+ 'sequence_id': sequence.id,
+ 'code': 'incoming',
+ 'default_location_src_id': self.env.ref('stock.stock_location_suppliers').id,
+ 'default_location_dest_id': company.subcontracting_location_id.id,
+ 'sequence_code': 'DSC',
+ 'use_existing_lots': False,
+ })
+ if pick_type_vals:
+ pick_type_ids = self.env['stock.picking.type'].create(pick_type_vals)
+ for pick_type in pick_type_ids:
+ pick_type.company_id.dropship_subcontractor_pick_type_id = pick_type.id
+
+ def _create_subcontracting_dropshipping_rules(self):
+ route = self.env.ref('mrp_subcontracting_dropshipping.route_subcontracting_dropshipping')
+ supplier_location = self.env.ref('stock.stock_location_suppliers')
+ vals = []
+ for company in self:
+ subcontracting_location = company.subcontracting_location_id
+ dropship_picking_type = self.env['stock.picking.type'].search([
+ ('company_id', '=', company.id),
+ ('default_location_src_id.usage', '=', 'supplier'),
+ ('default_location_dest_id', '=', subcontracting_location.id),
+ ], limit=1, order='sequence')
+ if dropship_picking_type:
+ vals.append({
+ 'name': '%s → %s' % (supplier_location.name, subcontracting_location.name),
+ 'action': 'buy',
+ 'location_dest_id': subcontracting_location.id,
+ 'location_src_id': supplier_location.id,
+ 'procure_method': 'make_to_stock',
+ 'route_id': route.id,
+ 'picking_type_id': dropship_picking_type.id,
+ 'company_id': company.id,
+ })
+ if vals:
+ self.env['stock.rule'].create(vals)
+
+ @api.model
+ def _create_missing_subcontracting_dropshipping_rules(self):
+ route = self.env.ref('mrp_subcontracting_dropshipping.route_subcontracting_dropshipping')
+ company_ids = self.env['res.company'].search([])
+ company_has_rules = self.env['stock.rule'].search([('route_id', '=', route.id)]).mapped('company_id')
+ company_todo_rules = company_ids - company_has_rules
+ company_todo_rules._create_subcontracting_dropshipping_rules()
+
+ @api.model
+ def _create_missing_subcontracting_dropshipping_sequence(self):
+ company_ids = self.env['res.company'].search([])
+ company_has_seq = self.env['ir.sequence'].search([('code', '=', 'mrp.subcontracting.dropshipping')]).mapped('company_id')
+ company_todo_sequence = company_ids - company_has_seq
+ company_todo_sequence._create_subcontracting_dropshipping_sequence()
+
+ @api.model
+ def _create_missing_subcontracting_dropshipping_picking_type(self):
+ company_ids = self.env['res.company'].search([])
+ company_has_dropship_subcontractor_picking_type = self.env['stock.picking.type'].search([
+ ('default_location_src_id.usage', '=', 'supplier'),
+ ('default_location_dest_id', 'in', company_ids.subcontracting_location_id.ids),
+ ]).mapped('company_id')
+ company_todo_picking_type = company_ids - company_has_dropship_subcontractor_picking_type
+ company_todo_picking_type._create_subcontracting_dropshipping_picking_type()
+
+ def _create_per_company_sequences(self):
+ super()._create_per_company_sequences()
+ self._create_subcontracting_dropshipping_sequence()
+
+ def _create_per_company_rules(self):
+ res = super()._create_per_company_rules()
+ self._create_subcontracting_dropshipping_rules()
+ return res
+
+ def _create_per_company_picking_types(self):
+ super()._create_per_company_picking_types()
+ self._create_subcontracting_dropshipping_picking_type()
diff --git a/models/stock_move.py b/models/stock_move.py
new file mode 100644
index 0000000..831ac41
--- /dev/null
+++ b/models/stock_move.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+
+
+class StockMove(models.Model):
+ _inherit = "stock.move"
+
+ def _prepare_procurement_values(self):
+ vals = super()._prepare_procurement_values()
+ partner = self.group_id.partner_id
+ if not vals.get('partner_id') and partner and self.location_id.is_subcontracting_location:
+ vals['partner_id'] = partner.id
+ return vals
+
+ def _is_purchase_return(self):
+ res = super()._is_purchase_return()
+ return res or self._is_dropshipped_returned()
+
+ def _is_dropshipped(self):
+ res = super()._is_dropshipped()
+ return res or (
+ self.partner_id.property_stock_subcontractor.parent_path
+ and self.partner_id.property_stock_subcontractor.parent_path in self.location_id.parent_path
+ and self.location_dest_id.usage == 'customer'
+ )
+
+ def _is_dropshipped_returned(self):
+ res = super()._is_dropshipped_returned()
+ return res or (
+ self.location_id.usage == 'customer'
+ and self.partner_id.property_stock_subcontractor.parent_path
+ and self.partner_id.property_stock_subcontractor.parent_path in self.location_dest_id.parent_path
+ )
diff --git a/models/stock_orderpoint.py b/models/stock_orderpoint.py
new file mode 100644
index 0000000..a1b8f7e
--- /dev/null
+++ b/models/stock_orderpoint.py
@@ -0,0 +1,15 @@
+# -*- encoding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+
+
+class StockWarehouseOrderpoint(models.Model):
+ _inherit = 'stock.warehouse.orderpoint'
+
+ def _prepare_procurement_values(self, date=False, group=False):
+ vals = super()._prepare_procurement_values(date, group)
+ if not vals.get('partner_id') and self.location_id.is_subcontracting_location:
+ subcontractors = self.location_id.subcontractor_ids
+ vals['partner_id'] = subcontractors.id if len(subcontractors) == 1 else False
+ return vals
diff --git a/models/stock_picking.py b/models/stock_picking.py
new file mode 100644
index 0000000..82ec1c0
--- /dev/null
+++ b/models/stock_picking.py
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+from odoo.tools import float_compare
+
+
+class StockPicking(models.Model):
+ _inherit = 'stock.picking'
+
+ def _compute_is_dropship(self):
+ dropship_subcontract_pickings = self.filtered(lambda p: p.location_dest_id.is_subcontracting_location and p.location_id.usage == 'supplier')
+ dropship_subcontract_pickings.is_dropship = True
+ super(StockPicking, self - dropship_subcontract_pickings)._compute_is_dropship()
+
+ def _get_warehouse(self, subcontract_move):
+ if subcontract_move.sale_line_id:
+ return subcontract_move.sale_line_id.order_id.warehouse_id
+ return super(StockPicking, self)._get_warehouse(subcontract_move)
+
+ def _action_done(self):
+ res = super()._action_done()
+ self.move_ids.move_dest_ids._action_assign()
+
+ # If needed, create a compensation layer, so we add the MO cost to the dropship one
+ svls = self.env['stock.valuation.layer']
+ for move in self.move_ids:
+ if not (move.is_subcontract and move._is_dropshipped() and move.state == 'done'):
+ continue
+
+ dropship_svls = move.stock_valuation_layer_ids
+ if not dropship_svls:
+ continue
+
+ subcontract_svls = move.move_orig_ids.stock_valuation_layer_ids
+ subcontract_value = sum(subcontract_svls.mapped('value'))
+ dropship_value = abs(sum(dropship_svls.mapped('value')))
+ diff = subcontract_value - dropship_value
+ if float_compare(diff, 0, precision_rounding=move.company_id.currency_id.rounding) <= 0:
+ continue
+
+ svl_vals = move._prepare_common_svl_vals()
+ svl_vals.update({
+ 'remaining_value': 0,
+ 'remaining_qty': 0,
+ 'value': -diff,
+ 'quantity': 0,
+ 'unit_cost': 0,
+ 'stock_valuation_layer_id': dropship_svls[0].id,
+ 'stock_move_id': move.id,
+ })
+ svls |= self.env['stock.valuation.layer'].create(svl_vals)
+ svls._validate_accounting_entries()
+
+ return res
+
+ def _prepare_subcontract_mo_vals(self, subcontract_move, bom):
+ res = super()._prepare_subcontract_mo_vals(subcontract_move, bom)
+ if not res.get('picking_type_id') and (
+ subcontract_move.location_dest_id.usage == 'customer'
+ or subcontract_move.location_dest_id.is_subcontracting_location
+ ):
+ # If the if-condition is respected, it means that `subcontract_move` is not
+ # related to a specific warehouse. This can happen if, for instance, the user
+ # confirms a PO with a subcontracted product that should be delivered to a
+ # customer (dropshipping). In that case, we can use a default warehouse to
+ # get the picking type
+ default_warehouse = self.env['stock.warehouse'].search([('company_id', '=', subcontract_move.company_id.id)], limit=1)
+ res['picking_type_id'] = default_warehouse.subcontracting_type_id.id,
+ return res
diff --git a/models/stock_rule.py b/models/stock_rule.py
new file mode 100644
index 0000000..db4cf3e
--- /dev/null
+++ b/models/stock_rule.py
@@ -0,0 +1,21 @@
+# -*- encoding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+
+
+class StockRule(models.Model):
+ _inherit = 'stock.rule'
+
+ def _prepare_purchase_order(self, company_id, origins, values):
+ if 'partner_id' not in values[0] \
+ and (company_id.subcontracting_location_id.parent_path in self.location_dest_id.parent_path
+ or self.location_dest_id.is_subcontracting_location):
+ values[0]['partner_id'] = values[0]['group_id'].partner_id.id
+ return super()._prepare_purchase_order(company_id, origins, values)
+
+ def _make_po_get_domain(self, company_id, values, partner):
+ domain = super()._make_po_get_domain(company_id, values, partner)
+ if values.get('partner_id', False):
+ domain += (('dest_address_id', '=', values.get('partner_id')),)
+ return domain
diff --git a/models/stock_warehouse.py b/models/stock_warehouse.py
new file mode 100644
index 0000000..5f7592a
--- /dev/null
+++ b/models/stock_warehouse.py
@@ -0,0 +1,94 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models, _
+
+
+class StockWarehouse(models.Model):
+ _inherit = 'stock.warehouse'
+
+ subcontracting_dropshipping_to_resupply = fields.Boolean(
+ 'Dropship Subcontractors', default=True,
+ help="Dropship subcontractors with components")
+
+ subcontracting_dropshipping_pull_id = fields.Many2one(
+ 'stock.rule', 'Subcontracting-Dropshipping MTS Rule'
+ )
+
+ @api.model_create_multi
+ def create(self, vals_list):
+ res = super().create(vals_list)
+ # if new warehouse has resupply enabled, enable global route
+ if any([vals.get('subcontracting_dropshipping_to_resupply', False) for vals in vals_list]):
+ res.update_global_route_dropship_subcontractor()
+ return res
+
+ def write(self, vals):
+ res = super().write(vals)
+ # if all warehouses have resupply disabled, disable global route, until its enabled on a warehouse
+ if 'subcontracting_dropshipping_to_resupply' in vals or 'active' in vals:
+ if 'subcontracting_dropshipping_to_resupply' in vals:
+ # ignore when warehouse archived since it will auto-archive all of its rules
+ self._update_dropship_subcontract_rules()
+ self.update_global_route_dropship_subcontractor()
+ return res
+
+ def _update_dropship_subcontract_rules(self):
+ '''update (archive/unarchive) any warehouse subcontracting location dropship rules'''
+ subcontracting_locations = self._get_subcontracting_locations()
+ route_id = self._find_global_route('mrp_subcontracting_dropshipping.route_subcontracting_dropshipping',
+ _('Dropship Subcontractor on Order'))
+ warehouses_dropship = self.filtered(lambda w: w.subcontracting_dropshipping_to_resupply and w.active)
+ if warehouses_dropship:
+ self.env['stock.rule'].with_context(active_test=False).search([
+ ('route_id', '=', route_id.id),
+ ('action', '=', 'pull'),
+ ('warehouse_id', 'in', warehouses_dropship.ids),
+ ('location_src_id', 'in', subcontracting_locations.ids)]).action_unarchive()
+
+ warehouses_no_dropship = self - warehouses_dropship
+ if warehouses_no_dropship:
+ self.env['stock.rule'].search([
+ ('route_id', '=', route_id.id),
+ ('action', '=', 'pull'),
+ ('warehouse_id', 'in', warehouses_no_dropship.ids),
+ ('location_src_id', 'in', subcontracting_locations.ids)]).action_archive()
+
+ def update_global_route_dropship_subcontractor(self):
+ route_id = self._find_global_route('mrp_subcontracting_dropshipping.route_subcontracting_dropshipping',
+ _('Dropship Subcontractor on Order'))
+ # if route has no pull rules, it means all warehouses have Dropship Subcontractor disabled
+ # Pick type is per company so we need to check rules per company to archive it, however
+ # the route is global so we need to check all rules regardless of company
+ all_rules = route_id.sudo().rule_ids.filtered(lambda r: r.active)
+ for company in self.company_id:
+ company_rules = all_rules.filtered(lambda r: r.company_id == company)
+ company.dropship_subcontractor_pick_type_id.active = bool(company_rules.filtered(lambda r: r.action == 'pull'))
+
+ route_id.active = bool(all_rules.filtered(lambda r: r.action == 'pull'))
+
+ def _generate_global_route_rules_values(self):
+ rules = super()._generate_global_route_rules_values()
+ subcontract_location_id = self._get_subcontracting_location()
+ production_location_id = self._get_production_location()
+ rules.update({
+ 'subcontracting_dropshipping_pull_id': {
+ 'depends': ['subcontracting_dropshipping_to_resupply'],
+ 'create_values': {
+ 'procure_method': 'make_to_order',
+ 'company_id': self.company_id.id,
+ 'action': 'pull',
+ 'auto': 'manual',
+ 'route_id': self._find_global_route('mrp_subcontracting_dropshipping.route_subcontracting_dropshipping',
+ _('Dropship Subcontractor on Order'), raise_if_not_found=False).id,
+ 'name': self._format_rulename(subcontract_location_id, production_location_id, False),
+ 'location_dest_id': production_location_id.id,
+ 'location_src_id': subcontract_location_id.id,
+ 'picking_type_id': self.subcontracting_type_id.id
+ },
+ 'update_values': {
+ 'active': self.subcontracting_dropshipping_to_resupply
+ }
+ },
+ })
+ return rules
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..69dd037
--- /dev/null
+++ b/tests/__init__.py
@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import test_purchase_subcontracting
+from . import test_sale_dropshipping
+from . import test_anglo_saxon_valuation
diff --git a/tests/test_anglo_saxon_valuation.py b/tests/test_anglo_saxon_valuation.py
new file mode 100644
index 0000000..045eb9e
--- /dev/null
+++ b/tests/test_anglo_saxon_valuation.py
@@ -0,0 +1,137 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.addons.stock_account.tests.test_anglo_saxon_valuation_reconciliation_common import ValuationReconciliationTestCommon
+from odoo.tests import tagged, Form
+
+
+@tagged('post_install', '-at_install')
+class TestSubcontractingDropshippingValuation(ValuationReconciliationTestCommon):
+
+ @classmethod
+ def setUpClass(cls, chart_template_ref=None):
+ super().setUpClass(chart_template_ref=chart_template_ref)
+
+ categ_form = Form(cls.env['product.category'])
+ categ_form.name = 'fifo auto'
+ categ_form.parent_id = cls.env.ref('product.product_category_all')
+ categ_form.property_cost_method = 'fifo'
+ categ_form.property_valuation = 'real_time'
+ cls.categ_fifo_auto = categ_form.save()
+
+ (cls.product_a | cls.product_b).type = 'product'
+
+ cls.bom_a = cls.env['mrp.bom'].create({
+ 'product_tmpl_id': cls.product_a.product_tmpl_id.id,
+ 'type': 'subcontract',
+ 'subcontractor_ids': [(6, 0, cls.partner_a.ids)],
+ 'bom_line_ids': [
+ (0, 0, {'product_id': cls.product_b.id, 'product_qty': 1.0}),
+ ],
+ })
+
+ def test_valuation_subcontracted_and_dropshipped(self):
+ """
+ Product:
+ - FIFO + Auto
+ - Subcontracted
+ Purchase 2 from Subcontractor to a customer (dropship).
+ Then return 1 to subcontractor and one to stock
+ It should generate the correct valuations AMLs
+ """
+ # pylint: disable=bad-whitespace
+ all_amls_ids = self.env['account.move.line'].search_read([], ['id'])
+
+ grp_multi_loc = self.env.ref('stock.group_stock_multi_locations')
+ self.env.user.write({'groups_id': [(4, grp_multi_loc.id)]})
+
+ (self.product_a | self.product_b).categ_id = self.categ_fifo_auto
+ self.product_b.standard_price = 10
+
+ dropship_picking_type = self.env['stock.picking.type'].search([
+ ('company_id', '=', self.env.company.id),
+ ('default_location_src_id.usage', '=', 'supplier'),
+ ('default_location_dest_id.usage', '=', 'customer'),
+ ], limit=1, order='sequence')
+
+ po = self.env['purchase.order'].create({
+ "partner_id": self.partner_a.id,
+ "picking_type_id": dropship_picking_type.id,
+ "dest_address_id": self.partner_b.id,
+ "order_line": [(0, 0, {
+ 'product_id': self.product_a.id,
+ 'name': self.product_a.name,
+ 'product_qty': 2.0,
+ 'price_unit': 100,
+ 'taxes_id': False,
+ })],
+ })
+ po.button_confirm()
+
+ delivery = po.picking_ids
+ delivery.button_validate()
+
+ stock_in_acc_id = self.categ_fifo_auto.property_stock_account_input_categ_id.id
+ stock_out_acc_id = self.categ_fifo_auto.property_stock_account_output_categ_id.id
+ stock_valu_acc_id = self.categ_fifo_auto.property_stock_valuation_account_id.id
+ stock_cop_acc_id = self.categ_fifo_auto.property_stock_account_production_cost_id.id
+
+ amls = self.env['account.move.line'].search([('id', 'not in', all_amls_ids)])
+ all_amls_ids += amls.ids
+ self.assertRecordValues(amls, [
+ # Compensation of dropshipping value
+ {'account_id': stock_valu_acc_id, 'product_id': self.product_a.id, 'debit': 0.0, 'credit': 20.0},
+ {'account_id': stock_out_acc_id, 'product_id': self.product_a.id, 'debit': 20.0, 'credit': 0.0},
+ # Receipt from subcontractor
+ {'account_id': stock_valu_acc_id, 'product_id': self.product_a.id, 'debit': 220.0, 'credit': 0.0},
+ {'account_id': stock_in_acc_id, 'product_id': self.product_a.id, 'debit': 0.0, 'credit': 200.0},
+ {'account_id': stock_cop_acc_id, 'product_id': self.product_a.id, 'debit': 0.0, 'credit': 20.0},
+ # Delivery to subcontractor
+ {'account_id': stock_valu_acc_id, 'product_id': self.product_b.id, 'debit': 0.0, 'credit': 20.0},
+ {'account_id': stock_cop_acc_id, 'product_id': self.product_b.id, 'debit': 20.0, 'credit': 0.0},
+ # Initial dropshipped value
+ {'account_id': stock_valu_acc_id, 'product_id': self.product_a.id, 'debit': 0.0, 'credit': 200.0},
+ {'account_id': stock_out_acc_id, 'product_id': self.product_a.id, 'debit': 200.0, 'credit': 0.0},
+ ])
+
+ # return to subcontracting location
+ sbc_location = self.env.company.subcontracting_location_id
+ return_form = Form(self.env['stock.return.picking'].with_context(active_id=delivery.id, active_model='stock.picking'))
+ return_form.location_id = sbc_location
+ with return_form.product_return_moves.edit(0) as line:
+ line.quantity = 1
+ return_wizard = return_form.save()
+ return_id, _ = return_wizard._create_returns()
+ return_picking = self.env['stock.picking'].browse(return_id)
+ return_picking.move_ids.quantity = 1
+ return_picking.move_ids.picked = True
+ return_picking.button_validate()
+
+ amls = self.env['account.move.line'].search([('id', 'not in', all_amls_ids)])
+ all_amls_ids += amls.ids
+ self.assertRecordValues(amls, [
+ {'account_id': stock_valu_acc_id, 'product_id': self.product_a.id, 'debit': 0.0, 'credit': 110.0},
+ {'account_id': stock_in_acc_id, 'product_id': self.product_a.id, 'debit': 110.0, 'credit': 0.0},
+ ])
+
+ # return to stock location
+ warehouse = self.env['stock.warehouse'].search([('company_id', '=', self.env.company.id)], limit=1)
+ stock_location = warehouse.lot_stock_id
+ stock_location.return_location = True
+ return_form = Form(self.env['stock.return.picking'].with_context(active_id=delivery.id, active_model='stock.picking'))
+ return_form.location_id = stock_location
+ with return_form.product_return_moves.edit(0) as line:
+ line.quantity = 1
+ return_wizard = return_form.save()
+ return_id, _ = return_wizard._create_returns()
+ return_picking = self.env['stock.picking'].browse(return_id)
+ return_picking.move_ids.quantity = 1
+ return_picking.move_ids.picked = True
+ return_picking.button_validate()
+
+ amls = self.env['account.move.line'].search([('id', 'not in', all_amls_ids)])
+ all_amls_ids += amls.ids
+ self.assertRecordValues(amls, [
+ {'account_id': stock_out_acc_id, 'product_id': self.product_a.id, 'debit': 0.0, 'credit': 110.0},
+ {'account_id': stock_valu_acc_id, 'product_id': self.product_a.id, 'debit': 110.0, 'credit': 0.0},
+ ])
diff --git a/tests/test_purchase_subcontracting.py b/tests/test_purchase_subcontracting.py
new file mode 100644
index 0000000..f884281
--- /dev/null
+++ b/tests/test_purchase_subcontracting.py
@@ -0,0 +1,405 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.tests import Form
+from odoo.addons.mrp_subcontracting.tests.common import TestMrpSubcontractingCommon
+
+
+class TestSubcontractingDropshippingFlows(TestMrpSubcontractingCommon):
+
+ def test_mrp_subcontracting_dropshipping_1(self):
+ """ Mark the subcontracted product with the route dropship and add the
+ subcontractor as seller. The component has the routes 'MTO', 'Replenish
+ on order' and 'Buy'. Also another partner is set as vendor on the comp.
+ Create a SO and check that:
+ - Delivery between subcontractor and customer for subcontracted product.
+ - Delivery for the component to the subcontractor for the specified wh.
+ - Po created for the component.
+ """
+ self.env.ref('stock.route_warehouse0_mto').active = True
+ mto_route = self.env['stock.route'].search([('name', '=', 'Replenish on Order (MTO)')])
+ resupply_route = self.env['stock.route'].search([('name', '=', 'Resupply Subcontractor on Order')])
+ buy_route = self.env['stock.route'].search([('name', '=', 'Buy')])
+ dropship_route = self.env['stock.route'].search([('name', '=', 'Dropship')])
+ self.comp2.write({'route_ids': [(4, buy_route.id), (4, mto_route.id), (4, resupply_route.id)]})
+ self.finished.write({'route_ids': [(4, dropship_route.id)]})
+
+ warehouse = self.env['stock.warehouse'].create({
+ 'name': 'Warehouse For subcontract',
+ 'code': 'WFS'
+ })
+
+ self.env['product.supplierinfo'].create({
+ 'product_tmpl_id': self.finished.product_tmpl_id.id,
+ 'partner_id': self.subcontractor_partner1.id
+ })
+
+ partner = self.env['res.partner'].create({
+ 'name': 'Toto'
+ })
+ self.env['product.supplierinfo'].create({
+ 'product_tmpl_id': self.comp2.product_tmpl_id.id,
+ 'partner_id': partner.id
+ })
+
+ # Create a receipt picking from the subcontractor
+ so_form = Form(self.env['sale.order'])
+ so_form.partner_id = partner
+ so_form.warehouse_id = warehouse
+ with so_form.order_line.new() as line:
+ line.product_id = self.finished
+ line.product_uom_qty = 1
+ so = so_form.save()
+ so.action_confirm()
+
+ # Pickings should directly be created
+ po = self.env['purchase.order'].search([('origin', 'ilike', so.name)])
+ self.assertTrue(po)
+
+ po.button_approve()
+
+ picking_finished = po.picking_ids
+ self.assertEqual(len(picking_finished), 1.0)
+ self.assertEqual(picking_finished.location_dest_id, partner.property_stock_customer)
+ self.assertEqual(picking_finished.location_id, self.subcontractor_partner1.property_stock_supplier)
+ self.assertEqual(picking_finished.state, 'assigned')
+
+ picking_delivery = self.env['stock.move'].search([
+ ('product_id', '=', self.comp2.id),
+ ('location_id', '=', warehouse.lot_stock_id.id),
+ ('location_dest_id', '=', self.subcontractor_partner1.property_stock_subcontractor.id),
+ ]).picking_id
+ self.assertTrue(picking_delivery)
+ self.assertEqual(picking_delivery.state, 'waiting')
+
+ po = self.env['purchase.order.line'].search([
+ ('product_id', '=', self.comp2.id),
+ ('partner_id', '=', partner.id),
+ ]).order_id
+ self.assertTrue(po)
+
+ def test_mrp_subcontracting_purchase_2(self):
+ """Let's consider a subcontracted BOM with 1 component. Tick "Resupply Subcontractor on Order" on the component and set a supplier on it.
+ Purchase 1 BOM to the subcontractor. Confirm the purchase and change the purchased quantity to 2.
+ Check that 2 components are delivered to the subcontractor
+ """
+ # Tick "resupply subconractor on order on component"
+ self.bom.bom_line_ids = [(5, 0, 0)]
+ self.bom.bom_line_ids = [(0, 0, {'product_id': self.comp1.id, 'product_qty': 1})]
+ resupply_sub_on_order_route = self.env['stock.route'].search([('name', '=', 'Resupply Subcontractor on Order')])
+ (self.comp1).write({'route_ids': [(4, resupply_sub_on_order_route.id, None)]})
+ # Create a supplier and set it to component
+ vendor = self.env['res.partner'].create({'name': 'AAA', 'email': 'from.test@example.com'})
+ self.env['product.supplierinfo'].create({
+ 'partner_id': vendor.id,
+ 'price': 50,
+ })
+ self.comp1.write({'seller_ids': [(0, 0, {'partner_id': vendor.id, 'product_code': 'COMP1'})]})
+ # Purchase 1 BOM to the subcontractor
+ po = Form(self.env['purchase.order'])
+ po.partner_id = self.subcontractor_partner1
+ with po.order_line.new() as po_line:
+ po_line.product_id = self.finished
+ po_line.product_qty = 1
+ po_line.price_unit = 100
+ po = po.save()
+ # Confirm the purchase
+ po.button_confirm()
+ # Check one delivery order with the component has been created for the subcontractor
+ mo = self.env['mrp.production'].search([('bom_id', '=', self.bom.id)])
+ self.assertEqual(mo.state, 'confirmed')
+ # Check that 1 delivery with 1 component for the subcontractor has been created
+ picking_delivery = mo.picking_ids
+ wh = picking_delivery.picking_type_id.warehouse_id
+ origin = picking_delivery.origin
+ self.assertEqual(len(picking_delivery), 1)
+ self.assertEqual(len(picking_delivery.move_ids_without_package), 1)
+ self.assertEqual(picking_delivery.picking_type_id, wh.subcontracting_resupply_type_id)
+ self.assertEqual(picking_delivery.partner_id, self.subcontractor_partner1)
+
+ # Change the purchased quantity to 2
+ po.order_line.write({'product_qty': 2})
+ # Check that a single delivery with the two components for the subcontractor have been created
+ picking_deliveries = self.env['stock.picking'].search([('origin', '=', origin)])
+ self.assertEqual(len(picking_deliveries), 1)
+ self.assertEqual(picking_deliveries.picking_type_id, wh.subcontracting_resupply_type_id)
+ self.assertEqual(picking_deliveries.partner_id, self.subcontractor_partner1)
+ self.assertTrue(picking_deliveries.state != 'cancel')
+ move1 = picking_deliveries.move_ids_without_package
+ self.assertEqual(move1.product_id, self.comp1)
+ self.assertEqual(move1.product_uom_qty, 2)
+
+ def test_dropshipped_component_and_sub_location(self):
+ """
+ Suppose:
+ - a subcontracted product and a component dropshipped to the subcontractor
+ - the location of the subcontractor is a sub-location of the main subcontrating location
+ This test ensures that the PO that brings the component to the subcontractor has a correct
+ destination address
+ """
+ subcontract_location = self.env.company.subcontracting_location_id
+ sub_location = self.env['stock.location'].create({
+ 'name': 'Super Location',
+ 'location_id': subcontract_location.id,
+ 'is_subcontracting_location': True,
+ })
+
+ dropship_subcontractor_route = self.env['stock.route'].search([('name', '=', 'Dropship Subcontractor on Order')])
+
+ subcontractor, vendor = self.env['res.partner'].create([
+ {'name': 'SuperSubcontractor', 'property_stock_subcontractor': sub_location.id},
+ {'name': 'SuperVendor'},
+ ])
+
+ p_finished, p_compo = self.env['product.product'].create([{
+ 'name': 'Finished Product',
+ 'type': 'product',
+ 'seller_ids': [(0, 0, {'partner_id': subcontractor.id})],
+ }, {
+ 'name': 'Component',
+ 'type': 'consu',
+ 'seller_ids': [(0, 0, {'partner_id': vendor.id})],
+ 'route_ids': [(6, 0, dropship_subcontractor_route.ids)]
+ }])
+
+ self.env['mrp.bom'].create({
+ 'product_tmpl_id': p_finished.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'subcontract',
+ 'subcontractor_ids': [(6, 0, subcontractor.ids)],
+ 'bom_line_ids': [
+ (0, 0, {'product_id': p_compo.id, 'product_qty': 1}),
+ ],
+ })
+
+ subcontract_po = self.env['purchase.order'].create({
+ "partner_id": subcontractor.id,
+ "order_line": [(0, 0, {
+ 'product_id': p_finished.id,
+ 'name': p_finished.name,
+ 'product_qty': 1.0,
+ })],
+ })
+ subcontract_po.button_confirm()
+
+ dropship_po = self.env['purchase.order'].search([('partner_id', '=', vendor.id)])
+ self.assertEqual(dropship_po.dest_address_id, subcontractor)
+
+ def test_po_to_customer(self):
+ """
+ Create and confirm a PO with a subcontracted move. The picking type of
+ the PO is 'Dropship' and the delivery address a customer. Then, process
+ a return with the stock location as destination and another return with
+ the supplier as destination
+ """
+ grp_multi_loc = self.env.ref('stock.group_stock_multi_locations')
+ self.env.user.write({'groups_id': [(4, grp_multi_loc.id)]})
+
+ subcontractor, client = self.env['res.partner'].create([
+ {'name': 'SuperSubcontractor'},
+ {'name': 'SuperClient'},
+ ])
+
+ p_finished, p_compo = self.env['product.product'].create([{
+ 'name': 'Finished Product',
+ 'type': 'product',
+ 'seller_ids': [(0, 0, {'partner_id': subcontractor.id})],
+ }, {
+ 'name': 'Component',
+ 'type': 'consu',
+ }])
+
+ bom = self.env['mrp.bom'].create({
+ 'product_tmpl_id': p_finished.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'subcontract',
+ 'subcontractor_ids': [(6, 0, subcontractor.ids)],
+ 'bom_line_ids': [
+ (0, 0, {'product_id': p_compo.id, 'product_qty': 1}),
+ ],
+ })
+
+ dropship_picking_type = self.env['stock.picking.type'].search([
+ ('company_id', '=', self.env.company.id),
+ ('default_location_src_id.usage', '=', 'supplier'),
+ ('default_location_dest_id.usage', '=', 'customer'),
+ ], limit=1, order='sequence')
+
+ po = self.env['purchase.order'].create({
+ "partner_id": subcontractor.id,
+ "picking_type_id": dropship_picking_type.id,
+ "dest_address_id": client.id,
+ "order_line": [(0, 0, {
+ 'product_id': p_finished.id,
+ 'name': p_finished.name,
+ 'product_qty': 2.0,
+ })],
+ })
+ po.button_confirm()
+
+ mo = self.env['mrp.production'].search([('bom_id', '=', bom.id)])
+ self.assertEqual(mo.picking_type_id, self.warehouse.subcontracting_type_id)
+
+ delivery = po.picking_ids
+ delivery.move_line_ids.quantity = 2.0
+ delivery.move_ids.picked = True
+ delivery.button_validate()
+
+ self.assertEqual(delivery.state, 'done')
+ self.assertEqual(mo.state, 'done')
+ self.assertEqual(po.order_line.qty_received, 2)
+
+ # return 1 x P_finished to the stock location
+ stock_location = self.warehouse.lot_stock_id
+ stock_location.return_location = True
+ return_form = Form(self.env['stock.return.picking'].with_context(active_ids=delivery.ids, active_id=delivery.id, active_model='stock.picking'))
+ with return_form.product_return_moves.edit(0) as line:
+ line.quantity = 1.0
+ return_form.location_id = stock_location
+ return_wizard = return_form.save()
+ return_picking_id, _pick_type_id = return_wizard._create_returns()
+
+ delivery_return01 = self.env['stock.picking'].browse(return_picking_id)
+ delivery_return01.move_line_ids.quantity = 1.0
+ delivery_return01.move_ids.picked = True
+ delivery_return01.button_validate()
+
+ self.assertEqual(delivery_return01.state, 'done')
+ self.assertEqual(p_finished.qty_available, 1, 'One product has been returned to the stock location, so it should be available')
+ self.assertEqual(po.order_line.qty_received, 2, 'One product has been returned to the stock location, so we should still consider it as received')
+
+ # return 1 x P_finished to the supplier location
+ supplier_location = dropship_picking_type.default_location_src_id
+ return_form = Form(self.env['stock.return.picking'].with_context(active_ids=delivery.ids, active_id=delivery.id, active_model='stock.picking'))
+ with return_form.product_return_moves.edit(0) as line:
+ line.quantity = 1.0
+ return_form.location_id = supplier_location
+ return_wizard = return_form.save()
+ return_picking_id, _pick_type_id = return_wizard._create_returns()
+
+ delivery_return02 = self.env['stock.picking'].browse(return_picking_id)
+ delivery_return02.move_line_ids.quantity = 1.0
+ delivery_return02.move_ids.picked = True
+ delivery_return02.button_validate()
+
+ self.assertEqual(delivery_return02.state, 'done')
+ self.assertEqual(po.order_line.qty_received, 1)
+
+ def test_po_to_subcontractor(self):
+ """
+ Create and confirm a PO with a subcontracted move. The bought product is
+ also a component of another subcontracted product. The picking type of
+ the PO is 'Dropship' and the delivery address is the other subcontractor
+ """
+ subcontractor, super_subcontractor = self.env['res.partner'].create([
+ {'name': 'Subcontractor'},
+ {'name': 'SuperSubcontractor'},
+ ])
+
+ super_product, product, component = self.env['product.product'].create([{
+ 'name': 'Super Product',
+ 'type': 'product',
+ 'seller_ids': [(0, 0, {'partner_id': super_subcontractor.id})],
+ }, {
+ 'name': 'Product',
+ 'type': 'product',
+ 'seller_ids': [(0, 0, {'partner_id': subcontractor.id})],
+ }, {
+ 'name': 'Component',
+ 'type': 'consu',
+ }])
+
+ _, bom_product = self.env['mrp.bom'].create([{
+ 'product_tmpl_id': super_product.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'subcontract',
+ 'subcontractor_ids': [(6, 0, super_subcontractor.ids)],
+ 'bom_line_ids': [
+ (0, 0, {'product_id': product.id, 'product_qty': 1}),
+ ],
+ }, {
+ 'product_tmpl_id': product.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'subcontract',
+ 'subcontractor_ids': [(6, 0, subcontractor.ids)],
+ 'bom_line_ids': [
+ (0, 0, {'product_id': component.id, 'product_qty': 1}),
+ ],
+ }])
+
+ po = self.env['purchase.order'].create({
+ "partner_id": subcontractor.id,
+ "picking_type_id": self.env.company.dropship_subcontractor_pick_type_id.id,
+ "dest_address_id": super_subcontractor.id,
+ "order_line": [(0, 0, {
+ 'product_id': product.id,
+ 'name': product.name,
+ 'product_qty': 1.0,
+ })],
+ })
+ po.button_confirm()
+
+ mo = self.env['mrp.production'].search([('bom_id', '=', bom_product.id)])
+ self.assertEqual(mo.picking_type_id, self.warehouse.subcontracting_type_id)
+
+ delivery = po.picking_ids
+ self.assertEqual(delivery.location_dest_id, super_subcontractor.property_stock_subcontractor)
+ self.assertTrue(delivery.is_dropship)
+
+ delivery.move_line_ids.quantity = 1.0
+ delivery.move_ids.picked = True
+ delivery.button_validate()
+
+ self.assertEqual(po.order_line.qty_received, 1.0)
+
+ def test_two_boms_same_component_supplier(self):
+ """
+ The "Dropship Subcontractor" route is modified: the propagation of the
+ buy rule is set to "Leave Empty".
+ Two subcontracted products (different subcontractor) that use the same
+ component. The component has its own supplier. Confirm one PO for each
+ subcontrated product. It should generate two PO from component's
+ supplier to each subcontractor.
+ """
+ dropship_subcontractor_route = self.env.ref('mrp_subcontracting_dropshipping.route_subcontracting_dropshipping')
+ dropship_subcontractor_route.rule_ids.filtered(lambda r: r.action == 'buy').group_propagation_option = 'none'
+
+ subcontractor01, subcontractor02, component_supplier = self.env['res.partner'].create([{
+ 'name': 'Super Partner %d' % i
+ } for i in range(3)])
+
+ product01, product02, component = self.env['product.product'].create([{
+ 'name': name,
+ 'type': 'product',
+ 'seller_ids': [(0, 0, {'partner_id': vendor.id})],
+ 'route_ids': [(6, 0, routes)],
+ } for name, vendor, routes in [
+ ('SuperProduct 01', subcontractor01, []),
+ ('SuperProduct 02', subcontractor02, []),
+ ('Component', component_supplier, dropship_subcontractor_route.ids),
+ ]])
+
+ self.env['mrp.bom'].create([{
+ 'product_tmpl_id': finished.product_tmpl_id.id,
+ 'type': 'subcontract',
+ 'subcontractor_ids': [(4, subcontractor.id)],
+ 'bom_line_ids': [(0, 0, {'product_id': component.id})]
+ } for finished, subcontractor in [
+ (product01, subcontractor01),
+ (product02, subcontractor02),
+ ]])
+
+ for (partner, product) in [(subcontractor01, product01), (subcontractor02, product02)]:
+ po_form = Form(self.env['purchase.order'])
+ po_form.partner_id = partner
+ with po_form.order_line.new() as line:
+ line.product_id = product
+ po = po_form.save()
+ po.button_confirm()
+
+ supplier_orders = self.env['purchase.order'].search([('partner_id', '=', component_supplier.id)])
+ self.assertEqual(supplier_orders.dest_address_id, subcontractor01 | subcontractor02)
+ self.assertRecordValues(supplier_orders.order_line, [
+ {'product_id': component.id, 'product_qty': 1.0},
+ {'product_id': component.id, 'product_qty': 1.0},
+ ])
diff --git a/tests/test_sale_dropshipping.py b/tests/test_sale_dropshipping.py
new file mode 100644
index 0000000..fe03e37
--- /dev/null
+++ b/tests/test_sale_dropshipping.py
@@ -0,0 +1,292 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.tests import Form
+
+from odoo.addons.mrp_subcontracting.tests.common import TestMrpSubcontractingCommon
+
+
+class TestSaleDropshippingFlows(TestMrpSubcontractingCommon):
+
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+
+ cls.supplier = cls.env["res.partner"].create({"name": "Supplier"})
+ cls.customer = cls.env["res.partner"].create({"name": "Customer"})
+ cls.dropship_route = cls.env.ref('stock_dropshipping.route_drop_shipping')
+
+ def test_dropship_with_different_suppliers(self):
+ """
+ Suppose a kit with 3 components supplied by 3 vendors
+ When dropshipping this kit, if 2 components are delivered and if the last
+ picking is cancelled, we should consider the kit as fully delivered.
+ """
+ partners = self.env['res.partner'].create([{'name': 'Vendor %s' % i} for i in range(4)])
+ compo01, compo02, compo03, kit = self.env['product.product'].create([{
+ 'name': name,
+ 'type': 'consu',
+ 'route_ids': [(6, 0, [self.dropship_route.id])],
+ 'seller_ids': [(0, 0, {'partner_id': seller.id})],
+ } for name, seller in zip(['Compo01', 'Compo02', 'Compo03', 'Kit'], partners)])
+
+ self.env['mrp.bom'].create({
+ 'product_tmpl_id': kit.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'phantom',
+ 'bom_line_ids': [
+ (0, 0, {'product_id': compo01.id, 'product_qty': 1}),
+ (0, 0, {'product_id': compo02.id, 'product_qty': 1}),
+ (0, 0, {'product_id': compo03.id, 'product_qty': 1}),
+ ],
+ })
+
+ sale_order = self.env['sale.order'].create({
+ 'partner_id': self.customer.id,
+ 'picking_policy': 'direct',
+ 'order_line': [
+ (0, 0, {'name': kit.name, 'product_id': kit.id, 'product_uom_qty': 1}),
+ ],
+ })
+ sale_order.action_confirm()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0)
+
+ purchase_orders = self.env['purchase.order'].search([('partner_id', 'in', partners.ids)])
+ purchase_orders.button_confirm()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0)
+
+ # Deliver the first one
+ picking = sale_order.picking_ids.filtered(lambda p: p.partner_id == partners[0])
+ picking.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0)
+
+ # Deliver the third one
+ picking = sale_order.picking_ids.filtered(lambda p: p.partner_id == partners[2])
+ picking.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0)
+
+ # Cancel the second one
+ sale_order.picking_ids[1].action_cancel()
+ self.assertEqual(sale_order.order_line.qty_delivered, 1)
+
+ def test_return_kit_and_delivered_qty(self):
+ """
+ Sell a kit thanks to the dropshipping route, return it then deliver it again
+ The delivered quantity should be correctly computed
+ """
+ compo, kit = self.env['product.product'].create([{
+ 'name': n,
+ 'type': 'consu',
+ 'route_ids': [(6, 0, [self.dropship_route.id])],
+ 'seller_ids': [(0, 0, {'partner_id': self.supplier.id})],
+ } for n in ['Compo', 'Kit']])
+
+ self.env['mrp.bom'].create({
+ 'product_tmpl_id': kit.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'phantom',
+ 'bom_line_ids': [
+ (0, 0, {'product_id': compo.id, 'product_qty': 1}),
+ ],
+ })
+
+ sale_order = self.env['sale.order'].create({
+ 'partner_id': self.customer.id,
+ 'picking_policy': 'direct',
+ 'order_line': [
+ (0, 0, {'name': kit.name, 'product_id': kit.id, 'product_uom_qty': 1}),
+ ],
+ })
+ sale_order.action_confirm()
+ self.env['purchase.order'].search([], order='id desc', limit=1).button_confirm()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0)
+
+ picking = sale_order.picking_ids
+ picking.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, 1.0)
+
+ for case in ['return', 'deliver again']:
+ delivered_before_case = 1.0 if case == 'return' else 0.0
+ delivered_after_case = 0.0 if case == 'return' else 1.0
+ return_form = Form(self.env['stock.return.picking'].with_context(active_ids=[picking.id], active_id=picking.id, active_model='stock.picking'))
+ return_wizard = return_form.save()
+ action = return_wizard.create_returns()
+ picking = self.env['stock.picking'].browse(action['res_id'])
+ self.assertEqual(sale_order.order_line.qty_delivered, delivered_before_case, "Incorrect delivered qty for case '%s'" % case)
+
+ picking.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, delivered_after_case, "Incorrect delivered qty for case '%s'" % case)
+
+ def test_partial_return_kit_and_delivered_qty(self):
+ """
+ Suppose a kit with 4x the same dropshipped component
+ Suppose a complex delivery process:
+ - Deliver 2 (with backorder)
+ - Return 2
+ - Deliver 1 (with backorder)
+ - Deliver 1 (process "done")
+ - Deliver 1 (from the return)
+ - Deliver 1 (from the return)
+ The test checks the all-or-nothing policy of the delivered quantity
+ This quantity should be 1.0 after the last delivery
+ """
+ compo, kit = self.env['product.product'].create([{
+ 'name': n,
+ 'type': 'consu',
+ 'route_ids': [(6, 0, [self.dropship_route.id])],
+ 'seller_ids': [(0, 0, {'partner_id': self.supplier.id})],
+ } for n in ['Compo', 'Kit']])
+
+ self.env['mrp.bom'].create({
+ 'product_tmpl_id': kit.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'phantom',
+ 'bom_line_ids': [
+ (0, 0, {'product_id': compo.id, 'product_qty': 4}),
+ ],
+ })
+
+ sale_order = self.env['sale.order'].create({
+ 'partner_id': self.customer.id,
+ 'picking_policy': 'direct',
+ 'order_line': [
+ (0, 0, {'name': kit.name, 'product_id': kit.id, 'product_uom_qty': 1}),
+ ],
+ })
+ sale_order.action_confirm()
+ self.env['purchase.order'].search([], order='id desc', limit=1).button_confirm()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0, "Delivered components: 0/4")
+
+ picking01 = sale_order.picking_ids
+ picking01.move_ids.quantity = 2
+ picking01.move_ids.picked = True
+ action = picking01.button_validate()
+ wizard = Form(self.env[action['res_model']].with_context(action['context'])).save()
+ wizard.process()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0, "Delivered components: 2/4")
+
+ # Create a return of picking01 (with both components)
+ return_form = Form(self.env['stock.return.picking'].with_context(active_id=picking01.id, active_model='stock.picking'))
+ wizard = return_form.save()
+ wizard.product_return_moves.write({'quantity': 2.0})
+ res = wizard.create_returns()
+ return01 = self.env['stock.picking'].browse(res['res_id'])
+
+ return01.move_ids.quantity = 2
+ return01.move_ids.picked = True
+ return01.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0, "Delivered components: 0/4")
+
+ picking02 = picking01.backorder_ids
+ picking02.move_ids.quantity = 1
+ picking02.move_ids.picked = True
+ action = picking02.button_validate()
+ wizard = Form(self.env[action['res_model']].with_context(action['context'])).save()
+ wizard.process()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0, "Delivered components: 1/4")
+
+ picking03 = picking02.backorder_ids
+ picking03.move_ids.quantity = 1
+ picking03.move_ids.picked = True
+ picking03.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0, "Delivered components: 2/4")
+
+ # Create a return of return01 (with 1 component)
+ return_form = Form(self.env['stock.return.picking'].with_context(active_id=return01.id, active_model='stock.picking'))
+ wizard = return_form.save()
+ wizard.product_return_moves.write({'quantity': 1.0})
+ res = wizard.create_returns()
+ picking04 = self.env['stock.picking'].browse(res['res_id'])
+
+ picking04.move_ids.quantity = 1
+ picking04.move_ids.picked = True
+ picking04.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0, "Delivered components: 3/4")
+
+ # Create a second return of return01 (with 1 component, the last one)
+ return_form = Form(self.env['stock.return.picking'].with_context(active_id=return01.id, active_model='stock.picking'))
+ wizard = return_form.save()
+ wizard.product_return_moves.write({'quantity': 1.0})
+ res = wizard.create_returns()
+ picking04 = self.env['stock.picking'].browse(res['res_id'])
+
+ picking04.move_ids.quantity = 1
+ picking04.move_ids.picked = True
+ picking04.button_validate()
+ self.assertEqual(sale_order.order_line.qty_delivered, 1, "Delivered components: 4/4")
+
+ def test_cancelled_picking_and_delivered_qty(self):
+ """
+ The delivered quantity should be zero if all SM are cancelled
+ """
+ compo, kit = self.env['product.product'].create([{
+ 'name': n,
+ 'type': 'consu',
+ 'route_ids': [(6, 0, [self.dropship_route.id])],
+ 'seller_ids': [(0, 0, {'partner_id': self.supplier.id})],
+ } for n in ['Compo', 'Kit']])
+
+ self.env['mrp.bom'].create({
+ 'product_tmpl_id': kit.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'phantom',
+ 'bom_line_ids': [
+ (0, 0, {'product_id': compo.id, 'product_qty': 1}),
+ ],
+ })
+
+ sale_order = self.env['sale.order'].create({
+ 'partner_id': self.customer.id,
+ 'picking_policy': 'direct',
+ 'order_line': [
+ (0, 0, {'name': kit.name, 'product_id': kit.id, 'product_uom_qty': 1}),
+ ],
+ })
+ sale_order.action_confirm()
+ self.env['purchase.order'].search([], order='id desc', limit=1).button_confirm()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0)
+
+ sale_order.picking_ids.action_cancel()
+ self.assertEqual(sale_order.order_line.qty_delivered, 0.0)
+
+ def test_sale_kit_with_dropshipped_component(self):
+ """
+ The test checks the delivered quantity of a kit when one of the
+ components is dropshipped
+ """
+ compo01, compo02, kit = self.env['product.product'].create([{
+ 'name': n,
+ 'type': 'consu',
+ } for n in ['compo01', 'compo02', 'super kit']])
+
+ compo02.write({
+ 'route_ids': [(6, 0, [self.dropship_route.id])],
+ 'seller_ids': [(0, 0, {'partner_id': self.supplier.id})],
+ })
+
+ self.env['mrp.bom'].create({
+ 'product_tmpl_id': kit.product_tmpl_id.id,
+ 'product_qty': 1,
+ 'type': 'phantom',
+ 'bom_line_ids': [
+ (0, 0, {'product_id': compo01.id, 'product_qty': 1}),
+ (0, 0, {'product_id': compo02.id, 'product_qty': 1}),
+ ],
+ })
+
+ sale_order = self.env['sale.order'].create({
+ 'partner_id': self.customer.id,
+ 'picking_policy': 'direct',
+ 'order_line': [
+ (0, 0, {'name': kit.name, 'product_id': kit.id, 'product_uom_qty': 1}),
+ ],
+ })
+ sale_order.action_confirm()
+ self.env['purchase.order'].search([], order='id desc', limit=1).button_confirm()
+
+ sale_order.picking_ids.move_ids.quantity = 1
+ sale_order.picking_ids.move_ids.picked = True
+ sale_order.picking_ids[0].button_validate()
+ sale_order.picking_ids[1].button_validate()
+
+ self.assertEqual(sale_order.order_line.qty_delivered, 1.0)
diff --git a/views/purchase_order_views.xml b/views/purchase_order_views.xml
new file mode 100644
index 0000000..70ee698
--- /dev/null
+++ b/views/purchase_order_views.xml
@@ -0,0 +1,16 @@
+
+
+ Purchase Order Inherit Dropship Subcontractor
+ purchase.order
+
+
+
+
+
+
+ default_location_dest_id_usage != 'customer' and not default_location_dest_id_is_subcontracting_loc
+ default_location_dest_id_usage == 'customer' or default_location_dest_id_is_subcontracting_loc
+
+
+
+
diff --git a/views/stock_warehouse_views.xml b/views/stock_warehouse_views.xml
new file mode 100644
index 0000000..e61b6ff
--- /dev/null
+++ b/views/stock_warehouse_views.xml
@@ -0,0 +1,13 @@
+
+
+
+ Stock Warehouse Inherit Subcontracting Dropshipping
+ stock.warehouse
+
+
+
+
+
+
+
+
diff --git a/wizard/__init__.py b/wizard/__init__.py
new file mode 100644
index 0000000..6326fb5
--- /dev/null
+++ b/wizard/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import product_replenish
diff --git a/wizard/product_replenish.py b/wizard/product_replenish.py
new file mode 100644
index 0000000..28c9826
--- /dev/null
+++ b/wizard/product_replenish.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+from odoo.osv import expression
+
+
+class ProductReplenish(models.TransientModel):
+ _inherit = 'product.replenish'
+
+ def _get_allowed_route_domain(self):
+ domains = super()._get_allowed_route_domain()
+ return expression.AND([domains, [('id', '!=', self.env.ref('mrp_subcontracting_dropshipping.route_subcontracting_dropshipping', raise_if_not_found=False).id)]])