[tryton-debian-vcs] tryton-modules-stock-supply branch debian updated. debian/4.2.1-1-2-gf1cfa81

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Wed Jun 7 13:37:24 UTC 2017


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-stock-supply.git;a=commitdiff;h=debian/4.2.1-1-2-gf1cfa81

commit f1cfa81725efc5015b54eb5c50f78e9779d90304
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Jun 7 15:27:06 2017 +0200

    Merging upstream version 4.4.0.

diff --git a/CHANGELOG b/CHANGELOG
index 3f20618..a06c9c5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,12 @@
-Version 4.2.1 - 2017-02-06
-* Bug fixes (see mercurial logs for details)
+Version 4.4.0 - 2017-05-01
+* Bug fixes (see mercurial logs for details)
+* Add warning for late customer moves
+* Change supply period into TimeDelta
+* Add support for overflowing quantities
+* Merge supply into one wizard
+* Improve computation of max lead time
+* Generate request internal shipments recursively
+* Do not create purchase request if other order point exists
 
 Version 4.2.0 - 2016-11-28
 * Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index 80a86cd..7315058 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_stock_supply
-Version: 4.2.1
+Version: 4.4.0
 Summary: Tryton module for stock supply
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
 Description: trytond_stock_supply
         ====================
         
@@ -52,7 +52,7 @@ Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: Intended Audience :: Manufacturing
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Chinese (Simplified)
diff --git a/__init__.py b/__init__.py
index 3bf06aa..48ced90 100644
--- a/__init__.py
+++ b/__init__.py
@@ -7,6 +7,7 @@ from .product import *
 from .purchase_request import *
 from .shipment import *
 from .location import *
+from . import stock
 
 
 def register():
@@ -15,14 +16,13 @@ def register():
         Product,
         ProductSupplier,
         PurchaseConfiguration,
+        PurchaseConfigurationSupplyPeriod,
         PurchaseRequest,
-        CreatePurchaseRequestStart,
         ShipmentInternal,
-        CreateShipmentInternalStart,
         Location,
         LocationLeadTime,
+        stock.StockSupplyStart,
         module='stock_supply', type_='model')
     Pool.register(
-        CreatePurchaseRequest,
-        CreateShipmentInternal,
+        stock.StockSupply,
         module='stock_supply', type_='wizard')
diff --git a/doc/index.rst b/doc/index.rst
index a21a5be..4242b81 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -7,18 +7,28 @@ the concepts of order point.
 Order Point
 ***********
 
-An order point define minimum and maximum quantities for a product on
-a location. The minimum quantity is the quantity that should be always
-(if possible) available. The maximum is a target quantity that should
-be reached when re-ordering. An order point also define a type which
-can be:
+An order point define minimum, maximum and target quantities for a product on a
+location.
+
+* The minimum quantity is the threshold quantity below which the provisioning
+  process will be triggered.
+
+* The maximum quantity is the threshold quantity above which the overflowing
+  process will be triggered. 
+
+* The target quantity is the quantity that will be found in the location after
+  the provisioning / overflowing process has been completed.
+
+An order point also define a type which can be:
 
 * Internal
 
-  An Internal order point is defined on a Storage location, it also
-  define a provisioning location. If the minimum quantity is reached
-  it will result in the creation of an internal shipment between the
-  provisioning location and the Storage location.
+  An Internal order point is defined on a Storage location, it also defines a
+  provisioning and/or an overflowing location. If the minimum quantity is
+  reached it will result in the creation of an internal shipment between the
+  provisioning location and the Storage location. If the maximum quantity is
+  reached it will result in the creation of an internal shipment between the
+  storage location and the overflowing location.
 
 * Purchase
 
@@ -26,10 +36,12 @@ can be:
   minimal quantity is reached on the warehouse it will result in a
   purchase request.
 
-The internal shipments and purchase requests are created by schedulers
+The internal shipments and purchase requests are created by the supply wizard
 with respect to stock levels and existing shipments and requests. The
 stock levels are computed between the next two supply dates computed over the
 Supply Period from the configuration (default: 1 day). If the stock level of a
 product without order point on the given warehouse is below zero, a purchase
 request is also created.  The same happens if the stock level of a storage
-location with a provisioning location is below zero.
+location with a provisioning location is below zero. Likewise, if the stock
+level of a storage is above zero and an overflow location is defined on the
+location then an internal shipment will be created.
diff --git a/locale/bg.po b/locale/bg.po
index 24ec895..e463625 100644
--- a/locale/bg.po
+++ b/locale/bg.po
@@ -2,27 +2,32 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
-"Максималното количество трябва да е по-голямо от Минималното количество"
+"Разрешено е само едно пренареждане за всяка двойка продукт-местонахождение."
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
-"Разрешено е само едно пренареждане за всяка двойка продукт-местонахождение."
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
-"Не може да зададете две пренареждания на един и същи продукт с "
-"противоположни местонахождения"
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
@@ -32,10 +37,44 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr ""
 
-msgctxt "field:purchase.request.create.start,id:"
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Създадено на"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Създадено от"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Име"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Променено на"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Променено от"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Местонахождение на провизии"
@@ -68,6 +107,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Минимално количество"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Продукт"
@@ -84,6 +127,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Местонахождение на съхранение"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Вид"
@@ -109,14 +156,13 @@ msgid "Write User"
 msgstr "Променено от"
 
 #, fuzzy
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "В брой дни"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -136,14 +182,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Пренареждания"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Създаване на заявки за покупка"
-
-#, fuzzy
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Генериране на вътрешна пратка"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -162,37 +203,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Управление на покупки"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Генериране на заявки за покупка"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Генериране на вътрешна пратка"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Пренареждания"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Създаване на заявки за покупка"
-
-#, fuzzy
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Генериране на вътрешна пратка"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Създаване на заявка за покупка"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Пренареждане"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -203,11 +231,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Покупка"
 
-#, fuzzy
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Създаване на заявки за покупка"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Вид пренареждане"
@@ -216,19 +239,51 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Информация за продукт"
 
-#, fuzzy
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Генериране на вътрешна пратка"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+#, fuzzy
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Създаване"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+#, fuzzy
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Отказ"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Генериране на заявки за покупка"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Генериране на вътрешна пратка"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Създаване на заявки за покупка"
+
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Генериране на вътрешна пратка"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Създаване на заявка за покупка"
+
+#, fuzzy
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Създаване на заявки за покупка"
+
+#, fuzzy
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Генериране на вътрешна пратка"
+
 #, fuzzy
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
diff --git a/locale/ca.po b/locale/ca.po
index 6bc888f..eeb102f 100644
--- a/locale/ca.po
+++ b/locale/ca.po
@@ -2,14 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr "Hi ha alguns moviments de proveïdor endarrerits."
-
-msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "La quantitat màxima ha de ser major que la mínima."
-
 msgctxt "error:stock.order_point:"
 msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
@@ -18,11 +10,30 @@ msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
-"No podeu definir dues regles de proveïment del mateix producte amb "
-"ubicacions oposades."
+"No es pot definir dos regles de proveïment amb ubicacions oposades (de la "
+"\"ubicació d'emmagatzemament\" a la \"ubicació de excessos\" i viceversa."
+
+msgctxt "error:stock.order_point:"
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+"No es pot definir dos regles de proveïment amb ubicacions oposades (de la "
+"\"ubicació d'emmagatzemament\" a la \"ubicació d'aprovisionament\" i "
+"viceversa)."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr "Hi ha alguns moviments de client endarrerits."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
+msgstr "Hi ha alguns moviments de proveïdor endarrerits."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
@@ -32,10 +43,38 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr "Període de subministre"
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Data de creació"
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Usuari de creació"
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr "Període de subministre"
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Data de modificació"
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Usuari de modificació"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Ubicació de excessos"
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Ubicació de l'aprovisionament"
@@ -68,6 +107,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Quantitat mínima"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Ubicació de excessos"
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Producte"
@@ -84,6 +127,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Ubicació interna"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr "Quantitat destí"
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Tipus"
@@ -108,13 +155,13 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr "Usuari de modificació"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "En nombre de dies."
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr "Deixeu-lo buit per no tenir una ubicació d'excessos per defecte."
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -132,13 +179,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Regles de proveïment"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Crea sol·licituds de compra"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Crea albarans interns"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr "Aprovisionament d'existències"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -155,37 +198,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Compra"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Generació sol·licituds de compra"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Generar albarans interns"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Regles de proveïment"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Crea sol·licituds de compra"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr "Aprovisionament d'existències"
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Crea albarans interns"
-
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Crear sol·licitud de compra"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr "Configuració del període d'aprovisionament en compres"
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Regla de proveïment"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
-msgstr "Crea albarans interns"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
+msgstr "Aprovisionament d'existències"
 
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
@@ -195,10 +226,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Compra"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Voleu crear les comandes de compra?"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Tipus de regla de proveïment"
@@ -207,18 +234,50 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Informació del producte"
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Voleu crear els albarans interns?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr "Aprovisionar existències?"
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Crea"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Cancel·la"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Generació sol·licituds de compra"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Generar albarans interns"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Crea sol·licituds de compra"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Crea albarans interns"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Crear sol·licitud de compra"
+
+msgctxt "model:stock.shipment.internal.create.start,name:"
+msgid "Create Shipment Internal"
+msgstr "Crea albarans interns"
+
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Voleu crear les comandes de compra?"
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Voleu crear els albarans interns?"
+
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
 msgstr "Crea"
diff --git a/locale/cs.po b/locale/cs.po
index a8ecd49..70283af 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 msgctxt "field:product.product,order_points:"
@@ -28,10 +36,39 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr ""
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr ""
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -64,6 +101,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr ""
@@ -81,6 +122,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr ""
@@ -105,12 +150,12 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr ""
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -129,12 +174,8 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt ""
@@ -152,36 +193,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr ""
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr ""
-
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
 msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr ""
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -192,10 +221,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr ""
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr ""
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -204,22 +229,14 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr ""
-
-msgctxt "wizard_button:purchase.request.create,start,create_:"
-msgid "Create"
-msgstr ""
-
-msgctxt "wizard_button:purchase.request.create,start,end:"
-msgid "Cancel"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr ""
diff --git a/locale/de.po b/locale/de.po
index 398aae5..946da24 100644
--- a/locale/de.po
+++ b/locale/de.po
@@ -2,14 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr "Es existieren einige spätere Warenbewegungen von Lieferanten."
-
-msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "Die maximale Anzahl muss größer als die minimale Anzahl sein"
-
 msgctxt "error:stock.order_point:"
 msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
@@ -17,11 +9,31 @@ msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
-"Für eine Variante können keine verschiedenen Bestellpunkte mit "
-"unterschiedlichen Lagerstandorten erstellt werden."
+"Zwei Bestellpunkte eines gleichen Artikels mit entgegengesetzten Lagerorten "
+"können nicht erstellt werden (von \"Lagerzone\" zu \"Lagerort Überschüsse\" "
+"und umgekehrt)."
+
+msgctxt "error:stock.order_point:"
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+"Zwei Bestellpunkte eines gleichen Artikels mit entgegengesetzten Lagerorten "
+"können nicht erstellt werden (von \"Lagerzone\" zu \"Bereitstellungsort\" "
+"und umgekehrt)."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr "Es existieren einige spätere Warenbewegungen von Lieferanten."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
+msgstr "Es existieren einige spätere Warenbewegungen von Lieferanten."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
@@ -31,10 +43,38 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr "Beschaffungszeitraum"
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Erstellungsdatum"
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Erstellt durch"
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Name"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr "Beschaffungszeitraum"
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Zuletzt geändert"
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Letzte Änderung durch"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Lager für Überschüsse"
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Bereitstellungsort"
@@ -67,6 +107,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Minimale Anzahl"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Lager für Überschüsse"
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Variante"
@@ -83,6 +127,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Lagerort"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr "Zielmenge"
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Typ"
@@ -107,13 +155,14 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr "Letzte Änderung durch"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "In Anzahl von Tagen"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr ""
+"Leer lassen, wenn kein Standardbereitstellungsort verwendet werden soll"
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -132,13 +181,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Bestellpunkte"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Bestellvorschläge erstellen"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Interne Lieferposten erstellen"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr "Lager beliefern"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -155,37 +200,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Einkauf"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Erstellung von Bestellvorschlägen"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Erstellung von Internen Lieferposten"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Bestellpunkte"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Bestellvorschläge erstellen"
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Interne Lieferposten erstellen"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr "Lager beliefern"
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Bestellvorschlag erstellen"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr "Einstellungen Einkauf Beschaffungszeitraum"
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Bestellpunkt"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
-msgstr "Interne Lieferbewegung erstellen"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
+msgstr "Lager beliefern"
 
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
@@ -195,10 +228,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Einkauf"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Bestellvorschläge erstellen?"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Typ Bestellpunkt"
@@ -207,18 +236,50 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Info"
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Interne Lieferposten erstellen?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr "Lager beliefern?"
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Erstellen"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Abbrechen"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Erstellung von Bestellvorschlägen"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Erstellung von Internen Lieferposten"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Bestellvorschläge erstellen"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Interne Lieferposten erstellen"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Bestellvorschlag erstellen"
+
+msgctxt "model:stock.shipment.internal.create.start,name:"
+msgid "Create Shipment Internal"
+msgstr "Interne Lieferbewegung erstellen"
+
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Bestellvorschläge erstellen?"
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Interne Lieferposten erstellen?"
+
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
 msgstr "Erstellen"
