From ebe625aa16ac310805f21f715ec83de6471db523 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Tue, 21 Feb 2017 13:16:28 +0100
Subject: [PATCH] Fix debug direct debit module

---
 ... Mandate 19-Morgan Bank-RUM1301-0008-0.pdf | Bin 0 -> 14862 bytes
 htdocs/compta/prelevement/card.php            |  78 +++++-----
 .../class/bonprelevement.class.php            |   2 +-
 .../class/ligneprelevement.class.php          |  12 +-
 htdocs/compta/prelevement/create.php          |   2 +
 htdocs/compta/prelevement/demandes.php        |  10 +-
 htdocs/compta/prelevement/factures.php        | 141 +++++++++++-------
 htdocs/compta/prelevement/fiche-rejet.php     |  87 ++++++-----
 htdocs/compta/prelevement/fiche-stat.php      |  16 +-
 htdocs/langs/en_US/withdrawals.lang           |   1 +
 10 files changed, 200 insertions(+), 149 deletions(-)
 create mode 100644 dev/initdemo/documents_demo/societe/19/SEPA Mandate 19-Morgan Bank-RUM1301-0008-0.pdf

diff --git a/dev/initdemo/documents_demo/societe/19/SEPA Mandate 19-Morgan Bank-RUM1301-0008-0.pdf b/dev/initdemo/documents_demo/societe/19/SEPA Mandate 19-Morgan Bank-RUM1301-0008-0.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..5965a6efa64b187485c02c74ec5e433d4aa1ee6e
GIT binary patch
literal 14862
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
RONJ&UM#fyKs;>TSTmUB6(@X#W

literal 0
HcmV?d00001

diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php
index f3d7f09f0b4..bd16ec0e23b 100644
--- a/htdocs/compta/prelevement/card.php
+++ b/htdocs/compta/prelevement/card.php
@@ -45,16 +45,25 @@ if ($user->societe_id > 0) accessforbidden();
 // Get supervariables
 $action = GETPOST('action','alpha');
 $id = GETPOST('id','int');
-
 $socid = GETPOST('socid','int');
-$page = GETPOST('page','int');
-$sortorder = ((GETPOST('sortorder','alpha')=="")) ? "DESC" : GETPOST('sortorder','alpha');
-$sortfield = ((GETPOST('sortfield','alpha')=="")) ? "pl.fk_soc" : GETPOST('sortfield','alpha');
+
+
+$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit;
+$sortfield = GETPOST("sortfield",'alpha');
+$sortorder = GETPOST("sortorder",'alpha');
+$page = GETPOST("page",'int');
+if ($page == -1) { $page = 0; }
+$offset = $limit * $page;
+$pageprev = $page - 1;
+$pagenext = $page + 1;
+if (! $sortfield) $sortfield='pl.fk_soc';
+if (! $sortorder) $sortorder='DESC';
 
 
 /*
  * Actions
  */
+
 if ( $action == 'confirm_delete' )
 {
 	$bon = new BonPrelevement($db,"");
@@ -73,10 +82,12 @@ if ( $action == 'confirm_credite' && GETPOST('confirm','alpha') == 'yes')
 	$bon = new BonPrelevement($db,"");
 	$bon->fetch($id);
 
-	$bon->set_credite();
-
-	header("Location: card.php?id=".$id);
-	exit;
+	$res=$bon->set_credite();
+	if ($res >= 0)
+	{
+    	header("Location: card.php?id=".$id);
+	   exit;
+	}
 }
 
 if ($action == 'infotrans' && $user->rights->prelevement->bons->send)
@@ -162,12 +173,12 @@ if ($id > 0)
 
 	print '<table class="border" width="100%">';
 
-	print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
-	print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
-	print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
+	print '<tr><td class="titlefield">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
+	print '<tr><td>'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
+	print '<tr><td>'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
 
 	// Status
-	print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
+	print '<tr><td>'.$langs->trans('Status').'</td>';
 	print '<td>'.$bon->getLibStatut(1).'</td>';
 	print '</tr>';
 
