[tryton-debian-vcs] tryton-modules-sale-supply-drop-shipment branch debian updated. debian/3.6.0-1-4-g896122f

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Nov 11 11:28:39 UTC 2015


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-sale-supply-drop-shipment.git;a=commitdiff;h=debian/3.6.0-1-4-g896122f

commit 896122f82604d5094fba1316db8ae605031969d8
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Nov 11 12:11:18 2015 +0100

    Merging upstream version 3.8.0.

diff --git a/CHANGELOG b/CHANGELOG
index 58b5c1d..106f5ad 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+Version 3.8.0 - 2015-11-02
+* Bug fixes (see mercurial logs for details)
+* Split moves into supplier and customer moves
+
 Version 3.6.0 - 2015-04-20
 * Bug fixes (see mercurial logs for details)
 * Add support for PyPy
diff --git a/PKG-INFO b/PKG-INFO
index a269ee1..d0b191b 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_sale_supply_drop_shipment
-Version: 3.6.0
+Version: 3.8.0
 Summary: Tryton module for sale supply drop shipment
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
 Description: sale_supply_drop_shipment
         =========================
         
@@ -59,6 +59,9 @@ Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
diff --git a/__init__.py b/__init__.py
index 94aaef5..59e356c 100644
--- a/__init__.py
+++ b/__init__.py
@@ -12,9 +12,11 @@ def register():
         Configuration,
         ShipmentDrop,
         Move,
+        SaleConfig,
         Sale,
         SaleLine,
         PurchaseRequest,
+        PurchaseConfig,
         Purchase,
         PurchaseLine,
         ProductSupplier,
@@ -22,5 +24,4 @@ def register():
     Pool.register(
         CreatePurchase,
         PurchaseHandleShipmentException,
-        SaleHandleShipmentException,
         module='sale_supply_drop_shipment', type_='wizard')
diff --git a/doc/index.rst b/doc/index.rst
index b88091e..8333327 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -22,7 +22,12 @@ The drop shipment can be in one of this states:
 
 * Waiting
 
-  All moves are in draft but the shipment is in readonly.
+  All moves are in draft, the synchronization between the moves of the supplier
+  and the moves to the customer has occured.
+
+* Shipped
+
+  All moves from the supplier are done.
 
 * Done
 
diff --git a/locale/ca_ES.po b/locale/bg_BG.po
similarity index 63%
copy from locale/ca_ES.po
copy to locale/bg_BG.po
index c32dda3..861a3aa 100644
--- a/locale/ca_ES.po
+++ b/locale/bg_BG.po
@@ -5,207 +5,264 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"S'ha de definir una adreça d'enviament pel pressupost de la compra \"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No podeu restaurar a esborrany el moviment \"%s\" generat per una venda o "
-"una compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Client"
+msgstr "Клиент"
 
+#, fuzzy
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Adreça d'enviament"
+msgstr "Адрес за доствка"
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Client"
+msgstr "Клиент"
 
+#, fuzzy
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Adreça d'enviament"
+msgstr "Адрес за доствка"
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Seqüència d'enviament directe"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Client d'enviament directe"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
-msgstr "Codi"
+msgstr "Код"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr "Фирма"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Adreça de contacte"
+msgstr "Адрес за контакт"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Data creació"
+msgstr "Създадено на"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Usuari creació"
+msgstr "Създадено от"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Client"
+msgstr "Клиент"
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Adreça d'enviament"
+msgstr "Адрес за доствка"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Data efectiva"
+msgstr "Ефективна дата"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
 msgstr "ID"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Moviments"
+msgstr "Движения"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Data estimada"
+msgstr "Планирана дата"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nom"
+msgstr "Условие за плащане"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referència"
+msgstr "Препратка"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
-msgstr "Estat"
+msgstr "Щат"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveïdor"
+msgstr "Доставчик"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
+
+#, fuzzy
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Data modificació"
+msgstr "Променено на"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Usuari modificació"
+msgstr "Променено от"
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Totes"
+msgstr ""
 
+#, fuzzy
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Esborrany"
+msgstr "Проект"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
+
+#, fuzzy
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Очакване"
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Cancel·lat"
+msgstr "Отказан"
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Finalitzat"
+msgstr "Приключено"
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Esborrany"
+msgstr "Проект"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Очакване"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancel·la"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Finalitza"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Esborrany"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
-msgid "Wait"
-msgstr "En espera"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Cancel·la"
+msgid "Ship"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continua"
+msgctxt "view:stock.shipment.drop:"
+msgid "Wait"
+msgstr ""
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index c32dda3..0d3c60b 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -15,6 +15,10 @@ msgstr ""
 "No podeu restaurar a esborrany el moviment \"%s\" generat per una venda o "
 "una compra."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Ubicació compra directa"
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
 msgstr "Enviament directe"
@@ -27,6 +31,10 @@ msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
 msgstr "Adreça d'enviament"
 
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicació enviament directe"
+
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Enviaments directes"
@@ -39,6 +47,14 @@ msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
 msgstr "Adreça d'enviament"
 
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Ubicació venda directa"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicació enviament directe"
+
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Enviaments directes"
@@ -75,6 +91,10 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Client"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Movimients de client"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
 msgstr "Adreça d'enviament"
@@ -111,6 +131,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Proveïdor"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Moviments de proveïdor"
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Data modificació"
@@ -134,7 +158,7 @@ msgstr "Enviaments directes"
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Totes"
+msgstr "Tot"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
@@ -142,6 +166,11 @@ msgid "Draft"
 msgstr "Esborrany"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Enviat"
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "En espera"
@@ -158,6 +187,10 @@ msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Enviaments directes"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Enviament directe"
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
 msgstr "Enviament directe"
@@ -175,6 +208,10 @@ msgid "Draft"
 msgstr "Esborrany"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Enviat"
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "En espera"
 
@@ -199,13 +236,9 @@ msgid "Drop Shipments"
 msgstr "Enviaments directes"
 
 msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr "Envia"
+
+msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
 msgstr "En espera"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Cancel·la"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continua"
diff --git a/locale/es_EC.po b/locale/cs_CZ.po
similarity index 73%
copy from locale/es_EC.po
copy to locale/cs_CZ.po
index 49312e7..b8fbee0 100644
--- a/locale/es_EC.po
+++ b/locale/cs_CZ.po
@@ -5,200 +5,237 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"Se debe definir una dirección de entrega para la cotización de la compra "
-"\"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No puede restaurar a borrador el movimiento \"%s\" que fue generado por una "
-"venta o compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
-msgstr "Código"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Dirección de Contacto"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha Efectiva"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
-msgstr "ID"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Movimientos"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha Planificada"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
-msgstr "Estado"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveedor"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Todo"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Cancelado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
-msgstr "Espera"
+msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index bd07def..851979c 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -16,6 +16,10 @@ msgstr ""
 "Bewegung \"%s\" kann nicht auf Status \"Entwurf\" gesetzt werden, weil sie "
 "durch einen Einkauf oder Verkauf erzeugt wurde."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Lagerort Direktlieferung Einkauf"
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
 msgstr "Direkter Lieferposten"
@@ -28,6 +32,10 @@ msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
 msgstr "Lieferadresse"
 
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Lagerort Direktlieferung"
+
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Direkte Lieferposten"
@@ -40,6 +48,14 @@ msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
 msgstr "Lieferadresse"
 
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Lagerort Direktlieferung Verkauf"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Lagerort Direktlieferung"
+
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Direkte Lieferposten"
@@ -76,6 +92,10 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Kunde"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Kundenbewegungen"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
 msgstr "Lieferadresse"
@@ -102,7 +122,7 @@ msgstr "Name"
 
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Beleg"
+msgstr "Beleg-Nr."
 
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
@@ -112,6 +132,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Lieferant"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Lieferantenbewegungen"
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Zuletzt geändert"
@@ -143,6 +167,11 @@ msgid "Draft"
 msgstr "Entwurf"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Versendet"
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "Wartend"
@@ -159,6 +188,10 @@ msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Direkte Lieferposten"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Direktlieferung"
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
 msgstr "Direkter Lieferposten"
@@ -176,6 +209,10 @@ msgid "Draft"
 msgstr "Entwurf"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Versendet"
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "Wartend"
 
@@ -200,6 +237,10 @@ msgid "Drop Shipments"
 msgstr "Direkte Lieferposten"
 
 msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr "Versenden"
+
+msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
 msgstr "Warten"
 
diff --git a/locale/es_AR.po b/locale/es_AR.po
index b74b93c..de70876 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -16,9 +16,13 @@ msgstr ""
 "No puede restablecer a borrador el movimiento «%s» generado por una venta o "
 "una compra."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Ubicación de entrega directa de compra"
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Remito directo"
+msgstr "Remito de entrega directa"
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
@@ -28,9 +32,13 @@ msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección envío"
 
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicación de entrega directa"
+
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Remitos directos"
+msgstr "Remitos de entrega directa"
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
@@ -40,17 +48,25 @@ msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección envío"
 
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Ubicación de entrega directa de venta"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicación de entrega directa"
+
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Remitos directos"
+msgstr "Remitos de entrega directa"
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de Remito directo"
+msgstr "Secuencia de remito de entrega directa"
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de envío directo"
+msgstr "Cliente de entrega directa"
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
@@ -76,6 +92,10 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Cliente"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Movimientos de cliente"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección envío"
@@ -112,6 +132,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Proveedor"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Movimientos de proveedor"
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Fecha modificación"
@@ -122,15 +146,15 @@ msgstr "Usuario modificación"
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Remitos directos"
+msgstr "Remitos de entrega directa"
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Remitos directos"
+msgstr "Remitos de entrega directa"
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Remitos directos"
+msgstr "Remitos de entrega directa"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
@@ -143,25 +167,34 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Enviado"
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "En espera"
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Remito directo"
+msgstr "Remito de entrega directa"
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Remito directo"
+msgstr "Remito de entrega directa"
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Remitos directos"
+msgstr "Remitos de entrega directa"
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Entrega directa"
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Remito directo"
+msgstr "Remito de entrega directa"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
@@ -176,6 +209,10 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Enviado"
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "En espera"
 
@@ -193,20 +230,16 @@ msgstr "Borrador"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Remito directo"
+msgstr "Remito de entrega directa"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Remitos directos"
+msgstr "Remitos de entrega directa"
+
+msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr "Enviar"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
 msgstr "Espera"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Cancelar"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continuar"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 89eb53d..f062736 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -16,6 +16,10 @@ msgstr ""
 "No puede devolver a borrador el movimiento \"%s\" porque fue generado por "
 "una venta o compra."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
 msgstr "Entrega de Envío"