diff --git a/locale/es.po b/locale/es.po
index 881a39e..4980493 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -2,14 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr "Hay algunos movimientos de proveedor retrasados."
-
-msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "La cantidad máxima debe ser mayor que la mínima."
-
 msgctxt "error:stock.order_point:"
 msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
@@ -18,11 +10,31 @@ msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
-"No puede definir dos reglas de abastecimiento del producto con ubicaciones "
-"opuestas."
+"No se puede definir dos reglas de aprovisionamiento con ubicaciones opuestas"
+" (de la \"ubicación de almacenamiento\" a la \"ubicación de excesos\" y "
+"viceversa)."
+
+msgctxt "error:stock.order_point:"
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+"No se puede definir dos reglas de aprovisionamiento con ubicaciones opuestas"
+" (de la \"ubicación de almacenamiento\" a la \"ubicación del "
+"abastecimiento\" y viceversa)."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr "Hay algunos movimientos de cliente retrasados."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
+msgstr "Hay algunos movimientos de proveedor retrasados."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
@@ -32,10 +44,38 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr "Período de suministro"
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Fecha de creación"
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Usuario de creación"
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Nombre"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr "Período de suministro"
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Fecha de modificación"
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Usuario de modificación"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Ubicación de excesos"
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Ubicación del abastecimiento"
@@ -68,6 +108,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Cantidad mínima"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Ubicación de excesos"
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Producto"
@@ -84,6 +128,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Ubicación interna"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr "Cantidad destino"
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Tipo"
@@ -108,13 +156,13 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr "Usuario de modificación"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "En número de días."
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr "Dejarlo vacío para no tener una ubicación de excesos por defecto."
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -133,13 +181,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Reglas de abastecimiento"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Crear solicitudes de compra"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Crear albaranes internos"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr "Aprovisionamiento de existencias."
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -156,37 +200,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Compra"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Generar solicitudes de compra"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Generar albaranes internos"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Reglas de abastecimiento"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Crear solicitudes de compra"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr "Aprovisionamiento de existencias."
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Crear albaranes internos"
-
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Crear solicitud de compra"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr "Configuración del periodo de aprovisionamiento en compras."
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Regla de abastecimiento"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
-msgstr "Crear albaranes internos"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
+msgstr "Aprovisionamiento de existencias."
 
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
@@ -196,10 +228,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Compra"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "¿Quiere crear las solicitudes de compra?"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Tipo de regla de abastecimiento"
@@ -208,18 +236,50 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Información del producto"
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "¿Crear albaranes internos?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr "Aprovisionar existencias?"
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Crear"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Cancelar"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Generar solicitudes de compra"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Generar albaranes internos"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Crear solicitudes de compra"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Crear albaranes internos"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Crear solicitud de compra"
+
+msgctxt "model:stock.shipment.internal.create.start,name:"
+msgid "Create Shipment Internal"
+msgstr "Crear albaranes internos"
+
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "¿Quiere crear las solicitudes de compra?"
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "¿Crear albaranes internos?"
+
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
 msgstr "Crear"
diff --git a/locale/es_419.po b/locale/es_419.po
index 836f100..7cab63e 100644
--- a/locale/es_419.po
+++ b/locale/es_419.po
@@ -2,37 +2,74 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
-#, fuzzy
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
-msgstr "Order Points"
+msgstr ""
 
 msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr ""
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Creado por usuario"
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr ""
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Modificado por usuario"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -47,7 +84,7 @@ msgstr ""
 
 msgctxt "field:stock.order_point,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por usuario"
 
 msgctxt "field:stock.order_point,id:"
 msgid "ID"
@@ -65,6 +102,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr ""
@@ -79,6 +120,10 @@ msgstr ""
 
 msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
+msgstr "Ubicación del almacenamiento"
+
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
 msgstr ""
 
 msgctxt "field:stock.order_point,type:"
@@ -95,7 +140,7 @@ msgstr ""
 
 msgctxt "field:stock.order_point,warehouse_location:"
 msgid "Warehouse Location"
-msgstr ""
+msgstr "Ubicación de la bodega"
 
 msgctxt "field:stock.order_point,write_date:"
 msgid "Write Date"
@@ -103,14 +148,14 @@ msgstr ""
 
 msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por usuario"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr ""
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -119,87 +164,62 @@ msgstr ""
 
 msgctxt "model:ir.action,name:act_order_point_form"
 msgid "Order Points"
-msgstr "Order Points"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_order_point_form_relate"
 msgid "Order Points"
-msgstr "Order Points"
+msgstr ""
 
 msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
-msgstr "Order Points"
-
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Create Purchase Requests"
+msgstr ""
 
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
 msgid "All"
-msgstr "All"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_internal"
 msgid "Internal"
-msgstr "Internal"
+msgstr "Interna"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_purchase"
 msgid "Purchase"
-msgstr "Purchase"
-
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Generate Purchase Requests"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Generate Internal Shipments"
+msgstr ""
 
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
-msgstr "Order Points"
-
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Create Purchase Requests"
+msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Create Internal Shipments"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
-#, fuzzy
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Create Purchase Requests"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr ""
 
-#, fuzzy
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
-msgstr "Order Points"
+msgstr ""
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
-#, fuzzy
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
-msgstr "Internal"
+msgstr "Interna"
 
-#, fuzzy
 msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
-msgstr "Purchase"
-
-#, fuzzy
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Create Purchase Requests"
+msgstr ""
 
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
@@ -209,23 +229,18 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-#, fuzzy
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Create Internal Shipments"
-
-msgctxt "wizard_button:purchase.request.create,start,create_:"
-msgid "Create"
-msgstr ""
-
-msgctxt "wizard_button:purchase.request.create,start,end:"
-msgid "Cancel"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr ""
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "¿Crear guías de remisión internas?"
diff --git a/locale/fr.po b/locale/fr.po
index 8dcf8d6..cacd1f3 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -2,14 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr "Il y a des mouvements de fournisseur tardifs."
-
-msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "La Quantité maximale doit être supérieure à la quantité minimale"
-
 msgctxt "error:stock.order_point:"
 msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
@@ -18,11 +10,31 @@ msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
-"Vous ne pouvez pas définir deux règles d'approvisionnement sur le même "
-"produit avec des emplacement opposés."
+"Vous ne pouvez pas définir deux règles d'approvisionnement pour le même "
+"produit avec des emplacements opposés (d' « Emplacement de stockage » à « "
+"Emplacement de surplus » et vice versa)."
+
+msgctxt "error:stock.order_point:"
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+"Vous ne pouvez pas définir deux règles d'approvisionnement pour le même "
+"produit avec des emplacements opposés (d' « Emplacement de stockage » à « "
+"Emplacement d'approvisionnement » et vice versa)."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr "Il y a des mouvements de client tardifs."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
+msgstr "Il y a des mouvements de fournisseur tardifs."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
@@ -32,10 +44,38 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr "Période d'approvisionnement"
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Date de création"
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Créé par"
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Nom"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr "Période d'approvisionnement"
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Date de mise à jour"
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Mis à jour par"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Emplacement de surplus"
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Emplacement d’approvisionnement"
@@ -68,6 +108,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Quantité minimale"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Emplacement de surplus"
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Produit"
@@ -84,6 +128,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Emplacement de stockage"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr "Quantité souhaitée"
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Type"
@@ -108,13 +156,13 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr "Mis à jour par"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "En nombre de jours"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr "Laisser vide pour aucun surplus par défaut"
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -132,13 +180,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Règles d'approvisionnement"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Créer les demandes d'achat"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Créer les expéditions internes"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr "Approvisionner le stock"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -155,37 +199,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Achats"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Générer les demandes d'achat"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Générer les expéditions internes"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Règles d'approvisionnement"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Créer les demandes d'achat"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr "Approvisionner le stock"
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Créer les expéditions internes"
-
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Créer les demandes d'achat"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr "Configuration d'achat Période d'approvisionnement"
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Règle d'approvisionnement"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
-msgstr "Créer l'expédition interne"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
+msgstr "Approvisionner le stock"
 
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
@@ -195,10 +227,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Achat"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Créer les demandes d'achat ?"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Type de Règle d'approvisionnement"
@@ -207,18 +235,50 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Info produit"
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Créer les expéditions internes ?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr "Approvisionner le stock ?"
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Créer"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Annuler"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Générer les demandes d'achat"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Générer les expéditions internes"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Créer les demandes d'achat"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Créer les expéditions internes"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Créer les demandes d'achat"
+
+msgctxt "model:stock.shipment.internal.create.start,name:"
+msgid "Create Shipment Internal"
+msgstr "Créer l'expédition interne"
+
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Créer les demandes d'achat ?"
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Créer les expéditions internes ?"
+
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
 msgstr "Créer"
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index f3940e5..b984c1c 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -2,26 +2,33 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr "Létezik későbbi szállítói anyag mozgatás."
-
-msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr ""
-"A maximális mennyiségnek nagyobb kell lenni, mint a minimális mennyiség."
-
 msgctxt "error:stock.order_point:"
 msgid "Only one order point is allowed for each product-location pair."
 msgstr "Csak egy rendelés pont engedélyezett termék-raktárhelyként."
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
-"Egy termékhez nem lehet különböző rendelés pontot, különböző telephellyel "
-"létrehozni."
+
+msgctxt "error:stock.order_point:"
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+#, fuzzy
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr "Létezik későbbi szállítói anyag mozgatás."
+
+#, fuzzy
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
+msgstr "Létezik későbbi szállítói anyag mozgatás."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
@@ -32,10 +39,45 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr "Beszerzési időszak"
 
-msgctxt "field:purchase.request.create.start,id:"
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Létrehozás dátuma"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Által létrehozva"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Név"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr "Beszerzési időszak"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Módosítás dátuma"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Által módosítva"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Előkészítés helye"
@@ -68,6 +110,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Min. mennyiség"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Termék"
@@ -84,6 +130,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Raktár helye"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Típus"
@@ -108,14 +158,15 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr "Által módosítva"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+#, fuzzy
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
 #, fuzzy
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "Napok száma"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr "Üresen hagyni, ha nincs előkészítési hely "
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -133,13 +184,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Rendelés pont"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Rendelés javaslat készítése"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Belső szállítások "
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -156,37 +203,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Vásárlás"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Rendelés javaslat létrehozása"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Belső szállítások létrehozása"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Rendelés pont"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Rendelés javaslat létrehozása"
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Belső szállítások létrehozása"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Rendelés javaslat létrehozása"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Rendelés pont"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
-msgstr "Belső szállítások létrehozása"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
+msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
@@ -196,10 +231,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Vásárlás"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Rendelés javaslat létrehozása?"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Rendelés pont típus"
@@ -209,18 +240,52 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Termék infó"
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Belső szállítások létrehozása?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+#, fuzzy
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Létrehozás"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+#, fuzzy
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Mégse"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Rendelés javaslat létrehozása"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Belső szállítások létrehozása"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Rendelés javaslat létrehozása"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Belső szállítások létrehozása"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Rendelés javaslat létrehozása"
+
+msgctxt "model:stock.shipment.internal.create.start,name:"
+msgid "Create Shipment Internal"
+msgstr "Belső szállítások létrehozása"
+
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Rendelés javaslat létrehozása?"
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Belső szállítások létrehozása?"
+
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
 msgstr "Létrehozás"
diff --git a/locale/it_IT.po b/locale/it_IT.po
index ff44b22..8cbdfd5 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 msgctxt "field:product.product,order_points:"
@@ -29,10 +37,43 @@ msgid "Supply Period"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Data di creazione"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Utente creazione"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "Movimento contabile"
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Utente scrittura"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "modificato da"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -70,6 +111,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
@@ -88,6 +133,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
@@ -118,12 +167,12 @@ msgid "Write User"
 msgstr "modificato da"
 
 #, fuzzy
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "Movimento contabile"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -142,12 +191,8 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
 #, fuzzy
