diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang
index 78b4f9d916e..34afeaffb41 100644
--- a/htdocs/langs/en_US/stocks.lang
+++ b/htdocs/langs/en_US/stocks.lang
@@ -105,3 +105,6 @@ ReplenishmentOrdersDesc=This is list of all opened supplier orders
Replenishments=Replenishments
NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s)
NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s)
+MassStockMovement=Mass stock movement
+SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "Add". Once this is done for all required movements, click onto "Record Tranferts".
+RecordMovement=Record transfert
\ No newline at end of file
diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang
index d9ffd5d5574..0630cab213e 100644
--- a/htdocs/langs/fr_FR/stocks.lang
+++ b/htdocs/langs/fr_FR/stocks.lang
@@ -105,3 +105,6 @@ ReplenishmentOrdersDesc=Voici la liste des commandes fournisseurs en cours
Replenishments=Réapprovisionnement
NbOfProductBeforePeriod=Quantité du produit %s en stock avant la période sélectionnée (< %s)
NbOfProductAfterPeriod=Quantité du produit %s en stock après la période sélectionnée (> %s)
+MassStockMovement=Mouvement de stock en masse
+SelectProductInAndOutWareHouse=Sélectionner un produit, une quantité à transférer, un entrepôt source et destination et cliquer sur ajouter. Une fois tous les mouvements enregistrés, cliquer sur "Enregistrer transferts".
+RecordMovement=Enregistrer transferts
\ No newline at end of file
diff --git a/htdocs/product/stock/massstockmove.php b/htdocs/product/stock/massstockmove.php
new file mode 100644
index 00000000000..28a7dcb9bc7
--- /dev/null
+++ b/htdocs/product/stock/massstockmove.php
@@ -0,0 +1,201 @@
+
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * \file htdocs/product/stock/massstockmove.php
+ * \ingroup stock
+ * \brief This page allows to select several products, then incoming warehouse and
+ * outgoing warehouse and create all stock movements for this.
+ */
+
+require '../../main.inc.php';
+require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
+require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php';
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
+require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
+
+$langs->load("products");
+$langs->load("stocks");
+$langs->load("orders");
+
+// Security check
+if ($user->societe_id) {
+ $socid = $user->societe_id;
+}
+$result=restrictedArea($user,'produit|service');
+
+//checks if a product has been ordered
+
+$action = GETPOST('action','alpha');
+$sref = GETPOST('sref', 'alpha');
+$snom = GETPOST('snom', 'alpha');
+$sall = GETPOST('sall', 'alpha');
+$type = GETPOST('type','int');
+$tobuy = GETPOST('tobuy', 'int');
+$salert = GETPOST('salert', 'alpha');
+
+$sortfield = GETPOST('sortfield','alpha');
+$sortorder = GETPOST('sortorder','alpha');
+$page = GETPOST('page','int');
+
+if (!$sortfield) {
+ $sortfield = 'p.ref';
+}
+
+if (!$sortorder) {
+ $sortorder = 'ASC';
+}
+$limit = $conf->liste_limit;
+$offset = $limit * $page ;
+
+/*
+ * Actions
+ */
+
+if (isset($_POST['button_removefilter']) || isset($_POST['valid']))
+{
+ $sref = '';
+ $snom = '';
+ $sal = '';
+ $salert = '';
+}
+
+if ($action == 'createmovement' && isset($_POST['valid']))
+{
+
+
+
+
+}
+
+
+/*
+ * View
+ */
+
+$form=new Form($db);
+$prodstatic = new Product($db);
+$warehousestatic = new Entrepot($db);
+
+$title = $langs->trans('MassMovement');
+
+llxHeader('', $title, $helpurl, '');
+
+print_fiche_titre($langs->trans("MassStockMovement")).'
';
+
+print $langs->trans("SelectProductInAndOutWareHouse").' ';
+
+
+// Form to add a line
+print '
';
+
+print ' ';
+
+// List movement prepared
+print '