diff --git a/htdocs/document.php b/htdocs/document.php
index 44f5776bd715ad826430262b83683dbf0acd0466..2dcc58e4e7186e1e9f5babc9b3e29c89d4b40de3 100644
--- a/htdocs/document.php
+++ b/htdocs/document.php
@@ -208,7 +208,7 @@ if ($modulepart)
 		{
 			$accessallowed=1;
 		}
-		$original_file=$conf->fournisseur->dir_output.'/commande/'.$original_file;
+		$original_file=$conf->fournisseur->commande->dir_output.'/'.$original_file;
 		$sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."commande_fournisseur WHERE ref='".$refname."' AND entity=".$conf->entity;
 	}
 
@@ -219,7 +219,7 @@ if ($modulepart)
 		{
 			$accessallowed=1;
 		}
-		$original_file=$conf->fournisseur->dir_output.'/facture/'.$original_file;
+		$original_file=$conf->fournisseur->facture->dir_output.'/'.$original_file;
 		$sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."facture_fourn WHERE facnumber='".$refname."' AND entity=".$conf->entity;
 	}
 
diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php
index 4e7c0a86161a2eb5992411d9966d20aa730dd600..7fafe0bd48f5507e30d8a1efaddc1dfe9156bdd8 100644
--- a/htdocs/fourn/facture/document.php
+++ b/htdocs/fourn/facture/document.php
@@ -69,7 +69,8 @@ if ($_POST['sendit'] && ! empty($conf->global->MAIN_UPLOAD_DOC))
 	$facture = new FactureFournisseur($db);
 	if ($facture->fetch($facid))
 	{
-		$upload_dir = $conf->fournisseur->dir_output.'/facture/'.get_exdir($facture->id,2).$facture->id;
+	    $ref=dol_sanitizeFileName($facture->ref);
+		$upload_dir = $conf->fournisseur->facture->dir_output.'/'.$ref;
 
 		if (create_exdir($upload_dir) >= 0)
 		{
@@ -106,7 +107,8 @@ if ($action=='delete')
 	$facture = new FactureFournisseur($db);
 	if ($facture->fetch($facid))
 	{
-		$upload_dir = $conf->fournisseur->dir_output.'/facture/'.get_exdir($facture->id,2).$facture->id;
+        $ref=dol_sanitizeFileName($facture->ref);
+        $upload_dir = $conf->fournisseur->facture->dir_output.'/'.$ref;
 
 		$file = $upload_dir . '/' . $_GET['urlfile'];	// Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP).
 		dol_delete_file($file);
@@ -130,7 +132,8 @@ if ($facid > 0)
 	{
 		$facture->fetch_thirdparty();
 
-		$upload_dir = $conf->fournisseur->dir_output.'/facture/'.get_exdir($facture->id,2).$facture->id;
+        $ref=dol_sanitizeFileName($facture->ref);
+        $upload_dir = $conf->fournisseur->facture->dir_output.'/'.$ref;
 
 		$head = facturefourn_prepare_head($facture);
 		dol_fiche_head($head, 'documents', $langs->trans('SupplierInvoice'), 0, 'bill');
diff --git a/htdocs/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php
index 69a92b7798ce37bca4e7f65cc484c4f576e53ee5..663d3f8e58c68da9c35ee71fd2d28a13838521de 100644
--- a/htdocs/fourn/facture/fiche.php
+++ b/htdocs/fourn/facture/fiche.php
@@ -1828,8 +1828,8 @@ else
                  */
 
                 $ref=dol_sanitizeFileName($fac->ref);
-                $subdir = get_exdir($fac->id,2).$ref;
-                $filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($fac->id,2).$ref;
+                $subdir = $ref;
+                $filedir = $conf->fournisseur->facture->dir_output.'/'.$ref;
                 $urlsource=$_SERVER['PHP_SELF'].'?facid='.$fac->id;
                 $genallowed=$user->rights->fournisseur->facture->creer;
                 $delallowed=$user->rights->fournisseur->facture->supprimer;
diff --git a/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
index 1bbd6612ca71412d3b4027711dc57197043fa919..80ed0647529d7e849206e1e3a98f5ce687a58016 100755
--- a/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
+++ b/htdocs/includes/modules/supplier_invoice/pdf/pdf_canelle.modules.php
@@ -127,13 +127,13 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
 			// Definition de $dir et $file
 			if ($object->specimen)
 			{
-				$dir = $conf->fournisseur->dir_output.'/facture';
+				$dir = $conf->fournisseur->facture->dir_output;
 				$file = $dir . "/SPECIMEN.pdf";
 			}
 			else
 			{
 				$objectref = dol_sanitizeFileName($object->ref);
-                $dir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($object->id,2).$objectref;
+                $dir = $conf->fournisseur->facture->dir_output.'/'.$objectref;
 				$file = $dir . "/" . $objectref . ".pdf";
 			}
 
diff --git a/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
index 656fd13be435cd1ec1819328f6e9ccdac64b5e0b..55b121078b5ae6917d9caa42e4e2fd7da885e823 100644
--- a/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
+++ b/htdocs/includes/modules/supplier_order/pdf/pdf_muscadet.modules.php
@@ -129,13 +129,13 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
 			// Definition de $dir et $file
 			if ($object->specimen)
 			{
-				$dir = $conf->fournisseur->dir_output.'/commande';
+				$dir = $conf->fournisseur->commande->dir_output;
 				$file = $dir . "/SPECIMEN.pdf";
 			}
 			else
 			{
 				$objectref = dol_sanitizeFileName($object->ref);
-				$dir = $conf->fournisseur->dir_output . "/commande/" . $objectref;
+				$dir = $conf->fournisseur->commande->dir_output . '/'. $objectref;
 				$file = $dir . "/" . $objectref . ".pdf";
 			}