@@ -167,36 +212,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Acquisto"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
 msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr ""
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -208,10 +241,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Acquisto"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr ""
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -220,17 +249,17 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
 msgstr ""
 
 #, fuzzy
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Creazione"
 
 #, fuzzy
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Cancella"
 
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index 836f100..2a929cb 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 #, fuzzy
@@ -29,10 +37,38 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr ""
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr ""
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -65,6 +101,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr ""
@@ -81,6 +121,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr ""
@@ -105,12 +149,12 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr ""
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -129,13 +173,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Order Points"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Create Purchase Requests"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -152,38 +192,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Purchase"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Generate Purchase Requests"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Generate Internal Shipments"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Order Points"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Create Purchase Requests"
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Create Internal Shipments"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
-#, fuzzy
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Create Purchase Requests"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr ""
 
 #, fuzzy
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Order Points"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 #, fuzzy
@@ -196,11 +223,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Purchase"
 
-#, fuzzy
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Create Purchase Requests"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -209,23 +231,45 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-#, fuzzy
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Create Internal Shipments"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
-msgid "Create"
-msgstr ""
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Generate Purchase Requests"
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,end:"
-msgid "Cancel"
-msgstr ""
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Generate Internal Shipments"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Create Purchase Requests"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Create Internal Shipments"
+
+#, fuzzy
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Create Purchase Requests"
+
+#, fuzzy
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Create Purchase Requests"
+
+#, fuzzy
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Create Internal Shipments"
diff --git a/locale/lo.po b/locale/lo.po
index 9d9dd68..53c2b1c 100644
--- a/locale/lo.po
+++ b/locale/lo.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 msgctxt "field:product.product,order_points:"
@@ -29,10 +37,43 @@ msgid "Supply Period"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "ສ້າງວັນທີ"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "ສ້າງຜູ້ໃຊ້ງານ"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ເລດລຳດັບ"
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "ຊື່"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "ວັນທີບັນທຶກ"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "ສ້າງຜູ້ໃຊ້"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -70,6 +111,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
@@ -88,6 +133,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
@@ -118,12 +167,12 @@ msgid "Write User"
 msgstr "ສ້າງຜູ້ໃຊ້"
 
 #, fuzzy
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ເລດລຳດັບ"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -142,12 +191,8 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
 #, fuzzy
@@ -167,36 +212,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr "ສັ່ງຊື້"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
 msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr ""
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -208,10 +241,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "ສັ່ງຊື້"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr ""
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -220,17 +249,17 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
 msgstr ""
 
 #, fuzzy
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "ສ້າງ"
 
 #, fuzzy
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "ຍົກເລີກ"
 
diff --git a/locale/lt.po b/locale/lt.po
index a8ecd49..70283af 100644
--- a/locale/lt.po
+++ b/locale/lt.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 msgctxt "field:product.product,order_points:"
@@ -28,10 +36,39 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr ""
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr ""
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Namu"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -64,6 +101,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr ""
@@ -81,6 +122,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr ""
@@ -105,12 +150,12 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr ""
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -129,12 +174,8 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt ""
@@ -152,36 +193,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr ""
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr ""
-
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
 msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr ""
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -192,10 +221,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr ""
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr ""
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -204,22 +229,14 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr ""
-
-msgctxt "wizard_button:purchase.request.create,start,create_:"
-msgid "Create"
-msgstr ""
-
-msgctxt "wizard_button:purchase.request.create,start,end:"
-msgid "Cancel"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr ""
diff --git a/locale/nl.po b/locale/nl.po
index 8a19027..85431dc 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 msgctxt "field:product.product,order_points:"
@@ -29,10 +37,43 @@ msgid "Supply Period"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Datum"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Gebruiker"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Naam bijlage"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Schrijfdatum"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Gebruiker"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -69,6 +110,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
@@ -87,6 +132,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
@@ -117,12 +166,12 @@ msgid "Write User"
 msgstr "Gebruiker"
 
 #, fuzzy
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -141,12 +190,8 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt ""
@@ -165,36 +210,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Inkoop"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
 msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr ""
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -206,10 +239,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Inkoop"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr ""
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -218,17 +247,17 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
 msgstr ""
 
 #, fuzzy
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Maken"
 
 #, fuzzy
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Annuleren"
 
diff --git a/locale/pl.po b/locale/pl.po
index 836f100..2a929cb 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 #, fuzzy
@@ -29,10 +37,38 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr ""
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr ""
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr ""
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr ""
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -65,6 +101,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr ""
@@ -81,6 +121,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr ""
@@ -105,12 +149,12 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr ""
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr ""
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -129,13 +173,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Order Points"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Create Purchase Requests"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -152,38 +192,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Purchase"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Generate Purchase Requests"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Generate Internal Shipments"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Order Points"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Create Purchase Requests"
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Create Internal Shipments"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
-#, fuzzy
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Create Purchase Requests"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr ""
 
 #, fuzzy
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Order Points"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 #, fuzzy
@@ -196,11 +223,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Purchase"
 
-#, fuzzy
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Create Purchase Requests"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -209,23 +231,45 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-#, fuzzy
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Create Internal Shipments"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr ""
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
-msgid "Create"
-msgstr ""
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Generate Purchase Requests"
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,end:"
-msgid "Cancel"
-msgstr ""
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Generate Internal Shipments"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Create Purchase Requests"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Create Internal Shipments"
+
+#, fuzzy
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Create Purchase Requests"
+
+#, fuzzy
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Create Purchase Requests"
+
+#, fuzzy
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Create Internal Shipments"
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 1c494b3..9d9f429 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -2,39 +2,80 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr "Existem algumas movimentações de fornecedor atrasadas."
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "A quantidade máxima deve ser maior do que a quantidade mínima"
+msgid "Only one order point is allowed for each product-location pair."
+msgstr ""
+"Apenas uma regras de abastecimento é permitida para cada par produto-"
+"localização."
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
-msgstr "Apenas uma ordem é permitida para cada par produto-localização."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
+msgstr ""
+"Você não pode definir duas regras de abastecimento no mesmo produto com "
+"localizações opostas (de \"Local de Armazenamento\" para \"Local de "
+"Transbordo\" e vice versa)."
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
 msgstr ""
-"Você não pode definir duas ordens para o mesmo produto com localizações "
-"opostas."
+"Você não pode definir duas regras de abastecimento no mesmo produto com "
+"localizações opostas (de \"Local de Armazenamento\" para \"Local de "
+"Transbordo\" e vice versa)."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr "Algumas movimentações de clientes estão atrasadas."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
+msgstr "Algumas movimentações de fornecedores estão atrasadas."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
 msgstr "Regras de Abastecimento"
 
-#, fuzzy
 msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
-msgstr "Período de suprimento"
+msgstr "Período de Abastecimento"
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Data de criação"
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Criado por"
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Nome"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr "Período de Abastecimento"
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Data de edição"
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Editado por"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Localização de Transbordo"
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Localização do Abastecimento"
@@ -67,6 +108,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Quantidade mínima"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Localização de Transbordo"
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Produto"
@@ -83,6 +128,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Local de armazenamento"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr "Quantidade Alvo"
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Tipo"
@@ -97,7 +146,7 @@ msgstr "Dígitos da unidade"
 
 msgctxt "field:stock.order_point,warehouse_location:"
 msgid "Warehouse Location"
-msgstr "Localização do estoque/almoxarifado"
+msgstr "Localização do Almoxarifado"
 
 msgctxt "field:stock.order_point,write_date:"
 msgid "Write Date"
@@ -107,14 +156,13 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr "Gravado pelo usuário"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "Em número de dias"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr "Deixe vazio para nenhum transbordo padrão"
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -132,13 +180,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Regras de Abastecimento"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Criar ordens de compra"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Gerar Remessas Internas"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr "Abastecer Estoque"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -155,37 +199,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Compra"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Gere ordens de compra"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Gere expedições internas"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Regras de Abastecimento"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Criar ordens de compra"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr "Abastecer Estoque"
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Gerar Remessas Internas"
-
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Criar ordem de compra"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr "Configurações de Compra Período de Abastecimento"
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Regra de Abastecimento"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
-msgstr "Criar Remessa Interna"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
+msgstr "Abastecer Estoque"
 
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
@@ -195,10 +227,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Compra"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Criar Ordens de Compra?"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Tipo de Regra de Abastecimento"
@@ -207,18 +235,50 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Informação do Produto"
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Criar Remessas Internas?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr "Abastecer Estoque?"
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Criar"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Cancelar"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Gerar Pedidos de Compra"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Gere expedições internas"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Criar Pedidos de Compra"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Gerar Remessas Internas"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Criar Pedidos de Compra"
+
+msgctxt "model:stock.shipment.internal.create.start,name:"
+msgid "Create Shipment Internal"
+msgstr "Criar Remessa Interna"
+
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Criar Pedidos de Compra?"
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Criar Remessas Internas?"
+
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
 msgstr "Criar"
diff --git a/locale/ru.po b/locale/ru.po
index c2e6dba..68b6588 100644
--- a/locale/ru.po
+++ b/locale/ru.po
@@ -2,14 +2,6 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
-msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "Максимальное кол-во должно быть больше чем минимальное."
-
 msgctxt "error:stock.order_point:"
 msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
@@ -17,11 +9,25 @@ msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.order_point:"
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
-"Вы не можете определить две точки заказа для одного продукта с "
-"противоположными местоположениями."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
@@ -31,10 +37,44 @@ msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr ""
 
-msgctxt "field:purchase.request.create.start,id:"
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Дата создания"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Создано пользователем"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Наименование"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Дата изменения"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Изменено пользователем"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr "Местоположение резервирования"
@@ -67,6 +107,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Минимальное кол-во"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Продукт"
@@ -83,6 +127,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Хранение Местоположение"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Тип"
@@ -108,14 +156,13 @@ msgid "Write User"
 msgstr "Изменено пользователем"
 
 #, fuzzy
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "После указанного количества дней"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -135,14 +182,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Точки заказа"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Создать запросы на покупку"
-
-#, fuzzy
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Создать внутренние доставки."
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
 #, fuzzy
 msgctxt ""
@@ -162,37 +204,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Покупки"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Создать запросы на покупки."
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Создать внутренние доставки."
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Точки заказа"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Создать запросы на покупку"
-
-#, fuzzy
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Создать внутренние доставки."
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr ""
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Создать запрос на покупку"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Точка заказа"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -203,11 +232,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Покупки"
 
-#, fuzzy
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Создать запросы на покупку"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Типы точек заказа"
@@ -216,19 +240,51 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Информация о продукте"
 
-#, fuzzy
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Создать внутренние доставки."
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+#, fuzzy
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr "Создать"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+#, fuzzy
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Отменить"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Создать запросы на покупки."
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Создать внутренние доставки."
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Создать запросы на покупку"
+
+#, fuzzy
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Создать внутренние доставки."
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Создать запрос на покупку"
+
+#, fuzzy
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Создать запросы на покупку"
+
+#, fuzzy
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Создать внутренние доставки."
+
 #, fuzzy
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
diff --git a/locale/sl.po b/locale/sl.po
index bbae823..c5fdf62 100644
--- a/locale/sl.po
+++ b/locale/sl.po
@@ -2,42 +2,79 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr "Obstaja nekaj poznih knjižb dobaviteljev."
-
-msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
-msgstr "Največja količina mora biti večja od najmanjše količine."
-
 msgctxt "error:stock.order_point:"
 msgid "Only one order point is allowed for each product-location pair."
 msgstr "Dovoljena je samo ena točka naročanja za vsak par izdelek - lokacija."
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
-"Dveh točk naročanja ni možno določiti na istem izdelku z nasprotujočima "
-"lokacijama."
+"Dveh točk naročanja z nasprotnima lokacijama (iz \"Shrambe\" na \"Prelivno "
+"lokacijo\" in obratno) ni možno določiti na istem izdelku."
+
+msgctxt "error:stock.order_point:"
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+"Dveh točk naročanja z nasprotnima lokacijama (iz \"Shrambe\" na "
+"\"Preskrbovalno lokacijo\" in obratno) ni možno določiti na istem izdelku."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr "Obstaja nekaj zakasnelih dobav kupcem."
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
+msgstr "Obstaja nekaj zakasnelih dobav dobaviteljev."
 
 msgctxt "field:product.product,order_points:"
 msgid "Order Points"
 msgstr "Točke naročanja"
 
-#, fuzzy
 msgctxt "field:purchase.configuration,supply_period:"
 msgid "Supply Period"
 msgstr "Obdobje dobave"
 
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "Izdelano"
+
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "Izdelal"
+
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "ID"
 
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "Ime"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr "Obdobje dobave"
+
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "Zapisano"
+
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "Zapisal"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Prelivna lokacija"
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
-msgstr "Preskrba"
+msgstr "Preskrbovalna lokacija"
 
 msgctxt "field:stock.order_point,company:"
 msgid "Company"