@@ -28,6 +32,10 @@ msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección de Envío"
 
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
+
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Entrega de Envíos"
@@ -40,6 +48,14 @@ msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección de Envío"
 
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
+
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Entrega de Envíos"
@@ -76,6 +92,10 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Cliente"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección de Envío"
@@ -112,6 +132,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Proveedor"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Fecha de Modificación"
@@ -143,6 +167,11 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "En Espera"
@@ -159,6 +188,10 @@ msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Entrega de Envíos"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
 msgstr "Entrega de Envío"
@@ -176,6 +209,10 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "En Espera"
 
@@ -200,5 +237,9 @@ msgid "Drop Shipments"
 msgstr "Entrega de Envíos"
 
 msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr ""
+
+msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
 msgstr "Espera"
diff --git a/locale/es_EC.po b/locale/es_EC.po
index 49312e7..fdaa2ed 100644
--- a/locale/es_EC.po
+++ b/locale/es_EC.po
@@ -14,11 +14,15 @@ msgid ""
 "purchase."
 msgstr ""
 "No puede restaurar a borrador el movimiento \"%s\" que fue generado por una "
-"venta o compra."
+"venta o una compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Ubicación de compra directa"
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr "Envío directo"
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
@@ -26,11 +30,15 @@ msgstr "Cliente"
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr "Dirección de entrega"
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicación de envío directo"
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr "Envíos directos"
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
@@ -38,19 +46,27 @@ msgstr "Cliente"
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr "Dirección de entrega"
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Ubicación de venta directa"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicación de envío directo"
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr "Envíos directos"
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de Envío Directo"
+msgstr "Secuencia de envío directo"
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de Envío Directo"
+msgstr "Cliente de envío directo"
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
@@ -62,27 +78,31 @@ msgstr "Empresa"
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Dirección de Contacto"
+msgstr "Dirección de contacto"
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr "Fecha de creación"
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr "Creado por usuario"
 
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Cliente"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Movimientos de cliente"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr "Dirección de entrega"
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha Efectiva"
+msgstr "Fecha efectiva"
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
@@ -94,7 +114,7 @@ msgstr "Movimientos"
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha Planificada"
+msgstr "Fecha planificada"
 
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
@@ -112,25 +132,29 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Proveedor"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Movimientos de proveedor"
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr "Fecha de modificación"
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr "Modificado por usuario"
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr "Envíos directos"
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr "Envíos directos"
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr "Envíos directos"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
@@ -143,25 +167,34 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Enviado"
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr "En espera"
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr "Envío directo"
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr "Envío directo"
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Envíos Directos"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Envío directo"
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr "Envío directo"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
@@ -176,6 +209,10 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Enviado"
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "En Espera"
 
@@ -193,11 +230,15 @@ msgstr "Borrador"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr "Envío directo"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr "Envíos directos"
+
+msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr "Enviar"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index df9275c..4403091 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -16,6 +16,10 @@ msgstr ""
 "No puede restaurar a borrador el movimiento \"%s\" generado por una venta o "
 "una compra."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Ubicación compra directa"
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
 msgstr "Envío directo"
@@ -26,7 +30,11 @@ msgstr "Cliente"
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección envío"
+msgstr "Dirección de envío"
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicación envío directo"
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
@@ -38,7 +46,15 @@ msgstr "Cliente"
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección envío"
+msgstr "Dirección de envío"
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Ubicación venta directa"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Ubicación envío directo"
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
@@ -76,9 +92,13 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Cliente"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Movimientos de cliente"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección envío"
+msgstr "Dirección de envío"
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
@@ -112,6 +132,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Proveedor"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Movimientos de proveedor"
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Fecha modificación"
@@ -143,6 +167,11 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Enviado"
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "En espera"
@@ -159,6 +188,10 @@ msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Envíos directos"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Envío directo"
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
 msgstr "Envío directo"
@@ -176,6 +209,10 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Enviado"
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "En espera"
 
@@ -200,13 +237,9 @@ msgid "Drop Shipments"
 msgstr "Envíos directos"
 
 msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr "Enviar"
+
+msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
 msgstr "En espera"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Cancelar"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continuar"
diff --git a/locale/es_ES.po b/locale/es_MX.po
similarity index 83%
copy from locale/es_ES.po
copy to locale/es_MX.po
index df9275c..2bb91bc 100644
--- a/locale/es_ES.po
+++ b/locale/es_MX.po
@@ -16,6 +16,10 @@ msgstr ""
 "No puede restaurar a borrador el movimiento \"%s\" generado por una venta o "
 "una compra."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
 msgstr "Envío directo"
@@ -28,6 +32,10 @@ msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección envío"
 
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
+
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Envíos directos"
@@ -40,6 +48,14 @@ msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección envío"
 
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
+
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Envíos directos"
@@ -76,6 +92,10 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Cliente"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
 msgstr "Dirección envío"
@@ -112,6 +132,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Proveedor"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Fecha modificación"
@@ -143,6 +167,11 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "En espera"
@@ -159,6 +188,10 @@ msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Envíos directos"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
 msgstr "Envío directo"
@@ -176,37 +209,37 @@ msgid "Draft"
 msgstr "Borrador"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "En espera"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Finalizar"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío directo"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
-msgid "Wait"
-msgstr "En espera"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Cancelar"
+msgid "Ship"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continuar"
+msgctxt "view:stock.shipment.drop:"
+msgid "Wait"
+msgstr ""
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index a1f5dce..e2c563f 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -15,6 +15,10 @@ msgstr ""
 "Vous ne pouvez remettre en brouillon le mouvement « %s » car il a été généré"
 " par une vente ou un achat."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Emplacement de livraison directe d'achat"
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
 msgstr "Drop shipment"
@@ -27,6 +31,10 @@ msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
 msgstr "Adresse de livraison"
 
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Emplacement de livraison directe"
+
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Drop shipments"
@@ -39,6 +47,14 @@ msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
 msgstr "Adresse de livraison"
 
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Emplacement de livraison directe de vente"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Emplacement de livraison directe"
+
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Drop shipments"
@@ -75,6 +91,10 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Client"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Mouvements clients"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
 msgstr "Adresse de livraison"
@@ -111,6 +131,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Fournisseur"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Mouvements fournisseurs"
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Date de mise à jour"
@@ -142,6 +166,11 @@ msgid "Draft"
 msgstr "Brouillon"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Livrés"
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "En attente"
@@ -158,6 +187,10 @@ msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Drop shipments"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Livraison directe"
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
 msgstr "Drop shipment"
@@ -168,13 +201,17 @@ msgstr "Annulée"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Fait"
+msgstr "Effectué"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
 msgstr "Brouillon"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Livré"
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "En attente"
 
@@ -184,7 +221,7 @@ msgstr "Annuler"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Fait"
+msgstr "Effectuer"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
@@ -199,13 +236,9 @@ msgid "Drop Shipments"
 msgstr "Expéditions drop shipping"
 
 msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr "Livrer"
+
+msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
 msgstr "Attendre"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Annuler"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continuer"
diff --git a/locale/es_EC.po b/locale/hu_HU.po
similarity index 73%
copy from locale/es_EC.po
copy to locale/hu_HU.po
index 49312e7..b8fbee0 100644
--- a/locale/es_EC.po
+++ b/locale/hu_HU.po
@@ -5,200 +5,237 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"Se debe definir una dirección de entrega para la cotización de la compra "
-"\"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No puede restaurar a borrador el movimiento \"%s\" que fue generado por una "
-"venta o compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
-msgstr "Código"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Dirección de Contacto"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha Efectiva"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
-msgstr "ID"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Movimientos"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha Planificada"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
-msgstr "Estado"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveedor"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Todo"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Cancelado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
-msgstr "Espera"
+msgstr ""
diff --git a/locale/es_EC.po b/locale/it_IT.po
similarity index 73%
copy from locale/es_EC.po
copy to locale/it_IT.po
index 49312e7..b8fbee0 100644
--- a/locale/es_EC.po
+++ b/locale/it_IT.po
@@ -5,200 +5,237 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"Se debe definir una dirección de entrega para la cotización de la compra "
-"\"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No puede restaurar a borrador el movimiento \"%s\" que fue generado por una "
-"venta o compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
-msgstr "Código"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Dirección de Contacto"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha Efectiva"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
-msgstr "ID"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Movimientos"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha Planificada"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
-msgstr "Estado"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveedor"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Todo"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Cancelado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
-msgstr "Espera"
+msgstr ""
diff --git a/locale/es_EC.po b/locale/ja_JP.po
similarity index 73%
copy from locale/es_EC.po
copy to locale/ja_JP.po
index 49312e7..b8fbee0 100644
--- a/locale/es_EC.po
+++ b/locale/ja_JP.po
@@ -5,200 +5,237 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"Se debe definir una dirección de entrega para la cotización de la compra "
-"\"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No puede restaurar a borrador el movimiento \"%s\" que fue generado por una "
-"venta o compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
-msgstr "Código"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Dirección de Contacto"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha Efectiva"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
-msgstr "ID"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Movimientos"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha Planificada"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
-msgstr "Estado"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveedor"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Todo"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Cancelado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
-msgstr "Espera"
+msgstr ""
diff --git a/locale/es_EC.po b/locale/lt_LT.po
similarity index 73%
copy from locale/es_EC.po
copy to locale/lt_LT.po
index 49312e7..b8fbee0 100644
--- a/locale/es_EC.po
+++ b/locale/lt_LT.po
@@ -5,200 +5,237 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"Se debe definir una dirección de entrega para la cotización de la compra "
-"\"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No puede restaurar a borrador el movimiento \"%s\" que fue generado por una "
-"venta o compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de Envío Directo"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
-msgstr "Código"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Dirección de Contacto"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Fecha de Creación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Creado por Usuario"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Cliente"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección de Envío"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha Efectiva"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
-msgstr "ID"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Movimientos"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha Planificada"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
-msgstr "Estado"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveedor"
+msgstr ""
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Fecha de Modificación"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Modificado por Usuario"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Todo"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Cancelado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
+
+msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En Espera"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancelar"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Realizado"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío Directo"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos Directos"
+msgstr ""
+
+msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
-msgstr "Espera"
+msgstr ""
diff --git a/locale/de_DE.po b/locale/nl_NL.po
similarity index 69%
copy from locale/de_DE.po
copy to locale/nl_NL.po
index bd07def..1465088 100644
--- a/locale/de_DE.po
+++ b/locale/nl_NL.po
@@ -5,208 +5,254 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"Für Angebotsanfrage von Verkauf \"%s\" muss eine Lieferadresse angegeben "
-"werden."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"Bewegung \"%s\" kann nicht auf Status \"Entwurf\" gesetzt werden, weil sie "
-"durch einen Einkauf oder Verkauf erzeugt wurde."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Direkter Lieferposten"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Kunde"
+msgstr "Klant"
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Lieferadresse"
+msgstr ""
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Direkte Lieferposten"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Kunde"
+msgstr "Klant"
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Lieferadresse"
+msgstr ""
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Direkte Lieferposten"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Nummernkreis Direkte Lieferposten"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Direktkunde"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
 msgstr "Code"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Unternehmen"
