diff --git a/htdocs/compta/prelevement/class/bon-prelevement.class.php b/htdocs/compta/prelevement/class/bon-prelevement.class.php
index 99153aebc3d7fa3bf24a799c6251fb06ddb44b46..d6c2a3238a02c410a169e2a01c862164aa2c23dc 100644
--- a/htdocs/compta/prelevement/class/bon-prelevement.class.php
+++ b/htdocs/compta/prelevement/class/bon-prelevement.class.php
@@ -1149,8 +1149,10 @@ class BonPrelevement extends CommonObject
         return $result;
     }
 
+
     /**
-     * Generate a withdrawal file
+     *  Generate a withdrawal file (format CFONB ?)
+     *  File is generated with name this->filename
      */
     function Generate()
     {
@@ -1168,13 +1170,23 @@ class BonPrelevement extends CommonObject
         $this->EnregEmetteur();
 
         /*
-         * Lignes
+         * Lines
          */
         $this->total = 0;
 
-        $sql = "SELECT rowid, client_nom, code_banque, code_guichet, number, amount";
+        /*$sql = "SELECT rowid, client_nom, code_banque, code_guichet, number, amount";
         $sql .= " FROM ".MAIN_DB_PREFIX."prelevement_lignes";
         $sql .= " WHERE fk_prelevement_bons = ".$this->id;
+        */
+        $sql = "SELECT pl.rowid, pl.client_nom, pl.code_banque, pl.code_guichet, pl.number, pl.amount,";
+        $sql.= " f.facnumber, pf.fk_facture";
+        $sql.= " FROM";
+        $sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
+        $sql.= " ".MAIN_DB_PREFIX."facture as f,";
+        $sql.= " ".MAIN_DB_PREFIX."prelevement_facture as pf";
+        $sql.= " WHERE pl.fk_prelevement_bons = ".$this->id;
+        $sql.= " AND pl.rowid = pf.fk_prelevement_lignes";
+        $sql.= " AND pf.fk_facture = f.rowid";
 
         $i = 0;
 
@@ -1192,7 +1204,9 @@ class BonPrelevement extends CommonObject
                 $row[2],
                 $row[3],
                 $row[4],
-                $row[5]);
+                $row[5],
+                $row[6],
+                $row[7]);
 
                 $this->total = $this->total + $row[5];
 
@@ -1219,11 +1233,17 @@ class BonPrelevement extends CommonObject
 
 
     /**
-     * Enregistrements destinataires
-     *
-     *
+     *  Write recipient of withdraw
+     *  @param      rowid       Id of line
+     *  @param      client_nom  Name of customer
+     *  @param      rib_banque
+     *  @param      rib_guichet
+     *  @param      rib_number
+     *  @param      amount
+     *  @param      facnumber   Ref of invoice
+     *  @param      facid       Id of invoice
      */
-    function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount)
+    function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount, $facnumber, $facid)
     {
         fputs ($this->file, "06");
         fputs ($this->file, "08"); // Prelevement ordinaire
@@ -1282,70 +1302,7 @@ class BonPrelevement extends CommonObject
 
 
     /**
-     * Enregistrements destinataires
-     *
-     *
-     */
-    function EnregDestinataireVersion1($fac)
-    {
-        fputs ($this->file, "06");
-        fputs ($this->file, "08"); // Prelevement ordinaire
-
-        fputs ($this->file, "        "); // Zone Reservee B2
-
-        fputs ($this->file, $this->numero_national_emetteur); // Numero National d'emmetteur B3
-
-        // Date d'echeance C1
-
-        fputs ($this->file, "       ");
-        fputs ($this->file, strftime("%d%m", $this->date_echeance));
-        fputs ($this->file, substr(strftime("%y", $this->date_echeance),1));
-
-        // Raison Sociale Destinataire C2
-
-        fputs ($this->file, substr($fac->client->nom. "                           ",0,24));
-
-        // Reference de la remise creancier D1
-
-        fputs ($this->file, substr("                                    ",0,24));
-
-        // Zone Reservee D2
-
-        fputs ($this->file, substr("                             ",0,8));
-
-        // Code Guichet  D3
-
-        fputs ($this->file, $fac->client->bank_account->code_guichet);
-
-        // Numero de compte D4
-
-        fputs ($this->file, substr("000000000000000".$fac->client->bank_account->number, -11));
-
-        // Zone E Montant
-
-        $montant = (round($fac->total_ttc,2) * 100);
-
-        fputs ($this->file, substr("000000000000000".$montant, -16));
-
-        // Libelle F
-
-        fputs ($this->file, substr("*".$fac->ref."                                   ",0,13));
-        fputs ($this->file, substr("                                        ",0,18));
-
-        // Code etablissement G1
-
-        fputs ($this->file, $fac->client->bank_account->code_banque);
-
-        // Zone Reservee G2
-
-        fputs ($this->file, substr("                                        ",0,5));
-
-        fputs ($this->file, "\n");
-    }
-
-    /**
-     *
-     *
+     *  Write sender (me)
      */
     function EnregEmetteur()
     {
@@ -1409,8 +1366,8 @@ class BonPrelevement extends CommonObject
     }
 
     /**
-     * Pied de page
-     *
+     *  Write end
+     *  @param      total       Total amount
      */
     function EnregTotal($total)
     {