@@ -67,13 +104,17 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr "Najmanjša količina"
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr "Prelivna lokacija"
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr "Izdelek"
 
 msgctxt "field:stock.order_point,provisioning_location:"
 msgid "Provisioning Location"
-msgstr "Preskrba"
+msgstr "Preskrbovalna lokacija"
 
 msgctxt "field:stock.order_point,rec_name:"
 msgid "Name"
@@ -83,6 +124,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr "Shramba"
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr "Ciljna količina"
+
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
 msgstr "Tip"
@@ -107,14 +152,13 @@ msgctxt "field:stock.order_point,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "ID"
 
-#, fuzzy
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
-msgstr "V dnevih"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
+msgstr "Pusti prazno, če ni privzetega preliva"
 
 msgctxt "help:stock.location,provisioning_location:"
 msgid "Leave empty for no default provisioning"
@@ -132,13 +176,9 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr "Točke naročanja"
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Izdelava nabavnih zahtevkov"
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Izdelava notranjih odpremnic"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
+msgstr "Oskrba zaloge"
 
 msgctxt ""
 "model:ir.action.act_window.domain,name:act_order_point_form_domain_all"
@@ -155,37 +195,25 @@ msgctxt ""
 msgid "Purchase"
 msgstr "Nabavni nalogi"
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr "Izdelava nabavnih zahtevkov"
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr "Izdelava notranjih odpremnic"
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr "Točke naročanja"
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr "Izdelava nabavnih zahtevkov"
-
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr "Izdelava notranjih odpremnic"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
+msgstr "Oskrba zaloge"
 
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
-msgstr "Izdelava nabavnega zahtevka"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
+msgstr "Konfiguracija obdobja nabavne dobave"
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr "Točka naročanja"
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
-msgstr "Izdelava notranje odpremnice"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
+msgstr "Oskrba zaloge"
 
 msgctxt "selection:stock.order_point,type:"
 msgid "Internal"
@@ -195,10 +223,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr "Nabavni nalog"
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr "Izdelava nabavnih zahtevkov?"
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr "Tip točke naročanja"
@@ -207,18 +231,50 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr "Podatek o izdelku"
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
-msgstr "Izdelava notranjih odpremnic?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
+msgstr "Oskrba zaloge?"
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
-msgstr "Izdelaj"
+msgstr "Izdelava"
 
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "Prekliči"
 
+msgctxt "model:ir.cron,name:cron_generate_request"
+msgid "Generate Purchase Requests"
+msgstr "Izdelava nabavnih zahtevkov"
+
+msgctxt "model:ir.cron,name:cron_shipment_iternal"
+msgid "Generate Internal Shipments"
+msgstr "Izdelava notranjih odpremnic"
+
+msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
+msgid "Create Purchase Requests"
+msgstr "Izdelava nabavnih zahtevkov"
+
+msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
+msgid "Create Internal Shipments"
+msgstr "Izdelava notranjih odpremnic"
+
+msgctxt "model:purchase.request.create.start,name:"
+msgid "Create Purchase Request"
+msgstr "Izdelava nabavnega zahtevka"
+
+msgctxt "model:stock.shipment.internal.create.start,name:"
+msgid "Create Shipment Internal"
+msgstr "Izdelava notranje odpremnice"
+
+msgctxt "view:purchase.request.create.start:"
+msgid "Create Purchase Requests?"
+msgstr "Izdelava nabavnih zahtevkov?"
+
+msgctxt "view:stock.shipment.internal.create.start:"
+msgid "Create Internal Shipments?"
+msgstr "Izdelava notranjih odpremnic?"
+
 msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
 msgid "Create"
 msgstr "Izdelaj"
diff --git a/locale/zh_CN.po b/locale/zh_CN.po
index 89b4f34..f0e4195 100644
--- a/locale/zh_CN.po
+++ b/locale/zh_CN.po
@@ -2,22 +2,30 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=utf-8\n"
 
-msgctxt "error:purchase.request.create:"
-msgid "There are some late supplier moves."
-msgstr ""
-
 msgctxt "error:stock.order_point:"
-msgid "Maximal quantity must be bigger than Minimal quantity"
+msgid "Only one order point is allowed for each product-location pair."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
-msgid "Only one order point is allowed for each product-location pair."
+msgid ""
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Overflowing Location\" and vice "
+"versa)."
 msgstr ""
 
 msgctxt "error:stock.order_point:"
 msgid ""
-"You can not define two order points on the same product with opposite "
-"locations."
+"You can not define on the same product two order points with opposite "
+"locations (from \"Storage Location\" to \"Provisioning Location\" and vice "
+"versa)."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late customer moves."
+msgstr ""
+
+msgctxt "error:stock.supply:"
+msgid "There are some late supplier moves."
 msgstr ""
 
 msgctxt "field:product.product,order_points:"
@@ -29,10 +37,43 @@ msgid "Supply Period"
 msgstr ""
 
 #, fuzzy
-msgctxt "field:purchase.request.create.start,id:"
+msgctxt "field:purchase.configuration.supply_period,create_date:"
+msgid "Create Date"
+msgstr "创建日期:"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,create_uid:"
+msgid "Create User"
+msgstr "添加用户"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,id:"
 msgid "ID"
 msgstr "编号"
 
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,rec_name:"
+msgid "Name"
+msgstr "纳木"
+
+msgctxt "field:purchase.configuration.supply_period,supply_period:"
+msgid "Supply Period"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_date:"
+msgid "Write Date"
+msgstr "写入日期"
+
+#, fuzzy
+msgctxt "field:purchase.configuration.supply_period,write_uid:"
+msgid "Write User"
+msgstr "写入帐号"
+
+msgctxt "field:stock.location,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.location,provisioning_location:"
 msgid "Provisioning Location"
 msgstr ""
@@ -68,6 +109,10 @@ msgctxt "field:stock.order_point,min_quantity:"
 msgid "Minimal Quantity"
 msgstr ""
 
+msgctxt "field:stock.order_point,overflowing_location:"
+msgid "Overflowing Location"
+msgstr ""
+
 msgctxt "field:stock.order_point,product:"
 msgid "Product"
 msgstr ""
@@ -85,6 +130,10 @@ msgctxt "field:stock.order_point,storage_location:"
 msgid "Storage Location"
 msgstr ""
 
+msgctxt "field:stock.order_point,target_quantity:"
+msgid "Target Quantity"
+msgstr ""
+
 #, fuzzy
 msgctxt "field:stock.order_point,type:"
 msgid "Type"
@@ -113,12 +162,12 @@ msgid "Write User"
 msgstr "写入帐号"
 
 #, fuzzy
-msgctxt "field:stock.shipment.internal.create.start,id:"
+msgctxt "field:stock.supply.start,id:"
 msgid "ID"
 msgstr "编号"
 
-msgctxt "help:purchase.configuration,supply_period:"
-msgid "In number of days"
+msgctxt "help:stock.location,overflowing_location:"
+msgid "Leave empty for no default overflowing"
 msgstr ""
 
 msgctxt "help:stock.location,provisioning_location:"
@@ -137,12 +186,8 @@ msgctxt "model:ir.action,name:act_order_point_form_relate2"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.action,name:act_purchase_request_create"
-msgid "Create Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.action,name:act_shipment_internal_create"
-msgid "Create Internal Shipments"
+msgctxt "model:ir.action,name:act_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
 #, fuzzy
@@ -161,36 +206,24 @@ msgctxt ""
 msgid "Purchase"
 msgstr ""
 
-msgctxt "model:ir.cron,name:cron_generate_request"
-msgid "Generate Purchase Requests"
-msgstr ""
-
-msgctxt "model:ir.cron,name:cron_shipment_iternal"
-msgid "Generate Internal Shipments"
-msgstr ""
-
 msgctxt "model:ir.ui.menu,name:menu_order_point_form"
 msgid "Order Points"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_purchase_request_create"
-msgid "Create Purchase Requests"
+msgctxt "model:ir.ui.menu,name:menu_stock_supply"
+msgid "Supply Stock"
 msgstr ""
 
-msgctxt "model:ir.ui.menu,name:menu_shipment_internal_create"
-msgid "Create Internal Shipments"
-msgstr ""
-
-msgctxt "model:purchase.request.create.start,name:"
-msgid "Create Purchase Request"
+msgctxt "model:purchase.configuration.supply_period,name:"
+msgid "Purchase Configuration Supply Period"
 msgstr ""
 
 msgctxt "model:stock.order_point,name:"
 msgid "Order Point"
 msgstr ""
 
-msgctxt "model:stock.shipment.internal.create.start,name:"
-msgid "Create Shipment Internal"
+msgctxt "model:stock.supply.start,name:"
+msgid "Supply Stock"
 msgstr ""
 
 msgctxt "selection:stock.order_point,type:"
@@ -201,10 +234,6 @@ msgctxt "selection:stock.order_point,type:"
 msgid "Purchase"
 msgstr ""
 
-msgctxt "view:purchase.request.create.start:"
-msgid "Create Purchase Requests?"
-msgstr ""
-
 msgctxt "view:stock.order_point:"
 msgid "Order Point Type"
 msgstr ""
@@ -213,23 +242,19 @@ msgctxt "view:stock.order_point:"
 msgid "Product Info"
 msgstr ""
 
-msgctxt "view:stock.shipment.internal.create.start:"
-msgid "Create Internal Shipments?"
+msgctxt "view:stock.supply.start:"
+msgid "Supply Stock?"
 msgstr ""
 
-msgctxt "wizard_button:purchase.request.create,start,create_:"
+msgctxt "wizard_button:stock.supply,start,create_:"
 msgid "Create"
 msgstr ""
 
 #, fuzzy
-msgctxt "wizard_button:purchase.request.create,start,end:"
+msgctxt "wizard_button:stock.supply,start,end:"
 msgid "Cancel"
 msgstr "取消"
 
-msgctxt "wizard_button:stock.shipment.internal.create,start,create_:"
-msgid "Create"
-msgstr ""
-
 #, fuzzy
 msgctxt "wizard_button:stock.shipment.internal.create,start,end:"
 msgid "Cancel"
diff --git a/location.py b/location.py
index 2f5a999..8a6ecb8 100644
--- a/location.py
+++ b/location.py
@@ -2,7 +2,7 @@
 # this repository contains the full copyright notices and license terms.
 import datetime
 
-from trytond.pool import PoolMeta
+from trytond.pool import PoolMeta, Pool
 from trytond.model import fields
 from trytond.pyson import Eval
 
@@ -25,6 +25,17 @@ class Location:
             ],
         depends=['type', 'active'],
         help='Leave empty for no default provisioning')
+    overflowing_location = fields.Many2One('stock.location',
+        'Overflowing Location',
+        states={
+            'invisible': Eval('type') != 'storage',
+            'readonly': ~Eval('active'),
+            },
+        domain=[
+            ('type', 'in', ['storage', 'view']),
+            ],
+        depends=['type', 'active'],
+        help='Leave empty for no default overflowing')
 
 
 class LocationLeadTime:
@@ -33,9 +44,30 @@ class LocationLeadTime:
 
     @classmethod
     def get_max_lead_time(cls):
-        'Return the biggest lead time'
+        """Return the biggest lead time
+        increased by the maximum extra lead times"""
+        lead_time = datetime.timedelta(0)
         lead_times = cls.search([])
         if lead_times:
-            return max(r.lead_time for r in lead_times)
-        else:
-            return datetime.timedelta(0)
+            lead_time = sum(
+                (r.lead_time for r in lead_times if r.lead_time),
+                datetime.timedelta(0))
+        extra_lead_times = cls._get_extra_lead_times()
+        if extra_lead_times:
+            lead_time += max(extra_lead_times)
+        return lead_time
+
+    @classmethod
+    def _get_extra_lead_times(cls):
+        'Return a list of extra lead time'
+        pool = Pool()
+        ProductSupplier = pool.get('purchase.product_supplier')
+        extra = []
+
+        product_suppliers = ProductSupplier.search(
+            [('lead_time', '!=', None)],
+            order=[('lead_time', 'DESC')], limit=1)
+        if product_suppliers:
+            product_supplier, = product_suppliers
+            extra.append(product_supplier.lead_time)
+        return extra
diff --git a/order_point.py b/order_point.py
index 9d8a16b..c626a9c 100644
--- a/order_point.py
+++ b/order_point.py
@@ -1,6 +1,8 @@
 # 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 ModelView, ModelSQL, fields, Check
+from sql import Null
+
+from trytond.model import ModelView, ModelSQL, fields
 from trytond.pyson import If, Equal, Eval, Not, In
 from trytond.transaction import Transaction
 from trytond import backend