+msgstr "Bedrijf"
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Kontaktadresse"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Erstellungsdatum"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Erstellt durch"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Kunde"
+msgstr "Klant"
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Lieferadresse"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Effektives Datum"
+msgstr "Effectieve datum"
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
-msgstr "ID"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Lagerbewegungen"
+msgstr "Boekingen"
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Geplantes Datum"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Name"
+msgstr "Naam bijlage"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Beleg"
+msgstr "Referentie"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
 msgstr "Status"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Lieferant"
+msgstr "Leverancier"
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Zuletzt geändert"
+msgstr ""
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Letzte Änderung durch"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Direkte Lieferposten"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Direkte Lieferposten"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Direkte Lieferposten"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Alle"
+msgstr ""
 
+#, fuzzy
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Entwurf"
+msgstr "Concept"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
+
+#, fuzzy
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "Wartend"
+msgstr "In afwachting"
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Direkter Lieferposten"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Direkter Lieferposten"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Direkte Lieferposten"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Direkter Lieferposten"
+msgstr ""
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Annulliert"
+msgstr "Geannuleerd"
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Erledigt"
+msgstr "Klaar"
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Entwurf"
+msgstr "Concept"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "Wartend"
+msgstr "In afwachting"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Annullieren"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Erledigt"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Entwurf"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Direkter Lieferposten"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Direkte Lieferposten"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
-msgid "Wait"
-msgstr "Warten"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Abbrechen"
+msgid "Ship"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Fortfahren"
+msgctxt "view:stock.shipment.drop:"
+msgid "Wait"
+msgstr ""
diff --git a/locale/es_ES.po b/locale/pt_BR.po
similarity index 63%
copy from locale/es_ES.po
copy to locale/pt_BR.po
index df9275c..1497105 100644
--- a/locale/es_ES.po
+++ b/locale/pt_BR.po
@@ -4,21 +4,23 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
-msgstr ""
-"Se debe definir una dirección de envío para el presupuesto de la compra "
-"\"%s\"."
+msgstr "Um endereço de entrega deve ser definido para a cotação da compra \"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No puede restaurar a borrador el movimiento \"%s\" generado por una venta o "
-"una compra."
+"Você não pode restaurar para rascunho a movimentação \"%s\" que foi gerada "
+"por uma venda ou compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Localização de Envio Direto"
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Envío directo"
+msgstr "Envio Direto"
 
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
@@ -26,11 +28,15 @@ msgstr "Cliente"
 
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección envío"
+msgstr "Endereço de Entrega"
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Localização de Envio Direto"
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr "Envios Diretos"
 
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
@@ -38,19 +44,27 @@ msgstr "Cliente"
 
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección envío"
+msgstr "Endereço de Entrega"
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Localização de Envio Direto de Venda"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Envio Direto"
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr "Envios Direto"
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Secuencia de envío directo"
+msgstr "Sequência de Envio Direto"
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Cliente de envío directo"
+msgstr "Cliente de Envio Direto"
 
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
@@ -62,27 +76,31 @@ msgstr "Empresa"
 
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Dirección de contacto"
+msgstr "Endereço de Contato"
 
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Fecha creación"
+msgstr "Data de criação"
 
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Usuario creación"
+msgstr "Criado por"
 
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Cliente"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Movimentações do Cliente"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Dirección envío"
+msgstr "Endereço de Entrega"
 
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Fecha efectiva"
+msgstr "Data efetiva"
 
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
@@ -90,19 +108,19 @@ msgstr "ID"
 
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Movimientos"
+msgstr "Movimentações"
 
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Fecha estimada"
+msgstr "Data Planejada"
 
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nombre"
+msgstr "Nome"
 
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referencia"
+msgstr "Referência"
 
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
@@ -110,58 +128,71 @@ msgstr "Estado"
 
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveedor"
+msgstr "Fornecedor"
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Movimentações do Fornecedor"
 
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Fecha modificación"
+msgstr "Data de edição"
 
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Usuario modificación"
+msgstr "Editado por"
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr "Envios Diretos"
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr "Envios Diretos"
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr "Envios Diretos"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Todo"
+msgstr "Todos"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Borrador"
+msgstr "Rascunho"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Enviado"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Em espera"
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío directo"
+msgstr "Envio Direto"
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Envío directo"
+msgstr "Envio Direto"
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr "Envios Direto"
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Envio Direto"
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Envío directo"
+msgstr "Envio Direto"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
@@ -169,15 +200,19 @@ msgstr "Cancelado"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Finalizado"
+msgstr "Concluído"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr "Rascunho"
+
+msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Enviado"
 
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Em espera"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
@@ -185,28 +220,24 @@ msgstr "Cancelar"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Finalizar"
+msgstr "Concluído"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Borrador"
+msgstr "Rascunho"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Envío directo"
+msgstr "Envio Direto"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Envíos directos"
+msgstr "Envios Diretos"
 
 msgctxt "view:stock.shipment.drop:"
-msgid "Wait"
-msgstr "En espera"
+msgid "Ship"
+msgstr "Enviar"
 
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Cancelar"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continuar"
+msgctxt "view:stock.shipment.drop:"
+msgid "Wait"
+msgstr "Esperar"
diff --git a/locale/ca_ES.po b/locale/ru_RU.po
similarity index 62%
copy from locale/ca_ES.po
copy to locale/ru_RU.po
index c32dda3..4e6fd37 100644
--- a/locale/ca_ES.po
+++ b/locale/ru_RU.po
@@ -5,207 +5,265 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 msgctxt "error:purchase.purchase:"
 msgid "A delivery address must be defined for quotation of purchase \"%s\"."
 msgstr ""
-"S'ha de definir una adreça d'enviament pel pressupost de la compra \"%s\"."
 
 msgctxt "error:stock.shipment.drop:"
 msgid ""
 "You cannot reset to draft move \"%s\" which was generated by a sale or a "
 "purchase."
 msgstr ""
-"No podeu restaurar a esborrany el moviment \"%s\" generat per una venda o "
-"una compra."
+
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:purchase.purchase,customer:"
 msgid "Customer"
-msgstr "Client"
+msgstr "Заказчик"
 
+#, fuzzy
 msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
-msgstr "Adreça d'enviament"
+msgstr "Адрес доставки"
+
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:purchase.request,customer:"
 msgid "Customer"
-msgstr "Client"
+msgstr "Заказчик"
 
+#, fuzzy
 msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
-msgstr "Adreça d'enviament"
+msgstr "Адрес доставки"
+
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr ""
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr ""
 
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "field:stock.configuration,shipment_drop_sequence:"
 msgid "Drop Shipment Sequence"
-msgstr "Seqüència d'enviament directe"
+msgstr ""
 
 msgctxt "field:stock.move,customer_drop:"
 msgid "Drop Customer"
-msgstr "Client d'enviament directe"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,code:"
 msgid "Code"
-msgstr "Codi"
+msgstr "Код языка"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,company:"
 msgid "Company"
-msgstr "Empresa"
+msgstr "Учет.орг."
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,contact_address:"
 msgid "Contact Address"
-msgstr "Adreça de contacte"
+msgstr "Контактный адрес"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,create_date:"
 msgid "Create Date"
-msgstr "Data creació"
+msgstr "Дата создания"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,create_uid:"
 msgid "Create User"
-msgstr "Usuari creació"
+msgstr "Создано пользователем"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
-msgstr "Client"
+msgstr "Заказчик"
+
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
-msgstr "Adreça d'enviament"
+msgstr "Адрес доставки"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,effective_date:"
 msgid "Effective Date"
-msgstr "Data efectiva"
+msgstr "Учетная дата"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,id:"
 msgid "ID"
 msgstr "ID"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,moves:"
 msgid "Moves"
-msgstr "Moviments"
+msgstr "Перемещения"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,planned_date:"
 msgid "Planned Date"
-msgstr "Data estimada"
+msgstr "Плановая дата"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,rec_name:"
 msgid "Name"
-msgstr "Nom"
+msgstr "Правило оплаты"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,reference:"
 msgid "Reference"
-msgstr "Referència"
+msgstr "Ссылка"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,state:"
 msgid "State"
-msgstr "Estat"
+msgstr "Штат"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
-msgstr "Proveïdor"
+msgstr "Поставщик"
+
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr ""
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
-msgstr "Data modificació"
+msgstr "Дата изменения"
 
+#, fuzzy
 msgctxt "field:stock.shipment.drop,write_uid:"
 msgid "Write User"
-msgstr "Usuari modificació"
+msgstr "Изменено пользователем"
 
 msgctxt "model:ir.action,name:act_purchase_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_sale_drop_shipment_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
+#, fuzzy
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_all"
 msgid "All"
-msgstr "Totes"
+msgstr "Все"
 
+#, fuzzy
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_draft"
 msgid "Draft"
-msgstr "Esborrany"
+msgstr "Черновик"
+
+msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr ""
 
+#, fuzzy
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Ожидание"
 
 msgctxt "model:ir.sequence,name:sequence_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
 msgctxt "model:ir.sequence.type,name:sequence_type_shipment_drop"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
+
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr ""
 
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Canceled"
-msgstr "Cancel·lat"
+msgstr "Отменено"
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Done"
-msgstr "Finalitzat"
+msgstr "Выполнено"
 
+#, fuzzy
 msgctxt "selection:stock.shipment.drop,state:"
 msgid "Draft"
-msgstr "Esborrany"
+msgstr "Черновик"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr ""
+
+#, fuzzy
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
-msgstr "En espera"
+msgstr "Ожидание"
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Cancel"
-msgstr "Cancel·la"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Done"
-msgstr "Finalitza"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Draft"
-msgstr "Esborrany"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipment"
-msgstr "Enviament directe"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
 msgid "Drop Shipments"
-msgstr "Enviaments directes"
+msgstr ""
 
 msgctxt "view:stock.shipment.drop:"
