diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php
index 369dd7afcec88bf1688aedec73d5a2d2d0b1e469..60e283eea2c46c984427788c78c6b6a4edb1880a 100644
--- a/htdocs/accountancy/bookkeeping/list.php
+++ b/htdocs/accountancy/bookkeeping/list.php
@@ -2,7 +2,7 @@
 /* Copyright (C) 2013-2016	Olivier Geffroy		<jeff@jeffinfo.com>
  * Copyright (C) 2013-2016	Florian Henry		<florian.henry@open-concept.pro>
  * Copyright (C) 2013-2017	Alexandre Spangaro	<aspangaro@zendsi.com>
- * Copyright (C) 2016	  	Laurent Destailleur <eldy@users.sourceforge.net>
+ * Copyright (C) 2016		Laurent Destailleur <eldy@users.sourceforge.net>
  *
  * 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
@@ -463,10 +463,10 @@ print '</td>';
 print '<td  align="right">';
 print price($total_debit);
 print '</td>';
-print '<td  align="right">';
+print '<td align="right">';
 print price($total_credit);
 print '</td>';
-print '<td></td>';
+print '<td colspan="2"></td>';
 print '</tr>';
 
 print "</table>";
diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php
index 8ba8d185ede883a792071abace42b8bcf20517bd..0fc4a936117cca9084cd19b996f3cd69694a4855 100644
--- a/htdocs/accountancy/class/bookkeeping.class.php
+++ b/htdocs/accountancy/class/bookkeeping.class.php
@@ -85,6 +85,7 @@ class BookKeeping extends CommonObject
 	public $fk_user_author;
 	public $import_key;
 	public $code_journal;
+	public $journal_label;
 	public $piece_num;
 
 	/**
@@ -156,6 +157,9 @@ class BookKeeping extends CommonObject
 		if (isset($this->code_journal)) {
 			$this->code_journal = trim($this->code_journal);
 		}
+		if (isset($this->journal_label)) {
+			$this->journal_label = trim($this->journal_label);
+		}
 		if (isset($this->piece_num)) {
 			$this->piece_num = trim($this->piece_num);
 		}
@@ -250,6 +254,7 @@ class BookKeeping extends CommonObject
 				$sql .= ", fk_user_author";
 				$sql .= ", import_key";
 				$sql .= ", code_journal";
+				$sql .= ", journal_label";
 				$sql .= ", piece_num";
 				$sql .= ', entity';				
 				$sql .= ") VALUES (";
@@ -268,6 +273,7 @@ class BookKeeping extends CommonObject
 				$sql .= ",'" . $this->fk_user_author . "'";
 				$sql .= ",'" . $this->db->idate($this->date_create). "'";
 				$sql .= ",'" . $this->code_journal . "'";
+				$sql .= ",'" . $this->journal_label . "'";
 				$sql .= "," . $this->piece_num;
 				$sql .= ", " . (! isset($this->entity) ? '1' : $this->entity);
 				$sql .= ")";
@@ -384,6 +390,9 @@ class BookKeeping extends CommonObject
 		if (isset($this->code_journal)) {
 			$this->code_journal = trim($this->code_journal);
 		}
+		if (isset($this->journal_label)) {
+			$this->journal_label = trim($this->journal_label);
+		}
 		if (isset($this->piece_num)) {
 			$this->piece_num = trim($this->piece_num);
 		}
@@ -410,6 +419,7 @@ class BookKeeping extends CommonObject
 		$sql .= 'fk_user_author,';
 		$sql .= 'import_key,';
 		$sql .= 'code_journal,';
+		$sql .= 'journal_label,';
 		$sql .= 'piece_num,';
 		$sql .= 'entity';
 		$sql .= ') VALUES (';
@@ -428,6 +438,7 @@ class BookKeeping extends CommonObject
 		$sql .= ' ' . $user->id . ',';
 		$sql .= ' ' . (! isset($this->import_key) ? 'NULL' : "'" . $this->db->escape($this->import_key) . "'") . ',';
 		$sql .= ' ' . (empty($this->code_journal) ? 'NULL' : "'" . $this->db->escape($this->code_journal) . "'") . ',';
+		$sql .= ' ' . (empty($this->journal_label) ? 'NULL' : "'" . $this->db->escape($this->journal_label) . "'") . ',';
 		$sql .= ' ' . (empty($this->piece_num) ? 'NULL' : $this->piece_num).',';
 		$sql .= ' ' . (! isset($this->entity) ? '1' : $this->entity);
 		$sql .= ')';
@@ -458,11 +469,11 @@ class BookKeeping extends CommonObject
 		// Commit or rollback
 		if ($error) {
 			$this->db->rollback();
-			
+
 			return - 1 * $error;
 		} else {
 			$this->db->commit();
-			
+
 			return $this->id;
 		}
 	}
@@ -478,7 +489,7 @@ class BookKeeping extends CommonObject
 	public function fetch($id, $ref = null) {
 		global $conf;
 
-	    dol_syslog(__METHOD__, LOG_DEBUG);
+		dol_syslog(__METHOD__, LOG_DEBUG);
 
 		$sql = 'SELECT';
 		$sql .= ' t.rowid,';
@@ -497,6 +508,7 @@ class BookKeeping extends CommonObject
 		$sql .= " t.fk_user_author,";
 		$sql .= " t.import_key,";
 		$sql .= " t.code_journal,";
+		$sql .= " t.journal_label,";
 		$sql .= " t.piece_num";
 		$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
 		$sql .= ' WHERE 1 = 1';
@@ -530,6 +542,7 @@ class BookKeeping extends CommonObject
 				$this->fk_user_author = $obj->fk_user_author;
 				$this->import_key = $obj->import_key;
 				$this->code_journal = $obj->code_journal;
+				$this->journal_label = $obj->journal_label;
 				$this->piece_num = $obj->piece_num;
 			}
 			$this->db->free($resql);
@@ -581,6 +594,7 @@ class BookKeeping extends CommonObject
 		$sql .= " t.fk_user_author,";
 		$sql .= " t.import_key,";
 		$sql .= " t.code_journal,";
+		$sql .= " t.journal_label,";
 		$sql .= " t.piece_num";
 		// Manage filter
 		$sqlwhere = array ();
@@ -643,6 +657,7 @@ class BookKeeping extends CommonObject
 				$line->fk_user_author = $obj->fk_user_author;
 				$line->import_key = $obj->import_key;
 				$line->code_journal = $obj->code_journal;
+				$line->journal_label = $obj->journal_label;
 				$line->piece_num = $obj->piece_num;
 
 				$this->lines[] = $line;
@@ -693,6 +708,7 @@ class BookKeeping extends CommonObject
 		$sql .= " t.fk_user_author,";
 		$sql .= " t.import_key,";
 		$sql .= " t.code_journal,";
+		$sql .= " t.journal_label,";
 		$sql .= " t.piece_num";
 		$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
 		// Manage filter
@@ -752,6 +768,7 @@ class BookKeeping extends CommonObject
 				$line->fk_user_author = $obj->fk_user_author;
 				$line->import_key = $obj->import_key;
 				$line->code_journal = $obj->code_journal;
+				$line->journal_label = $obj->journal_label;
 				$line->piece_num = $obj->piece_num;
 
 				$this->lines[] = $line;
@@ -903,6 +920,9 @@ class BookKeeping extends CommonObject
 		if (isset($this->code_journal)) {
 			$this->code_journal = trim($this->code_journal);
 		}
+		if (isset($this->journal_label)) {
+			$this->journal_label = trim($this->journal_label);
+		}
 		if (isset($this->piece_num)) {
 			$this->piece_num = trim($this->piece_num);
 		}
@@ -927,6 +947,7 @@ class BookKeeping extends CommonObject
 		$sql .= ' fk_user_author = ' . (isset($this->fk_user_author) ? $this->fk_user_author : "null") . ',';
 		$sql .= ' import_key = ' . (isset($this->import_key) ? "'" . $this->db->escape($this->import_key) . "'" : "null") . ',';
 		$sql .= ' code_journal = ' . (isset($this->code_journal) ? "'" . $this->db->escape($this->code_journal) . "'" : "null") . ',';
+		$sql .= ' journal_label = ' . (isset($this->journal_label) ? "'" . $this->db->escape($this->journal_label) . "'" : "null") . ',';
 		$sql .= ' piece_num = ' . (isset($this->piece_num) ? $this->piece_num : "null");
 		$sql .= ' WHERE rowid=' . $this->id;
 
@@ -1185,6 +1206,7 @@ class BookKeeping extends CommonObject
 		$this->fk_user_author = $user->id;
 		$this->import_key = '';
 		$this->code_journal = '';
+		$this->journal_label = '';
 		$this->piece_num = '';
 	}
 
@@ -1197,7 +1219,7 @@ class BookKeeping extends CommonObject
 	public function fetchPerMvt($piecenum) {
 		global $conf;
 
-		$sql = "SELECT piece_num,doc_date,code_journal,doc_ref,doc_type";
+		$sql = "SELECT piece_num,doc_date,code_journal,journal_label,doc_ref,doc_type";
 		$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
 		$sql .= " WHERE piece_num = " . $piecenum;
 		$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
@@ -1209,6 +1231,7 @@ class BookKeeping extends CommonObject
 
 			$this->piece_num = $obj->piece_num;
 			$this->code_journal = $obj->code_journal;
+			$this->journal_label = $obj->journal_label;
 			$this->doc_date = $this->db->jdate($obj->doc_date);
 			$this->doc_ref = $obj->doc_ref;
 			$this->doc_type = $obj->doc_type;
@@ -1260,7 +1283,7 @@ class BookKeeping extends CommonObject
 		$sql = "SELECT rowid, doc_date, doc_type,";
 		$sql .= " doc_ref, fk_doc, fk_docdet, code_tiers,";
 		$sql .= " numero_compte, label_compte, debit, credit,";
-		$sql .= " montant, sens, fk_user_author, import_key, code_journal, piece_num";
+		$sql .= " montant, sens, fk_user_author, import_key, code_journal, journal_label, piece_num";
 		$sql .= " FROM " . MAIN_DB_PREFIX . $this->table_element;
 		$sql .= " WHERE piece_num = " . $piecenum;
 		$sql .= " AND entity IN (" . getEntity('accountancy') . ")";
@@ -1288,6 +1311,7 @@ class BookKeeping extends CommonObject
 				$line->montant = $obj->montant;
 				$line->sens = $obj->sens;
 				$line->code_journal = $obj->code_journal;
+				$line->journal_label = $obj->journal_label;
 				$line->piece_num = $obj->piece_num;
 
 				$this->linesmvt[] = $line;
@@ -1533,5 +1557,6 @@ class BookKeepingLine
 	public $fk_user_author;
 	public $import_key;
 	public $code_journal;
+	public $journal_label;
 	public $piece_num;
 }
diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php
index cb3afb95f5a96514c4b71dd9f9edad2a7dee001a..9eae2072243010f2d27fee49b0ffdd4666a48a89 100644
--- a/htdocs/accountancy/journal/bankjournal.php
+++ b/htdocs/accountancy/journal/bankjournal.php
@@ -28,8 +28,6 @@
  * \brief 		Page with bank journal
  */
 require '../../main.inc.php';
-
-// Class
 require_once DOL_DOCUMENT_ROOT . '/core/lib/report.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/bank.lib.php';
@@ -53,8 +51,6 @@ require_once DOL_DOCUMENT_ROOT . '/societe/class/client.class.php';
 require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
 require_once DOL_DOCUMENT_ROOT . '/expensereport/class/paymentexpensereport.class.php';
 
-
-// Langs
 $langs->load("companies");
 $langs->load("other");
 $langs->load("compta");
@@ -77,6 +73,7 @@ $date_endyear = GETPOST('date_endyear');
 $action = GETPOST('action','aZ09');
 
 $now = dol_now();
+$action = GETPOST('action','aZ09');
 
 // Security check
 if ($user->societe_id > 0 && empty($id_journal))
@@ -120,7 +117,7 @@ $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "bank_url as bu2 ON bu2.fk_bank = b.row
 $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe as soc on bu1.url_id=soc.rowid";
 $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "user as u on bu2.url_id=u.rowid";
 $sql .= " WHERE ba.fk_accountancy_journal=" . $id_journal;
-$sql .= ' AND ba.entity IN ('.getEntity('bank_account', 0).')';        // We don't share object for accountancy
+$sql .= ' AND ba.entity IN ('.getEntity('bank_account', 0).')';		// We don't share object for accountancy
 if ($date_start && $date_end)
 	$sql .= " AND b.dateo >= '" . $db->idate($date_start) . "' AND b.dateo <= '" . $db->idate($date_end) . "'";
 $sql .= " ORDER BY b.datev";
@@ -140,6 +137,7 @@ $paymentexpensereportstatic = new PaymentExpenseReport($db);
 $accountingjournalstatic = new AccountingJournal($db);
 $accountingjournalstatic->fetch($id_journal);
 $journal = $accountingjournalstatic->code;