@@ -176,16 +187,16 @@ if ($id > 0)
 		$muser = new User($db);
 		$muser->fetch($bon->user_trans);
 
-		print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
+		print '<tr><td>'.$langs->trans("TransData").'</td><td>';
 		print dol_print_date($bon->date_trans,'day');
 		print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
-		print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
+		print '<tr><td>'.$langs->trans("TransMetod").'</td><td>';
 		print $bon->methodes_trans[$bon->method_trans];
 		print '</td></tr>';
 	}
 	if($bon->date_credit <> 0)
 	{
-		print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
+		print '<tr><td>'.$langs->trans('CreditDate').'</td><td>';
 		print dol_print_date($bon->date_credit,'day');
 		print '</td></tr>';
 	}
@@ -194,7 +205,7 @@ if ($id > 0)
 
 	print '<br>';
 
-	print '<table class="border" width="100%"><tr><td width="20%">';
+	print '<table class="border" width="100%"><tr><td class="titlefield">';
 	print $langs->trans("WithdrawalFile").'</td><td>';
 	$relativepath = 'receipts/'.$bon->ref.'.xml';
 	print '<a data-ajax="false" href="'.DOL_URL_ROOT.'/document.php?type=text/plain&amp;modulepart=prelevement&amp;file='.urlencode($relativepath).'">'.$relativepath.'</a>';
@@ -204,7 +215,6 @@ if ($id > 0)
 
 
 
-
 	if (empty($bon->date_trans) && $user->rights->prelevement->bons->send && $action=='settransmitted')
 	{
 		print '<form method="post" name="userfile" action="card.php?id='.$bon->id.'" enctype="multipart/form-data">';
@@ -236,7 +246,7 @@ if ($id > 0)
 		print '<table class="border" width="100%">';
 		print '<tr class="liste_titre">';
 		print '<td colspan="3">'.$langs->trans("NotifyCredit").'</td></tr>';
-		print '<tr '.$bc[false].'><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
+		print '<tr '.$bc[false].'><td>'.$langs->trans('CreditDate').'</td><td>';
 		print $form->select_date('','','','','',"infocredit",1,1);
 		print '</td></tr>';
 		print '</table>';
@@ -269,17 +279,11 @@ if ($id > 0)
 
 	$ligne=new LignePrelevement($db,$user);
 
-	if ($page == -1) { $page = 0 ; }
-
-	$offset = $conf->liste_limit * $page ;
-	$pageprev = $page - 1;
-	$pagenext = $page + 1;
-
 	/*
 	 * Lines into withdraw request
 	 */
-	$sql = "SELECT pl.rowid, pl.statut, pl.amount";
-	$sql.= ", s.rowid as socid, s.nom as name";
+	$sql = "SELECT pl.rowid, pl.statut, pl.amount,";
+	$sql.= " s.rowid as socid, s.nom as name";
 	$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl";
 	$sql.= ", ".MAIN_DB_PREFIX."prelevement_bons as pb";
 	$sql.= ", ".MAIN_DB_PREFIX."societe as s";
@@ -306,7 +310,7 @@ if ($id > 0)
 		print '<tr class="liste_titre">';
 		print_liste_field_titre($langs->trans("Lines"),$_SERVER["PHP_SELF"],"pl.rowid",'',$urladd);
 		print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",'',$urladd);
-		print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"pl.amount","",$urladd,'align="center"');
+		print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"pl.amount","",$urladd,'align="right"');
 		print_liste_field_titre('');
 		print "</tr>\n";
 
@@ -320,13 +324,12 @@ if ($id > 0)
 
 			print "<tr ".$bc[$var].">";
 
+			// Status of line
 			print "<td>";
-
 			print $ligne->LibStatut($obj->statut,2);
 			print "&nbsp;";
-
 			print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
-			print substr('000000'.$obj->rowid, -6);
+			print sprintf("%06s",$obj->rowid);
 			print '</a></td>';
 
 			$thirdparty=new Societe($db);
@@ -335,7 +338,7 @@ if ($id > 0)
 			print $thirdparty->getNomUrl(1);
 			print "</td>\n";
 