-msgid "Wait"
-msgstr "En espera"
-
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,end:"
-msgid "Cancel"
-msgstr "Cancel·la"
+msgid "Ship"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create_purchase,ask_party,start:"
-msgid "Continue"
-msgstr "Continua"
+msgctxt "view:stock.shipment.drop:"
+msgid "Wait"
+msgstr ""
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index 7533eb5..29994d1 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -14,6 +14,10 @@ msgstr ""
 "Prometa \"%s\" v stanju priprave, ki je bil izdelan ob prodaji ali nabavi, "
 "ni možno ponastaviti."
 
+msgctxt "field:purchase.configuration,purchase_drop_location:"
+msgid "Purchase Drop Location"
+msgstr "Nabavna dostavna lokacija"
+
 msgctxt "field:purchase.product_supplier,drop_shipment:"
 msgid "Drop Shipment"
 msgstr "Dostava"
@@ -26,6 +30,10 @@ msgctxt "field:purchase.purchase,delivery_address:"
 msgid "Delivery Address"
 msgstr "Prejemnik"
 
+msgctxt "field:purchase.purchase,drop_location:"
+msgid "Drop Location"
+msgstr "Dostavna lokacija"
+
 msgctxt "field:purchase.purchase,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Dostave"
@@ -38,6 +46,14 @@ msgctxt "field:purchase.request,delivery_address:"
 msgid "Delivery Address"
 msgstr "Prejemnik"
 
+msgctxt "field:sale.configuration,sale_drop_location:"
+msgid "Sale Drop Location"
+msgstr "Prodajna dostavna lokacija"
+
+msgctxt "field:sale.sale,drop_location:"
+msgid "Drop Location"
+msgstr "Dostavna lokacija"
+
 msgctxt "field:sale.sale,drop_shipments:"
 msgid "Drop Shipments"
 msgstr "Dostave"
@@ -74,6 +90,10 @@ msgctxt "field:stock.shipment.drop,customer:"
 msgid "Customer"
 msgstr "Kupec"
 
+msgctxt "field:stock.shipment.drop,customer_moves:"
+msgid "Customer Moves"
+msgstr "Promet kupca"
+
 msgctxt "field:stock.shipment.drop,delivery_address:"
 msgid "Delivery Address"
 msgstr "Prejemnik"
@@ -110,6 +130,10 @@ msgctxt "field:stock.shipment.drop,supplier:"
 msgid "Supplier"
 msgstr "Dobavitelj"
 
+msgctxt "field:stock.shipment.drop,supplier_moves:"
+msgid "Supplier Moves"
+msgstr "Promet dobavitelja"
+
 msgctxt "field:stock.shipment.drop,write_date:"
 msgid "Write Date"
 msgstr "Zapisano"
@@ -141,6 +165,11 @@ msgid "Draft"
 msgstr "Priprava"
 
 msgctxt ""
+"model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_shipped"
+msgid "Shipped"
+msgstr "Poslano"
+
+msgctxt ""
 "model:ir.action.act_window.domain,name:act_shipment_drop_form_domain_waiting"
 msgid "Waiting"
 msgstr "Čakajoče"
@@ -157,6 +186,10 @@ msgctxt "model:ir.ui.menu,name:menu_shipment_drop_form"
 msgid "Drop Shipments"
 msgstr "Dostave"
 
+msgctxt "model:stock.location,name:location_drop"
+msgid "Drop"
+msgstr "Dostava"
+
 msgctxt "model:stock.shipment.drop,name:"
 msgid "Drop Shipment"
 msgstr "Dostava"
@@ -174,6 +207,10 @@ msgid "Draft"
 msgstr "V pripravi"
 
 msgctxt "selection:stock.shipment.drop,state:"
+msgid "Shipped"
+msgstr "Poslano"
+
+msgctxt "selection:stock.shipment.drop,state:"
 msgid "Waiting"
 msgstr "Čakajoče"
 
@@ -198,5 +235,9 @@ msgid "Drop Shipments"
 msgstr "Dostave"
 
 msgctxt "view:stock.shipment.drop:"
+msgid "Ship"
+msgstr "Pošiljanje"
+
+msgctxt "view:stock.shipment.drop:"
 msgid "Wait"
 msgstr "Čakanje"
diff --git a/purchase.py b/purchase.py
index c95fd52..6092e13 100644
--- a/purchase.py
+++ b/purchase.py
@@ -1,13 +1,14 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-from trytond.model import fields
+from trytond.model import fields, ModelView, Workflow
 from trytond.pyson import Eval
 from trytond.pool import Pool, PoolMeta
 from trytond.transaction import Transaction
+from trytond.tools import grouped_slice
 
 
-__all__ = ['PurchaseRequest', 'Purchase', 'PurchaseLine', 'ProductSupplier',
-    'CreatePurchase', 'PurchaseHandleShipmentException']
+__all__ = ['PurchaseRequest', 'PurchaseConfig', 'Purchase', 'PurchaseLine',
+    'ProductSupplier', 'CreatePurchase', 'PurchaseHandleShipmentException']
 __metaclass__ = PoolMeta
 
 
@@ -27,6 +28,14 @@ class PurchaseRequest:
         depends=['customer', 'state'])
 
 
+class PurchaseConfig:
+    __name__ = 'purchase.configuration'
+
+    purchase_drop_location = fields.Property(
+        fields.Many2One('stock.location', 'Purchase Drop Location',
+            domain=[('type', '=', 'drop')]))
+
+
 class Purchase:
     __name__ = 'purchase.purchase'
 
@@ -48,6 +57,13 @@ class Purchase:
                 },
             depends=['customer']),
         'get_drop_shipments')
+    drop_location = fields.Many2One('stock.location', 'Drop Location',
+        domain=[('type', '=', 'drop')],
+        states={
+            'invisible': ~Eval('customer', False),
+            'required': Eval('customer', False),
+            },
+        depends=['customer'])
 
     @classmethod
     def __setup__(cls):
@@ -57,6 +73,14 @@ class Purchase:
                     'defined for quotation of purchase "%s".'),
                 })
 
+    @staticmethod
+    def default_drop_location():
+        pool = Pool()
+        PurchaseConfig = pool.get('purchase.configuration')
+
+        config = PurchaseConfig(1)
+        return config.purchase_drop_location.id
+
     @fields.depends('customer', 'delivery_address')
     def on_change_customer(self):
         self.delivery_address = None
@@ -73,6 +97,49 @@ class Purchase:
         if self.customer and not self.delivery_address:
             self.raise_user_error('delivery_address_required', self.rec_name)
 
+    def create_move(self, move_type):
+        pool = Pool()
+        DropShipment = pool.get('stock.shipment.drop')
+
+        moves = super(Purchase, self).create_move(move_type)
+        if moves and self.customer and move_type == 'in':
+            drop_shipment = self.create_drop_shipment()
+            drop_shipment.supplier_moves = moves
+            drop_shipment.save()
+            DropShipment.wait([drop_shipment])
+
+        return moves
+
+    def create_drop_shipment(self):
+        pool = Pool()
+        DropShipment = pool.get('stock.shipment.drop')
+
+        return DropShipment(
+            company=self.company,
+            supplier=self.party,
+            contact_address=self.party.address_get(),
+            customer=self.customer,
+            delivery_address=self.delivery_address,
+            )
+
+    @classmethod
+    @ModelView.button
+    @Workflow.transition('cancel')
+    def cancel(cls, purchases):
+        pool = Pool()
+        SaleLine = pool.get('sale.line')
+        Move = pool.get('stock.move')
+
+        super(Purchase, cls).cancel(purchases)
+        sale_lines = []
+        for sub_purchases in grouped_slice(purchases):
+            sale_lines += SaleLine.search([
+                    ('purchase_request.purchase_line.purchase', 'in',
+                        [p.id for p in sub_purchases]),
+                    ])
+        Move.cancel([m for sl in sale_lines for m in sl.moves
+                if m.state != 'done' and m.from_location.type == 'drop'])
+
 
 class PurchaseLine:
     __name__ = 'purchase.line'
@@ -80,7 +147,7 @@ class PurchaseLine:
     def get_to_location(self, name):
         result = super(PurchaseLine, self).get_to_location(name)
         if self.purchase.customer:
-            return self.purchase.customer.customer_location.id
+            return self.purchase.drop_location.id
         return result
 
     def get_move(self):
@@ -122,36 +189,44 @@ class PurchaseHandleShipmentException:
         pool = Pool()
         Sale = pool.get('sale.sale')
         SaleLine = pool.get('sale.line')
+        Purchase = pool.get('purchase.purchase')
+        PurchaseRequest = pool.get('purchase.request')
+        Move = pool.get('stock.move')
 
         super(PurchaseHandleShipmentException, self).transition_handle()
 
-        to_recreate = self.ask.recreate_moves
-        domain_moves = self.ask.domain_moves
-        sales, saleline_write = set(), []
-        sale_lines = SaleLine.search([
-                ('purchase_request.purchase_line.purchase', '=',
-                    Transaction().context['active_id']),
-                ])
-        saleline_write = []
-        for sale_line in sale_lines:
-            moves_ignored = []
-            moves_recreated = []
-            skip = set(sale_line.moves_ignored)
-            skip.update(sale_line.moves_recreated)
-            for move in sale_line.moves:
-                if move not in domain_moves or move in skip:
-                    continue
-                if move in to_recreate:
-                    moves_recreated.append(move.id)
-                else:
-                    moves_ignored.append(move.id)
+        sales = set()
+        moves = set()
+        to_recreate = set(self.ask.recreate_moves)
+        domain_moves = set(self.ask.domain_moves)
+        purchase = Purchase(Transaction().context['active_id'])
+
+        requests = []
+        for sub_lines in grouped_slice([pl.id for pl in purchase.lines]):
+            requests += PurchaseRequest.search([
+                    ('purchase_line', 'in', list(sub_lines)),
+                    ])
+        pline2request = {r.purchase_line: r for r in requests}
+        request2sline = {}
+        for sub_requests in grouped_slice(requests):
+            sale_lines = SaleLine.search([
+                    ('purchase_request', 'in', [r.id for r in sub_requests]),
+                    ])
+            request2sline.update({sl.purchase_request: sl
+                    for sl in sale_lines})
+
+        for line in purchase.lines:
+            if not set(line.moves) & domain_moves:
+                continue
+            if not any(m in to_recreate for m in line.moves):
+                sale_line = request2sline[pline2request[line]]
+                moves.update({m for m in sale_line.moves
+                        if (m.state != 'done'
+                            and m.from_location.type == 'drop')})
                 sales.add(sale_line.sale)
-            saleline_write.append([sale_line])
-            saleline_write.append({
-                    'moves_ignored': [('add', moves_ignored)],
-                    'moves_recreated': [('add', moves_recreated)],
-                    })
 