+$journal_label = $accountingjournalstatic->label;
 
 dol_syslog("accountancy/journal/bankjournal.php", LOG_DEBUG);
 $result = $db->query($sql);
@@ -210,11 +208,11 @@ if ($result) {
 			// Now loop on each link of record in bank.
 			foreach ( $links as $key => $val ) {
 
-			    if (in_array($links[$key]['type'], array('sc', 'payment_sc', 'payment', 'payment_supplier', 'payment_vat', 'payment_expensereport', 'banktransfert', 'payment_donation', 'payment_salary')))     // So we excluded 'company' here
-			    {
-			        // We save tabtype for a future use, to remember what kind of payment it is
-			        $tabtype[$obj->rowid] = $links[$key]['type'];
-			    }
+				if (in_array($links[$key]['type'], array('sc', 'payment_sc', 'payment', 'payment_supplier', 'payment_vat', 'payment_expensereport', 'banktransfert', 'payment_donation', 'payment_salary')))	 // So we excluded 'company' here
+				{
+					// We save tabtype for a future use, to remember what kind of payment it is
+					$tabtype[$obj->rowid] = $links[$key]['type'];
+				}
 
 				if ($links[$key]['type'] == 'payment') {
 					$paymentstatic->id = $links[$key]['url_id'];
@@ -298,22 +296,22 @@ if ($result) {
 
 
 		// Check account number is ok
-		/*if ($action == 'writebookkeeping')        // Make test now in such a case
+		/*if ($action == 'writebookkeeping')		// Make test now in such a case
 		{
-    		reset($tabbq[$obj->rowid]);
-    		$first_key_tabbq = key($tabbq[$obj->rowid]);
-    		if (empty($first_key_tabbq))
-    		{
-    		    $error++;
-    		    setEventMessages($langs->trans('ErrorAccountancyCodeOnBankAccountNotDefined', $obj->baref), null, 'errors');
-    		}
-    		reset($tabtp[$obj->rowid]);
-    		$first_key_tabtp = key($tabtp[$obj->rowid]);
-    		if (empty($first_key_tabtp))
-    		{
-    	        $error++;
-    	        setEventMessages($langs->trans('ErrorAccountancyCodeOnThirdPartyNotDefined'), null, 'errors');
-    		}
+			reset($tabbq[$obj->rowid]);
+			$first_key_tabbq = key($tabbq[$obj->rowid]);
+			if (empty($first_key_tabbq))
+			{
+				$error++;
+				setEventMessages($langs->trans('ErrorAccountancyCodeOnBankAccountNotDefined', $obj->baref), null, 'errors');
+			}
+			reset($tabtp[$obj->rowid]);
+			$first_key_tabtp = key($tabtp[$obj->rowid]);
+			if (empty($first_key_tabtp))
+			{
+				$error++;
+				setEventMessages($langs->trans('ErrorAccountancyCodeOnThirdPartyNotDefined'), null, 'errors');
+			}
 		}*/
 
 		// if($obj->socid)$tabtp[$obj->rowid][$compta_soc] += $obj->amount;
@@ -335,76 +333,77 @@ if (! $error && $action == 'writebookkeeping') {
 	$now = dol_now();
 
 	$error = 0;
-	foreach ( $tabpay as $key => $val ) {      // $key is rowid into llx_bank
+	foreach ( $tabpay as $key => $val ) {	  // $key is rowid into llx_bank
 
-	    $errorforline = 0;
+		$errorforline = 0;
 
-	    $db->begin();
+		$db->begin();
 
 		// Bank
 		if (! $errorforline)
 		{
-		    // Line into bank account
-    		foreach ( $tabbq[$key] as $k => $mt )
-    		{
-    			if ($mt) {
-        		    $bookkeeping = new BookKeeping($db);
-        			$bookkeeping->doc_date = $val["date"];
-        			$bookkeeping->doc_ref = $val["ref"];
-        			$bookkeeping->doc_type = 'bank';
-        			$bookkeeping->fk_doc = $key;
-        			$bookkeeping->fk_docdet = $val["fk_bank"];
-        			$bookkeeping->numero_compte = $k;
-        			$bookkeeping->label_compte = $compte->label;
-        			$bookkeeping->montant = ($mt < 0 ? - $mt : $mt);
-        			$bookkeeping->sens = ($mt >= 0) ? 'D' : 'C';
-        			$bookkeeping->debit = ($mt >= 0 ? $mt : 0);
-        			$bookkeeping->credit = ($mt < 0 ? - $mt : 0);
-        			$bookkeeping->code_journal = $journal;
-        			$bookkeeping->fk_user_author = $user->id;
-        			$bookkeeping->date_create = $now;
-
-        			if ($tabtype[$key] == 'payment') {
-        			    $bookkeeping->code_tiers = $tabcompany[$key]['code_compta'];
-
-        				$sqlmid = 'SELECT fac.facnumber';
-        				$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture fac";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement_facture as payfac ON payfac.fk_facture=fac.rowid";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement as pay ON  payfac.fk_paiement=pay.rowid";
-        				$sqlmid .= " WHERE pay.fk_bank=" . $key;
-        				dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
-        				$resultmid = $db->query($sqlmid);
-        				if ($resultmid) {
-        					$objmid = $db->fetch_object($resultmid);
-        					$bookkeeping->doc_ref = $objmid->facnumber;    // Ref of invoice
-        				}
-        			} else if ($tabtype[$key] == 'payment_supplier') {
-        			    $bookkeeping->code_tiers = $tabcompany[$key]['code_compta'];
-
-        				$sqlmid = 'SELECT facf.ref_supplier, facf.ref';
-        				$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture_fourn facf";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn_facturefourn as payfacf ON payfacf.fk_facturefourn=facf.rowid";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn as payf ON  payfacf.fk_paiementfourn=payf.rowid";
-        				$sqlmid .= " WHERE payf.fk_bank=" . $key;
-        				dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
-        				$resultmid = $db->query($sqlmid);
-        				if ($resultmid) {
-        					$objmid = $db->fetch_object($resultmid);
-        					$bookkeeping->doc_ref = $objmid->ref_supplier . ' (' . $objmid->ref . ')'; // Ref on invoice
-        				}
-        			} else if ($tabtype[$key] == 'payment_expensereport') {
-        			    $bookkeeping->code_tiers = $tabuser[$key]['accountancy_code'];
-
-        				$sqlmid = 'SELECT e.ref';
-        				$sqlmid .= " FROM " . MAIN_DB_PREFIX . "expensereport as e";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "payment_expensereport as payer ON payer.fk_expensereport=e.rowid";
-        				$sqlmid .= " WHERE payer.fk_expensereport=" . $val["fk_expensereport"];
-        				dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
-        				$resultmid = $db->query($sqlmid);
-        				if ($resultmid) {
-        					$objmid = $db->fetch_object($resultmid);
-        					$bookkeeping->doc_ref = $objmid->ref; // Ref of expensereport
-        				}
+			// Line into bank account
+			foreach ( $tabbq[$key] as $k => $mt )
+			{
+				if ($mt) {
+					$bookkeeping = new BookKeeping($db);
+					$bookkeeping->doc_date = $val["date"];
+					$bookkeeping->doc_ref = $val["ref"];
+					$bookkeeping->doc_type = 'bank';
+					$bookkeeping->fk_doc = $key;
+					$bookkeeping->fk_docdet = $val["fk_bank"];
+					$bookkeeping->numero_compte = $k;
+					$bookkeeping->label_compte = $compte->label;
+					$bookkeeping->montant = ($mt < 0 ? - $mt : $mt);
+					$bookkeeping->sens = ($mt >= 0) ? 'D' : 'C';
+					$bookkeeping->debit = ($mt >= 0 ? $mt : 0);
+					$bookkeeping->credit = ($mt < 0 ? - $mt : 0);
+					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
+					$bookkeeping->fk_user_author = $user->id;
+					$bookkeeping->date_create = $now;
+
+					if ($tabtype[$key] == 'payment') {
+						$bookkeeping->code_tiers = $tabcompany[$key]['code_compta'];
+
+						$sqlmid = 'SELECT fac.facnumber';
+						$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture fac";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement_facture as payfac ON payfac.fk_facture=fac.rowid";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement as pay ON  payfac.fk_paiement=pay.rowid";
+						$sqlmid .= " WHERE pay.fk_bank=" . $key;
+						dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
+						$resultmid = $db->query($sqlmid);
+						if ($resultmid) {
+							$objmid = $db->fetch_object($resultmid);
+							$bookkeeping->doc_ref = $objmid->facnumber;	// Ref of invoice
+						}
+					} else if ($tabtype[$key] == 'payment_supplier') {
+						$bookkeeping->code_tiers = $tabcompany[$key]['code_compta'];
+
+						$sqlmid = 'SELECT facf.ref_supplier, facf.ref';
+						$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture_fourn facf";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn_facturefourn as payfacf ON payfacf.fk_facturefourn=facf.rowid";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn as payf ON  payfacf.fk_paiementfourn=payf.rowid";
+						$sqlmid .= " WHERE payf.fk_bank=" . $key;
+						dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
+						$resultmid = $db->query($sqlmid);
+						if ($resultmid) {
+							$objmid = $db->fetch_object($resultmid);
+							$bookkeeping->doc_ref = $objmid->ref_supplier . ' (' . $objmid->ref . ')'; // Ref on invoice
+						}
+					} else if ($tabtype[$key] == 'payment_expensereport') {
+						$bookkeeping->code_tiers = $tabuser[$key]['accountancy_code'];
+
+						$sqlmid = 'SELECT e.ref';
+						$sqlmid .= " FROM " . MAIN_DB_PREFIX . "expensereport as e";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "payment_expensereport as payer ON payer.fk_expensereport=e.rowid";
+						$sqlmid .= " WHERE payer.fk_expensereport=" . $val["fk_expensereport"];
+						dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
+						$resultmid = $db->query($sqlmid);
+						if ($resultmid) {
+							$objmid = $db->fetch_object($resultmid);
+							$bookkeeping->doc_ref = $objmid->ref; // Ref of expensereport
+						}
 					} else if ($tabtype[$key] == 'payment_vat') {
 						$bookkeeping->code_tiers = '';
 						$bookkeeping->doc_ref = $langs->trans("PaymentVat") . ' (' . $val["paymentvatid"] . ')'; // Rowid of vat payment
@@ -417,75 +416,76 @@ if (! $error && $action == 'writebookkeeping') {
 						$bookkeeping->doc_ref = $langs->trans("SalaryPayment") . ' (' . $val["paymentsalid"] . ')'; // Ref of salary payment
 					}
 
-        			$result = $bookkeeping->create($user);
-        			if ($result < 0) {
-        				if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-        				{
-        					$error++;
-        					$errorforline++;
-        					//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-        				}
-        				else
-        				{
-    	    				$error++;
-    	    				$errorforline++;
-    	    				setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-        				}
-        			}
-    			}
-    		}
+					$result = $bookkeeping->create($user);
+					if ($result < 0) {
+						if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+						{
+							$error++;
+							$errorforline++;
+							//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+						}
+						else
+						{
+							$error++;
+							$errorforline++;
+							setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+						}
+					}
+				}
+			}
 		}
 
 		// Third party
 		if (! $errorforline)
 		{
-		    // Line into thirdparty account
-    		foreach ( $tabtp[$key] as $k => $mt ) {
-    			if ($mt) {
-        		    $bookkeeping = new BookKeeping($db);
-        			$bookkeeping->doc_date = $val["date"];
-        			$bookkeeping->doc_ref = $val["ref"];
-        			$bookkeeping->doc_type = 'bank';
-        			$bookkeeping->fk_doc = $key;
-        			$bookkeeping->fk_docdet = $val["fk_bank"];
-        			$bookkeeping->label_compte = $tabcompany[$key]['name'];
-        			$bookkeeping->montant = ($mt < 0 ? - $mt : $mt);
-        			$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
-        			$bookkeeping->debit = ($mt < 0 ? - $mt : 0);
-        			$bookkeeping->credit = ($mt >= 0) ? $mt : 0;
-        			$bookkeeping->code_journal = $journal;
-        			$bookkeeping->fk_user_author = $user->id;
-        			$bookkeeping->date_create = $now;
-
-        			if (in_array($tabtype[$key], array('sc', 'payment_sc'))) {   // If payment is payment of social contribution
-        				$bookkeeping->code_tiers = '';
-        				$bookkeeping->numero_compte = $k;
-        			} else if ($tabtype[$key] == 'payment') {    // If payment is payment of customer invoice, we get ref of invoice
-        				$sqlmid = 'SELECT fac.facnumber';
-        				$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture fac ";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement_facture as payfac ON  payfac.fk_facture=fac.rowid";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement as pay ON  payfac.fk_paiement=pay.rowid";
-        				$sqlmid .= " WHERE pay.fk_bank=" . $key;
-        				dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
-        				$resultmid = $db->query($sqlmid);
-        				if ($resultmid) {
-        					$objmid = $db->fetch_object($resultmid);
-        					$bookkeeping->doc_ref = $objmid->facnumber;
-        				}
-        				$bookkeeping->code_tiers = $tabcompany[$key]['code_compta'];
-        				$bookkeeping->numero_compte = $k;
-        			} else if ($tabtype[$key] == 'payment_supplier') {           // If payment is payment of supplier invoice, we get ref of invoice
-        				$sqlmid = 'SELECT facf.ref_supplier,facf.ref';
-        				$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture_fourn facf ";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn_facturefourn as payfacf ON  payfacf.fk_facturefourn=facf.rowid";
-        				$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn as payf ON  payfacf.fk_paiementfourn=payf.rowid";
-        				$sqlmid .= " WHERE payf.fk_bank=" . $key;
-        				dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
-        				$resultmid = $db->query($sqlmid);
-        				if ($resultmid) {
-        					$objmid = $db->fetch_object($resultmid);
-        					$bookkeeping->doc_ref = $objmid->ref_supplier . ' (' . $objmid->ref . ')';
-        				}
+			// Line into thirdparty account
+			foreach ( $tabtp[$key] as $k => $mt ) {
+				if ($mt) {
+					$bookkeeping = new BookKeeping($db);
+					$bookkeeping->doc_date = $val["date"];
+					$bookkeeping->doc_ref = $val["ref"];
+					$bookkeeping->doc_type = 'bank';
+					$bookkeeping->fk_doc = $key;
+					$bookkeeping->fk_docdet = $val["fk_bank"];
+					$bookkeeping->label_compte = $tabcompany[$key]['name'];
+					$bookkeeping->montant = ($mt < 0 ? - $mt : $mt);
+					$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
+					$bookkeeping->debit = ($mt < 0 ? - $mt : 0);
+					$bookkeeping->credit = ($mt >= 0) ? $mt : 0;
+					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
+					$bookkeeping->fk_user_author = $user->id;
+					$bookkeeping->date_create = $now;
+
+					if (in_array($tabtype[$key], array('sc', 'payment_sc'))) {   // If payment is payment of social contribution
+						$bookkeeping->code_tiers = '';
+						$bookkeeping->numero_compte = $k;
+					} else if ($tabtype[$key] == 'payment') {	// If payment is payment of customer invoice, we get ref of invoice
+						$sqlmid = 'SELECT fac.facnumber';
+						$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture fac ";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement_facture as payfac ON  payfac.fk_facture=fac.rowid";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiement as pay ON  payfac.fk_paiement=pay.rowid";
+						$sqlmid .= " WHERE pay.fk_bank=" . $key;
+						dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
+						$resultmid = $db->query($sqlmid);
+						if ($resultmid) {
+							$objmid = $db->fetch_object($resultmid);
+							$bookkeeping->doc_ref = $objmid->facnumber;
+						}
+						$bookkeeping->code_tiers = $tabcompany[$key]['code_compta'];
+						$bookkeeping->numero_compte = $k;
+					} else if ($tabtype[$key] == 'payment_supplier') {		   // If payment is payment of supplier invoice, we get ref of invoice
+						$sqlmid = 'SELECT facf.ref_supplier,facf.ref';
+						$sqlmid .= " FROM " . MAIN_DB_PREFIX . "facture_fourn facf ";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn_facturefourn as payfacf ON  payfacf.fk_facturefourn=facf.rowid";
+						$sqlmid .= " INNER JOIN " . MAIN_DB_PREFIX . "paiementfourn as payf ON  payfacf.fk_paiementfourn=payf.rowid";
+						$sqlmid .= " WHERE payf.fk_bank=" . $key;
+						dol_syslog("accountancy/journal/bankjournal.php:: sqlmid=" . $sqlmid, LOG_DEBUG);
+						$resultmid = $db->query($sqlmid);
+						if ($resultmid) {
+							$objmid = $db->fetch_object($resultmid);
+							$bookkeeping->doc_ref = $objmid->ref_supplier . ' (' . $objmid->ref . ')';
+						}
 						$bookkeeping->code_tiers = $tabcompany[$key]['code_compta'];
 						$bookkeeping->numero_compte = $k;
 					} else if ($tabtype[$key] == 'payment_vat') {
@@ -504,52 +504,52 @@ if (! $error && $action == 'writebookkeeping') {
 					} else if ($tabtype[$key] == 'banktransfert') {
 						$bookkeeping->code_tiers = '';
 						$bookkeeping->numero_compte = $k;
-        			} else {
-        			    // FIXME Should be a temporary account ???
-        				$bookkeeping->doc_ref = $k;
-        				//$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
-        				$bookkeeping->numero_compte = 'CodeNotDef';
-        			}
-
-        			$result = $bookkeeping->create($user);
-        			if ($result < 0) {
-        				if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-        				{
-        					$error++;
-        					$errorforline++;
-        					//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-        				}
-        				else
-        				{
-    	    				$error++;
-    	    				$errorforline++;
-    	    				setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-        				}
-        			}
-    			}
-    		}
+					} else {
+						// FIXME Should be a temporary account ???
+						$bookkeeping->doc_ref = $k;
+						//$bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER;
+						$bookkeeping->numero_compte = 'CodeNotDef';
+					}
+
+					$result = $bookkeeping->create($user);
+					if ($result < 0) {
+						if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+						{
+							$error++;
+							$errorforline++;
+							//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+						}
+						else
+						{
+							$error++;
+							$errorforline++;
+							setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+						}
+					}
+				}
+			}
 		}
 
 		if (! $errorforline)
 		{
-            $db->commit();
+			$db->commit();
 		}
 		else
 		{
-		    $db->rollback();
+			$db->rollback();
 		}
 	}
 
 	if (empty($error)) {
-	    setEventMessages($langs->trans("GeneralLedgerIsWritten"), null, 'mesgs');
+		setEventMessages($langs->trans("GeneralLedgerIsWritten"), null, 'mesgs');
 	}
 	elseif (count($tabpay) == $error)
 	{
-	    setEventMessages($langs->trans("NoNewRecordSaved"), null, 'warnings');
+		setEventMessages($langs->trans("NoNewRecordSaved"), null, 'warnings');
 	}
 	else
 	{
-	    setEventMessages($langs->trans("GeneralLedgerSomeRecordWasNotRecorded"), null, 'warnings');
+		setEventMessages($langs->trans("GeneralLedgerSomeRecordWasNotRecorded"), null, 'warnings');
 	}
 
 	$action = '';
@@ -758,24 +758,24 @@ if (empty($action) || $action == 'view') {
 		print '<input type="button" class="butAction" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
 	}*/
 
-    print '<div class="tabsAction">';
+	print '<div class="tabsAction">';
 	print '<input type="button" class="butAction" value="' . $langs->trans("WriteBookKeeping") . '" onclick="writebookkeeping();" />';
-    print '</div>';
+	print '</div>';
 
 	// TODO Avoid using js. We can use a direct link with $param
 	print '
 	<script type="text/javascript">
 		function launch_export() {
-	        console.log("Set value into form and submit");
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("export_csv");
+			console.log("Set value into form and submit");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("export_csv");
 			$("div.fiche div.tabBar form input[type=\"submit\"]").click();
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("");
 		}
 		function writebookkeeping() {
-	        console.log("Set value into form and submit");
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("writebookkeeping");
+			console.log("Set value into form and submit");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("writebookkeeping");
 			$("div.fiche div.tabBar form input[type=\"submit\"]").click();
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("");
 		}
 	</script>';
 
@@ -799,7 +799,7 @@ if (empty($action) || $action == 'view') {
 
 	$r = '';
 
-	foreach ( $tabpay as $key => $val ) {      // $key is rowid in llx_bank
+	foreach ( $tabpay as $key => $val ) {	  // $key is rowid in llx_bank
 		$date = dol_print_date($db->jdate($val["date"]), 'day');
 
 		$reflabel = $val["ref"];
@@ -825,45 +825,45 @@ if (empty($action) || $action == 'view') {
 		$ref=$reflabel;
 		if ($tabtype[$key] == 'payment')
 		{
-		    $sqlmid = 'SELECT payfac.fk_facture as id';
-		    $sqlmid .= " FROM ".MAIN_DB_PREFIX."paiement_facture as payfac";
-		    $sqlmid .= " WHERE payfac.fk_paiement=" . $val["paymentid"];
-		    dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
-		    $resultmid = $db->query($sqlmid);
-		    if ($resultmid) {
-		        $objmid = $db->fetch_object($resultmid);
-		        $invoicestatic->fetch($objmid->id);
-		        $ref=$langs->trans("Invoice").' '.$invoicestatic->getNomUrl(1);
-		    }
-		    else dol_print_error($db);
+			$sqlmid = 'SELECT payfac.fk_facture as id';
+			$sqlmid .= " FROM ".MAIN_DB_PREFIX."paiement_facture as payfac";
+			$sqlmid .= " WHERE payfac.fk_paiement=" . $val["paymentid"];
+			dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
+			$resultmid = $db->query($sqlmid);
+			if ($resultmid) {
+				$objmid = $db->fetch_object($resultmid);
+				$invoicestatic->fetch($objmid->id);
+				$ref=$langs->trans("Invoice").' '.$invoicestatic->getNomUrl(1);
+			}
+			else dol_print_error($db);
 		}
 		elseif ($tabtype[$key] == 'payment_supplier')
 		{
-		    $sqlmid = 'SELECT payfac.fk_facturefourn as id';
-		    $sqlmid .= " FROM " . MAIN_DB_PREFIX . "paiementfourn_facturefourn as payfac";
-		    $sqlmid .= " WHERE payfac.fk_paiementfourn=" . $val["paymentsupplierid"];
-		    dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
-		    $resultmid = $db->query($sqlmid);
-		    if ($resultmid) {
-		        $objmid = $db->fetch_object($resultmid);
-		        $invoicesupplierstatic->fetch($objmid->id);
-		        $ref=$langs->trans("SupplierInvoice").' '.$invoicesupplierstatic->getNomUrl(1);
-		    }
-		    else dol_print_error($db);
+			$sqlmid = 'SELECT payfac.fk_facturefourn as id';
+			$sqlmid .= " FROM " . MAIN_DB_PREFIX . "paiementfourn_facturefourn as payfac";
+			$sqlmid .= " WHERE payfac.fk_paiementfourn=" . $val["paymentsupplierid"];
+			dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
+			$resultmid = $db->query($sqlmid);
+			if ($resultmid) {
+				$objmid = $db->fetch_object($resultmid);
+				$invoicesupplierstatic->fetch($objmid->id);
+				$ref=$langs->trans("SupplierInvoice").' '.$invoicesupplierstatic->getNomUrl(1);
+			}
+			else dol_print_error($db);
 		}
 		elseif ($tabtype[$key] == 'payment_expensereport')
 		{
-		    $sqlmid = 'SELECT payer.fk_expensereport as id';
-		    $sqlmid .= " FROM " . MAIN_DB_PREFIX . "payment_expensereport as payer";
-		    $sqlmid .= " WHERE payer.fk_expensereport=" . $val["fk_expensereport"];
-		    dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
-		    $resultmid = $db->query($sqlmid);
-		    if ($resultmid) {
-		        $objmid = $db->fetch_object($resultmid);
-		        $expensereportstatic->fetch($objmid->id);
-		        $ref=$langs->trans("ExpenseReport").' '.$expensereportstatic->getNomUrl(1);
-		    }
-		    else dol_print_error($db);
+			$sqlmid = 'SELECT payer.fk_expensereport as id';
+			$sqlmid .= " FROM " . MAIN_DB_PREFIX . "payment_expensereport as payer";
+			$sqlmid .= " WHERE payer.fk_expensereport=" . $val["fk_expensereport"];
+			dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
+			$resultmid = $db->query($sqlmid);
+			if ($resultmid) {
+				$objmid = $db->fetch_object($resultmid);
+				$expensereportstatic->fetch($objmid->id);
+				$ref=$langs->trans("ExpenseReport").' '.$expensereportstatic->getNomUrl(1);
+			}
+			else dol_print_error($db);
 		}
 		elseif ($tabtype[$key] == 'payment_vat')
 		{
@@ -881,17 +881,17 @@ if (empty($action) || $action == 'view') {
 		}
 		elseif ($tabtype[$key] == 'payment_donation')
 		{
-		    $sqlmid = 'SELECT payd.fk_donation as id';
-		    $sqlmid .= " FROM " . MAIN_DB_PREFIX . "payment_donation as payd";
-		    $sqlmid .= " WHERE payd.fk_donation=" . $val["paymentdonationid"];
-		    dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
-		    $resultmid = $db->query($sqlmid);
-		    if ($resultmid) {
-		        $objmid = $db->fetch_object($resultmid);
-		        $donationstatic->fetch($objmid->id);
-		        $ref=$langs->trans("Donation").' '.$donationstatic->getNomUrl(1);
-		    }
-		    else dol_print_error($db);
+			$sqlmid = 'SELECT payd.fk_donation as id';
+			$sqlmid .= " FROM " . MAIN_DB_PREFIX . "payment_donation as payd";
+			$sqlmid .= " WHERE payd.fk_donation=" . $val["paymentdonationid"];
+			dol_syslog("accountancy/journal/bankjournal.php::sqlmid=" . $sqlmid, LOG_DEBUG);
+			$resultmid = $db->query($sqlmid);
+			if ($resultmid) {
+				$objmid = $db->fetch_object($resultmid);
+				$donationstatic->fetch($objmid->id);
+				$ref=$langs->trans("Donation").' '.$donationstatic->getNomUrl(1);
+			}
+			else dol_print_error($db);
 		}
 		elseif ($tabtype[$key] == 'payment_salary')
 		{
@@ -915,15 +915,15 @@ if (empty($action) || $action == 'view') {
 		// Bank
 		foreach ( $tabbq[$key] as $k => $mt )
 		{
-		    print '<tr class="oddeven">';
-		    print "<td><!-- Bank bank.rowid=".$key."--></td>";
-		    print "<td>" . $date . "</td>";
+			print '<tr class="oddeven">';
+			print "<td><!-- Bank bank.rowid=".$key."--></td>";
+			print "<td>" . $date . "</td>";
 			print "<td>" . $ref . "</td>";
 			print "<td>";
 			$accountoshow = length_accountg($k);
 			if (empty($accountoshow) || $accountoshow == 'NotDefined')
 			{
-			    print '<span class="error">'.$langs->trans("BankAccountNotDefined").'</span>';
+				print '<span class="error">'.$langs->trans("BankAccountNotDefined").'</span>';
 			}
 			else print $accountoshow;
 			print "</td>";
@@ -947,12 +947,12 @@ if (empty($action) || $action == 'view') {
 					print "<td>" . $date . "</td>";
 					print "<td>" . $ref . "</td>";
 					print "<td>";
-        			$accountoshow = length_accounta($k);
-        			if (empty($accountoshow) || $accountoshow == 'NotDefined')
-        			{
-        			    print '<span class="error">'.$langs->trans("ThirdpartyAccountNotDefined").'</span>';
-        			}
-        			else print $accountoshow;
+					$accountoshow = length_accounta($k);
+					if (empty($accountoshow) || $accountoshow == 'NotDefined')
+					{
+						print '<span class="error">'.$langs->trans("ThirdpartyAccountNotDefined").'</span>';
+					}
+					else print $accountoshow;
 					print "</td>";
 					print "<td>" . $reflabel . ' ' . $val['soclib'] . "</td>";
 					print "<td>" . $val["type_payment"] . "</td>";
@@ -968,10 +968,10 @@ if (empty($action) || $action == 'view') {
 				print "<td>" . $date . "</td>";
 				print "<td>" . $ref . "</td>";
 				print "<td>";
-			    if (empty($accountoshow) || $accountoshow == 'NotDefined')
-        		{
-        		    print '<span class="error">'.$langs->trans("WaitAccountNotDefined").'</span>';
-        		}
+				if (empty($accountoshow) || $accountoshow == 'NotDefined')
+				{
+					print '<span class="error">'.$langs->trans("WaitAccountNotDefined").'</span>';
+				}
 				else print length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE);
 				print "</td>";
 				print "<td>" . $reflabel . "</td>";
diff --git a/htdocs/accountancy/journal/expensereportsjournal.php b/htdocs/accountancy/journal/expensereportsjournal.php
index 0b6f0923e1352d454b49f73e91152e7157e16701..557218a0ee6489f08e035e8a66b713d244d8db6b 100644
--- a/htdocs/accountancy/journal/expensereportsjournal.php
+++ b/htdocs/accountancy/journal/expensereportsjournal.php
@@ -22,13 +22,11 @@
  */
 
 /**
- * \file	htdocs/accountancy/journal/expensereportsjournal.php
- * \ingroup	Advanced accountancy
- * \brief	Page with expense reports journal
+ * \file		htdocs/accountancy/journal/expensereportsjournal.php
+ * \ingroup		Advanced accountancy
+ * \brief		Page with expense reports journal
  */
 require '../../main.inc.php';
-
-// Class
 require_once DOL_DOCUMENT_ROOT . '/core/lib/report.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
@@ -38,7 +36,6 @@ require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
 require_once DOL_DOCUMENT_ROOT . '/user/class/user.class.php';
 require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
 
-// Langs
 $langs->load("compta");
 $langs->load("bills");
 $langs->load("other");
@@ -46,8 +43,8 @@ $langs->load("main");
 $langs->load("accountancy");
 $langs->load("trips");
 
-// Multi journal
 $id_journal = GETPOST('id_journal', 'int');
+$action = GETPOST('action','aZ09');
 
 $date_startmonth = GETPOST('date_startmonth');
 $date_startday = GETPOST('date_startday');
@@ -62,16 +59,15 @@ $now = dol_now();
 if ($user->societe_id > 0)
 	accessforbidden();
 
-$action = GETPOST('action','aZ09');
-
-
 /*
  * Actions
  */
-// Get code of finance journal
+ 
+// Get informations of journal
 $accountingjournalstatic = new AccountingJournal($db);
 $accountingjournalstatic->fetch($id_journal);
 $journal = $accountingjournalstatic->code;
+$journal_label = $accountingjournalstatic->label;
 
 $year_current = strftime("%Y", dol_now());
 $pastmonth = strftime("%m", dol_now()) - 1;
@@ -187,6 +183,7 @@ if ($action == 'writebookkeeping') {
 					$bookkeeping->debit = ($mt <= 0) ? $mt : 0;
 					$bookkeeping->credit = ($mt > 0) ? $mt : 0;
 					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
 					$bookkeeping->fk_user_author = $user->id;
 
 					$result = $bookkeeping->create($user);
@@ -233,6 +230,7 @@ if ($action == 'writebookkeeping') {
 						$bookkeeping->debit = ($mt > 0) ? $mt : 0;
 						$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
 						$bookkeeping->code_journal = $journal;
+						$bookkeeping->journal_label = $journal_label;
 						$bookkeeping->fk_user_author = $user->id;
 
 						$result = $bookkeeping->create($user);
@@ -277,6 +275,7 @@ if ($action == 'writebookkeeping') {
 					$bookkeeping->debit = ($mt > 0) ? $mt : 0;
 					$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
 					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
 					$bookkeeping->fk_user_author = $user->id;
 
 					$result = $bookkeeping->create($user);
@@ -444,7 +443,7 @@ if (empty($action) || $action == 'view') {
 
 	llxHeader('', $langs->trans("ExpenseReportsJournal"));
 
-	$nom = $langs->trans("ExpenseReportsJournal");
+	$nom = $langs->trans("ExpenseReportsJournal") . ' - ' . $accountingjournalstatic->getNomUrl(1);
 	$nomlink = '';
 	$periodlink = '';
 	$exportlink = '';
diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php
index a8dd976ba9e13991961360fa77ad8e5bf14507f2..3729860d29d34dc3e376a136a78db1f374091eff 100644
--- a/htdocs/accountancy/journal/purchasesjournal.php
+++ b/htdocs/accountancy/journal/purchasesjournal.php
@@ -1,11 +1,11 @@
 <?php
-/* Copyright (C) 2007-2010	Laurent Destailleur	<eldy@users.sourceforge.net>
- * Copyright (C) 2007-2010	Jean Heimburger		<jean@tiaris.info>
- * Copyright (C) 2011		Juanjo Menent		<jmenent@2byte.es>
- * Copyright (C) 2012		Regis Houssin		<regis@dolibarr.fr>
- * Copyright (C) 2013-2015  Alexandre Spangaro	<aspangaro.dolibarr@gmail.com>
+/* Copyright (C) 2007-2010  Laurent Destailleur	<eldy@users.sourceforge.net>
+ * Copyright (C) 2007-2010  Jean Heimburger		<jean@tiaris.info>
+ * Copyright (C) 2011       Juanjo Menent		<jmenent@2byte.es>
+ * Copyright (C) 2012       Regis Houssin		<regis@dolibarr.fr>
+ * Copyright (C) 2013-2015  Alexandre Spangaro	<aspangaro@zendsi.com>
  * Copyright (C) 2013-2016  Olivier Geffroy		<jeff@jeffinfo.com>
- * Copyright (C) 2013-2016  Florian Henry	    <florian.henry@open-concept.pro>
+ * Copyright (C) 2013-2016  Florian Henry		<florian.henry@open-concept.pro>
  *
  * 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
@@ -22,28 +22,29 @@
  */
 
 /**
- * \file htdocs/accountancy/journal/purchasesjournal.php
- * \ingroup Advanced accountancy
- * \brief Page with purchases journal
+ * \file		htdocs/accountancy/journal/purchasesjournal.php
+ * \ingroup		Advanced accountancy
+ * \brief		Page with purchases journal
  */
 require '../../main.inc.php';
-
-// Class
 require_once DOL_DOCUMENT_ROOT . '/core/lib/report.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
+require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingjournal.class.php';
+require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php';
 require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php';
 require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.class.php';
 require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
-require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php';
 
-// Langs
 $langs->load("compta");
 $langs->load("bills");
 $langs->load("other");
 $langs->load("main");
 $langs->load("accountancy");
 
+$id_journal = GETPOST('id_journal', 'int');
+$action = GETPOST('action','aZ09');
+
 $date_startmonth = GETPOST('date_startmonth');
 $date_startday = GETPOST('date_startday');
 $date_startyear = GETPOST('date_startyear');
@@ -57,13 +58,16 @@ $now = dol_now();
 if ($user->societe_id > 0)
 	accessforbidden();
 
-$action = GETPOST('action','aZ09');
-
-
 /*
  * Actions
  */
 
+// Get informations of journal
+$accountingjournalstatic = new AccountingJournal($db);
+$accountingjournalstatic->fetch($id_journal);
+$journal = $accountingjournalstatic->code;
+$journal_label = $accountingjournalstatic->label;
+
 $year_current = strftime("%Y", dol_now());
 $pastmonth = strftime("%m", dol_now()) - 1;
 $pastmonthyear = $year_current;
@@ -148,11 +152,11 @@ if ($result) {
 		$tabfac[$obj->rowid]["type"] = $obj->type;
 		$tabfac[$obj->rowid]["description"] = $obj->description;
 		//$tabfac[$obj->rowid]["fk_facturefourndet"] = $obj->fdid;
-		
-        // Avoid warnings
-        if (! isset($tabttc[$obj->rowid][$compta_soc])) $tabttc[$obj->rowid][$compta_soc] = 0;
-        if (! isset($tabht[$obj->rowid][$compta_prod])) $tabht[$obj->rowid][$compta_prod] = 0;
-        if (! isset($tabtva[$obj->rowid][$compta_tva])) $tabtva[$obj->rowid][$compta_tva] = 0;
+
+		// Avoid warnings
+		if (! isset($tabttc[$obj->rowid][$compta_soc])) $tabttc[$obj->rowid][$compta_soc] = 0;
+		if (! isset($tabht[$obj->rowid][$compta_prod])) $tabht[$obj->rowid][$compta_prod] = 0;
+		if (! isset($tabtva[$obj->rowid][$compta_tva])) $tabtva[$obj->rowid][$compta_tva] = 0;
 
 		$tabttc[$obj->rowid][$compta_soc] += $obj->total_ttc;
 		$tabht[$obj->rowid][$compta_prod] += $obj->total_ht;
@@ -177,10 +181,10 @@ if ($action == 'writebookkeeping') {
 
 	foreach ($tabfac as $key => $val)  // Loop on each invoice
 	{
-	    $errorforline = 0;
-	     
-	    $db->begin();
-	     
+		$errorforline = 0;
+
+		$db->begin();
+
 		$companystatic = new Societe($db);
 		$invoicestatic = new FactureFournisseur($db);
 
@@ -198,160 +202,161 @@ if ($action == 'writebookkeeping') {
 		$companystatic->code_fournisseur = $tabcompany[$key]['code_fournisseur'];
 		$companystatic->client = $tabcompany[$key]['code_client'];
 
-        if (! $errorforline)
-        {
-    		foreach ( $tabttc[$key] as $k => $mt ) {
-    			// get compte id and label
-    		    if ($mt) {
-        			$bookkeeping = new BookKeeping($db);
-        			$bookkeeping->doc_date = $val["date"];
-        			$bookkeeping->doc_ref = $val["ref"];
-        			$bookkeeping->date_create = $now;
-        			$bookkeeping->doc_type = 'supplier_invoice';
-        			$bookkeeping->fk_doc = $key;
-        			$bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
-        			$bookkeeping->code_tiers = $tabcompany[$key]['code_fournisseur'];
-        			$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("Code_tiers");
-        			$bookkeeping->numero_compte = $tabcompany[$key]['code_compta_fournisseur'];
-        			$bookkeeping->montant = $mt;
-        			$bookkeeping->sens = ($mt >= 0) ? 'C' : 'D';
-        			$bookkeeping->debit = ($mt <= 0) ? $mt : 0;
-        			$bookkeeping->credit = ($mt > 0) ? $mt : 0;
-        			$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
-        			$bookkeeping->fk_user_author = $user->id;
-        
-        			$result = $bookkeeping->create($user);
-           			if ($result < 0) {
-                        if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-                        {
-                            $error++;
-                            $errorforline++;
-                            //setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-                        }
-                        else
-                        {
-                            $error++;
-                            $errorforline++;
-                            setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-                        }
-        			}
-    		    }
-    		}
-        }
-        
+		if (! $errorforline)
+		{
+			foreach ( $tabttc[$key] as $k => $mt ) {
+				// get compte id and label
+				if ($mt) {
+					$bookkeeping = new BookKeeping($db);
+					$bookkeeping->doc_date = $val["date"];
+					$bookkeeping->doc_ref = $val["ref"];
+					$bookkeeping->date_create = $now;
+					$bookkeeping->doc_type = 'supplier_invoice';
+					$bookkeeping->fk_doc = $key;
+					$bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
+					$bookkeeping->code_tiers = $tabcompany[$key]['code_fournisseur'];
+					$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("Code_tiers");
+					$bookkeeping->numero_compte = $tabcompany[$key]['code_compta_fournisseur'];
+					$bookkeeping->montant = $mt;
+					$bookkeeping->sens = ($mt >= 0) ? 'C' : 'D';
+					$bookkeeping->debit = ($mt <= 0) ? $mt : 0;
+					$bookkeeping->credit = ($mt > 0) ? $mt : 0;
+					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
+					$bookkeeping->fk_user_author = $user->id;
+
+					$result = $bookkeeping->create($user);
+					if ($result < 0) {
+						if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+						{
+							$error++;
+							$errorforline++;
+							//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+						}
+						else
+						{
+							$error++;
+							$errorforline++;
+							setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+						}
+					}
+				}
+			}
+		}
+
 		// Product / Service
-        if (! $errorforline)
-        {
-            foreach ( $tabht[$key] as $k => $mt ) {
-    			$accountingaccount = new AccountingAccount($db);
-    			$accountingaccount->fetch(null, $k, true);
-    			if ($mt) {
-    				// get compte id and label
-    				$accountingaccount = new AccountingAccount($db);
-    				if ($accountingaccount->fetch(null, $k, true)) {
-    					$bookkeeping = new BookKeeping($db);
-    					$bookkeeping->doc_date = $val["date"];
-    					$bookkeeping->doc_ref = $val["ref"];
-    					$bookkeeping->date_create = $now;
-    					$bookkeeping->doc_type = 'supplier_invoice';
-    					$bookkeeping->fk_doc = $key;
-    					$bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
-    					$bookkeeping->code_tiers = '';
-    					$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $accountingaccount->label;
-    					$bookkeeping->numero_compte = $k;
-    					$bookkeeping->montant = $mt;
-    					$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
-    					$bookkeeping->debit = ($mt > 0) ? $mt : 0;
-    					$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
-    					$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
-    					$bookkeeping->fk_user_author = $user->id;
-    
-    					$result = $bookkeeping->create($user);
-    					if ($result < 0) {
-    					    if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-            			    {
-            			        $error++;
-            			        $errorforline++;
-            			        //setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-            			    }
-            			    else
-            			    {
-            			        $error++;
-            			        $errorforline++;
-            			        setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-            			    }
-    					}
-    				}
-    			}
-    		}
-        }
-        
+		if (! $errorforline)
+		{
+			foreach ( $tabht[$key] as $k => $mt ) {
+				$accountingaccount = new AccountingAccount($db);
+				$accountingaccount->fetch(null, $k, true);
+				if ($mt) {
+					// get compte id and label
+					$accountingaccount = new AccountingAccount($db);
+					if ($accountingaccount->fetch(null, $k, true)) {
+						$bookkeeping = new BookKeeping($db);
+						$bookkeeping->doc_date = $val["date"];
+						$bookkeeping->doc_ref = $val["ref"];
+						$bookkeeping->date_create = $now;
+						$bookkeeping->doc_type = 'supplier_invoice';
+						$bookkeeping->fk_doc = $key;
+						$bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
+						$bookkeeping->code_tiers = '';
+						$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $accountingaccount->label;
+						$bookkeeping->numero_compte = $k;
+						$bookkeeping->montant = $mt;
+						$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
+						$bookkeeping->debit = ($mt > 0) ? $mt : 0;
+						$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
+						$bookkeeping->code_journal = $journal;
+						$bookkeeping->journal_label = $journal_label;
+						$bookkeeping->fk_user_author = $user->id;
+
+						$result = $bookkeeping->create($user);
+						if ($result < 0) {
+							if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+							{
+								$error++;
+								$errorforline++;
+								//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+							}
+							else
+							{
+								$error++;
+								$errorforline++;
+								setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+							}
+						}
+					}
+				}
+			}
+		}
+
 		// VAT
 		// var_dump($tabtva);
-        if (! $errorforline)
-        {
-            foreach ( $tabtva[$key] as $k => $mt ) {
-    			if ($mt) {
-    				// get compte id and label
-    				$bookkeeping = new BookKeeping($db);
-    				$bookkeeping->doc_date = $val["date"];
-    				$bookkeeping->doc_ref = $val["ref"];
-    				$bookkeeping->date_create = $now;
-    				$bookkeeping->doc_type = 'supplier_invoice';
-    				$bookkeeping->fk_doc = $key;
-    				$bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
-    				$bookkeeping->code_tiers = '';
-    				$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("VAT"). ' '.$def_tva[$key];
-    				$bookkeeping->numero_compte = $k;
-    				$bookkeeping->montant = $mt;
-    				$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
-    				$bookkeeping->debit = ($mt > 0) ? $mt : 0;
-    				$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
-    				$bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL;
-    				$bookkeeping->fk_user_author = $user->id;
-    
-    				$result = $bookkeeping->create($user);
-    				if ($result < 0) {
-    				    if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-    				    {
-    				        $error++;
-    				        $errorforline++;
-    				        //setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-    				    }
-    				    else
-    				    {
-    				        $error++;
-    				        $errorforline++;
-    				        setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-    				    }
-    				}
-    			}
-    		}
-        }
+		if (! $errorforline)
+		{
+			foreach ( $tabtva[$key] as $k => $mt ) {
+				if ($mt) {
+					// get compte id and label
+					$bookkeeping = new BookKeeping($db);
+					$bookkeeping->doc_date = $val["date"];
+					$bookkeeping->doc_ref = $val["ref"];
+					$bookkeeping->date_create = $now;
+					$bookkeeping->doc_type = 'supplier_invoice';
+					$bookkeeping->fk_doc = $key;
+					$bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
+					$bookkeeping->code_tiers = '';
+					$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("VAT"). ' '.$def_tva[$key];
+					$bookkeeping->numero_compte = $k;
+					$bookkeeping->montant = $mt;
+					$bookkeeping->sens = ($mt < 0) ? 'C' : 'D';
+					$bookkeeping->debit = ($mt > 0) ? $mt : 0;
+					$bookkeeping->credit = ($mt <= 0) ? $mt : 0;
+					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
+					$bookkeeping->fk_user_author = $user->id;
+
+					$result = $bookkeeping->create($user);
+					if ($result < 0) {
+						if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+						{
+							$error++;
+							$errorforline++;
+							//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+						}
+						else
+						{
+							$error++;
+							$errorforline++;
+							setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+						}
+					}
+				}
+			}
+		}
 
 		if (! $errorforline)
 		{
-		    $db->commit();
+			$db->commit();
 		}
 		else
 		{
-		    $db->rollback();
+			$db->rollback();
 		}
-		
 	}
 
 	if (empty($error) && count($tabpay)) {
-	    setEventMessages($langs->trans("GeneralLedgerIsWritten"), null, 'mesgs');
+		setEventMessages($langs->trans("GeneralLedgerIsWritten"), null, 'mesgs');
 	}
 	elseif (count($tabpay) == $error)
 	{
-	    setEventMessages($langs->trans("NoNewRecordSaved"), null, 'warnings');
+		setEventMessages($langs->trans("NoNewRecordSaved"), null, 'warnings');
 	}
 	else
 	{
-	    setEventMessages($langs->trans("GeneralLedgerSomeRecordWasNotRecorded"), null, 'warnings');
+		setEventMessages($langs->trans("GeneralLedgerSomeRecordWasNotRecorded"), null, 'warnings');
 	}
-	
 	$action='';
 }
 
@@ -488,7 +493,7 @@ if (empty($action) || $action == 'view') {
 
 	llxHeader('', $langs->trans("PurchasesJournal"));
 
-	$nom = $langs->trans("PurchasesJournal");
+	$nom = $langs->trans("PurchasesJournal") . ' - ' . $accountingjournalstatic->getNomUrl(1);
 	$nomlink = '';
 	$periodlink = '';
 	$exportlink = '';
@@ -502,8 +507,10 @@ if (empty($action) || $action == 'view') {
 	}
 
 	$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
-	
-	journalHead($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''));
+
+	$varlink = 'id_journal=' . $id_journal;
+
+	journalHead($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
 
 	/*if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 && $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
 		print '<input type="button" class="butActionRefused" style="float: right;" value="' . $langs->trans("Export") . '" disabled="disabled" title="' . $langs->trans('ExportNotSupported') . '"/>';
@@ -511,21 +518,21 @@ if (empty($action) || $action == 'view') {
 		print '<input type="button" class="butAction" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
 	}*/
 
-    print '<div class="tabsAction">';
+	print '<div class="tabsAction">';
 	print '<input type="button" class="butAction" value="' . $langs->trans("WriteBookKeeping") . '" onclick="writebookkeeping();" />';
-    print '</div>';
-    
+	print '</div>';
+
 	print '
 	<script type="text/javascript">
 		function launch_export() {
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("export_csv");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("export_csv");
 			$("div.fiche div.tabBar form input[type=\"submit\"]").click();
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("");
 		}
 		function writebookkeeping() {
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("writebookkeeping");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("writebookkeeping");
 			$("div.fiche div.tabBar form input[type=\"submit\"]").click();
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("");
 		}
 	</script>';
 
@@ -537,7 +544,6 @@ if (empty($action) || $action == 'view') {
 	$i = 0;
 	print "<table class=\"noborder\" width=\"100%\">";
 	print "<tr class=\"liste_titre\">";
-	// /print "<td>".$langs->trans("JournalNum")."</td>";
 	print "<td></td>";
 	print "<td>" . $langs->trans("Date") . "</td>";
 	print "<td>" . $langs->trans("Piece") . ' (' . $langs->trans("InvoiceRef") . ")</td>";
@@ -574,12 +580,12 @@ if (empty($action) || $action == 'view') {
 				print "<td>" . $date . "</td>";
 				print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
 				print "<td>";
-    			$accountoshow = length_accountg($k);
-    			if (empty($accountoshow) || $accountoshow == 'NotDefined')
-    			{
-    			    print '<span class="error">'.$langs->trans("ProductAccountNotDefined").'</span>';
-    			}
-    			else print $accountoshow;
+				$accountoshow = length_accountg($k);
+				if (empty($accountoshow) || $accountoshow == 'NotDefined')
+				{
+					print '<span class="error">'.$langs->trans("ProductAccountNotDefined").'</span>';
+				}
+				else print $accountoshow;
 				print "</td>";
 				$companystatic->id = $tabcompany[$key]['id'];
 				$companystatic->name = $tabcompany[$key]['name'];
@@ -590,6 +596,7 @@ if (empty($action) || $action == 'view') {
 				print "</tr>";
 			}
 		}
+
 		// VAT
 		foreach ( $tabtva[$key] as $k => $mt ) {
 			if ($mt) {
@@ -598,12 +605,12 @@ if (empty($action) || $action == 'view') {
 				print "<td>" . $date . "</td>";
 				print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
 				print "<td>";
-    			$accountoshow = length_accountg($k);
-    			if (empty($accountoshow) || $accountoshow == 'NotDefined')
-    			{
-    			    print '<span class="error">'.$langs->trans("VatAccountNotDefined").'</span>';
-    			}
-    			else print $accountoshow;
+				$accountoshow = length_accountg($k);
+				if (empty($accountoshow) || $accountoshow == 'NotDefined')
+				{
+					print '<span class="error">'.$langs->trans("VatAccountNotDefined").'</span>';
+				}
+				else print $accountoshow;
 				print "</td>";
 				print "<td>" . $companystatic->getNomUrl(0, 'supplier', 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("VAT"). ' '.$def_tva[$key]. "</td>";
 				print '<td align="right">' . ($mt >= 0 ? price($mt) : '') . "</td>";
@@ -614,9 +621,9 @@ if (empty($action) || $action == 'view') {
 
 		// Third party
 		foreach ( $tabttc[$key] as $k => $mt ) {
-		    print '<tr class="oddeven">';
-		    print "<td><!-- Thirdparty --></td>";
-		    print "<td>" . $date . "</td>";
+			print '<tr class="oddeven">';
+			print "<td><!-- Thirdparty --></td>";
+			print "<td>" . $date . "</td>";
 			print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
 			$companystatic->id = $tabcompany[$key]['id'];
 			$companystatic->name = $tabcompany[$key]['name'];
@@ -624,10 +631,10 @@ if (empty($action) || $action == 'view') {
 			$accountoshow = length_accounta($k);
 			if (empty($accountoshow) || $accountoshow == 'NotDefined')
 			{
-			    print '<span class="error">'.$langs->trans("ThirdpartyAccountNotDefined").'</span>';
+				print '<span class="error">'.$langs->trans("ThirdpartyAccountNotDefined").'</span>';
 			}
 			else print $accountoshow;
-            print "</td>";
+			print "</td>";
 			print "<td>" . $companystatic->getNomUrl(0, 'supplier', 16) . ' - ' . $invoicestatic->refsupplier . ' - ' . $langs->trans("Code_tiers") . "</td>";
 			// print "</td><td>" . $langs->trans("ThirdParty");
 			// print ' (' . $companystatic->getNomUrl(0, 'supplier', 16) . ')';
diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php
index 85ce7361394f458f9c26493c1c60b1f18801e2c3..0d2e7ac19cc8cd91907e9674d1d11065f0c2f765 100644
--- a/htdocs/accountancy/journal/sellsjournal.php
+++ b/htdocs/accountancy/journal/sellsjournal.php
@@ -1,13 +1,13 @@
 <?php
-/* Copyright (C) 2007-2010	Laurent Destailleur		<eldy@users.sourceforge.net>
- * Copyright (C) 2007-2010	Jean Heimburger			<jean@tiaris.info>
- * Copyright (C) 2011		Juanjo Menent			<jmenent@2byte.es>
- * Copyright (C) 2012		Regis Houssin			<regis@dolibarr.fr>
- * Copyright (C) 2013		Christophe Battarel		<christophe.battarel@altairis.fr>
- * Copyright (C) 2013-2016	Alexandre Spangaro		<aspangaro.dolibarr@gmail.com>
- * Copyright (C) 2013-2016	Florian Henry			<florian.henry@open-concept.pro>
- * Copyright (C) 2013-2016	Olivier Geffroy			<jeff@jeffinfo.com>
- * Copyright (C) 2014		Raphaël Doursenaud		<rdoursenaud@gpcsolutions.fr>
+/* Copyright (C) 2007-2010  Laurent Destailleur		<eldy@users.sourceforge.net>
+ * Copyright (C) 2007-2010  Jean Heimburger			<jean@tiaris.info>
+ * Copyright (C) 2011	   Juanjo Menent			<jmenent@2byte.es>
+ * Copyright (C) 2012	   Regis Houssin			<regis@dolibarr.fr>
+ * Copyright (C) 2013	   Christophe Battarel		<christophe.battarel@altairis.fr>
+ * Copyright (C) 2013-2017  Alexandre Spangaro		<aspangaro@zendsi.com>
+ * Copyright (C) 2013-2016  Florian Henry			<florian.henry@open-concept.pro>
+ * Copyright (C) 2013-2016  Olivier Geffroy			<jeff@jeffinfo.com>
+ * Copyright (C) 2014	   Raphaël Doursenaud		<rdoursenaud@gpcsolutions.fr>
  *
  * 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
@@ -29,17 +29,15 @@
  * \brief		Page with sells journal
  */
 require '../../main.inc.php';
-
-// Class
 require_once DOL_DOCUMENT_ROOT . '/core/lib/report.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
 require_once DOL_DOCUMENT_ROOT . '/core/lib/accounting.lib.php';
+require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingjournal.class.php';
+require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php';
 require_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php';
 require_once DOL_DOCUMENT_ROOT . '/societe/class/client.class.php';
 require_once DOL_DOCUMENT_ROOT . '/accountancy/class/bookkeeping.class.php';
-require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingaccount.class.php';
 
-// Langs
 $langs->load("commercial");
 $langs->load("compta");
 $langs->load("bills");
@@ -47,6 +45,9 @@ $langs->load("other");
 $langs->load("main");
 $langs->load("accountancy");
 
+$id_journal = GETPOST('id_journal', 'int');
+$action = GETPOST('action','aZ09');
+
 $date_startmonth = GETPOST('date_startmonth');
 $date_startday = GETPOST('date_startday');
 $date_startyear = GETPOST('date_startyear');
@@ -60,19 +61,23 @@ $now = dol_now();
 if ($user->societe_id > 0)
 	accessforbidden();
 
-$action = GETPOST('action','aZ09');
-
 
 /*
  * Actions
  */
 
+// Get informations of journal
+$accountingjournalstatic = new AccountingJournal($db);
+$accountingjournalstatic->fetch($id_journal);
+$journal = $accountingjournalstatic->code;
+$journal_label = $accountingjournalstatic->label;
+
 $year_current = strftime("%Y", dol_now());
 $pastmonth = strftime("%m", dol_now()) - 1;
 $pastmonthyear = $year_current;
 if ($pastmonth == 0) {
-    $pastmonth = 12;
-    $pastmonthyear --;
+	$pastmonth = 12;
+	$pastmonthyear --;
 }
 
 $date_start = dol_mktime(0, 0, 0, $date_startmonth, $date_startday, $date_startyear);
@@ -80,8 +85,8 @@ $date_end = dol_mktime(23, 59, 59, $date_endmonth, $date_endday, $date_endyear);
 
 if (empty($date_start) || empty($date_end)) // We define date_start and date_end
 {
-    $date_start = dol_get_first_day($pastmonthyear, $pastmonth, false);
-    $date_end = dol_get_last_day($pastmonthyear, $pastmonth, false);
+	$date_start = dol_get_first_day($pastmonthyear, $pastmonth, false);
+	$date_end = dol_get_last_day($pastmonthyear, $pastmonth, false);
 }
 
 $p = explode(":", $conf->global->MAIN_INFO_SOCIETE_COUNTRY);
@@ -99,274 +104,277 @@ $sql .= " JOIN " . MAIN_DB_PREFIX . "facture as f ON f.rowid = fd.fk_facture";
 $sql .= " JOIN " . MAIN_DB_PREFIX . "societe as s ON s.rowid = f.fk_soc";
 $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "c_tva as ct ON fd.tva_tx = ct.taux AND ct.fk_pays = '" . $idpays . "'";
 $sql .= " WHERE fd.fk_code_ventilation > 0";
-$sql .= " AND f.entity IN (".getEntity('facture', 0).')';    // We don't share object for accountancy
+$sql .= " AND f.entity IN (".getEntity('facture', 0).')';	// We don't share object for accountancy
 $sql .= " AND f.fk_statut > 0"; // TODO Facture annulée ?
 if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
-    $sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_REPLACEMENT . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_SITUATION . ")";
+	$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_REPLACEMENT . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_SITUATION . ")";
 } else {
-    $sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_STANDARD . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_DEPOSIT . "," . Facture::TYPE_SITUATION . ")";
+	$sql .= " AND f.type IN (" . Facture::TYPE_STANDARD . "," . Facture::TYPE_STANDARD . "," . Facture::TYPE_CREDIT_NOTE . "," . Facture::TYPE_DEPOSIT . "," . Facture::TYPE_SITUATION . ")";
 }
 $sql .= " AND fd.product_type IN (0,1)";
 if ($date_start && $date_end)
-    $sql .= " AND f.datef >= '" . $db->idate($date_start) . "' AND f.datef <= '" . $db->idate($date_end) . "'";
+	$sql .= " AND f.datef >= '" . $db->idate($date_start) . "' AND f.datef <= '" . $db->idate($date_end) . "'";
 $sql .= " ORDER BY f.datef";
 
 dol_syslog('accountancy/journal/sellsjournal.php', LOG_DEBUG);
 $result = $db->query($sql);
 if ($result) {
-    $tabfac = array ();
-    $tabht = array ();
-    $tabtva = array ();
-    $def_tva = array ();
-    $tabttc = array ();
-    $tabcompany = array ();
-
-    $num = $db->num_rows($result);
-    $i = 0;
-
-    $cptcli = (! empty($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER)) ? $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER : $langs->trans("CodeNotDef");
-    
-    while ( $i < $num ) {
-        $obj = $db->fetch_object($result);
-        
-        // les variables
-        $compta_soc = (! empty($obj->code_compta)) ? $obj->code_compta : $cptcli;
-
-        $compta_prod = $obj->compte;
-        if (empty($compta_prod)) {
-            if ($obj->product_type == 0)
-                $compta_prod = (! empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT)) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT : $langs->trans("CodeNotDef");
-                else
-                    $compta_prod = (! empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT)) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : $langs->trans("CodeNotDef");
-        }
-        $cpttva = (! empty($conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT)) ? $conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT : $langs->trans("CodeNotDef");
-        $compta_tva = (! empty($obj->account_tva) ? $obj->account_tva : $cpttva);
-
-
-        //Define array for display vat tx
-        $def_tva[$obj->rowid]=price($obj->tva_tx);
-
-        // Situation invoices handling
-        $line = new FactureLigne($db);
-        $line->fetch($obj->fdid);
-        $prev_progress = $line->get_prev_progress($obj->fdid);
-        if ($obj->type == Facture::TYPE_SITUATION) {
-            // Avoid divide by 0
-            if ($obj->situation_percent == 0) {
-                $situation_ratio = 0;
-            } else {
-                $situation_ratio = ($obj->situation_percent - $prev_progress) / $obj->situation_percent;
-            }
-        } else {
-            $situation_ratio = 1;
-        }
-
-        // Invoice lines
-        $tabfac[$obj->rowid]["date"] = $db->jdate($obj->df);
-        $tabfac[$obj->rowid]["ref"] = $obj->facnumber;
-        $tabfac[$obj->rowid]["type"] = $obj->type;
-        $tabfac[$obj->rowid]["description"] = $obj->label_compte;
-        //$tabfac[$obj->rowid]["fk_facturedet"] = $obj->fdid;
-       
-        // Avoid warnings
-        if (! isset($tabttc[$obj->rowid][$compta_soc])) $tabttc[$obj->rowid][$compta_soc] = 0;
-        if (! isset($tabht[$obj->rowid][$compta_prod])) $tabht[$obj->rowid][$compta_prod] = 0;
-        if (! isset($tabtva[$obj->rowid][$compta_tva])) $tabtva[$obj->rowid][$compta_tva] = 0;
-
-        $tabttc[$obj->rowid][$compta_soc] += $obj->total_ttc * $situation_ratio;
-        $tabht[$obj->rowid][$compta_prod] += $obj->total_ht * $situation_ratio;
-        $tabtva[$obj->rowid][$compta_tva] += $obj->total_tva * $situation_ratio;
-        $tabcompany[$obj->rowid] = array (
-            'id' => $obj->socid,
-            'name' => $obj->name,
-            'code_client' => $obj->code_client,
-            'code_compta' => $compta_soc
-        );
-
-        $i ++;
-    }
+	$tabfac = array ();
+	$tabht = array ();
+	$tabtva = array ();
+	$def_tva = array ();
+	$tabttc = array ();
+	$tabcompany = array ();
+
+	$num = $db->num_rows($result);
+	$i = 0;
+
+	$cptcli = (! empty($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER)) ? $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER : $langs->trans("CodeNotDef");
+
+	while ( $i < $num ) {
+		$obj = $db->fetch_object($result);
+
+		// les variables
+		$compta_soc = (! empty($obj->code_compta)) ? $obj->code_compta : $cptcli;
+
+		$compta_prod = $obj->compte;
+		if (empty($compta_prod)) {
+			if ($obj->product_type == 0)
+				$compta_prod = (! empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT)) ? $conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT : $langs->trans("CodeNotDef");
+				else
+					$compta_prod = (! empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT)) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : $langs->trans("CodeNotDef");
+		}
+		$cpttva = (! empty($conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT)) ? $conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT : $langs->trans("CodeNotDef");
+		$compta_tva = (! empty($obj->account_tva) ? $obj->account_tva : $cpttva);
+
+
+		//Define array for display vat tx
+		$def_tva[$obj->rowid]=price($obj->tva_tx);
+
+		// Situation invoices handling
+		$line = new FactureLigne($db);
+		$line->fetch($obj->fdid);
+		$prev_progress = $line->get_prev_progress($obj->fdid);
+		if ($obj->type == Facture::TYPE_SITUATION) {
+			// Avoid divide by 0
+			if ($obj->situation_percent == 0) {
+				$situation_ratio = 0;
+			} else {
+				$situation_ratio = ($obj->situation_percent - $prev_progress) / $obj->situation_percent;
+			}
+		} else {
+			$situation_ratio = 1;
+		}
+
+		// Invoice lines
+		$tabfac[$obj->rowid]["date"] = $db->jdate($obj->df);
+		$tabfac[$obj->rowid]["ref"] = $obj->facnumber;
+		$tabfac[$obj->rowid]["type"] = $obj->type;
+		$tabfac[$obj->rowid]["description"] = $obj->label_compte;
+		//$tabfac[$obj->rowid]["fk_facturedet"] = $obj->fdid;
+
+		// Avoid warnings
+		if (! isset($tabttc[$obj->rowid][$compta_soc])) $tabttc[$obj->rowid][$compta_soc] = 0;
+		if (! isset($tabht[$obj->rowid][$compta_prod])) $tabht[$obj->rowid][$compta_prod] = 0;
+		if (! isset($tabtva[$obj->rowid][$compta_tva])) $tabtva[$obj->rowid][$compta_tva] = 0;
+
+		$tabttc[$obj->rowid][$compta_soc] += $obj->total_ttc * $situation_ratio;
+		$tabht[$obj->rowid][$compta_prod] += $obj->total_ht * $situation_ratio;
+		$tabtva[$obj->rowid][$compta_tva] += $obj->total_tva * $situation_ratio;
+		$tabcompany[$obj->rowid] = array (
+			'id' => $obj->socid,
+			'name' => $obj->name,
+			'code_client' => $obj->code_client,
+			'code_compta' => $compta_soc
+		);
+
+		$i ++;
+	}
 } else {
-    dol_print_error($db);
+	dol_print_error($db);
 }
 
 // Bookkeeping Write
 if ($action == 'writebookkeeping') {
-    $now = dol_now();
-    $error = 0;
+	$now = dol_now();
+	$error = 0;
+
+	foreach ( $tabfac as $key => $val ) {   // Loop on each invoice
 
-    foreach ( $tabfac as $key => $val ) {   // Loop on each invoice
-         
-        $errorforline = 0;
+		$errorforline = 0;
 
-        $db->begin();
+		$db->begin();
 
-        $companystatic = new Societe($db);
-        $invoicestatic = new Facture($db);
+		$companystatic = new Societe($db);
+		$invoicestatic = new Facture($db);
 
-        $companystatic->id = $tabcompany[$key]['id'];
-        $companystatic->name = $tabcompany[$key]['name'];
+		$companystatic->id = $tabcompany[$key]['id'];
+		$companystatic->name = $tabcompany[$key]['name'];
 		$companystatic->code_compta = $tabcompany[$key]['code_compta'];
 		$companystatic->code_compta_fournisseur = $tabcompany[$key]['code_compta_fournisseur'];
 		$companystatic->code_client = $tabcompany[$key]['code_client'];
 		$companystatic->code_fournisseur = $tabcompany[$key]['code_fournisseur'];
-        $companystatic->client = $tabcompany[$key]['code_client'];
-
-        $invoicestatic->id = $key;
-        $invoicestatic->ref = (string) $val["ref"];
-
-        // Thirdparty
-        if (! $errorforline)
-        {
-            foreach ( $tabttc[$key] as $k => $mt ) {
-                if ($mt) {
-                    $bookkeeping = new BookKeeping($db);
-                    $bookkeeping->doc_date = $val["date"];
-                    $bookkeeping->doc_ref = $val["ref"];
-                    $bookkeeping->date_create = $now;
-                    $bookkeeping->doc_type = 'customer_invoice';
-                    $bookkeeping->fk_doc = $key;
-                    $bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
-                    $bookkeeping->code_tiers = $tabcompany[$key]['code_client'];
-                    $bookkeeping->numero_compte = $tabcompany[$key]['code_compta'];
-                    // $bookkeeping->label_compte = $tabcompany[$key]['name'];
-                    $bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers");
-                    $bookkeeping->montant = $mt;
-                    $bookkeeping->sens = ($mt >= 0) ? 'D' : 'C';
-                    $bookkeeping->debit = ($mt >= 0) ? $mt : 0;
-                    $bookkeeping->credit = ($mt < 0) ? $mt : 0;
-                    $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
-                    $bookkeeping->fk_user_author = $user->id;
-    
-                    $result = $bookkeeping->create($user);
-           			if ($result < 0) {
-                        if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-                        {
-                            $error++;
-                            $errorforline++;
-                            //setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-                        }
-                        else
-                        {
-                            $error++;
-                            $errorforline++;
-                            setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-                        }
-        			}
-                }
-            }
-        }
-        
-        // Product / Service
-        if (! $errorforline)
-        {
-            foreach ( $tabht[$key] as $k => $mt ) {
-                if ($mt) {
-                    // get compte id and label
-                    $accountingaccount = new AccountingAccount($db);
-                    if ($accountingaccount->fetch(null, $k, true)) {
-                        $bookkeeping = new BookKeeping($db);
-                        $bookkeeping->doc_date = $val["date"];
-                        $bookkeeping->doc_ref = $val["ref"];
-                        $bookkeeping->date_create = $now;
-                        $bookkeeping->doc_type = 'customer_invoice';
-                        $bookkeeping->fk_doc = $key;
-                        $bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add;
-                        $bookkeeping->code_tiers = '';
-                        $bookkeeping->numero_compte = $k;
-                        $bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount->label;
-                        $bookkeeping->montant = $mt;
-                        $bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
-                        $bookkeeping->debit = ($mt < 0) ? $mt : 0;
-                        $bookkeeping->credit = ($mt >= 0) ? $mt : 0;
-                        $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
-                        $bookkeeping->fk_user_author = $user->id;
-    
-                        $result = $bookkeeping->create($user);
-            			if ($result < 0) {
-                            if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-                            {
-                                $error++;
-                                $errorforline++;
-                                //setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-                            }
-                            else
-                            {
-                                $error++;
-                                $errorforline++;
-                                setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-                            }
-            			}                        
-                    }
-                }
-            }
-        }
-        
-        // VAT
-        // var_dump($tabtva);
-        if (! $errorforline)
-        {
-            foreach ( $tabtva[$key] as $k => $mt ) {
-                if ($mt) {
-                    $bookkeeping = new BookKeeping($db);
-                    $bookkeeping->doc_date = $val["date"];
-                    $bookkeeping->doc_ref = $val["ref"];
-                    $bookkeeping->date_create = $now;
-                    $bookkeeping->doc_type = 'customer_invoice';
-                    $bookkeeping->fk_doc = $key;
-                    $bookkeeping->fk_docdet = 0;    // Useless, can be several lines that are source of this record to add
-                    $bookkeeping->code_tiers = '';
-                    $bookkeeping->numero_compte = $k;
-                    $bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT").' '.$def_tva[$key];
-                    $bookkeeping->montant = $mt;
-                    $bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
-                    $bookkeeping->debit = ($mt < 0) ? $mt : 0;
-                    $bookkeeping->credit = ($mt >= 0) ? $mt : 0;
-                    $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
-                    $bookkeeping->fk_user_author = $user->id;
-    
-                    $result = $bookkeeping->create($user);
-                    if ($result < 0) {
-           			    if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
-        			    {
-        			        $error++;
-        			        $errorforline++;
-        			        //setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
-        			    }
-        			    else
-        			    {
-        			        $error++;
-        			        $errorforline++;
-        			        setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
-        			    }
-                    }
-                }
-            }
-        }
-
-        if (! $errorforline)
-        {
-            $db->commit();
-        }
-        else
-        {
-            $db->rollback();
-        }
-
-    }
-
-    if (empty($error) && count($tabpay) > 0) {
-        setEventMessages($langs->trans("GeneralLedgerIsWritten"), null, 'mesgs');
-    }
-    elseif (count($tabpay) == $error)
-    {
-        setEventMessages($langs->trans("NoNewRecordSaved"), null, 'warnings');
-    }
-    else
-    {
-        setEventMessages($langs->trans("GeneralLedgerSomeRecordWasNotRecorded"), null, 'warnings');
-    }
-    
-    $action='';
+		$companystatic->client = $tabcompany[$key]['code_client'];
+
+		$invoicestatic->id = $key;
+		$invoicestatic->ref = (string) $val["ref"];
+
+		// Thirdparty
+		if (! $errorforline)
+		{
+			foreach ( $tabttc[$key] as $k => $mt ) {
+				if ($mt) {
+					$bookkeeping = new BookKeeping($db);
+					$bookkeeping->doc_date = $val["date"];
+					$bookkeeping->doc_ref = $val["ref"];
+					$bookkeeping->date_create = $now;
+					$bookkeeping->doc_type = 'customer_invoice';
+					$bookkeeping->fk_doc = $key;
+					$bookkeeping->fk_docdet = 0;	// Useless, can be several lines that are source of this record to add
+					$bookkeeping->code_tiers = $tabcompany[$key]['code_client'];
+					$bookkeeping->numero_compte = $tabcompany[$key]['code_compta'];
+					// $bookkeeping->label_compte = $tabcompany[$key]['name'];
+					$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers");
+					$bookkeeping->montant = $mt;
+					$bookkeeping->sens = ($mt >= 0) ? 'D' : 'C';
+					$bookkeeping->debit = ($mt >= 0) ? $mt : 0;
+					$bookkeeping->credit = ($mt < 0) ? $mt : 0;
+					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
+					$bookkeeping->fk_user_author = $user->id;
+
+					$result = $bookkeeping->create($user);
+					if ($result < 0) {
+						if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+						{
+							$error++;
+							$errorforline++;
+							//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+						}
+						else
+						{
+							$error++;
+							$errorforline++;
+							setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+						}
+					}
+				}
+			}
+		}
+
+		// Product / Service
+		if (! $errorforline)
+		{
+			foreach ( $tabht[$key] as $k => $mt ) {
+				if ($mt) {
+					// get compte id and label
+					$accountingaccount = new AccountingAccount($db);
+					if ($accountingaccount->fetch(null, $k, true)) {
+						$bookkeeping = new BookKeeping($db);
+						$bookkeeping->doc_date = $val["date"];
+						$bookkeeping->doc_ref = $val["ref"];
+						$bookkeeping->date_create = $now;
+						$bookkeeping->doc_type = 'customer_invoice';
+						$bookkeeping->fk_doc = $key;
+						$bookkeeping->fk_docdet = 0;	// Useless, can be several lines that are source of this record to add;
+						$bookkeeping->code_tiers = '';
+						$bookkeeping->numero_compte = $k;
+						$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount->label;
+						$bookkeeping->montant = $mt;
+						$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
+						$bookkeeping->debit = ($mt < 0) ? $mt : 0;
+						$bookkeeping->credit = ($mt >= 0) ? $mt : 0;
+						$bookkeeping->code_journal = $journal;
+						$bookkeeping->journal_label = $journal_label;
+						$bookkeeping->fk_user_author = $user->id;
+
+						$result = $bookkeeping->create($user);
+						if ($result < 0) {
+							if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+							{
+								$error++;
+								$errorforline++;
+								//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+							}
+							else
+							{
+								$error++;
+								$errorforline++;
+								setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+							}
+						}
+					}
+				}
+			}
+		}
+
+		// VAT
+		// var_dump($tabtva);
+		if (! $errorforline)
+		{
+			foreach ( $tabtva[$key] as $k => $mt ) {
+				if ($mt) {
+					$bookkeeping = new BookKeeping($db);
+					$bookkeeping->doc_date = $val["date"];
+					$bookkeeping->doc_ref = $val["ref"];
+					$bookkeeping->date_create = $now;
+					$bookkeeping->doc_type = 'customer_invoice';
+					$bookkeeping->fk_doc = $key;
+					$bookkeeping->fk_docdet = 0;	// Useless, can be several lines that are source of this record to add
+					$bookkeeping->code_tiers = '';
+					$bookkeeping->numero_compte = $k;
+					$bookkeeping->label_compte = dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT").' '.$def_tva[$key];
+					$bookkeeping->montant = $mt;
+					$bookkeeping->sens = ($mt < 0) ? 'D' : 'C';
+					$bookkeeping->debit = ($mt < 0) ? $mt : 0;
+					$bookkeeping->credit = ($mt >= 0) ? $mt : 0;
+					$bookkeeping->code_journal = $journal;
+					$bookkeeping->journal_label = $journal_label;
+					$bookkeeping->fk_user_author = $user->id;
+
+					$result = $bookkeeping->create($user);
+					if ($result < 0) {
+		   				if ($bookkeeping->error == 'BookkeepingRecordAlreadyExists')	// Already exists
+						{
+							$error++;
+							$errorforline++;
+							//setEventMessages('Transaction for ('.$bookkeeping->doc_type.', '.$bookkeeping->doc_ref.', '.$bookkeeping->fk_docdet.') were already recorded', null, 'warnings');
+						}
+						else
+						{
+							$error++;
+							$errorforline++;
+							setEventMessages($bookkeeping->error, $bookkeeping->errors, 'errors');
+						}
+					}
+				}
+			}
+		}
+
+		if (! $errorforline)
+		{
+			$db->commit();
+		}
+		else
+		{
+			$db->rollback();
+		}
+
+	}
+
+	if (empty($error) && count($tabpay) > 0) {
+		setEventMessages($langs->trans("GeneralLedgerIsWritten"), null, 'mesgs');
+	}
+	elseif (count($tabpay) == $error)
+	{
+		setEventMessages($langs->trans("NoNewRecordSaved"), null, 'warnings');
+	}
+	else
+	{
+		setEventMessages($langs->trans("GeneralLedgerSomeRecordWasNotRecorded"), null, 'warnings');
+	}
+	
+	$action='';
 }
 
 
@@ -380,123 +388,123 @@ $form = new Form($db);
 // Export
 /*if ($action == 'export_csv') {
 
-    $sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
-    $sell_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
-
-    include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
-
-    $companystatic = new Client($db);
-
-    // Model Cegid Expert Export
-    if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) {
-        $sep = ";";
-
-        foreach ( $tabfac as $key => $val ) {
-            $companystatic->id = $tabcompany[$key]['id'];
-            $companystatic->name = $tabcompany[$key]['name'];
-            $companystatic->client = $tabcompany[$key]['code_client'];
-
-            $invoicestatic->id = $key;
-            $invoicestatic->ref = $val["ref"];
-
-            $date = dol_print_date($val["date"], '%d%m%Y');
-
-            foreach ( $tabttc[$key] as $k => $mt ) {
-                print $date . $sep;
-                print $sell_journal . $sep;
-                print length_accountg($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER) . $sep;
-                print length_accounta(html_entity_decode($k)) . $sep;
-                print ($mt < 0 ? 'C' : 'D') . $sep;
-                print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
-                print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . $sep;
-                print $val["ref"];
-                print "\n";
-            }
-
-            // Product / Service
-            foreach ( $tabht[$key] as $k => $mt ) {
-                $accountingaccount_static = new AccountingAccount($db);
-                if ($accountingaccount_static->fetch(null, $k, true)) {
-                    print $date . $sep;
-                    print $sell_journal . $sep;
-                    print length_accountg(html_entity_decode($k)) . $sep;
-                    print $sep;
-                    print ($mt < 0 ? 'D' : 'C') . $sep;
-                    print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
-                    print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount_static->label . $sep;
-                    print $val["ref"];
-                    print "\n";
-                }
-            }
-
-            // TVA
-            foreach ( $tabtva[$key] as $k => $mt ) {
-                if ($mt) {
-                    print $date . $sep;
-                    print $sell_journal . $sep;
-                    print length_accountg(html_entity_decode($k)) . $sep;
-                    print $sep;
-                    print ($mt < 0 ? 'D' : 'C') . $sep;
-                    print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
-                    print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . $sep;
-                    // print $langs->trans("VAT") . $sep;
-                    print $val["ref"];
-                    print "\n";
-                }
-            }
-        }
-    } elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 1) {
-        // Model Classic Export
-        foreach ( $tabfac as $key => $val ) {
-            $companystatic->id = $tabcompany[$key]['id'];
-            $companystatic->name = $tabcompany[$key]['name'];
-            $companystatic->client = $tabcompany[$key]['code_client'];
-
-            $invoicestatic->id = $key;
-            $invoicestatic->ref = $val["ref"];
-
-            $date = dol_print_date($val["date"], 'day');
-
-            foreach ( $tabttc[$key] as $k => $mt ) {
-                print '"' . $date . '"' . $sep;
-                print '"' . $val["ref"] . '"' . $sep;
-                print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
-                print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
-                print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
-                print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
-                print "\n";
-            }
-
-            // Product / Service
-            foreach ( $tabht[$key] as $k => $mt ) {
-                $accountingaccount = new AccountingAccount($db);
-                $accountingaccount->fetch(null, $k, true);
-
-                if ($mt) {
-                    print '"' . $date . '"' . $sep;
-                    print '"' . $val["ref"] . '"' . $sep;
-                    print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
-                    print '"' . dol_trunc($companystatic->name, 16) . ' - ' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
-                    print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
-                    print '"' . ($mt >= 0 ? price($mt) : '') . '"';
-                    print "\n";
-                }
-            }
-
-            // VAT
-            foreach ( $tabtva[$key] as $k => $mt ) {
-                if ($mt) {
-                    print '"' . $date . '"' . $sep;
-                    print '"' . $val["ref"] . '"' . $sep;
-                    print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
-                    print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . '"' . $sep;
-                    print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
-                    print '"' . ($mt >= 0 ? price($mt) : '') . '"';
-                    print "\n";
-                }
-            }
-        }
-    }
+	$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
+	$sell_journal = $conf->global->ACCOUNTING_SELL_JOURNAL;
+
+	include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
+
+	$companystatic = new Client($db);
+
+	// Model Cegid Expert Export
+	if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) {
+		$sep = ";";
+
+		foreach ( $tabfac as $key => $val ) {
+			$companystatic->id = $tabcompany[$key]['id'];
+			$companystatic->name = $tabcompany[$key]['name'];
+			$companystatic->client = $tabcompany[$key]['code_client'];
+
+			$invoicestatic->id = $key;
+			$invoicestatic->ref = $val["ref"];
+
+			$date = dol_print_date($val["date"], '%d%m%Y');
+
+			foreach ( $tabttc[$key] as $k => $mt ) {
+				print $date . $sep;
+				print $sell_journal . $sep;
+				print length_accountg($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER) . $sep;
+				print length_accounta(html_entity_decode($k)) . $sep;
+				print ($mt < 0 ? 'C' : 'D') . $sep;
+				print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
+				print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . $sep;
+				print $val["ref"];
+				print "\n";
+			}
+
+			// Product / Service
+			foreach ( $tabht[$key] as $k => $mt ) {
+				$accountingaccount_static = new AccountingAccount($db);
+				if ($accountingaccount_static->fetch(null, $k, true)) {
+					print $date . $sep;
+					print $sell_journal . $sep;
+					print length_accountg(html_entity_decode($k)) . $sep;
+					print $sep;
+					print ($mt < 0 ? 'D' : 'C') . $sep;
+					print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
+					print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount_static->label . $sep;
+					print $val["ref"];
+					print "\n";
+				}
+			}
+
+			// TVA
+			foreach ( $tabtva[$key] as $k => $mt ) {
+				if ($mt) {
+					print $date . $sep;
+					print $sell_journal . $sep;
+					print length_accountg(html_entity_decode($k)) . $sep;
+					print $sep;
+					print ($mt < 0 ? 'D' : 'C') . $sep;
+					print ($mt <= 0 ? price(- $mt) : $mt) . $sep;
+					print dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . $sep;
+					// print $langs->trans("VAT") . $sep;
+					print $val["ref"];
+					print "\n";
+				}
+			}
+		}
+	} elseif ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 1) {
+		// Model Classic Export
+		foreach ( $tabfac as $key => $val ) {
+			$companystatic->id = $tabcompany[$key]['id'];
+			$companystatic->name = $tabcompany[$key]['name'];
+			$companystatic->client = $tabcompany[$key]['code_client'];
+
+			$invoicestatic->id = $key;
+			$invoicestatic->ref = $val["ref"];
+
+			$date = dol_print_date($val["date"], 'day');
+
+			foreach ( $tabttc[$key] as $k => $mt ) {
+				print '"' . $date . '"' . $sep;
+				print '"' . $val["ref"] . '"' . $sep;
+				print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep;
+				print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . '"' . $sep;
+				print '"' . ($mt >= 0 ? price($mt) : '') . '"' . $sep;
+				print '"' . ($mt < 0 ? price(- $mt) : '') . '"';
+				print "\n";
+			}
+
+			// Product / Service
+			foreach ( $tabht[$key] as $k => $mt ) {
+				$accountingaccount = new AccountingAccount($db);
+				$accountingaccount->fetch(null, $k, true);
+
+				if ($mt) {
+					print '"' . $date . '"' . $sep;
+					print '"' . $val["ref"] . '"' . $sep;
+					print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
+					print '"' . dol_trunc($companystatic->name, 16) . ' - ' . dol_trunc($accountingaccount->label, 32) . '"' . $sep;
+					print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
+					print '"' . ($mt >= 0 ? price($mt) : '') . '"';
+					print "\n";
+				}
+			}
+
+			// VAT
+			foreach ( $tabtva[$key] as $k => $mt ) {
+				if ($mt) {
+					print '"' . $date . '"' . $sep;
+					print '"' . $val["ref"] . '"' . $sep;
+					print '"' . length_accountg(html_entity_decode($k)) . '"' . $sep;
+					print '"' . dol_trunc($companystatic->name, 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . '"' . $sep;
+					print '"' . ($mt < 0 ? price(- $mt) : '') . '"' . $sep;
+					print '"' . ($mt >= 0 ? price($mt) : '') . '"';
+					print "\n";
+				}
+			}
+		}
+	}
 }
 */
 
@@ -505,7 +513,7 @@ if (empty($action) || $action == 'view') {
 
 	llxHeader('', $langs->trans("SellsJournal"));
 
-	$nom = $langs->trans("SellsJournal");
+	$nom = $langs->trans("SellsJournal") . ' - ' . $accountingjournalstatic->getNomUrl(1);
 	$nomlink = '';
 	$periodlink = '';
 	$exportlink = '';
@@ -517,29 +525,31 @@ if (empty($action) || $action == 'view') {
 	else
 		$description .= $langs->trans("DepositsAreIncluded");
 	$period = $form->select_date($date_start, 'date_start', 0, 0, 0, '', 1, 0, 1) . ' - ' . $form->select_date($date_end, 'date_end', 0, 0, 0, '', 1, 0, 1);
-	
-	journalHead($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''));
+
+	$varlink = 'id_journal=' . $id_journal;
+
+	journalHead($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
 
 	/*if ($conf->global->ACCOUNTING_EXPORT_MODELCSV != 1 && $conf->global->ACCOUNTING_EXPORT_MODELCSV != 2) {
 		print '<input type="button" class="butActionRefused" style="float: right;" value="' . $langs->trans("Export") . '" disabled="disabled" title="' . $langs->trans('ExportNotSupported') . '"/>';
 	} else {
 		print '<input type="button" class="butAction" style="float: right;" value="' . $langs->trans("Export") . '" onclick="launch_export();" />';
 	}*/
-    print '<div class="tabsAction">';
+	print '<div class="tabsAction">';
 	print '<input type="button" class="butAction" value="' . $langs->trans("WriteBookKeeping") . '" onclick="writebookkeeping();" />';
-    print '</div>';
-    
+	print '</div>';
+
 	print '
 	<script type="text/javascript">
 		function launch_export() {
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("export_csv");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("export_csv");
 			$("div.fiche div.tabBar form input[type=\"submit\"]").click();
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("");
 		}
 		function writebookkeeping() {
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("writebookkeeping");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("writebookkeeping");
 			$("div.fiche div.tabBar form input[type=\"submit\"]").click();
-		    $("div.fiche div.tabBar form input[name=\"action\"]").val("");
+			$("div.fiche div.tabBar form input[name=\"action\"]").val("");
 		}
 	</script>';
 
@@ -586,7 +596,7 @@ if (empty($action) || $action == 'view') {
 			$accountoshow = length_accounta($k);
 			if (empty($accountoshow) || $accountoshow == 'NotDefined')
 			{
-			    print '<span class="error">'.$langs->trans("ThirdpartyAccountNotDefined").'</span>';
+				print '<span class="error">'.$langs->trans("ThirdpartyAccountNotDefined").'</span>';
 			}
 			else print $accountoshow;
 			// print "</td><td>" . $langs->trans("ThirdParty");
@@ -595,7 +605,7 @@ if (empty($action) || $action == 'view') {
 			print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("Code_tiers") . "</td>";
 			print "<td align='right'>" . ($mt >= 0 ? price($mt) : '') . "</td>";
 			print "<td align='right'>" . ($mt < 0 ? price(- $mt) : '') . "</td>";
-		    print "</tr>";
+			print "</tr>";
 		}
 
 		// Product / Service
@@ -609,12 +619,12 @@ if (empty($action) || $action == 'view') {
 				print "<td>" . $date . "</td>";
 				print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
 				print "<td>";
-    			$accountoshow = length_accountg($k);
-    			if (empty($accountoshow) || $accountoshow == 'NotDefined')
-    			{
-    			    print '<span class="error">'.$langs->trans("ProductNotDefined").'</span>';
-    			}
-    			else print $accountoshow;
+				$accountoshow = length_accountg($k);
+				if (empty($accountoshow) || $accountoshow == 'NotDefined')
+				{
+					print '<span class="error">'.$langs->trans("ProductNotDefined").'</span>';
+				}
+				else print $accountoshow;
 				print "</td>";
 				// print "<td>" . $accountingaccount->label . "</td>";
 				print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref . ' - ' . $accountingaccount->label . "</td>";
@@ -632,12 +642,12 @@ if (empty($action) || $action == 'view') {
 				print "<td>" . $date . "</td>";
 				print "<td>" . $invoicestatic->getNomUrl(1) . "</td>";
 				print "<td>";
-    			$accountoshow = length_accountg($k);
-    			if (empty($accountoshow) || $accountoshow == 'NotDefined')
-    			{
-    			    print '<span class="error">'.$langs->trans("VATAccountNotDefined").'</span>';
-    			}
-    			else print $accountoshow;
+				$accountoshow = length_accountg($k);
+				if (empty($accountoshow) || $accountoshow == 'NotDefined')
+				{
+					print '<span class="error">'.$langs->trans("VATAccountNotDefined").'</span>';
+				}
+				else print $accountoshow;
 				print "</td>";
 				print "<td>" . $companystatic->getNomUrl(0, 'customer', 16) . ' - ' . $invoicestatic->ref . ' - ' . $langs->trans("VAT") . ' '.$def_tva[$key]. "</td>";
 				// print "<td>" . $langs->trans("VAT") . "</td>";