@@ -48,17 +50,53 @@ class OrderPoint(ModelSQL, ModelView):
         domain=[('type', 'in', ['storage', 'view'])],
         states={
             'invisible': Not(Equal(Eval('type'), 'internal')),
-            'required': Equal(Eval('type'), 'internal'),
+            'required': ((Eval('type') == 'internal')
+                & (Eval('min_quantity', None) != None)),
         },
-        depends=['type'])
+        depends=['type', 'min_quantity'])
+    overflowing_location = fields.Many2One(
+        'stock.location', 'Overflowing Location',
+        domain=[('type', 'in', ['storage', 'view'])],
+        states={
+            'invisible': Eval('type') != 'internal',
+            'required': ((Eval('type') == 'internal')
+                & (Eval('max_quantity', None) != None)),
+            },
+        depends=['type', 'max_quantity'])
     type = fields.Selection(
         [('internal', 'Internal'),
          ('purchase', 'Purchase')],
         'Type', select=True, required=True)
-    min_quantity = fields.Float('Minimal Quantity', required=True,
-            digits=(16, Eval('unit_digits', 2)), depends=['unit_digits'])
-    max_quantity = fields.Float('Maximal Quantity', required=True,
-            digits=(16, Eval('unit_digits', 2)), depends=['unit_digits'])
+    min_quantity = fields.Float('Minimal Quantity',
+        digits=(16, Eval('unit_digits', 2)),
+        domain=['OR',
+            ('min_quantity', '=', None),
+            ('min_quantity', '<=', Eval('target_quantity', 0)),
+            ],
+        depends=['unit_digits', 'target_quantity'])
+    target_quantity = fields.Float('Target Quantity', required=True,
+        digits=(16, Eval('unit_digits', 2)),
+        domain=[
+            ['OR',
+                ('min_quantity', '=', None),
+                ('target_quantity', '>=', Eval('min_quantity', 0)),
+                ],
+            ['OR',
+                ('max_quantity', '=', None),
+                ('target_quantity', '<=', Eval('max_quantity', 0)),
+                ],
+            ],
+        depends=['unit_digits', 'min_quantity', 'max_quantity'])
+    max_quantity = fields.Float('Maximal Quantity',
+        digits=(16, Eval('unit_digits', 2)),
+        states={
+            'invisible': Eval('type') != 'internal',
+            },
+        domain=['OR',
+            ('max_quantity', '=', None),
+            ('max_quantity', '>=', Eval('target_quantity', 0)),
+            ],
+        depends=['unit_digits', 'type', 'target_quantity'])
     company = fields.Many2One('company.company', 'Company', required=True,
             domain=[
                 ('id', If(In('company', Eval('context', {})), '=', '!='),
@@ -71,29 +109,42 @@ class OrderPoint(ModelSQL, ModelView):
     @classmethod
     def __setup__(cls):
         super(OrderPoint, cls).__setup__()
-        t = cls.__table__()
-        cls._sql_constraints += [
-            ('check_max_qty_greater_min_qty',
-                Check(t, t.max_quantity >= t.min_quantity),
-                'Maximal quantity must be bigger than Minimal quantity'),
-            ]
         cls._error_messages.update({
                 'unique_op': ('Only one order point is allowed '
                     'for each product-location pair.'),
-                'concurrent_internal_op': ('You can not define '
-                    'two order points on the same product '
-                    'with opposite locations.'),
+                'concurrent_provisioning_location_internal_op': ('You can not '
+                    'define on the same product two order points with '
+                    'opposite locations (from "Storage Location" to '
+                    '"Provisioning Location" and vice versa).'),
+                'concurrent_overflowing_location_internal_op': ('You can not '
+                    'define on the same product two order points with '
+                    'opposite locations (from "Storage Location" to '
+                    '"Overflowing Location" and vice versa).'),
                 })
 
     @classmethod
     def __register__(cls, module_name):
         TableHandler = backend.get('TableHandler')
+        cursor = Transaction().connection.cursor()
+        sql_table = cls.__table__()
+
         # Migration from 2.2
         table = TableHandler(cls, module_name)
         table.drop_constraint('check_min_max_quantity')
+        # Migration from 4.2
+        table.drop_constraint('check_max_qty_greater_min_qty')
+        table.not_null_action('min_quantity', 'remove')
+        table.not_null_action('max_quantity', 'remove')
+        target_qty_exist = table.column_exist('target_quantity')
 
         super(OrderPoint, cls).__register__(module_name)
 
+        # Migration from 4.2
+        if not target_qty_exist:
+            cursor.execute(*sql_table.update(
+                    [sql_table.target_quantity, sql_table.max_quantity],
+                    [sql_table.max_quantity, Null]))
+
     @staticmethod
     def default_type():
         return "purchase"
@@ -132,17 +183,23 @@ class OrderPoint(ModelSQL, ModelView):
         if not internals:
             return
 
-        query = ['OR']
-        for op in internals:
-            arg = ['AND',
-                   ('product', '=', op.product.id),
-                   ('provisioning_location', '=', op.storage_location.id),
-                   ('storage_location', '=', op.provisioning_location.id),
-                   ('company', '=', op.company.id),
-                   ('type', '=', 'internal')]
-            query.append(arg)
-        if cls.search(query):
-            cls.raise_user_error('concurrent_internal_op')
+        for location_name in [
+                'provisioning_location', 'overflowing_location']:
+            query = []
+            for op in internals:
+                if getattr(op, location_name, None) is None:
+                    continue
+                arg = ['AND',
+                    ('product', '=', op.product.id),
+                    (location_name, '=', op.storage_location.id),
+                    ('storage_location', '=',
+                        getattr(op, location_name).id),
+                    ('company', '=', op.company.id),
+                    ('type', '=', 'internal')]
+                query.append(arg)
+            if query and cls.search(['OR'] + query):
+                cls.raise_user_error(
+                    'concurrent_%s_internal_op' % location_name)
 
     @staticmethod
     def _type2field(type=None):
diff --git a/product.py b/product.py
index afa9218..3fd5d4e 100644
--- a/product.py
+++ b/product.py
@@ -1,5 +1,7 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
+import datetime
+
 from trytond.model import fields
 from trytond.pool import PoolMeta, Pool
 
@@ -17,8 +19,10 @@ class ProductSupplier:
     __metaclass__ = PoolMeta
     __name__ = 'purchase.product_supplier'
 
-    def get_supply_period(self):
-        'Return the supply period for the purchase request in days'
+    def get_supply_period(self, **pattern):
+        'Return the supply period for the purchase request'
         pool = Pool()
         Configuration = pool.get('purchase.configuration')
-        return Configuration(1).supply_period or 1
+        config = Configuration(1)
+        supply_period = config.get_multivalue('supply_period', **pattern)
+        return supply_period or datetime.timedelta(1)
diff --git a/product.xml b/product.xml
index 1097e23..db24724 100644
--- a/product.xml
+++ b/product.xml
@@ -7,7 +7,8 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">Order Points</field>
             <field name="res_model">stock.order_point</field>
             <field name="domain"
-                eval="[('product', 'in', Eval('active_ids'))]" pyson="1"/>
+                eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('product', '=', Eval('active_id')), ('product', 'in', Eval('active_ids')))]"
+                pyson="1"/>
         </record>
         <record model="ir.action.keyword" id="act_open_order_point_keyword1">
             <field name="keyword">form_relate</field>
@@ -19,7 +20,8 @@ this repository contains the full copyright notices and license terms. -->
             <field name="name">Order Points</field>
             <field name="res_model">stock.order_point</field>
             <field name="domain"
-                eval="[('product.template', 'in', Eval('active_ids'))]" pyson="1"/>
+                eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('product.template', '=', Eval('active_id')), ('product.template', 'in', Eval('active_ids')))]"
+                pyson="1"/>
         </record>
         <record model="ir.action.keyword" id="act_open_order_point_keyword2">
             <field name="keyword">form_relate</field>
diff --git a/purchase_request.py b/purchase_request.py
index ac4185a..685f855 100644
--- a/purchase_request.py
+++ b/purchase_request.py
@@ -4,22 +4,26 @@ import datetime
 import operator
 from collections import defaultdict
 
-from trytond.model import ModelView, fields
-from trytond.wizard import Wizard, StateView, StateAction, Button
+from trytond.model import ModelSQL, ValueMixin, fields
 from trytond.transaction import Transaction
 from trytond.pool import Pool, PoolMeta
 from trytond.tools import grouped_slice
 
 __all__ = ['PurchaseRequest', 'PurchaseConfiguration',
-    'CreatePurchaseRequestStart', 'CreatePurchaseRequest',
-    ]
+    'PurchaseConfigurationSupplyPeriod']
+supply_period = fields.TimeDelta("Supply Period")
 
 
 class PurchaseConfiguration:
     __metaclass__ = PoolMeta
     __name__ = 'purchase.configuration'
-    supply_period = fields.Property(fields.Integer('Supply Period',
-            help='In number of days', required=True))
+    supply_period = fields.MultiValue(supply_period)
+
+
+class PurchaseConfigurationSupplyPeriod(ModelSQL, ValueMixin):
+    "Purchase Configuration Supply Period"
+    __name__ = 'purchase.configuration.supply_period'
+    supply_period = supply_period
 
 
 class PurchaseRequest:
@@ -71,13 +75,18 @@ class PurchaseRequest:
         warehouse_ids = [w.id for w in warehouses]
         # fetch order points
         order_points = OrderPoint.search([
-            ('type', '=', 'purchase'),
+            ('warehouse_location', '!=', None),
             ('company', '=', company.id if company else None),
             ])
         # index them by product
         product2ops = {}
+        product2ops_other = {}
         for order_point in order_points:
-            product2ops[
+            if order_point.type == 'purchase':
+                dict_ = product2ops
+            else:
+                dict_ = product2ops_other
+            dict_[
                 (order_point.warehouse_location.id, order_point.product.id)
                 ] = order_point
 
@@ -111,12 +120,19 @@ class PurchaseRequest:
                     min_date_qties = defaultdict(lambda: 0,
                         ((x, pbl.pop((warehouse_id, x), 0))
                             for x in product_ids))
+                    # Do not compute shortage for product
+                    # with different order point
+                    product_ids = [
+                        p.id for p in sub_products
+                        if (warehouse_id, p.id) not in product2ops_other]
                     # Search for shortage between min-max
                     shortages = cls.get_shortage(warehouse_id, product_ids,
                         min_date, max_date, min_date_qties=min_date_qties,
                         order_points=product2ops)
 
                     for product in sub_products:
+                        if product.id not in shortages:
+                            continue
                         shortage_date, product_quantity = shortages[product.id]
                         if shortage_date is None or product_quantity is None:
                             continue
@@ -220,8 +236,7 @@ class PurchaseRequest:
 
         for product_supplier in product.product_suppliers:
             supply_date = product_supplier.compute_supply_date(date=today)
-            next_day = today + datetime.timedelta(
-                product_supplier.get_supply_period())
+            next_day = today + product_supplier.get_supply_period()
             next_supply_date = product_supplier.compute_supply_date(
                 date=next_day)
             if (not min_date) or supply_date < min_date:
@@ -255,8 +270,8 @@ class PurchaseRequest:
         supplier, purchase_date = cls.find_best_supplier(product,
             shortage_date)
 
-        max_quantity = order_point and order_point.max_quantity or 0.0
-        computed_quantity = max_quantity - product_quantity
+        target_quantity = order_point.target_quantity if order_point else 0.0
+        computed_quantity = target_quantity - product_quantity
         quantity = Uom.compute_qty(product.default_uom, computed_quantity,
             product.purchase_uom or product.default_uom)
 
@@ -335,50 +350,3 @@ class PurchaseRequest:
 
         return dict((x, (res_dates.get(x), res_qties.get(x)))
             for x in product_ids)
-
-
-class CreatePurchaseRequestStart(ModelView):
-    'Create Purchase Request'
-    __name__ = 'purchase.request.create.start'
-
-
-class CreatePurchaseRequest(Wizard):
-    'Create Purchase Requests'
-    __name__ = 'purchase.request.create'
-    start = StateView('purchase.request.create.start',
-        'stock_supply.purchase_request_create_start_view_form', [
-            Button('Cancel', 'end', 'tryton-cancel'),
-            Button('Create', 'create_', 'tryton-ok', default=True),
-            ])
-    create_ = StateAction('purchase_request.act_purchase_request_form')
-
-    @classmethod
-    def __setup__(cls):
-        super(CreatePurchaseRequest, cls).__setup__()
-        cls._error_messages.update({
-                'late_supplier_moves': 'There are some late supplier moves.',
-                })
-
-    @property
-    def _requests_parameters(self):
-        return {}
-
-    def do_create_(self, action):
-        pool = Pool()
-        PurchaseRequest = pool.get('purchase.request')
-        Move = pool.get('stock.move')
-        Date = pool.get('ir.date')
-        today = Date.today()
-        if Move.search([
-                    ('from_location.type', '=', 'supplier'),
-                    ('to_location.type', '=', 'storage'),
-                    ('state', '=', 'draft'),
-                    ('planned_date', '<', today),
-                    ], order=[]):
-            self.raise_user_warning('%s@%s' % (self.__name__, today),
-                'late_supplier_moves')
-        PurchaseRequest.generate_requests(**self._requests_parameters)
-        return action, {}
-
-    def transition_create_(self):
-        return 'end'
diff --git a/purchase_request.xml b/purchase_request.xml
index 376fbc7..e14fc11 100644
--- a/purchase_request.xml
+++ b/purchase_request.xml
@@ -9,51 +9,5 @@ this repository contains the full copyright notices and license terms. -->
                 ref="purchase.purchase_configuration_view_form"/>
             <field name="name">purchase_configuration_form</field>
         </record>
-
-        <record model="ir.action.wizard" id="act_purchase_request_create">
-            <field name="name">Create Purchase Requests</field>
-            <field name="wiz_name">purchase.request.create</field>
-        </record>
-
-        <record model="ir.ui.view" id="purchase_request_create_start_view_form">
-            <field name="model">purchase.request.create.start</field>
-            <field name="type">form</field>
-            <field name="name">purchase_request_create_start_form</field>
-        </record>
-
-        <menuitem parent="purchase_request.menu_purchase_request_form"
-            sequence="10" action="act_purchase_request_create"
-            id="menu_purchase_request_create"/>
-        <record model="ir.ui.menu-res.group"
-            id="menu_purchase_request_form_group_purchase_request">
-            <field name="menu" ref="menu_purchase_request_create"/>
-            <field name="group" ref="purchase_request.group_purchase_request"/>
-        </record>
-
-        <record model="res.user" id="user_generate_request">
-            <field name="login">user_cron_purchase_request</field>
-            <field name="name">Cron Purchase Request</field>
-            <field name="signature"></field>
-            <field name="active" eval="False"/>
-        </record>
-        <record model="res.user-res.group"
-            id="user_generate_request_group_purchase_request">
-            <field name="user" ref="user_generate_request"/>
-            <field name="group" ref="purchase_request.group_purchase_request"/>
-        </record>
-
-        <record model="ir.cron" id="cron_generate_request">
-            <field name="name">Generate Purchase Requests</field>
-            <field name="request_user" ref="res.user_admin"/>
-            <field name="user" ref="user_generate_request"/>
-            <field name="active" eval="True"/>
-            <field name="interval_number" eval="1"/>
-            <field name="interval_type">days</field>
-            <field name="number_calls" eval="-1"/>
-            <field name="repeat_missed" eval="False"/>
-            <field name="model">purchase.request</field>
-            <field name="function">generate_requests</field>
-        </record>
-
     </data>
 </tryton>
diff --git a/setup.py b/setup.py
index 043d32b..3a47947 100644
--- a/setup.py
+++ b/setup.py
@@ -85,7 +85,7 @@ setup(name=name,
         'Intended Audience :: Financial and Insurance Industry',
         'Intended Audience :: Legal Industry',
         'Intended Audience :: Manufacturing',
-        'License :: OSI Approved :: GNU General Public License (GPL)',
+        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
         'Natural Language :: Bulgarian',
         'Natural Language :: Catalan',
         'Natural Language :: Chinese (Simplified)',
@@ -125,5 +125,6 @@ setup(name=name,
     convert_2to3_doctests=[
         'tests/scenario_stock_supply_purchase_request.rst',
         'tests/scenario_stock_internal_supply.rst',
+        'tests/scenario_stock_internal_supply_lead_time.rst',
         ],
     )
diff --git a/shipment.py b/shipment.py
index e6acf3d..1fa0c3f 100644
--- a/shipment.py
+++ b/shipment.py
@@ -6,12 +6,10 @@ from sql import Table
 from sql.functions import Overlay, Position
 
 from trytond.model import ModelView, ModelSQL
-from trytond.wizard import Wizard, StateView, StateAction, Button
 from trytond.transaction import Transaction
 from trytond.pool import Pool
 
-__all__ = ['ShipmentInternal',
-    'CreateShipmentInternalStart', 'CreateShipmentInternal']
+__all__ = ['ShipmentInternal']
 
 
 class ShipmentInternal(ModelSQL, ModelView):
@@ -40,10 +38,12 @@ class ShipmentInternal(ModelSQL, ModelView):
         super(ShipmentInternal, cls).__register__(module_name)
 
     @classmethod
-    def generate_internal_shipment(cls):
+    def generate_internal_shipment(cls, clean=True):
         """
         Generate internal shipments to meet order points defined on
         non-warehouse location.
+
+        If clean is set, it will remove all previous requests.
         """
         pool = Pool()
         OrderPoint = pool.get('stock.order_point')
@@ -57,6 +57,13 @@ class ShipmentInternal(ModelSQL, ModelView):
         user_record = User(Transaction().user)
         today = Date.today()
         lead_time = LeadTime.get_max_lead_time()
+
+        if clean:
+            reqs = cls.search([
+                    ('state', '=', 'request'),
+                    ])
+            cls.delete(reqs)
+
         # fetch quantities on order points
         order_points = OrderPoint.search([
             ('type', '=', 'internal'),
@@ -70,14 +77,15 @@ class ShipmentInternal(ModelSQL, ModelView):
                 (op.storage_location.id, op.product.id)
                 ] = op
             id2location[op.storage_location.id] = op.storage_location
-        provisioned = Location.search([
+        implicit_locations = Location.search(['OR',
                 ('provisioning_location', '!=', None),
+                ('overflowing_location', '!=', None),
                 ])
-        id2location.update({l.id: l for l in provisioned})
+        id2location.update({l.id: l for l in implicit_locations})
         location_ids = id2location.keys()
 
         # ordered by ids to speedup reduce_ids in products_by_location
-        if provisioned:
+        if implicit_locations:
             products = Product.search([
                     ('type', 'in', ['goods', 'assets']),
                     ], order=[('id', 'ASC')])
@@ -103,19 +111,35 @@ class ShipmentInternal(ModelSQL, ModelView):
                     op = product2op.get((location.id, product_id))
                     if op:
                         min_qty, max_qty = op.min_quantity, op.max_quantity
+                        target_qty = op.target_quantity
                         prov_location = op.provisioning_location
-                    elif location and location.provisioning_location:
-                        min_qty, max_qty = 0, 0
+                        over_location = op.overflowing_location
+                    elif (location
+                            and (location.provisioning_location
+                                or location.overflowing_location)):
+                        target_qty = 0
+                        min_qty = 0 if location.provisioning_location else None
+                        max_qty = 0 if location.overflowing_location else None
                         prov_location = location.provisioning_location
+                        over_location = location.overflowing_location
                     else:
                         continue
-                    if qty < min_qty:
-                        key = (prov_location.id, location.id, product_id)
-                        moves[key] = max_qty - qty
-                        # Update quantities for move to create
-                        current_qties[
-                            (prov_location.id, product_id)] -= moves[key]
-                        current_qties[(location.id, product_id)] += moves[key]
+
+                    change_qty = 0
+                    if min_qty is not None and qty < min_qty:
+                        from_loc = prov_location.id
+                        to_loc = location.id
+                        change_qty = target_qty - qty
+                    elif max_qty is not None and qty > max_qty:
+                        from_loc = location.id
+                        to_loc = over_location.id
+                        change_qty = qty - target_qty
+
+                    if change_qty:
+                        key = (from_loc, to_loc, product_id)
+                        moves[key] = change_qty
+                        current_qties[(from_loc, product_id)] -= change_qty
+                        current_qties[(to_loc, product_id)] += change_qty
 
             # Group moves by {from,to}_location
             to_create = {}
@@ -130,6 +154,7 @@ class ShipmentInternal(ModelSQL, ModelView):
                     from_location=from_location,
                     to_location=to_location,
                     planned_date=date,
+                    state='request',
                     )
                 shipment_moves = []
                 for move in moves:
@@ -161,30 +186,8 @@ class ShipmentInternal(ModelSQL, ModelView):
             for key, qty in pbl.iteritems():
                 current_qties[key] += qty
 
-        cls.save(shipments)
-        cls.wait(shipments)
+        if shipments:
+            cls.save(shipments)
+            # Split moves through transit to get accurate dates
+            cls._set_transit(shipments)
         return shipments
-
-
-class CreateShipmentInternalStart(ModelView):
-    'Create Shipment Internal'
-    __name__ = 'stock.shipment.internal.create.start'
-
-
-class CreateShipmentInternal(Wizard):
-    'Create Shipment Internal'
-    __name__ = 'stock.shipment.internal.create'
-    start = StateView('stock.shipment.internal.create.start',
-        'stock_supply.shipment_internal_create_start_view_form', [
-            Button('Cancel', 'end', 'tryton-cancel'),
-            Button('Create', 'create_', 'tryton-ok', default=True),
-            ])
-    create_ = StateAction('stock.act_shipment_internal_form')
-
-    def do_create_(self, action):
-        ShipmentInternal = Pool().get('stock.shipment.internal')
-        ShipmentInternal.generate_internal_shipment()
-        return action, {}
-
-    def transition_create_(self):
-        return 'end'
diff --git a/shipment.xml b/shipment.xml
deleted file mode 100644
index 71811e9..0000000
--- a/shipment.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
-this repository contains the full copyright notices and license terms. -->
-<tryton>
-    <data>
-        <record model="res.user" id="user_generate_shipment_internal">
-            <field name="login">user_cron_internal_shipment</field>
-            <field name="name">Cron Intenal Shipment</field>
-            <field name="signature"></field>
-            <field name="active" eval="False"/>
-        </record>
-        <record model="res.user-res.group"
-            id="user_generate_shipment_internal_group_stock">
-            <field name="user" ref="user_generate_shipment_internal"/>
-            <field name="group" ref="stock.group_stock"/>
-        </record>
-
-        <record model="ir.cron" id="cron_shipment_iternal">
-            <field name="name">Generate Internal Shipments</field>
-            <field name="request_user" ref="res.user_admin"/>
-            <field name="user" ref="user_generate_shipment_internal"/>
-            <field name="active" eval="True"/>
-            <field name="interval_number" eval="1"/>
-            <field name="interval_type">days</field>
-            <field name="number_calls" eval="-1"/>
-            <field name="repeat_missed" eval="False"/>
-            <field name="model">stock.shipment.internal</field>
-            <field name="function">generate_internal_shipment</field>
-        </record>
-
-        <record model="ir.action.wizard" id="act_shipment_internal_create">
-            <field name="name">Create Internal Shipments</field>
-            <field name="wiz_name">stock.shipment.internal.create</field>
-        </record>
-        <record model="ir.ui.view"
-            id="shipment_internal_create_start_view_form">
-            <field name="model">stock.shipment.internal.create.start</field>
-            <field name="type">form</field>
-            <field name="name">stock_shipment_internal_create_start_form</field>
-        </record>
-        <menuitem parent="stock.menu_shipment_internal_form" sequence="10"
-            action="act_shipment_internal_create"
-            id="menu_shipment_internal_create"/>
-        <record model="ir.ui.menu-res.group"
-            id="menu_shipment_internal_form_group_purchase_request">
-            <field name="menu" ref="menu_shipment_internal_create"/>
-            <field name="group" ref="stock.group_stock_admin"/>
-        </record>
-    </data>
-</tryton>
diff --git a/stock.py b/stock.py
new file mode 100644
index 0000000..b10b2f5
--- /dev/null
+++ b/stock.py
@@ -0,0 +1,114 @@
+# 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.pool import Pool
+from trytond.model import ModelView
+from trytond.wizard import (Wizard, StateView, StateAction, StateTransition,
+    Button)
+
+__all__ = ['StockSupply', 'StockSupplyStart']
+
+
+class StockSupply(Wizard):
+    "Supply Stock"
+    __name__ = 'stock.supply'
+    start = StateView(
+        'stock.supply.start',
+        'stock_supply.supply_start_view_form', [
+            Button('Cancel', 'end', 'tryton-cancel'),
+            Button('Create', 'create_', 'tryton-ok', default=True),
+            ])
+    create_ = StateTransition()
+    internal = StateAction('stock.act_shipment_internal_form')
+    purchase = StateAction('purchase_request.act_purchase_request_form')
+
+    @classmethod
+    def __setup__(cls):
+        super(StockSupply, cls).__setup__()
+        cls._error_messages.update({
+                'late_supplier_moves': 'There are some late supplier moves.',
+                'late_customer_moves': 'There are some late customer moves.',
+                })
+
+    @classmethod
+    def types(cls):
+        return ['internal', 'purchase']
+
+    @classmethod
+    def next_action(cls, name):
+        types = cls.types()
+        try:
+            return types[types.index(name) + 1]
+        except IndexError:
+            return 'end'
+
+    def transition_create_(self):
+        pool = Pool()
+        Move = pool.get('stock.move')
+        ShipmentInternal = pool.get('stock.shipment.internal')
+        Date = pool.get('ir.date')
+        today = Date.today()
+        if Move.search([
+                    ('from_location.type', '=', 'supplier'),
+                    ('to_location.type', '=', 'storage'),
+                    ('state', '=', 'draft'),
+                    ('planned_date', '<', today),
+                    ], order=[]):
+            self.raise_user_warning('%s.supplier@%s' % (self.__name__, today),
+                'late_supplier_moves')
+        if Move.search([
+                    ('from_location.type', '=', 'storage'),
+                    ('to_location.type', '=', 'customer'),
+                    ('state', '=', 'draft'),
+                    ('planned_date', '<', today),
+                    ], order=[]):
+            self.raise_user_warning('%s.customer@%s' % (self.__name__, today),
+                'late_customer_moves')
+
+        first = True
+        created = False
+        while created or first:
+            created = False
+            for type_ in self.types():
+                created |= bool(getattr(self, 'generate_%s' % type_)(first))
+            first = False
+
+        # Remove transit split of request
+        shipments = ShipmentInternal.search([
+                ('state', '=', 'request'),
+                ])
+        Move.delete([m for s in shipments for m in s.moves
+                if m.from_location == s.transit_location])
+        for shipment in shipments:
+            Move.write([m for m in shipment.moves], {
+                    'from_location': shipment.from_location.id,
+                    'to_location': shipment.to_location.id,
+                    'planned_date': shipment.planned_date,
+                    })
+
+        return self.types()[0]
+
+    def generate_internal(self, clean):
+        pool = Pool()
+        ShipmentInternal = pool.get('stock.shipment.internal')
+        return ShipmentInternal.generate_internal_shipment(clean=clean)
+
+    def transition_internal(self):
+        return self.next_action('internal')
+
+    @property
+    def _purchase_parameters(self):
+        return {}
+
+    def generate_purchase(self, clean):
+        pool = Pool()
+        PurchaseRequest = pool.get('purchase.request')
+        PurchaseRequest.generate_requests(**self._purchase_parameters)
+        return False
+
+    def transition_purchase(self):
+        return self.next_action('purchase')
+
+
+class StockSupplyStart(ModelView):
+    "Supply Stock"
+    __name__ = 'stock.supply.start'
diff --git a/stock.xml b/stock.xml
new file mode 100644
index 0000000..c356672
--- /dev/null
+++ b/stock.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
+this repository contains the full copyright notices and license terms. -->
+<tryton>
+    <data>
+        <record model="ir.action.wizard" id="act_stock_supply">
+            <field name="name">Supply Stock</field>
+            <field name="wiz_name">stock.supply</field>
+        </record>
+        <record model="ir.action-res.group"
+            id="act_stock_supply_group_stock_admin">
+            <field name="action" ref="act_stock_supply"/>
+            <field name="group" ref="stock.group_stock_admin"/>
+        </record>
+
+        <menuitem parent="menu_order_point_form" sequence="10"
+            action="act_stock_supply" id="menu_stock_supply"/>
+        <record model="ir.ui.menu-res.group"
+            id="menu_stock_supply_group_stock_admin">
+            <field name="menu" ref="menu_stock_supply"/>
+            <field name="group" ref="stock.group_stock_admin"/>
+        </record>
+
+        <record model="ir.ui.view" id="supply_start_view_form">
+            <field name="model">stock.supply.start</field>
+            <field name="type">form</field>
+            <field name="name">supply_start_form</field>
+        </record>
+    </data>
+</tryton>
diff --git a/tests/scenario_stock_internal_supply.rst b/tests/scenario_stock_internal_supply.rst
index a31e0fd..66ff8b2 100644
--- a/tests/scenario_stock_internal_supply.rst
+++ b/tests/scenario_stock_internal_supply.rst
@@ -112,7 +112,7 @@ Create internal order point::
     >>> order_point.provisioning_location = provisioning_loc
     >>> order_point.type = 'internal'
     >>> order_point.min_quantity = 10
-    >>> order_point.max_quantity = 15
+    >>> order_point.target_quantity = 15
     >>> order_point.save()
 
 Create inventory to add enough quantity in Provisioning Location::
@@ -131,10 +131,10 @@ Create inventory to add enough quantity in Provisioning Location::
 Execute internal supply::
 
     >>> ShipmentInternal = Model.get('stock.shipment.internal')
-    >>> Wizard('stock.shipment.internal.create').execute('create_')
+    >>> Wizard('stock.supply').execute('create_')
     >>> shipment, = ShipmentInternal.find([])
     >>> shipment.state
-    u'waiting'
+    u'request'
     >>> len(shipment.moves)
     1
     >>> move, = shipment.moves
@@ -161,10 +161,11 @@ Create negative quantity in Second Storage::
 
 Execute internal supply::
 
-    >>> Wizard('stock.shipment.internal.create').execute('create_')
-    >>> shipment, = ShipmentInternal.find([('id', '!=', shipment.id)])
+    >>> Wizard('stock.supply').execute('create_')
+    >>> shipment, = ShipmentInternal.find(
+    ...     [('to_location', '=', sec_storage_loc.id)])
     >>> shipment.state
-    u'waiting'
+    u'request'
     >>> len(shipment.moves)
     1
     >>> move, = shipment.moves
diff --git a/tests/scenario_stock_internal_supply_lead_time.rst b/tests/scenario_stock_internal_supply_lead_time.rst
new file mode 100644
index 0000000..f71bbc0
--- /dev/null
+++ b/tests/scenario_stock_internal_supply_lead_time.rst
@@ -0,0 +1,145 @@
+========================================
+Stock Internal Supply Lead Time Scenario
+========================================
+
+Imports::
+
+    >>> import datetime
+    >>> from dateutil.relativedelta import relativedelta
+    >>> from decimal import Decimal
+    >>> from proteus import Model, Wizard
+    >>> from trytond.tests.tools import activate_modules
+    >>> from trytond.modules.company.tests.tools import create_company, \
+    ...     get_company
+    >>> today = datetime.date.today()
+    >>> tomorrow = today + relativedelta(days=1)
+
+Install stock_supply Module::
+
+    >>> config = activate_modules('stock_supply')
+
+Create customer::
+
+    >>> Party = Model.get('party.party')
+    >>> customer = Party(name='Customer')
+    >>> customer.save()
+
+Create company::
+
+    >>> _ = create_company()
+    >>> company = get_company()
+
+Create product::
+
+    >>> ProductUom = Model.get('product.uom')
+    >>> ProductTemplate = Model.get('product.template')
+    >>> Product = Model.get('product.product')
+    >>> unit, = ProductUom.find([('name', '=', 'Unit')])
+    >>> product = Product()
+    >>> template = ProductTemplate()
+    >>> template.name = 'Product'
+    >>> template.default_uom = unit
+    >>> template.type = 'goods'
+    >>> template.list_price = Decimal('20')
+    >>> template.cost_price = Decimal('8')
+    >>> template.save()
+    >>> product.template = template
+    >>> product.save()
+
+Get stock locations::
+
+    >>> Location = Model.get('stock.location')
+    >>> warehouse_loc, = Location.find([('code', '=', 'WH')])
+    >>> supplier_loc, = Location.find([('code', '=', 'SUP')])
+    >>> customer_loc, = Location.find([('code', '=', 'CUS')])
+    >>> lost_loc, = Location.find([('type', '=', 'lost_found')])
+
+Create second warehouse::
+
+    >>> sec_warehouse_loc, = warehouse_loc.duplicate()
+
+Add lead time between warehouses::
+
+    >>> LeadTime = Model.get('stock.location.lead_time')
+    >>> lead_time = LeadTime()
+    >>> lead_time.warehouse_from = warehouse_loc
+    >>> lead_time.warehouse_to = sec_warehouse_loc
+    >>> lead_time.lead_time = datetime.timedelta(1)
+    >>> lead_time.save()
+
+Create internal order point::
+
+    >>> OrderPoint = Model.get('stock.order_point')
+    >>> order_point = OrderPoint()
+    >>> order_point.product = product
+    >>> order_point.storage_location = sec_warehouse_loc.storage_location
+    >>> order_point.provisioning_location = warehouse_loc.storage_location
+    >>> order_point.type = 'internal'
+    >>> order_point.min_quantity = 10
+    >>> order_point.target_quantity = 15
+    >>> order_point.save()
+
+Create inventory to add enough quantity in first warehouse::
+
+    >>> Inventory = Model.get('stock.inventory')
+    >>> inventory = Inventory()
+    >>> inventory.location = warehouse_loc.storage_location
+    >>> inventory_line = inventory.lines.new(product=product)
+    >>> inventory_line.quantity = 100.0
+    >>> inventory_line.expected_quantity = 0.0
+    >>> inventory.click('confirm')
+    >>> inventory.state
+    u'done'
+
+Create needs for tomorrow in second warehouse::
+
+    >>> ShipmentOut = Model.get('stock.shipment.out')
+    >>> shipment = ShipmentOut()
+    >>> shipment.planned_date = tomorrow
+    >>> shipment.customer = customer
+    >>> shipment.warehouse = sec_warehouse_loc
+    >>> move = shipment.outgoing_moves.new()
+    >>> move.product = product
+    >>> move.quantity = 10
+    >>> move.from_location = sec_warehouse_loc.output_location
+    >>> move.to_location = customer_loc
+    >>> shipment.click('wait')
+    >>> shipment.state
+    u'waiting'
+
+Execute internal supply::
+
+    >>> ShipmentInternal = Model.get('stock.shipment.internal')
+    >>> Wizard('stock.supply').execute('create_')
+    >>> shipments = ShipmentInternal.find([], order=[('planned_date', 'ASC')])
+    >>> len(shipments)
+    2
+    >>> first, second = shipments
+
+    >>> first.planned_date == today
+    True
+    >>> first.state
+    u'request'
+    >>> len(first.moves)
+    1
+    >>> move, = first.moves
+    >>> move.from_location == warehouse_loc.storage_location
+    True
+    >>> move.to_location == sec_warehouse_loc.storage_location
+    True
+    >>> move.quantity
+    15.0
+
+    >>> second.planned_date == tomorrow
+    True
+    >>> second.state
+    u'request'
+    >>> len(second.moves)
+    1
+    >>> move, = second.moves
+    >>> move.from_location == warehouse_loc.storage_location
+    True
+    >>> move.to_location == sec_warehouse_loc.storage_location
+    True
+    >>> move.quantity
+    10.0
diff --git a/tests/scenario_stock_internal_supply_overflow.rst b/tests/scenario_stock_internal_supply_overflow.rst
new file mode 100644
index 0000000..704d9be
--- /dev/null
+++ b/tests/scenario_stock_internal_supply_overflow.rst
@@ -0,0 +1,148 @@
+====================================================
+Stock supply scenario: Internal supply with overflow
+====================================================
+
+Imports::
+
+    >>> import datetime
+    >>> from dateutil.relativedelta import relativedelta
+    >>> from decimal import Decimal
+    >>> from proteus import Model, Wizard
+    >>> from trytond.tests.tools import activate_modules
+    >>> from trytond.modules.company.tests.tools import create_company, \
+    ...     get_company
+    >>> today = datetime.date.today()
+
+Install stock_supply Module::
+
+    >>> config = activate_modules('stock_supply')
+
+Create company::
+
+    >>> _ = create_company()
+    >>> company = get_company()
+
+Create product::
+
+    >>> ProductUom = Model.get('product.uom')
+    >>> ProductTemplate = Model.get('product.template')
+    >>> Product = Model.get('product.product')
+    >>> unit, = ProductUom.find([('name', '=', 'Unit')])
+    >>> product = Product()
+    >>> template = ProductTemplate()
+    >>> template.name = 'Product'
+    >>> template.default_uom = unit
+    >>> template.type = 'goods'
+    >>> template.list_price = Decimal('20')
+    >>> template.cost_price = Decimal('8')
+    >>> template.save()
+    >>> product.template = template
+    >>> product.save()
+
+Get stock locations::
+
+    >>> Location = Model.get('stock.location')
+    >>> warehouse_loc, = Location.find([('code', '=', 'WH')])
+    >>> supplier_loc, = Location.find([('code', '=', 'SUP')])
+    >>> customer_loc, = Location.find([('code', '=', 'CUS')])
+    >>> output_loc, = Location.find([('code', '=', 'OUT')])
+    >>> storage_loc, = Location.find([('code', '=', 'STO')])
+    >>> lost_loc, = Location.find([('type', '=', 'lost_found')])
+
+Using order point to control the overflow
+-----------------------------------------
+
+Create the overflow location::
+
+    >>> overflow_loc = Location()
+    >>> overflow_loc.name = 'Overflow Location'
+    >>> overflow_loc.type = 'storage'
+    >>> overflow_loc.parent = warehouse_loc
+    >>> overflow_loc.save()
+
+Create the overflowed location::
+
+    >>> overflowed_storage_loc = Location()
+    >>> overflowed_storage_loc.name = 'Overflowed Location'
+    >>> overflowed_storage_loc.type = 'storage'
+    >>> overflowed_storage_loc.parent = warehouse_loc
+    >>> overflowed_storage_loc.save()
+
+Create an internal order point::
+
+    >>> OrderPoint = Model.get('stock.order_point')
+    >>> overflow_order_point = OrderPoint()
+    >>> overflow_order_point.product = product
+    >>> overflow_order_point.storage_location = overflowed_storage_loc
+    >>> overflow_order_point.overflowing_location = overflow_loc
+    >>> overflow_order_point.type = 'internal'
+    >>> overflow_order_point.max_quantity = 80
+    >>> overflow_order_point.target_quantity = 60
+    >>> overflow_order_point.save()
+
+Put too much quantity in the overflowed location::
+
+    >>> Move = Model.get('stock.move')
+    >>> move = Move()
+    >>> move.product = product
+    >>> move.quantity = 100
+    >>> move.from_location = lost_loc
+    >>> move.to_location = overflowed_storage_loc
+    >>> move.click('do')
+
+Execute internal supply::
+
+    >>> ShipmentInternal = Model.get('stock.shipment.internal')
+    >>> Wizard('stock.supply').execute('create_')
+    >>> shipment, = ShipmentInternal.find([
+    ...         ('to_location', '=', overflow_loc.id),
+    ...         ])
+    >>> shipment.state
+    u'request'
+    >>> move, = shipment.moves
+    >>> move.product.id == product.id
+    True
+    >>> move.quantity
+    40.0
+    >>> move.from_location.id == overflowed_storage_loc.id
+    True
+    >>> move.to_location.id == overflow_loc.id
+    True
+
+Using an overflow location
+--------------------------
+
+Create the overflowed location::
+
+    >>> sec_overflowed_storage_loc = Location()
+    >>> sec_overflowed_storage_loc.name = 'Second Overflowed Location'
+    >>> sec_overflowed_storage_loc.type = 'storage'
+    >>> sec_overflowed_storage_loc.parent = warehouse_loc
+    >>> sec_overflowed_storage_loc.overflowing_location = overflow_loc
+    >>> sec_overflowed_storage_loc.save()
+
+Create positive quantity in this location::
+
+    >>> move = Move()
+    >>> move.product = product
+    >>> move.quantity = 10
+    >>> move.from_location = lost_loc
+    >>> move.to_location = sec_overflowed_storage_loc
+    >>> move.click('do')
+
+Execute internal supply::
+
+    >>> Wizard('stock.supply').execute('create_')
+    >>> shipment, = ShipmentInternal.find(
+    ...     [('from_location', '=', sec_overflowed_storage_loc.id)])
+    >>> shipment.state
+    u'request'
+    >>> move, = shipment.moves
+    >>> move.product.id == product.id
+    True
+    >>> move.quantity
+    10.0
+    >>> move.from_location.id == sec_overflowed_storage_loc.id
+    True
+    >>> move.to_location.id == overflow_loc.id
+    True
diff --git a/tests/scenario_stock_supply_purchase_request.rst b/tests/scenario_stock_supply_purchase_request.rst
index f9d244b..bc25df7 100644
--- a/tests/scenario_stock_supply_purchase_request.rst
+++ b/tests/scenario_stock_supply_purchase_request.rst
@@ -143,7 +143,7 @@ There is no purchase request::
 
 Create the purchase request::
 
-    >>> create_pr = Wizard('purchase.request.create')
+    >>> create_pr = Wizard('stock.supply')
     >>> create_pr.execute('create_')
 
 There is now a draft purchase request::
diff --git a/tests/test_stock_supply.py b/tests/test_stock_supply.py
index 211a8ed..b334f19 100644
--- a/tests/test_stock_supply.py
+++ b/tests/test_stock_supply.py
@@ -129,8 +129,18 @@ def suite():
             checker=doctest_checker,
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
     suite.addTests(doctest.DocFileSuite(
+            'scenario_stock_internal_supply_lead_time.rst',
+            tearDown=doctest_teardown, encoding='utf-8',
+            checker=doctest_checker,
+            optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
+    suite.addTests(doctest.DocFileSuite(
             'scenario_stock_supply_purchase_request.rst',
             tearDown=doctest_teardown, encoding='utf-8',
             checker=doctest_checker,
             optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
+    suite.addTests(doctest.DocFileSuite(
+            'scenario_stock_internal_supply_overflow.rst',
+            tearDown=doctest_teardown, encoding='utf-8',
+            checker=doctest_checker,
+            optionflags=doctest.REPORT_ONLY_FIRST_FAILURE))
     return suite
diff --git a/tryton.cfg b/tryton.cfg
index a4f2db8..d7d577b 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=4.2.1
+version=4.4.0
 depends:
     account
     ir
@@ -12,6 +12,6 @@ depends:
 xml:
     order_point.xml
     purchase_request.xml
-    shipment.xml
     product.xml
     location.xml
+    stock.xml
diff --git a/trytond_stock_supply.egg-info/PKG-INFO b/trytond_stock_supply.egg-info/PKG-INFO
index 4d98471..f71d94e 100644
--- a/trytond_stock_supply.egg-info/PKG-INFO
+++ b/trytond_stock_supply.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-stock-supply
-Version: 4.2.1
+Version: 4.4.0
 Summary: Tryton module for stock supply
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/4.2/
+Download-URL: http://downloads.tryton.org/4.4/
 Description: trytond_stock_supply
         ====================
         
@@ -52,7 +52,7 @@ Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Financial and Insurance Industry
 Classifier: Intended Audience :: Legal Industry
 Classifier: Intended Audience :: Manufacturing
-Classifier: License :: OSI Approved :: GNU General Public License (GPL)
+Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
 Classifier: Natural Language :: Chinese (Simplified)
diff --git a/trytond_stock_supply.egg-info/SOURCES.txt b/trytond_stock_supply.egg-info/SOURCES.txt
index 649235f..daa48c1 100644
--- a/trytond_stock_supply.egg-info/SOURCES.txt
+++ b/trytond_stock_supply.egg-info/SOURCES.txt
@@ -9,7 +9,7 @@ order_point.xml
 product.xml
 purchase_request.xml
 setup.py
-shipment.xml
+stock.xml
 tryton.cfg
 ./__init__.py
 ./location.py
@@ -21,7 +21,8 @@ tryton.cfg
 ./purchase_request.py
 ./purchase_request.xml
 ./shipment.py
-./shipment.xml
+./stock.py
+./stock.xml
 ./tryton.cfg
 ./locale/bg.po
 ./locale/ca.po
@@ -43,14 +44,15 @@ tryton.cfg
 ./locale/zh_CN.po
 ./tests/__init__.py
 ./tests/scenario_stock_internal_supply.rst
+./tests/scenario_stock_internal_supply_lead_time.rst
+./tests/scenario_stock_internal_supply_overflow.rst
 ./tests/scenario_stock_supply_purchase_request.rst
 ./tests/test_stock_supply.py
 ./view/location_form.xml
 ./view/order_point_form.xml
 ./view/order_point_tree.xml
-./view/purchase_configuration_form.xml
 ./view/purchase_request_create_start_form.xml
-./view/stock_shipment_internal_create_start_form.xml
+./view/supply_start_form.xml
 doc/index.rst
 locale/bg.po
 locale/ca.po
@@ -71,6 +73,8 @@ locale/ru.po
 locale/sl.po
 locale/zh_CN.po
 tests/scenario_stock_internal_supply.rst
+tests/scenario_stock_internal_supply_lead_time.rst
+tests/scenario_stock_internal_supply_overflow.rst
 tests/scenario_stock_supply_purchase_request.rst
 trytond_stock_supply.egg-info/PKG-INFO
 trytond_stock_supply.egg-info/SOURCES.txt
@@ -82,6 +86,5 @@ trytond_stock_supply.egg-info/top_level.txt
 view/location_form.xml
 view/order_point_form.xml
 view/order_point_tree.xml
-view/purchase_configuration_form.xml
 view/purchase_request_create_start_form.xml
-view/stock_shipment_internal_create_start_form.xml
\ No newline at end of file
+view/supply_start_form.xml
\ No newline at end of file
diff --git a/trytond_stock_supply.egg-info/requires.txt b/trytond_stock_supply.egg-info/requires.txt
index a34225b..dd2c692 100644
--- a/trytond_stock_supply.egg-info/requires.txt
+++ b/trytond_stock_supply.egg-info/requires.txt
@@ -1,8 +1,8 @@
 python-sql
-trytond_account >= 4.2, < 4.3
-trytond_party >= 4.2, < 4.3
-trytond_product >= 4.2, < 4.3
-trytond_purchase >= 4.2, < 4.3
-trytond_purchase_request >= 4.2, < 4.3
-trytond_stock >= 4.2, < 4.3
-trytond >= 4.2, < 4.3
+trytond_account >= 4.4, < 4.5
+trytond_party >= 4.4, < 4.5
+trytond_product >= 4.4, < 4.5
+trytond_purchase >= 4.4, < 4.5
+trytond_purchase_request >= 4.4, < 4.5
+trytond_stock >= 4.4, < 4.5
+trytond >= 4.4, < 4.5
diff --git a/view/location_form.xml b/view/location_form.xml
index d367016..61a5446 100644
--- a/view/location_form.xml
+++ b/view/location_form.xml
@@ -6,5 +6,7 @@ this repository contains the full copyright notices and license terms. -->
         <newline/>
         <label name="provisioning_location"/>
         <field name="provisioning_location"/>
+        <label name="overflowing_location"/>
+        <field name="overflowing_location"/>
     </xpath>
 </data>
diff --git a/view/order_point_form.xml b/view/order_point_form.xml
index 2ef6851..2c48f99 100644
--- a/view/order_point_form.xml
+++ b/view/order_point_form.xml
@@ -1,26 +1,30 @@
 <?xml version="1.0"?>
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
-<form cursor="product">
-    <separator string="Order Point Type" colspan="4" id="type"/>
+<form cursor="product" col="6">
+    <separator string="Order Point Type" colspan="6" id="type"/>
     <label name="type"/>
     <field name="type"/>
     <label name="company"/>
     <field name="company"/>
     <label name="warehouse_location"/>
     <field name="warehouse_location"/>
-    <newline/>
     <label name="storage_location"/>
     <field name="storage_location"/>
     <label name="provisioning_location"/>
     <field name="provisioning_location"/>
-    <separator string="Product Info" colspan="4" id="info"/>
+    <label name="overflowing_location"/>
+    <field name="overflowing_location"/>
+    <separator string="Product Info" colspan="6" id="info"/>
     <label name="product"/>
     <field name="product"/>
     <label name="unit"/>
     <field name="unit"/>
+    <newline/>
     <label name="min_quantity"/>
     <field name="min_quantity"/>
+    <label name="target_quantity"/>
+    <field name="target_quantity"/>
     <label name="max_quantity"/>
     <field name="max_quantity"/>
 </form>
diff --git a/view/purchase_configuration_form.xml b/view/purchase_configuration_form.xml
deleted file mode 100644
index a419e24..0000000
--- a/view/purchase_configuration_form.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-<!-- 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/field[@name='purchase_invoice_method']"
-        position="after">
-        <label name="supply_period"/>
-        <field name="supply_period"/>
-    </xpath>
-</data>
diff --git a/view/stock_shipment_internal_create_start_form.xml b/view/supply_start_form.xml
similarity index 84%
rename from view/stock_shipment_internal_create_start_form.xml
rename to view/supply_start_form.xml
index 36f7f20..74d66ad 100644
--- a/view/stock_shipment_internal_create_start_form.xml
+++ b/view/supply_start_form.xml
@@ -3,6 +3,6 @@
 this repository contains the full copyright notices and license terms. -->
 <form col="2">
     <image name="tryton-dialog-information" xexpand="0" xfill="0"/>
-    <label string="Create Internal Shipments?" id="create"
+    <label string="Supply Stock?" id="supply"
         yalign="0.0" xalign="0.0" xexpand="1"/>
 </form>
-- 
tryton-modules-stock-supply



More information about the tryton-debian-vcs mailing list