-            SaleLine.write(*saleline_write)
+        if moves:
+            Move.cancel(list(moves))
+        if sales:
             Sale.process(list(sales))
         return 'end'
diff --git a/purchase.xml b/purchase.xml
index 7f8eda9..0c6c05e 100644
--- a/purchase.xml
+++ b/purchase.xml
@@ -8,6 +8,12 @@ this repository contains the full copyright notices and license terms. -->
             <field name="inherit" ref="purchase.purchase_view_form"/>
             <field name="name">purchase_form</field>
         </record>
+        <record model="ir.ui.view" id="purchase_configuration_view_form">
+            <field name="model">purchase.configuration</field>
+            <field name="inherit"
+                ref="purchase.purchase_configuration_view_form"/>
+            <field name="name">purchase_configuration_form</field>
+        </record>
 
         <record model="ir.action.act_window" id="act_purchase_drop_shipment_form">
             <field name="name">Drop Shipments</field>
diff --git a/sale.py b/sale.py
index 276a0ad..9848943 100644
--- a/sale.py
+++ b/sale.py
@@ -1,17 +1,22 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-from itertools import groupby, chain
-from functools import partial
 from trytond.model import fields
 from trytond.pyson import Eval
 from trytond.pool import Pool, PoolMeta
 from trytond.transaction import Transaction
-from trytond.const import OPERATORS
 
-__all__ = ['Sale', 'SaleLine', 'SaleHandleShipmentException']
+__all__ = ['SaleConfig', 'Sale', 'SaleLine']
 __metaclass__ = PoolMeta
 
 
+class SaleConfig:
+    __name__ = 'sale.configuration'
+
+    sale_drop_location = fields.Property(
+        fields.Many2One('stock.location', 'Sale Drop Location',
+            domain=[('type', '=', 'drop')]))
+
+
 class Sale:
     __name__ = 'sale.sale'
 
@@ -21,6 +26,16 @@ class Sale:
                 'invisible': ~Eval('drop_shipments'),
                 }),
         'get_drop_shipments')
+    drop_location = fields.Many2One('stock.location', 'Drop Location',
+        domain=[('type', '=', 'drop')])
+
+    @staticmethod
+    def default_drop_location():
+        pool = Pool()
+        Config = pool.get('sale.configuration')
+
+        config = Config(1)
+        return config.sale_drop_location.id
 
     def get_drop_shipments(self, name):
         DropShipment = Pool().get('stock.shipment.drop')
@@ -30,64 +45,34 @@ class Sale:
     def create_shipment(self, shipment_type):
         shipments = super(Sale, self).create_shipment(shipment_type)
         if shipment_type == 'out':
-            self.create_drop_shipment()
+            with Transaction().set_context(_drop_shipment=True):
+                self.create_drop_shipment_moves()
         return shipments
 
-    def _get_drop_move_sale_line(self):
-        '''
-        Return a line of moves
-        '''
+    def create_drop_shipment_moves(self):
+        pool = Pool()
+        Move = pool.get('stock.move')
+
         moves = []
         for line in self.lines:
             moves += line.get_drop_moves()
-        return moves
-
-    def _group_drop_shipment_key(self, moves, move):
-        '''
-        The key to group moves by shipments
-        '''
-        planned_date = max(m.planned_date for m in moves)
-        return (
-            ('planned_date', planned_date),
-            ('supplier', move.purchase.party),
-            )
-
-    def create_drop_shipment(self):
-        '''
-        Create a drop shipment for the sale
-        '''
-        pool = Pool()
-        Shipment = pool.get('stock.shipment.drop')
-
-        moves = self._get_drop_move_sale_line()
-        if not moves:
-            return []
-        keyfunc = partial(self._group_drop_shipment_key, moves)
-        moves = sorted(moves, key=keyfunc)
-
-        shipments = []
-        for key, grouped_moves in groupby(moves, key=keyfunc):
-            values = {
-                'customer': self.party.id,
-                'delivery_address': self.shipment_address.id,
-                'reference': self.reference,
-                'company': self.company.id,
-                }
-            values.update(dict(key))
-            shipment = Shipment(**values)
-            shipment.moves = [m for m in grouped_moves]
-            shipment.save()
-            shipments.append(shipment)
-        Shipment.wait(shipments)
-        return shipments
+        Move.save(moves)
 
 
 class SaleLine:
     __name__ = 'sale.line'
 
+    @property
+    def supply_on_sale(self):
+        supply_on_sale = super(SaleLine, self).supply_on_sale
+        return (supply_on_sale
+            or (self.moves and all(m.from_location.type == 'drop'
+                    for m in self.moves)))
+
     def get_move(self, shipment_type):
         result = super(SaleLine, self).get_move(shipment_type)
         if (shipment_type == 'out'
+                and not Transaction().context.get('_drop_shipment')
                 and self.supply_on_sale):
             if (self.purchase_request and self.purchase_request.customer
                     and self.purchase_request_state != 'cancel'):
@@ -116,112 +101,8 @@ class SaleLine:
             return []
         moves = []
         if self.purchase_request and self.purchase_request.customer:
-            if self.purchase_request.purchase_line:
-                moves = [m
-                    for m in self.purchase_request.purchase_line.moves
-                    if m.state == 'draft' and not m.shipment]
+            move = self.get_move('out')
+            if move is not None:
+                move.from_location = self.sale.drop_location
+                moves.append(move)
         return moves
-
-    @classmethod
-    def read(cls, ids, fields_names=None):
-        # Add moves from purchase_request as they can have only one origin
-        PurchaseRequest = Pool().get('purchase.request')
-        added = False
-        if 'moves' in fields_names or []:
-            if 'purchase_request' not in fields_names:
-                fields_names = fields_names[:]
-                fields_names.append('purchase_request')
-                added = True
-        values = super(SaleLine, cls).read(ids, fields_names=fields_names)
-        if 'moves' in fields_names or []:
-            with Transaction().set_context(_check_access=False):
-                purchase_requests = PurchaseRequest.browse(
-                    list(set(v['purchase_request']
-                            for v in values if v['purchase_request'])))
-                id2purchase_requests = dict((p.id, p)
-                    for p in purchase_requests)
-            for value in values:
-                if value['purchase_request']:
-                    purchase_request = id2purchase_requests[
-                        value['purchase_request']]
-                    if (purchase_request.customer
-                            and purchase_request.purchase_line):
-                        move_ids = tuple(m.id
-                            for m in purchase_request.purchase_line.moves)
-                        if value['moves'] is None:
-                            value['moves'] = move_ids
-                        else:
-                            value['moves'] += move_ids
-                if added:
-                    del value['purchase_request']
-        return values
-
-    @classmethod
-    def search(cls, domain, *args, **kwargs):
-        def process(domain):
-            domain = domain[:]
-            i = 0
-            while i < len(domain):
-                arg = domain[i]
-                if (isinstance(arg, tuple)
-                        or (isinstance(arg, list)
-                            and len(arg) > 2
-                            and arg[1] in OPERATORS)):
-                    if arg[0] == 'moves':
-                        domain[i] = ['OR',
-                            arg,
-                            [
-                                ('purchase_request.purchase_line.moves',) +
-                                tuple(arg[1:]),
-                                ('purchase_request.customer', '!=', None),
-                                ]
-                            ]
-                elif isinstance(arg, list):
-                    domain[i] = process(arg)
-                i += 1
-            return domain
-        return super(SaleLine, cls).search(process(domain), *args, **kwargs)
-
-
-class SaleHandleShipmentException:
-    __name__ = 'sale.handle.shipment.exception'
-
-    def transition_handle(self):
-        pool = Pool()
-        Purchase = pool.get('purchase.purchase')
-        PurchaseLine = pool.get('purchase.line')
-        Sale = pool.get('sale.sale')
-
-        super(SaleHandleShipmentException, self).transition_handle()
-
-        to_recreate = self.ask.recreate_moves
-        domain_moves = self.ask.domain_moves
-        purchases, purchaseline_write = set(), []
-        sale = Sale(Transaction().context['active_id'])
-        for line in sale.lines:
-            if not line.purchase_request:
-                continue
-            purchase_line = line.purchase_request.purchase_line
-            if not purchase_line:
-                continue
-
-            moves_ignored = []
-            moves_recreated = []
-            skip = set(purchase_line.moves_ignored)
-            skip.update(purchase_line.moves_recreated)
-            for move in purchase_line.moves:
-                if move not in domain_moves or move in skip:
-                    continue
-                if move in to_recreate:
-                    moves_recreated.append(move.id)
-                else:
-                    moves_ignored.append(move.id)
-                purchases.add(purchase_line.purchase)
-            purchaseline_write.append(([purchase_line], {
-                        'moves_ignored': [('add', moves_ignored)],
-                        'moves_recreated': [('add', moves_recreated)],
-                        }))
-
-            PurchaseLine.write(*chain(*purchaseline_write))
-            Purchase.process(list(purchases))
-        return 'end'
diff --git a/sale.xml b/sale.xml
index 8728d0b..9a01f22 100644
--- a/sale.xml
+++ b/sale.xml
@@ -9,6 +9,12 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">sale_form</field>
         </record>
 
+        <record model="ir.ui.view" id="sale_configuration_view_form">
+            <field name="model">sale.configuration</field>
+            <field name="inherit" ref="sale.sale_configuration_view_form"/>
+            <field name="name">sale_configuration_form</field>
+        </record>
+
         <record model="ir.action.act_window" id="act_sale_drop_shipment_form">
             <field name="name">Drop Shipments</field>
             <field name="res_model">stock.shipment.drop</field>