-			print '<td align="center">'.price($obj->amount)."</td>\n";
+			print '<td align="right">'.price($obj->amount)."</td>\n";
 
 			print '<td>';
 
@@ -350,23 +353,18 @@ if ($id > 0)
 
 			print '</td></tr>';
 
-			$total += $obj->total_ttc;
+			$total += $obj->amount;
 			$var=!$var;
 			$i++;
 		}
 
-		if($socid)
+		if ($num > 0)
 		{
-			print "<tr ".$bc[$var].">";
-
+			print '<tr class="liste_total">';
 			print '<td>'.$langs->trans("Total").'</td>';
-
-			print '<td align="center">'.price($total)."</td>\n";
-
 			print '<td>&nbsp;</td>';
-
+			print '<td align="right">'.price($total)."</td>\n";
 			print '<td>&nbsp;</td>';
-
 			print "</tr>\n";
 		}
 
diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php
index 9373527e20c..bc32d090f84 100644
--- a/htdocs/compta/prelevement/class/bonprelevement.class.php
+++ b/htdocs/compta/prelevement/class/bonprelevement.class.php
@@ -323,7 +323,7 @@ class BonPrelevement extends CommonObject
     /**
      * Set credite and set status of linked invoices
      *
-     * @return		int		<0 if KO, >0 if OK
+     * @return		int		<0 if KO, >=0 if OK
      */
     function set_credite()
     {
diff --git a/htdocs/compta/prelevement/class/ligneprelevement.class.php b/htdocs/compta/prelevement/class/ligneprelevement.class.php
index 0cc1b3d2f94..fa8545c4ea2 100644
--- a/htdocs/compta/prelevement/class/ligneprelevement.class.php
+++ b/htdocs/compta/prelevement/class/ligneprelevement.class.php
@@ -136,24 +136,22 @@ class LignePrelevement
 		{
 			return $langs->trans($this->statuts[$statut]);
 		}
-
 		if ($mode == 1)
 		{
-			if ($statut==0) return img_picto($langs->trans($this->statuts[$statut]),'statut1').' '.$langs->trans($this->statuts[$statut]);
-			if ($statut==2) return img_picto($langs->trans($this->statuts[$statut]),'statut4').' '.$langs->trans($this->statuts[$statut]);
-			if ($statut==3) return img_picto($langs->trans($this->statuts[$statut]),'statut8').' '.$langs->trans($this->statuts[$statut]);
+			if ($statut==0) return img_picto($langs->trans($this->statuts[$statut]),'statut1').' '.$langs->trans($this->statuts[$statut]);   // Waiting
+			if ($statut==2) return img_picto($langs->trans($this->statuts[$statut]),'statut6').' '.$langs->trans($this->statuts[$statut]);   // Credited
+			if ($statut==3) return img_picto($langs->trans($this->statuts[$statut]),'statut8').' '.$langs->trans($this->statuts[$statut]);   // Refused
 		}
 		if ($mode == 2)
 		{
 			if ($statut==0) return img_picto($langs->trans($this->statuts[$statut]),'statut1');
-			if ($statut==2) return img_picto($langs->trans($this->statuts[$statut]),'statut4');
+			if ($statut==2) return img_picto($langs->trans($this->statuts[$statut]),'statut6');
 			if ($statut==3) return img_picto($langs->trans($this->statuts[$statut]),'statut8');
 		}
-
 		if ($mode == 3)
 		{
 			if ($statut==0) return $langs->trans($this->statuts[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut1');
-			if ($statut==2) return $langs->trans($this->statuts[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut4');
+			if ($statut==2) return $langs->trans($this->statuts[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut6');
 			if ($statut==3) return $langs->trans($this->statuts[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut8');
 		}
 	}
diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php
index a0b8e67365f..b45a49dbe69 100644
--- a/htdocs/compta/prelevement/create.php
+++ b/htdocs/compta/prelevement/create.php
@@ -239,6 +239,7 @@ else
 /*
  * List of latest withdraws
  */
+/*
 $limit=5;
 
 print load_fiche_titre($langs->trans("LastWithdrawalReceipts",$limit),'','');
@@ -291,6 +292,7 @@ else
 {
     dol_print_error($db);
 }
+*/
 
 llxFooter();
 $db->close();
diff --git a/htdocs/compta/prelevement/demandes.php b/htdocs/compta/prelevement/demandes.php
index 173505329dc..e104ba75a1a 100644
--- a/htdocs/compta/prelevement/demandes.php
+++ b/htdocs/compta/prelevement/demandes.php
@@ -110,10 +110,10 @@ if ($resql)
 	print '<table class="liste" width="100%">';
 
 	print '<tr class="liste_titre">';
-	print_liste_field_titre($langs->trans("Bill"));
-	print_liste_field_titre($langs->trans("Company"));
-    print_liste_field_titre($langs->trans("Amount"));
-	print_liste_field_titre($langs->trans("DateRequest"));
+	print_liste_field_titre($langs->trans("Bill"), $_SERVER["PHP_SELF"]);
+	print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"]);
+    print_liste_field_titre($langs->trans("Amount"), $_SERVER["PHP_SELF"], "", "", $param, 'align="right"');
+	print_liste_field_titre($langs->trans("DateRequest"), $_SERVER["PHP_SELF"], "", "", $param, 'align="center"');
 	print_liste_field_titre('');
 	print '</tr>';
 
@@ -154,7 +154,7 @@ if ($resql)
 
         print '<td align="right">'.price($obj->total_ttc).'</td>';
 
-        print '<td align="right">'.dol_print_date($db->jdate($obj->date_demande),'day').'</td>';
+        print '<td align="center">'.dol_print_date($db->jdate($obj->date_demande),'day').'</td>';
 
         print '<td align="right"></td>';
         
diff --git a/htdocs/compta/prelevement/factures.php b/htdocs/compta/prelevement/factures.php
index 1727bc16224..33a7a4486a0 100644
--- a/htdocs/compta/prelevement/factures.php
+++ b/htdocs/compta/prelevement/factures.php
@@ -1,6 +1,6 @@
 <?php
 /* Copyright (C) 2005      Rodolphe Quiedeville <rodolphe@quiedeville.org>
- * Copyright (C) 2005      Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2005-2017 Laurent Destailleur  <eldy@users.sourceforge.net>
  * Copyright (C) 2005-2009 Regis Houssin        <regis.houssin@capnetworks.com>
  * Copyright (C) 2010-2012 Juanjo Menent        <jmenent@2byte.es>
  *
@@ -43,9 +43,25 @@ if ($user->societe_id > 0) accessforbidden();
 // Get supervariables
 $prev_id = GETPOST('id','int');
 $socid = GETPOST('socid','int');
-$page = GETPOST('page','int');
-$sortorder = ((GETPOST('sortorder','alpha')=="")) ? "DESC" : GETPOST('sortorder','alpha');
-$sortfield = ((GETPOST('sortfield','alpha')=="")) ? "p.ref" : GETPOST('sortfield','alpha');
+
+$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit;
+$sortfield = GETPOST("sortfield",'alpha');
+$sortorder = GETPOST("sortorder",'alpha');
+$page = GETPOST("page",'int');
+if ($page == -1) { $page = 0; }
+$offset = $limit * $page;
+$pageprev = $page - 1;
+$pagenext = $page + 1;
+if (! $sortfield) $sortfield='p.ref';
+if (! $sortorder) $sortorder='DESC';
+
+
+/*
+ * View
+ */
+
+$invoicetmp = new Facture($db);
+$thirdpartytmp = new Societe($db);
 
 llxHeader('',$langs->trans("WithdrawalsReceipts"));
 
@@ -60,30 +76,27 @@ if ($prev_id)
 
       	print '<table class="border" width="100%">';
 
-		print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
-		print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
-		print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
-
+		print '<tr><td class="titlefield">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
+		print '<tr><td>'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
+		print '<tr><td>'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
 		// Status
-		print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
-		print '<td>'.$bon->getLibStatut(1).'</td>';
-		print '</tr>';
+		print '<tr><td>'.$langs->trans('Status').'</td><td>'.$bon->getLibStatut(1).'</td></tr>';
 
 		if($bon->date_trans <> 0)
 		{
 			$muser = new User($db);
 			$muser->fetch($bon->user_trans);
 
-			print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
+			print '<tr><td>'.$langs->trans("TransData").'</td><td>';
 			print dol_print_date($bon->date_trans,'day');
 			print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
-			print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
+			print '<tr><td>'.$langs->trans("TransMetod").'</td><td>';
 			print $bon->methodes_trans[$bon->method_trans];
 			print '</td></tr>';
 		}
 		if($bon->date_credit <> 0)
 		{
-			print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
+			print '<tr><td>'.$langs->trans('CreditDate').'</td><td>';
 			print dol_print_date($bon->date_credit,'day');
 			print '</td></tr>';
 		}
@@ -92,7 +105,7 @@ if ($prev_id)
 
 		print '<br>';
 
-		print '<table class="border" width="100%"><tr><td width="20%">';
+		print '<table class="border" width="100%"><tr><td class="titlefield">';
 		print $langs->trans("WithdrawalFile").'</td><td>';
 		$relativepath = 'receipts/'.$bon->ref.'.xml';
 		print '<a data-ajax="false" href="'.DOL_URL_ROOT.'/document.php?type=text/plain&amp;modulepart=prelevement&amp;file='.urlencode($relativepath).'">'.$relativepath.'</a>';
@@ -107,11 +120,8 @@ if ($prev_id)
     }
 }
 
-$offset = $conf->liste_limit * $page ;
 
-/*
- * Liste des factures
- */
+// List of invoices
 $sql = "SELECT pf.rowid";
 $sql.= ",f.rowid as facid, f.facnumber as ref, f.total_ttc";
 $sql.= ", s.rowid as socid, s.nom as name, pl.statut";
@@ -127,27 +137,49 @@ $sql.= " AND pf.fk_facture = f.rowid";
 $sql.= " AND f.entity = ".$conf->entity;
 if ($prev_id) $sql.= " AND p.rowid=".$prev_id;
 if ($socid) $sql.= " AND s.rowid = ".$socid;
-$sql.= " ORDER BY $sortfield $sortorder ";
-$sql.= $db->plimit($conf->liste_limit+1, $offset);
 
-$result = $db->query($sql);
+$sql.= $db->order($sortfield,$sortorder);
+
+// Count total nb of records
+$nbtotalofrecords = '';
+if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
+{
+    $result = $db->query($sql);
+    $nbtotalofrecords = $db->num_rows($result);
+}
+
+$sql.= $db->plimit($limit + 1,$offset);
 
+$result = $db->query($sql);
 if ($result)
 {
   	$num = $db->num_rows($result);
   	$i = 0;
 
-  	$urladd = "&amp;id=".$prev_id;
-
-  	print_barre_liste("", $page, "factures.php", $urladd, $sortfield, $sortorder, '', $num);
-
+  	$param = "&amp;id=".$prev_id;
+
+	// Lines of title fields
+	print '<form method="POST" id="searchFormList" action="'.$_SERVER["PHP_SELF"].'">';
+    if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
+	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
+	print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
+	print '<input type="hidden" name="action" value="list">';
+	print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
+	print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
+    print '<input type="hidden" name="contextpage" value="'.$contextpage.'">';
+	print '<input type="hidden" name="viewstatut" value="'.$viewstatut.'">';
+
+	$massactionbutton='';
+	
+	print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, '', 0, '', '', $limit);
+  	
   	print"\n<!-- debut table -->\n";
   	print '<table class="liste" width="100%">';
   	print '<tr class="liste_titre">';
-  	print_liste_field_titre($langs->trans("Bill"),$_SERVER["PHP_SELF"],"p.ref",'',$urladd,'class="liste_titre"',$sortfield,$sortorder);
-  	print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",'',$urladd,'class="liste_titre"',$sortfield,$sortorder);
-  	print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"f.total_ttc","",$urladd,'class="liste_titre" align="center"',$sortfield,$sortorder);
-  	print_liste_field_titre('');
+  	print_liste_field_titre($langs->trans("Bill"),$_SERVER["PHP_SELF"],"p.ref",'',$param,'',$sortfield,$sortorder);
+  	print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",'',$param,'',$sortfield,$sortorder);
+  	print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"f.total_ttc","",$param,'align="right"',$sortfield,$sortorder);
+  	print_liste_field_titre($langs->trans("StatusDebitCredit"),$_SERVER["PHP_SELF"],"","",$param,'align="center"',$sortfield,$sortorder);
 	print_liste_field_titre('');
 	print "</tr>\n";
 
@@ -155,24 +187,31 @@ if ($result)
 
   	$total = 0;
 
-  	while ($i < min($num,$conf->liste_limit))
+  	while ($i < min($num, $limit))
     {
      	$obj = $db->fetch_object($result);
 
-      	print "<tr ".$bc[$var]."><td>";
-
-      	print '<a href="'.DOL_URL_ROOT.'/compta/facture.php?facid='.$obj->facid.'">';
-      	print img_object($langs->trans("ShowBill"),"bill");
-      	print '</a>&nbsp;';
+     	$invoicetmp->id = $obj->facid;
+     	$invoicetmp->ref = $obj->ref;
+     	
+     	$thirdpartytmp->id = $obj->socid;
+     	$thirdpartytmp->name = $obj->name;
+     	
+      	print "<tr ".$bc[$var].">";
+      	
+      	print "<td>";
+      	print $invoicetmp->getNomUrl(1);
+        print "</td>\n";
 
-      	print '<a href="'.DOL_URL_ROOT.'/compta/facture.php?facid='.$obj->facid.'">'.$obj->ref."</a></td>\n";
-
-      	print '<td><a href="'.DOL_URL_ROOT.'/comm/card.php?socid='.$obj->socid.'">';
-      	print img_object($langs->trans("ShowCompany"),"company"). ' '.$obj->name."</a></td>\n";
+      	print '<td>';
+      	print $thirdpartytmp->getNomUrl(1);
+      	print "</td>\n";
 
-      	print '<td align="center">'.price($obj->total_ttc)."</td>\n";
+      	// Amount
+      	print '<td align="right">'.price($obj->total_ttc)."</td>\n";
 
-      	print '<td>';
+      	// Status of requests
+      	print '<td align="center">';
 
       	if ($obj->statut == 0)
 		{
@@ -187,23 +226,25 @@ if ($result)
 	  		print '<b>'.$langs->trans("StatusRefused").'</b>';
 		}
 
-      	print "</td></tr>\n";
+      	print "</td>";
+      	
+      	print "<td></td>";
+      	
+      	print "</tr>\n";
 
       	$total += $obj->total_ttc;
       	$var=!$var;
       	$i++;
     }
 
-  	if($socid)
+  	if ($num > 0)
     {
-      	print "<tr ".$bc[$var]."><td>";
-
+      	print '<tr class="liste_total">';
      	print '<td>'.$langs->trans("Total").'</td>';
-
-      	print '<td align="center">'.price($total)."</td>\n";
-
       	print '<td>&nbsp;</td>';
-
+      	print '<td align="right">'.price($total)."</td>\n";
+      	print '<td>&nbsp;</td>';
+      	print '<td>&nbsp;</td>';
       	print "</tr>\n";
     }
 
diff --git a/htdocs/compta/prelevement/fiche-rejet.php b/htdocs/compta/prelevement/fiche-rejet.php
index de6d368afd7..d013f605504 100644
--- a/htdocs/compta/prelevement/fiche-rejet.php
+++ b/htdocs/compta/prelevement/fiche-rejet.php
@@ -59,12 +59,12 @@ if ($prev_id)
 
       	print '<table class="border" width="100%">';
 
-		print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
-		print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
-		print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
+		print '<tr><td class="titlefield">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
+		print '<tr><td>'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
+		print '<tr><td>'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
 
 		// Status
-		print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
+		print '<tr><td>'.$langs->trans('Status').'</td>';
 		print '<td>'.$bon->getLibStatut(1).'</td>';
 		print '</tr>';
 
@@ -73,16 +73,16 @@ if ($prev_id)
 			$muser = new User($db);
 			$muser->fetch($bon->user_trans);
 
-			print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
+			print '<tr><td>'.$langs->trans("TransData").'</td><td>';
 			print dol_print_date($bon->date_trans,'day');
 			print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
-			print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
+			print '<tr><td>'.$langs->trans("TransMetod").'</td><td>';
 			print $bon->methodes_trans[$bon->method_trans];
 			print '</td></tr>';
 		}
 		if($bon->date_credit <> 0)
 		{
-			print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
+			print '<tr><td>'.$langs->trans('CreditDate').'</td><td>';
 			print dol_print_date($bon->date_credit,'day');
 			print '</td></tr>';
 		}
@@ -91,7 +91,7 @@ if ($prev_id)
 
 		print '<br>';
 
-		print '<table class="border" width="100%"><tr><td width="20%">';
+		print '<table class="border" width="100%"><tr><td class="titlefield">';
 		print $langs->trans("WithdrawalFile").'</td><td>';
 		$relativepath = 'receipts/'.$bon->ref.'.xml';
 		print '<a data-ajax="false" href="'.DOL_URL_ROOT.'/document.php?type=text/plain&amp;modulepart=prelevement&amp;file='.urlencode($relativepath).'">'.$relativepath.'</a>';
@@ -130,8 +130,7 @@ $sql.= " ORDER BY pl.amount DESC";
 $resql = $db->query($sql);
 if ($resql)
 {
- 	 $num = $db->num_rows($resql);
-  	$i = 0;
+ 	$num = $db->num_rows($resql);
 
   	print"\n<!-- debut table -->\n";
   	print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">';
@@ -142,35 +141,47 @@ if ($resql)
   	$var=True;
 	$total = 0;
 
-	while ($i < $num)
-    {
-		$obj = $db->fetch_object($resql);
-
-		print "<tr ".$bc[$var]."><td>";
-
-		print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
-		print img_picto('', 'statut'.$obj->statut).' ';
-		print substr('000000'.$obj->rowid, -6);
-		print '</a></td>';
-		print '<td><a href="'.DOL_URL_ROOT.'/comm/card.php?socid='.$obj->socid.'">'.$obj->name."</a></td>\n";
-
-		print '<td align="right">'.price($obj->amount)."</td>\n";
-		print '<td>'.$rej->motifs[$obj->motif].'</td>';
-
-		print '<td align="center">'.yn($obj->afacturer).'</td>';
-		print '<td align="center">'.$obj->fk_facture.'</td>';
-		print "</tr>\n";
-
-		$total += $obj->amount;
-		$var=!$var;
-		$i++;
+	if ($num > 0)
+	{
+      	$i = 0;
+	    while ($i < $num)
+        {
+    		$obj = $db->fetch_object($resql);
+    
+    		print "<tr ".$bc[$var]."><td>";
+    
+    		print '<a href="'.DOL_URL_ROOT.'/compta/prelevement/ligne.php?id='.$obj->rowid.'">';
+    		print img_picto('', 'statut'.$obj->statut).' ';
+    		print substr('000000'.$obj->rowid, -6);
+    		print '</a></td>';
+    		print '<td><a href="'.DOL_URL_ROOT.'/comm/card.php?socid='.$obj->socid.'">'.$obj->name."</a></td>\n";
+    
+    		print '<td align="right">'.price($obj->amount)."</td>\n";
+    		print '<td>'.$rej->motifs[$obj->motif].'</td>';
+    
+    		print '<td align="center">'.yn($obj->afacturer).'</td>';
+    		print '<td align="center">'.$obj->fk_facture.'</td>';
+    		print "</tr>\n";
+    
+    		$total += $obj->amount;
+    		$var=!$var;
+    		$i++;
+    	}
 	}
-
-	print '<tr class="liste_total"><td>&nbsp;</td>';
-	print '<td class="liste_total">'.$langs->trans("Total").'</td>';
-	print '<td align="right">'.price($total)."</td>\n";
-	print '<td colspan="3">&nbsp;</td>';
-	print "</tr>\n</table>\n";
+	else
+	{
+	   print '<tr><td colspan="5" class="opacitymedium">'.$langs->trans("None").'</td></tr>';    
+	}
+	
+  	if ($num > 0)
+    {
+    	print '<tr class="liste_total"><td>&nbsp;</td>';
+    	print '<td class="liste_total">'.$langs->trans("Total").'</td>';
+    	print '<td align="right">'.price($total)."</td>\n";
+    	print '<td colspan="3">&nbsp;</td>';
+    	print "</tr>\n";
+    }
+    print "</table>\n";
 	$db->free($resql);
 }
 else
diff --git a/htdocs/compta/prelevement/fiche-stat.php b/htdocs/compta/prelevement/fiche-stat.php
index 5fc3966fdf9..a86280e66bd 100644
--- a/htdocs/compta/prelevement/fiche-stat.php
+++ b/htdocs/compta/prelevement/fiche-stat.php
@@ -57,12 +57,12 @@ if ($prev_id)
 
 		print '<table class="border" width="100%">';
 
-		print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
-		print '<tr><td width="20%">'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
-		print '<tr><td width="20%">'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
+		print '<tr><td class="titlefield">'.$langs->trans("Ref").'</td><td>'.$bon->getNomUrl(1).'</td></tr>';
+		print '<tr><td>'.$langs->trans("Date").'</td><td>'.dol_print_date($bon->datec,'day').'</td></tr>';
+		print '<tr><td>'.$langs->trans("Amount").'</td><td>'.price($bon->amount).'</td></tr>';
 
 		// Status
-		print '<tr><td width="20%">'.$langs->trans('Status').'</td>';
+		print '<tr><td>'.$langs->trans('Status').'</td>';
 		print '<td>'.$bon->getLibStatut(1).'</td>';
 		print '</tr>';
 
@@ -71,16 +71,16 @@ if ($prev_id)
 			$muser = new User($db);
 			$muser->fetch($bon->user_trans);
 
-			print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
+			print '<tr><td>'.$langs->trans("TransData").'</td><td>';
 			print dol_print_date($bon->date_trans,'day');
 			print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'</td></tr>';
-			print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
+			print '<tr><td>'.$langs->trans("TransMetod").'</td><td>';
 			print $bon->methodes_trans[$bon->method_trans];
 			print '</td></tr>';
 		}
 		if($bon->date_credit <> 0)
 		{
-			print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
+			print '<tr><td>'.$langs->trans('CreditDate').'</td><td>';
 			print dol_print_date($bon->date_credit,'day');
 			print '</td></tr>';
 		}
@@ -89,7 +89,7 @@ if ($prev_id)
 
 		print '<br>';
 
-		print '<table class="border" width="100%"><tr><td width="20%">';
+		print '<table class="border" width="100%"><tr><td class="titlefield">';
 		print $langs->trans("WithdrawalFile").'</td><td>';
 		$relativepath = 'receipts/'.$bon->ref.'.xml';
 		print '<a data-ajax="false" href="'.DOL_URL_ROOT.'/document.php?type=text/plain&amp;modulepart=prelevement&amp;file='.urlencode($relativepath).'">'.$relativepath.'</a>';
diff --git a/htdocs/langs/en_US/withdrawals.lang b/htdocs/langs/en_US/withdrawals.lang
index 1e7f42c2f51..bfe024268e4 100644
--- a/htdocs/langs/en_US/withdrawals.lang
+++ b/htdocs/langs/en_US/withdrawals.lang
@@ -40,6 +40,7 @@ RefusedReason=Reason for rejection
 RefusedInvoicing=Billing the rejection
 NoInvoiceRefused=Do not charge the rejection
 InvoiceRefused=Invoice refused (Charge the rejection to customer)
+StatusDebitCredit=Status debit/credit
 StatusWaiting=Waiting
 StatusTrans=Sent
 StatusCredited=Credited
-- 
GitLab