diff --git a/setup.py b/setup.py
index bc3f1ab..afed3e3 100644
--- a/setup.py
+++ b/setup.py
@@ -86,6 +86,9 @@ setup(name=name,
         'Natural Language :: English',
         'Natural Language :: French',
         'Natural Language :: German',
+        'Natural Language :: Hungarian',
+        'Natural Language :: Italian',
+        'Natural Language :: Portuguese (Brazilian)',
         'Natural Language :: Russian',
         'Natural Language :: Slovenian',
         'Natural Language :: Spanish',
diff --git a/stock.py b/stock.py
index 4dde6fb..c4f5c3f 100644
--- a/stock.py
+++ b/stock.py
@@ -1,9 +1,16 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
+from collections import defaultdict
+from decimal import Decimal
+
+from sql.operators import Concat
+from sql.aggregate import Count
+
 from trytond.model import Workflow, ModelView, ModelSQL, fields
 from trytond.pyson import Eval, If
 from trytond.pool import Pool, PoolMeta
 from trytond.transaction import Transaction
+from trytond.tools import grouped_slice
 
 
 __all__ = ['Configuration', 'ShipmentDrop', 'Move']
@@ -44,7 +51,8 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
             }, depends=['state'])
     supplier = fields.Many2One('party.party', 'Supplier', required=True,
         states={
-            'readonly': (((Eval('state') != 'draft') | Eval('moves', [0]))
+            'readonly': (((Eval('state') != 'draft')
+                    | Eval('supplier_moves', [0]))
                 & Eval('supplier')),
             },
         depends=['state', 'supplier'])
@@ -56,7 +64,8 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
         depends=['state', 'supplier'])
     customer = fields.Many2One('party.party', 'Customer', required=True,
         states={
-            'readonly': (((Eval('state') != 'draft') | Eval('moves', [0]))
+            'readonly': (((Eval('state') != 'draft')
+                    | Eval('customer_moves', [0]))
                 & Eval('customer')),
             },
         depends=['state'])
@@ -68,30 +77,102 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
         domain=[('party', '=', Eval('customer'))],
         depends=['state', 'customer'])
     moves = fields.One2Many('stock.move', 'shipment', 'Moves',
-        add_remove=[
-            ('shipment', '=', None),
-            ('state', '=', 'draft'),
-            ('supplier', '=', Eval('supplier')),
-            ('customer_drop', '=', Eval('customer')),
-            ],
         domain=[
             ('company', '=', Eval('company')),
-            ('from_location.type', '=', 'supplier'),
-            ('to_location.type', '=', 'customer'),
+            ['OR',
+                [
+                    ('from_location.type', '=', 'supplier'),
+                    ('to_location.type', '=', 'drop'),
+                    ],
+                [
+                    ('from_location.type', '=', 'drop'),
+                    ('to_location.type', '=', 'customer'),
+                    ],
+                ],
             ],
-        states={
-            'readonly': Eval('state').in_(['waiting', 'done', 'cancel']),
-            },
-        depends=['state', 'company', 'supplier', 'customer'])
+        depends=['company'], readonly=True)
+    supplier_moves = fields.Function(fields.One2Many('stock.move', None,
+            'Supplier Moves',
+            states={
+                'readonly': Eval('state').in_(['shipped', 'done', 'cancel']),
+                },
+            depends=['state', 'supplier']), 'get_moves', 'set_moves')
+    customer_moves = fields.Function(fields.One2Many('stock.move', None,
+            'Customer Moves',
+            states={
+                'readonly': Eval('state') != 'shipped',
+                },
+            depends=['state', 'customer']), 'get_moves', 'set_moves')
     code = fields.Char('Code', select=1, readonly=True)
     state = fields.Selection([
             ('draft', 'Draft'),
             ('waiting', 'Waiting'),
+            ('shipped', 'Shipped'),
             ('done', 'Done'),
             ('cancel', 'Canceled'),
             ], 'State', readonly=True)
 
     @classmethod
+    def __register__(cls, module_name):
+        pool = Pool()
+        Move = pool.get('stock.move')
+        PurchaseLine = pool.get('purchase.line')
+        PurchaseRequest = pool.get('purchase.request')
+        SaleLine = pool.get('sale.line')
+        Location = pool.get('stock.location')
+        move = Move.__table__()
+        purchase_line = PurchaseLine.__table__()
+        purchase_request = PurchaseRequest.__table__()
+        sale_line = SaleLine.__table__()
+        location = Location.__table__()
+        cursor = Transaction().cursor
+
+        super(ShipmentDrop, cls).__register__(module_name)
+
+        # Migration from 3.6
+        cursor.execute(*location.select(Count(location.id),
+                where=(location.type == 'drop')))
+        has_drop_shipment, = cursor.fetchone()
+
+        if not has_drop_shipment:
+            drop_shipment = Location(name='Migration Drop Shipment',
+                type='drop', active=False)
+            drop_shipment.save()
+            drop_shipment_location = drop_shipment.id
+
+            move_sale_query = move.join(purchase_line,
+                condition=move.origin == Concat('purchase.line,',
+                    purchase_line.id)
+                ).join(purchase_request,
+                condition=purchase_request.purchase_line == purchase_line.id
+                ).join(sale_line,
+                condition=sale_line.purchase_request == purchase_request.id
+                ).select(
+                    move.id, move.to_location, sale_line.id,
+                    where=move.shipment.like('stock.shipment.drop,%'))
+            cursor.execute(*move_sale_query)
+            move_sales = cursor.fetchall()
+
+            for sub_move in grouped_slice(move_sales):
+                sub_ids = [s[0] for s in sub_move]
+                cursor.execute(*move.update(
+                        columns=[move.to_location],
+                        values=[drop_shipment_location],
+                        where=move.id.in_(sub_ids)))
+
+            create_move = move.insert(values=move.select(
+                    where=move.shipment.like('stock.shipment.drop,%')))
+            cursor.execute(*create_move)
+
+            for move_id, customer_location, line_id in move_sales:
+                cursor.execute(move.update(
+                        columns=[move.origin, move.from_location,
+                            move.to_location],
+                        values=[Concat('sale.line,', str(line_id)),
+                            drop_shipment_location, customer_location],
+                        where=(move.id == move_id)))
+
+    @classmethod
     def __setup__(cls):
         super(ShipmentDrop, cls).__setup__()
         cls.__rpc__.update({
@@ -99,11 +180,13 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
                 })
         cls._transitions |= set((
                 ('draft', 'waiting'),
-                ('waiting', 'done'),
+                ('waiting', 'shipped'),
                 ('draft', 'cancel'),
                 ('waiting', 'cancel'),
                 ('waiting', 'draft'),
                 ('cancel', 'draft'),
+                ('shipped', 'done'),
+                ('shipped', 'cancel'),
                 ))
         cls._buttons.update({
                 'cancel': {
@@ -118,9 +201,12 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
                 'wait': {
                     'invisible': Eval('state') != 'draft',
                     },
-                'done': {
+                'ship': {
                     'invisible': Eval('state') != 'waiting',
                     },
+                'done': {
+                    'invisible': Eval('state') != 'shipped',
+                    },
                 })
         cls._error_messages.update({
                 'reset_move': ('You cannot reset to draft move "%s" which was '
@@ -168,6 +254,18 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
                     'planned_date': planned_date,
                     })
 
+    def get_moves(self, name):
+        if name == 'supplier_moves':
+            return [m.id for m in self.moves if m.to_location.type == 'drop']
+        elif name == 'customer_moves':
+            return [m.id for m in self.moves if m.from_location.type == 'drop']
+
+    @classmethod
+    def set_moves(cls, shipments, name, values):
+        if not values:
+            return
+        cls.write(shipments, {'moves': values})
+
     @classmethod
     def create(cls, vlist):
         pool = Pool()
@@ -198,20 +296,24 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
             if values.get('state', '') not in ('done', 'cancel'):
                 continue
             with Transaction().set_context(_check_access=False):
-                purchases = set()
-                move_ids = [m.id for s in shipments for m in s.moves]
-                purchase_lines = PurchaseLine.search([
-                        ('moves', 'in', move_ids),
-                        ])
-                purchases = list(set(l.purchase for l in purchase_lines or []))
-                Purchase.process(purchases)
-
-                sale_lines = SaleLine.search([
-                        ('moves', 'in', move_ids),
-                        ])
+                move_ids = [m.id for s in shipments for m in s.customer_moves]
+                sale_lines = []
+                for sub_moves in grouped_slice(move_ids):
+                    sale_lines += SaleLine.search([
+                            ('moves', 'in', list(sub_moves)),
+                            ])
                 sales = list(set(l.sale for l in sale_lines or []))
                 Sale.process(sales)
 
+                move_ids = [m.id for s in shipments for m in s.supplier_moves]
+                purchase_lines = []
+                for sub_moves in grouped_slice(move_ids):
+                    purchase_lines += PurchaseLine.search([
+                            ('moves', 'in', move_ids),
+                            ])
+                purchases = list(set(l.purchase for l in purchase_lines or []))
+                Purchase.process(purchases)
+
     @classmethod
     def copy(cls, shipments, default=None):
         if default is None:
@@ -225,7 +327,9 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
     @Workflow.transition('cancel')
     def cancel(cls, shipments):
         Move = Pool().get('stock.move')
-        Move.cancel([m for s in shipments for m in s.moves])
+        Move.cancel([m for s in shipments for m in s.supplier_moves])
+        Move.write([m for s in shipments for m in s.customer_moves],
+            {'shipment': None})
 
     @classmethod
     @ModelView.button
@@ -240,13 +344,92 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
                 if (move.state == 'cancel'
                         and isinstance(move.origin, (PurchaseLine, SaleLine))):
                     cls.raise_user_error('reset_move', (move.rec_name,))
-        Move.draft([m for s in shipments for m in s.moves])
+        Move.draft([m for s in shipments for m in s.moves
+                if m.state != 'staging'])
+
+    @classmethod
+    def _synchronize_moves(cls, shipments):
+        pool = Pool()
+        UoM = pool.get('product.uom')
+        Move = pool.get('stock.move')
+
+        to_save = []
+        cost_exp = Decimal(str(10.0 ** -Move.cost_price.digits[1]))
+        for shipment in shipments:
+            product_qty = defaultdict(lambda: 0)
+            product_cost = defaultdict(lambda: 0)
+            for s_move in shipment.supplier_moves:
+                if s_move.state == 'cancel':
+                    continue
+                product_qty[s_move.product] += UoM.compute_qty(s_move.uom,
+                    s_move.quantity, s_move.product.default_uom, round=False)
+                if s_move.cost_price:
+                    internal_quantity = Decimal(str(s_move.internal_quantity))
+                    product_cost[s_move.product] += (
+                        s_move.unit_price * internal_quantity)
+            for product, cost in product_cost.iteritems():
+                qty = Decimal(str(product_qty[product]))
+                product_cost[product] = (cost / qty).quantize(cost_exp)
+            for c_move in shipment.customer_moves:
+                if c_move.state == 'cancel':
+                    continue
+                if product_qty[c_move.product] <= 0:
+                    c_move.shipment = None
+                else:
+                    move_qty = UoM.compute_qty(c_move.uom, c_move.quantity,
+                        c_move.product.default_uom, round=False)
+                    qty = min(product_qty[c_move.product], move_qty)
+                    c_move.quantity = UoM.compute_qty(
+                        c_move.product.default_uom,
+                        qty, c_move.uom)
+                    product_qty[c_move.product] -= qty
+                    c_move.cost_price = product_cost[c_move.product]
+                to_save.append(c_move)
+        if to_save:
+            Move.save(to_save)
 
     @classmethod
     @ModelView.button
     @Workflow.transition('waiting')
     def wait(cls, shipments):
-        pass
+        pool = Pool()
+        PurchaseRequest = pool.get('purchase.request')
+        SaleLine = pool.get('sale.line')
+        Move = pool.get('stock.move')
+
+        requests = []
+        for sub_lines in grouped_slice([m.origin.id for s in shipments
+                    for m in s.supplier_moves]):
+            requests += PurchaseRequest.search([
+                    ('purchase_line', 'in', list(sub_lines)),
+                    ])
+        pline2request = {r.purchase_line: r for r in requests}
+        sale_lines = SaleLine.search([
+                ('purchase_request', 'in', [r.id for r in requests]),
+                ])
+        request2sline = {sl.purchase_request: sl for sl in sale_lines}
+
+        to_save = []
+        for shipment in shipments:
+            for move in shipment.supplier_moves:
+                sale_line = request2sline[pline2request[move.origin]]
+                for move in sale_line.moves:
+                    if (move.state not in ('cancel', 'done')
+                            and not move.shipment
+                            and move.from_location.type == 'drop'):
+                        move.shipment = shipment
+                        to_save.append(move)
+        Move.save(to_save)
+        cls._synchronize_moves(shipments)
+
+    @classmethod
+    @ModelView.button
+    @Workflow.transition('shipped')
+    def ship(cls, shipments):
+        pool = Pool()
+        Move = pool.get('stock.move')
+        Move.do([m for s in shipments for m in s.supplier_moves])
+        cls._synchronize_moves(shipments)
 
     @classmethod
     @ModelView.button
@@ -255,7 +438,7 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
         pool = Pool()
         Move = pool.get('stock.move')
         Date = pool.get('ir.date')
-        Move.do([m for s in shipments for m in s.moves])
+        Move.do([m for s in shipments for m in s.customer_moves])
         cls.write(shipments, {
                 'effective_date': Date.today(),
                 })
@@ -275,12 +458,19 @@ class Move:
         return models
 
     def get_customer_drop(self, name):
-        PurchaseLine = Pool().get('purchase.line')
-        if (isinstance(self.origin, PurchaseLine)
-                and self.origin.purchase.customer):
+        pool = Pool()
+        SaleLine = pool.get('sale.line')
+        PurchaseLine = pool.get('purchase.line')
+
+        if isinstance(self.origin, SaleLine):
+            return self.origin.sale.party.id
+        elif isinstance(self.origin, PurchaseLine):
             return self.origin.purchase.customer.id
 
     @classmethod
     def search_customer_drop(cls, name, clause):
-        return [('origin.purchase.customer',) + tuple(clause[1:])
-            + ('purchase.line',)]
+        return ['OR',
+            ('origin.sale.party',) + tuple(clause[1:]) + ('sale.line',),
+            (('origin.purchase.customer',) + tuple(clause[1:])
+                + ('purchase.line',)),
+            ]
diff --git a/stock.xml b/stock.xml
index 1bfdb64..4f2c277 100644
--- a/stock.xml
+++ b/stock.xml
@@ -77,6 +77,13 @@ this repository contains the full copyright notices and license terms. -->
             <field name="domain" eval="[('state', '=', 'waiting')]" pyson="1"/>
             <field name="act_window" ref="act_shipment_drop_form"/>
         </record>
+        <record model="ir.action.act_window.domain"
+            id="act_shipment_drop_form_domain_shipped">
+            <field name="name">Shipped</field>
+            <field name="sequence" eval="30"/>
+            <field name="domain" eval="[('state', '=', 'shipped')]" pyson="1"/>
+            <field name="act_window" ref="act_shipment_drop_form"/>
+        </record>
         <record model="ir.action.act_window.domain" id="act_shipment_drop_form_domain_all">
             <field name="name">All</field>
             <field name="sequence" eval="9999"/>
@@ -188,4 +195,28 @@ this repository contains the full copyright notices and license terms. -->
         </record>
 
     </data>
+
+    <data noupdate="1">
+
+        <!-- Default locations -->
+        <record model="stock.location" id="location_drop">
+            <field name="name">Drop</field>
+            <field name="code">DROP</field>
+            <field name="type">drop</field>
+        </record>
+
+        <record model="ir.property" id="default_sale_location_drop">
+            <field name="field" 
+                search="[('model.model', '=', 'sale.configuration'), ('name', '=', 'sale_drop_location')]"/>
+            <field name="value"
+                eval="'stock.location,' + str(ref('location_drop'))"/>
+        </record>
+        <record model="ir.property" id="default_purchase_location_drop">
+            <field name="field" 
+                search="[('model.model', '=', 'purchase.configuration'), ('name', '=', 'purchase_drop_location')]"/>
+            <field name="value"
+                eval="'stock.location,' + str(ref('location_drop'))"/>
+        </record>
+
+    </data>
 </tryton>
diff --git a/tests/scenario_sale_supply_drop_shipment.rst b/tests/scenario_sale_supply_drop_shipment.rst
index e2cbb5e..64da2fc 100644
--- a/tests/scenario_sale_supply_drop_shipment.rst
+++ b/tests/scenario_sale_supply_drop_shipment.rst
@@ -23,14 +23,14 @@ Create database::
 
 Install sale_supply, sale, purchase::
 
-    >>> Module = Model.get('ir.module.module')
+    >>> Module = Model.get('ir.module')
     >>> modules = Module.find([
     ...         ('name', 'in', ('sale_supply_drop_shipment', 'sale',
     ...             'purchase')),
     ...         ])
     >>> for module in modules:
     ...     module.click('install')
-    >>> Wizard('ir.module.module.install_upgrade').execute('upgrade')
+    >>> Wizard('ir.module.install_upgrade').execute('upgrade')
 
 Create company::
 
@@ -183,19 +183,26 @@ Create Purchase from Request::
     >>> purchase.click('process')
     >>> purchase.state
     u'processing'
+
     >>> config.user = sale_user.id
     >>> sale.reload()
     >>> sale.shipments
     []
     >>> shipment, = sale.drop_shipments
 
-Receive 100 products::
+Receiving only 100 products::
 
     >>> config.user = stock_user.id
-    >>> move, = shipment.moves
-    >>> move.unit_price == move.cost_price
-    True
+    >>> move, = shipment.supplier_moves
     >>> move.quantity = 100
+    >>> shipment.click('ship')
+    >>> config.user = sale_user.id
+    >>> sale.reload()
+    >>> sale.shipments
+    []
+    >>> shipment, = sale.drop_shipments
+
+    >>> config.user = stock_user.id
     >>> shipment.click('done')
     >>> shipment.state
     u'done'
@@ -203,22 +210,24 @@ Receive 100 products::
     >>> sale.reload()
     >>> sale.shipments
     []
-    >>> _, shipment = sale.drop_shipments
-    >>> move, = shipment.moves
-    >>> move.quantity
-    150.0
-    >>> move.unit_price == move.cost_price
-    True
 
-The purchase is now waiting for this new drop shipment::
+The purchase is now waiting for his new drop shipment::
 
     >>> config.user = purchase_user.id
     >>> purchase.reload()
     >>> purchase.shipment_state
     u'waiting'
+    >>> shipment, = [s for s in purchase.drop_shipments
+    ...     if s.state == 'waiting']
+    >>> move, = shipment.customer_moves
+    >>> move.quantity
+    150.0
+    >>> move, = shipment.supplier_moves
+    >>> move.quantity
+    150.0
 
-Let's cancel the shipment and handle the issue from the purchase.
-As a consequence the sale order is over::
+Let's cancel the shipment and handle the issue on the purchase.
+As a consequence the sale order is now in exception::
 
     >>> config.user = stock_user.id
     >>> shipment.click('cancel')
@@ -238,7 +247,7 @@ As a consequence the sale order is over::
     >>> config.user = sale_user.id
     >>> sale.reload()
     >>> sale.shipment_state
-    u'sent'
+    u'exception'
 
 Cancelling the workflow on the purchase step::
 
@@ -268,49 +277,21 @@ Cancelling the workflow on the purchase step::
     >>> purchase, = Purchase.find([('state', '=', 'draft')])
     >>> purchase.click('cancel')
 
-The sale just created a new outgoing shipment for the sale::
+The sale is then in exception::
 
     >>> config.user = sale_user.id
     >>> sale.reload()
-    >>> shipment, = sale.shipments
-
-If the shipment is cancelled then the shipement state of the sale will be
-considered as 'sent'::
-
-    >>> config.user = stock_user.id
-    >>> shipment.click('cancel')
-    >>> config.user = sale_user.id
     >>> sale.shipment_state
     u'exception'
-
     >>> handle_exception = Wizard('sale.handle.shipment.exception', [sale])
-    >>> _ = handle_exception.form.recreate_moves.pop()
     >>> handle_exception.execute('handle')
     >>> sale.reload()
     >>> sale.shipment_state
-    u'sent'
+    u'waiting'
 
-If we opt not to cancel the shipment and deliver from stock::
+The sale just created a new outgoing shipment for the sale and we can deliver
+from stock::
 
-    >>> config.user = sale_user.id
-    >>> sale = Sale()
-    >>> sale.party = customer
-    >>> sale.payment_term = payment_term
-    >>> sale_line = sale.lines.new()
-    >>> sale_line.product = product
-    >>> sale_line.quantity = 125
-    >>> sale.click('quote')
-    >>> sale.click('confirm')
-    >>> sale.click('process')
-    >>> config.user = purchase_user.id
-    >>> purchase_request, = PurchaseRequest.find([('purchase_line', '=', None)])
-    >>> create_purchase = Wizard('purchase.request.create_purchase',
-    ...     [purchase_request])
-    >>> purchase, = Purchase.find([('state', '=', 'draft')])
-    >>> purchase.click('cancel')
-
-    >>> config.user = sale_user.id
-    >>> sale.reload()
     >>> shipment, = sale.shipments
 
     >>> config.user = stock_user.id
@@ -319,53 +300,6 @@ If we opt not to cancel the shipment and deliver from stock::
     >>> shipment.click('done')
 
     >>> config.user = sale_user.id
-    >>> sale.shipment_state
-    u'sent'
-
-Now let's handle the exception on the sale side::
-
-    >>> config.user = sale_user.id
-    >>> sale = Sale()
-    >>> sale.party = customer
-    >>> sale.payment_term = payment_term
-    >>> sale_line = sale.lines.new()
-    >>> sale_line.product = product
-    >>> sale_line.quantity = 375
-    >>> sale.save()
-    >>> sale.click('quote')
-    >>> sale.click('confirm')
-    >>> sale.click('process')
-
-    >>> config.user = purchase_user.id
-    >>> purchase_request, = PurchaseRequest.find([('purchase_line', '=', None)])
-    >>> purchase_request.quantity
-    375.0
-    >>> create_purchase = Wizard('purchase.request.create_purchase',
-    ...     [purchase_request])
-    >>> purchase, = Purchase.find([('state', '=', 'draft')])
-    >>> purchase.payment_term = payment_term
-    >>> purchase.click('quote')
-    >>> purchase.click('confirm')
-    >>> purchase.click('process')
-    >>> purchase.shipment_state
-    u'waiting'
-    >>> config.user = sale_user.id
-    >>> sale.reload()
-    >>> shipment, = sale.drop_shipments
-    >>> config.user = stock_user.id
-    >>> shipment.click('cancel')
-
-    >>> config.user = sale_user.id
-    >>> sale.shipment_state
-    u'exception'
-    >>> handle_exception = Wizard('sale.handle.shipment.exception', [sale])
-    >>> _ = handle_exception.form.recreate_moves.pop()
-    >>> handle_exception.execute('handle')
     >>> sale.reload()
     >>> sale.shipment_state
     u'sent'
-
-    >>> config.user = purchase_user.id
-    >>> purchase.reload()
-    >>> purchase.shipment_state
-    u'received'
diff --git a/tryton.cfg b/tryton.cfg
index 9c24fd7..833794e 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.6.0
+version=3.8.0
 depends:
     company
     ir
diff --git a/trytond_sale_supply_drop_shipment.egg-info/PKG-INFO b/trytond_sale_supply_drop_shipment.egg-info/PKG-INFO
index 9a2a287..cca4d21 100644
--- a/trytond_sale_supply_drop_shipment.egg-info/PKG-INFO
+++ b/trytond_sale_supply_drop_shipment.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-sale-supply-drop-shipment
-Version: 3.6.0
+Version: 3.8.0
 Summary: Tryton module for sale supply drop shipment
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.6/
+Download-URL: http://downloads.tryton.org/3.8/
 Description: sale_supply_drop_shipment
         =========================
         
@@ -59,6 +59,9 @@ Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
 Classifier: Natural Language :: French
 Classifier: Natural Language :: German
+Classifier: Natural Language :: Hungarian
+Classifier: Natural Language :: Italian
+Classifier: Natural Language :: Portuguese (Brazilian)
 Classifier: Natural Language :: Russian
 Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
diff --git a/trytond_sale_supply_drop_shipment.egg-info/SOURCES.txt b/trytond_sale_supply_drop_shipment.egg-info/SOURCES.txt
index 09bd2ff..9c4b57f 100644
--- a/trytond_sale_supply_drop_shipment.egg-info/SOURCES.txt
+++ b/trytond_sale_supply_drop_shipment.egg-info/SOURCES.txt
@@ -17,33 +17,55 @@ tryton.cfg
 ./stock.py
 ./stock.xml
 ./tryton.cfg
+./locale/bg_BG.po
 ./locale/ca_ES.po
+./locale/cs_CZ.po
 ./locale/de_DE.po
 ./locale/es_AR.po
 ./locale/es_CO.po
 ./locale/es_EC.po
 ./locale/es_ES.po
+./locale/es_MX.po
 ./locale/fr_FR.po
+./locale/hu_HU.po
+./locale/it_IT.po
+./locale/ja_JP.po
+./locale/lt_LT.po
+./locale/nl_NL.po
+./locale/pt_BR.po
+./locale/ru_RU.po
 ./locale/sl_SI.po
 ./tests/__init__.py
 ./tests/scenario_sale_supply_drop_shipment.rst
 ./tests/test_sale_supply_drop_shipment.py
 ./view/product_supplier_form.xml
+./view/purchase_configuration_form.xml
 ./view/purchase_form.xml
 ./view/purchase_request_form.xml
 ./view/purchase_request_tree.xml
+./view/sale_configuration_form.xml
 ./view/sale_form.xml
 ./view/shipment_drop_form.xml
 ./view/shipment_drop_tree.xml
 ./view/stock_configuration_form.xml
 doc/index.rst
+locale/bg_BG.po
 locale/ca_ES.po
+locale/cs_CZ.po
 locale/de_DE.po
 locale/es_AR.po
 locale/es_CO.po
 locale/es_EC.po
 locale/es_ES.po
+locale/es_MX.po
 locale/fr_FR.po
+locale/hu_HU.po
+locale/it_IT.po
+locale/ja_JP.po
+locale/lt_LT.po
+locale/nl_NL.po
+locale/pt_BR.po
+locale/ru_RU.po
 locale/sl_SI.po
 tests/scenario_sale_supply_drop_shipment.rst
 trytond_sale_supply_drop_shipment.egg-info/PKG-INFO
@@ -54,9 +76,11 @@ trytond_sale_supply_drop_shipment.egg-info/not-zip-safe
 trytond_sale_supply_drop_shipment.egg-info/requires.txt
 trytond_sale_supply_drop_shipment.egg-info/top_level.txt
 view/product_supplier_form.xml
+view/purchase_configuration_form.xml
 view/purchase_form.xml
 view/purchase_request_form.xml
 view/purchase_request_tree.xml
+view/sale_configuration_form.xml
 view/sale_form.xml
 view/shipment_drop_form.xml
 view/shipment_drop_tree.xml
diff --git a/trytond_sale_supply_drop_shipment.egg-info/requires.txt b/trytond_sale_supply_drop_shipment.egg-info/requires.txt
index 3ad75e6..2e81335 100644
--- a/trytond_sale_supply_drop_shipment.egg-info/requires.txt
+++ b/trytond_sale_supply_drop_shipment.egg-info/requires.txt
@@ -1,6 +1,6 @@
-trytond_company >= 3.6, < 3.7
-trytond_purchase >= 3.6, < 3.7
-trytond_sale >= 3.6, < 3.7
-trytond_sale_supply >= 3.6, < 3.7
-trytond_stock >= 3.6, < 3.7
-trytond >= 3.6, < 3.7
\ No newline at end of file
+trytond_company >= 3.8, < 3.9
+trytond_purchase >= 3.8, < 3.9
+trytond_sale >= 3.8, < 3.9
+trytond_sale_supply >= 3.8, < 3.9
+trytond_stock >= 3.8, < 3.9
+trytond >= 3.8, < 3.9
\ No newline at end of file
diff --git a/view/sale_form.xml b/view/purchase_configuration_form.xml
similarity index 53%
copy from view/sale_form.xml
copy to view/purchase_configuration_form.xml
index 4a0b0e7..8763dc5 100644
--- a/view/sale_form.xml
+++ b/view/purchase_configuration_form.xml
@@ -1,9 +1,11 @@
 <?xml version="1.0"?>
-<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of 
 this repository contains the full copyright notices and license terms. -->
 <data>
-    <xpath expr="/form/notebook/page[@id='shipments']/field[@name='shipments']"
+    <xpath expr="/form/field[@name='purchase_invoice_method']"
         position="after">
-        <field name="drop_shipments" colspan="4"/>
+        <newline/>
+        <label name="purchase_drop_location"/>
+        <field name="purchase_drop_location"/>
     </xpath>
 </data>
diff --git a/view/purchase_form.xml b/view/purchase_form.xml
index 9626746..4fa2dc8 100644
--- a/view/purchase_form.xml
+++ b/view/purchase_form.xml
@@ -9,8 +9,13 @@ this repository contains the full copyright notices and license terms. -->
         <field name="delivery_address"/>
         <newline/>
     </xpath>
+    <xpath expr="/form/notebook/page[@id='info']/field[@name='invoice_method']"
+        position="after">
+        <label name="drop_location"/>
+        <field name="drop_location"/>
+    </xpath>
     <xpath
-        expr="/form/notebook/page[@id='shipments']/field[@name='shipments']"
+        expr="/form/notebook/page[@name='shipments']/field[@name='shipments']"
         position="after">
         <field name="drop_shipments" colspan="4"/>
     </xpath>
diff --git a/view/sale_form.xml b/view/sale_configuration_form.xml
similarity index 51%
copy from view/sale_form.xml
copy to view/sale_configuration_form.xml
index 4a0b0e7..214e7f8 100644
--- a/view/sale_form.xml
+++ b/view/sale_configuration_form.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0"?>
-<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of 
 this repository contains the full copyright notices and license terms. -->
 <data>
-    <xpath expr="/form/notebook/page[@id='shipments']/field[@name='shipments']"
-        position="after">
-        <field name="drop_shipments" colspan="4"/>
+    <xpath expr="/form/field[@name='sale_shipment_method']" position="after">
+        <label name="sale_drop_location"/>
+        <field name="sale_drop_location"/>
     </xpath>
 </data>
diff --git a/view/sale_form.xml b/view/sale_form.xml
index 4a0b0e7..6d24cdf 100644
--- a/view/sale_form.xml
+++ b/view/sale_form.xml
@@ -2,8 +2,14 @@
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
 <data>
-    <xpath expr="/form/notebook/page[@id='shipments']/field[@name='shipments']"
+    <xpath
+        expr="/form/notebook/page[@name='shipments']/field[@name='shipments']"
         position="after">
         <field name="drop_shipments" colspan="4"/>
     </xpath>
+    <xpath expr="/form/notebook/page[@id='other']/field[@name='shipment_method']"
+        position="after">
+        <label name="drop_location"/>
+        <field name="drop_location"/>
+    </xpath>
 </data>
diff --git a/view/shipment_drop_form.xml b/view/shipment_drop_form.xml
index 2df0d25..2231971 100644
--- a/view/shipment_drop_form.xml
+++ b/view/shipment_drop_form.xml
@@ -20,13 +20,21 @@ this repository contains the full copyright notices and license terms. -->
     <field name="effective_date"/>
     <label name="company"/>
     <field name="company"/>
-    <field name="moves" colspan="4"/>
+    <notebook>
+        <page name="supplier_moves">
+            <field name="supplier_moves" colspan="4"/>
+        </page>
+        <page name="customer_moves">
+            <field name="customer_moves" colspan="4"/>
+        </page>
+    </notebook>
     <label name="state"/>
     <field name="state"/>
     <group col="5" colspan="2" id="buttons">
         <button string="Cancel" name="cancel" icon="tryton-cancel"/>
         <button string="Draft" name="draft"/>
         <button string="Wait" name="wait" icon="tryton-go-next"/>
+        <button string="Ship" name="ship" icon="tryton-go-next"/>
         <button string="Done" name="done" icon="tryton-ok"/>
     </group>
 </form>
-- 
tryton-modules-sale-supply-drop-shipment



More information about the tryton-debian-vcs mailing list