Add possibility to propose last num releve in conciliation

This commit is contained in:
GUERRIER Kevin 2017-07-29 14:21:58 +02:00
parent 6253986ae5
commit ded6b40489
4 changed files with 231 additions and 152 deletions

View File

@ -1,4 +1,5 @@
<?php <?php
/* Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013-2014 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2013-2014 Philippe Grand <philippe.grand@atoo-net.com>
@ -21,15 +22,14 @@
/** /**
* \file htdocs/admin/bank.php * \file htdocs/admin/bank.php
* \ingroup bank * \ingroup bank
* \brief Page to setup the bank module * \brief Page to setup the bank module
*/ */
require '../main.inc.php'; require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/bank.lib.php';
require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php';
require_once DOL_DOCUMENT_ROOT.'/societe/class/companybankaccount.class.php'; require_once DOL_DOCUMENT_ROOT . '/societe/class/companybankaccount.class.php';
$langs->load("admin"); $langs->load("admin");
$langs->load("companies"); $langs->load("companies");
@ -38,12 +38,12 @@ $langs->load("other");
$langs->load("banks"); $langs->load("banks");
if (!$user->admin) if (!$user->admin)
accessforbidden(); accessforbidden();
$action = GETPOST('action','alpha'); $action = GETPOST('action', 'alpha');
$value = GETPOST('value','alpha'); $value = GETPOST('value', 'alpha');
$label = GETPOST('label','alpha'); $label = GETPOST('label', 'alpha');
$scandir = GETPOST('scandir','alpha'); $scandir = GETPOST('scandir', 'alpha');
$type = 'bankaccount'; $type = 'bankaccount';
@ -52,91 +52,101 @@ $type = 'bankaccount';
*/ */
//Order display of bank account //Order display of bank account
if ($action == 'setbankorder') if ($action == 'setbankorder') {
{ if (dolibarr_set_const($db, "BANK_SHOW_ORDER_OPTION",
if (dolibarr_set_const($db, "BANK_SHOW_ORDER_OPTION",GETPOST('value','alpha'),'chaine',0,'',$conf->entity) > 0) GETPOST('value', 'alpha'), 'chaine', 0, '', $conf->entity) > 0) {
{ header("Location: " . $_SERVER["PHP_SELF"]);
header("Location: ".$_SERVER["PHP_SELF"]); exit;
exit; }
} else {
else dol_print_error($db);
{ }
dol_print_error($db); }
}
//Auto report last num releve on conciliate
if ($action == 'setreportlastnumreleve') {
if (dolibarr_set_const($db, "BANK_REPORT_LAST_NUM_RELEVE", 1, 'chaine', 0,
'', $conf->entity) > 0) {
header("Location: " . $_SERVER["PHP_SELF"]);
exit;
}
else {
dol_print_error($db);
}
}
elseif ($action == 'unsetreportlastnumreleve') {
if (dolibarr_set_const($db, "BANK_REPORT_LAST_NUM_RELEVE", 0, 'chaine', 0,
'', $conf->entity) > 0) {
header("Location: " . $_SERVER["PHP_SELF"]);
exit;
}
else {
dol_print_error($db);
}
} }
if ($action == 'specimen') if ($action == 'specimen') {
{ $modele = GETPOST('module', 'alpha');
$modele=GETPOST('module','alpha');
if ($modele == 'sepamandate') if ($modele == 'sepamandate') {
{
$object = new CompanyBankAccount($db); $object = new CompanyBankAccount($db);
} }
else else {
{
$object = new Account($db); $object = new Account($db);
} }
$object->initAsSpecimen(); $object->initAsSpecimen();
// Search template files // Search template files
$file=''; $classname=''; $filefound=0; $file = '';
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); $classname = '';
foreach($dirmodels as $reldir) $filefound = 0;
{ $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
$file=dol_buildpath($reldir."core/modules/bank/doc/pdf_".$modele.".modules.php",0); foreach ($dirmodels as $reldir) {
if (file_exists($file)) $file = dol_buildpath($reldir . "core/modules/bank/doc/pdf_" . $modele . ".modules.php",
{ 0);
$filefound=1; if (file_exists($file)) {
$classname = "pdf_".$modele; $filefound = 1;
$classname = "pdf_" . $modele;
break; break;
} }
} }
if ($filefound) if ($filefound) {
{
require_once $file; require_once $file;
$module = new $classname($db); $module = new $classname($db);
if ($module->write_file($object,$langs) > 0) if ($module->write_file($object, $langs) > 0) {
{ header("Location: " . DOL_URL_ROOT . "/document.php?modulepart=bank&file=SPECIMEN.pdf");
header("Location: ".DOL_URL_ROOT."/document.php?modulepart=bank&file=SPECIMEN.pdf");
return; return;
} }
else else {
{
setEventMessages($module->error, null, 'errors'); setEventMessages($module->error, null, 'errors');
dol_syslog($module->error, LOG_ERR); dol_syslog($module->error, LOG_ERR);
} }
} }
else else {
{
setEventMessages($langs->trans("ErrorModuleNotFound"), null, 'errors'); setEventMessages($langs->trans("ErrorModuleNotFound"), null, 'errors');
dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR); dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR);
} }
} }
// Activate a model // Activate a model
if ($action == 'set') if ($action == 'set') {
{ $ret = addDocumentModel($value, $type, $label, $scandir);
$ret = addDocumentModel($value, $type, $label, $scandir);
} }
else if ($action == 'del') {
else if ($action == 'del') $ret = delDocumentModel($value, $type);
{ if ($ret > 0) {
$ret = delDocumentModel($value, $type); if ($conf->global->BANKADDON_PDF == "$value")
if ($ret > 0) dolibarr_del_const($db, 'BANKADDON_PDF', $conf->entity);
{ }
if ($conf->global->BANKADDON_PDF == "$value") dolibarr_del_const($db, 'BANKADDON_PDF',$conf->entity);
}
} }
// Set default model // Set default model
else if ($action == 'setdoc') else if ($action == 'setdoc') {
{ if (dolibarr_set_const($db, "BANKADDON_PDF", $value, 'chaine', 0, '',
if (dolibarr_set_const($db, "BANKADDON_PDF",$value,'chaine',0,'',$conf->entity)) $conf->entity)) {
{
// The constant that was read before the new set // The constant that was read before the new set
// We therefore requires a variable to have a coherent view // We therefore requires a variable to have a coherent view
$conf->global->BANKADDON_PDF = $value; $conf->global->BANKADDON_PDF = $value;
@ -144,8 +154,7 @@ else if ($action == 'setdoc')
// On active le modele // On active le modele
$ret = delDocumentModel($value, $type); $ret = delDocumentModel($value, $type);
if ($ret > 0) if ($ret > 0) {
{
$ret = addDocumentModel($value, $type, $label, $scandir); $ret = addDocumentModel($value, $type, $label, $scandir);
} }
} }
@ -156,80 +165,78 @@ else if ($action == 'setdoc')
* view * view
*/ */
$form=new Form($db); $form = new Form($db);
$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']);
llxHeader("",$langs->trans("BankSetupModule")); llxHeader("", $langs->trans("BankSetupModule"));
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>'; $linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php">' . $langs->trans("BackToModuleList") . '</a>';
print load_fiche_titre($langs->trans("BankSetupModule"),$linkback,'title_setup'); print load_fiche_titre($langs->trans("BankSetupModule"), $linkback,
'title_setup');
$head = bank_admin_prepare_head(null); $head = bank_admin_prepare_head(null);
dol_fiche_head($head, 'general', $langs->trans("BankSetupModule"), -1, 'account'); dol_fiche_head($head, 'general', $langs->trans("BankSetupModule"), -1, 'account');
$var=true; $var = true;
$var=! $var; $var = !$var;
//Show bank account order //Show bank account order
print load_fiche_titre($langs->trans("BankOrderShow"), '', ''); print load_fiche_titre($langs->trans("BankOrderShow"), '', '');
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td width="140">'.$langs->trans("Name").'</td>'; print '<td width="140">' . $langs->trans("Name") . '</td>';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>' . $langs->trans("Description") . '</td>';
print '<td>'.$langs->trans("Example").'</td>'; print '<td>' . $langs->trans("Example") . '</td>';
print '<td align="center">'.$langs->trans("Status").'</td>'; print '<td align="center">' . $langs->trans("Status") . '</td>';
print '<td align="center" width="60">&nbsp;</td>'; print '<td align="center" width="60">&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
$bankorder[0][0]=$langs->trans("BankOrderGlobal"); $bankorder[0][0] = $langs->trans("BankOrderGlobal");
$bankorder[0][1]=$langs->trans("BankOrderGlobalDesc"); $bankorder[0][1] = $langs->trans("BankOrderGlobalDesc");
$bankorder[0][2]='BankCode DeskCode BankAccountNumber BankAccountNumberKey'; $bankorder[0][2] = 'BankCode DeskCode BankAccountNumber BankAccountNumberKey';
$bankorder[1][0]=$langs->trans("BankOrderES"); $bankorder[1][0] = $langs->trans("BankOrderES");
$bankorder[1][1]=$langs->trans("BankOrderESDesc"); $bankorder[1][1] = $langs->trans("BankOrderESDesc");
$bankorder[1][2]='BankCode DeskCode BankAccountNumberKey BankAccountNumber'; $bankorder[1][2] = 'BankCode DeskCode BankAccountNumberKey BankAccountNumber';
$var = true; $var = true;
$i=0; $i = 0;
$nbofbank=count($bankorder); $nbofbank = count($bankorder);
while ($i < $nbofbank) while ($i < $nbofbank) {
{ $var = !$var;
$var = !$var;
print '<tr class="oddeven">'; print '<tr class="oddeven">';
print '<td>'.$bankorder[$i][0]."</td><td>\n"; print '<td>' . $bankorder[$i][0] . "</td><td>\n";
print $bankorder[$i][1]; print $bankorder[$i][1];
print '</td>'; print '</td>';
print '<td class="nowrap">'; print '<td class="nowrap">';
$tmparray=explode(' ',$bankorder[$i][2]); $tmparray = explode(' ', $bankorder[$i][2]);
foreach($tmparray as $key => $val) foreach ($tmparray as $key => $val) {
{ if ($key > 0)
if ($key > 0) print ', '; print ', ';
print $langs->trans($val); print $langs->trans($val);
} }
print "</td>\n"; print "</td>\n";
if ($conf->global->BANK_SHOW_ORDER_OPTION == $i) if ($conf->global->BANK_SHOW_ORDER_OPTION == $i) {
{ print '<td align="center">';
print '<td align="center">'; print img_picto($langs->trans("Activated"), 'on');
print img_picto($langs->trans("Activated"),'on'); print '</td>';
print '</td>'; }
} else {
else print '<td align="center"><a href="' . $_SERVER['PHP_SELF'] . '?action=setbankorder&amp;value=' . $i . '">';
{ print img_picto($langs->trans("Disabled"), 'off');
print '<td align="center"><a href="'.$_SERVER['PHP_SELF'].'?action=setbankorder&amp;value='.$i.'">'; print '</a></td>';
print img_picto($langs->trans("Disabled"),'off'); }
print '</a></td>'; print '<td>&nbsp;</td>';
} print '</tr>' . "\n";
print '<td>&nbsp;</td>'; $i++;
print '</tr>'."\n";
$i++;
} }
print '</table>'."\n"; print '</table>' . "\n";
print '<br><br>'; print '<br><br>';
@ -257,7 +264,8 @@ if ($resql) {
array_push($def, $array[0]); array_push($def, $array[0]);
$i ++; $i ++;
} }
} else { }
else {
dol_print_error($db); dol_print_error($db);
} }
@ -273,8 +281,7 @@ print "</tr>\n";
clearstatcache(); clearstatcache();
foreach ($dirmodels as $reldir) foreach ($dirmodels as $reldir) {
{
foreach (array('', '/doc') as $valdir) { foreach (array('', '/doc') as $valdir) {
$dir = dol_buildpath($reldir . "core/modules/bank" . $valdir); $dir = dol_buildpath($reldir . "core/modules/bank" . $valdir);
@ -288,7 +295,8 @@ foreach ($dirmodels as $reldir)
arsort($filelist); arsort($filelist);
foreach ($filelist as $file) { foreach ($filelist as $file) {
if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file)) { if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/',
$file)) {
if (file_exists($dir . '/' . $file)) { if (file_exists($dir . '/' . $file)) {
$name = substr($file, 4, dol_strlen($file) - 16); $name = substr($file, 4, dol_strlen($file) - 16);
@ -298,9 +306,11 @@ foreach ($dirmodels as $reldir)
$module = new $classname($db); $module = new $classname($db);
$modulequalified = 1; $modulequalified = 1;
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL
< 2)
$modulequalified = 0; $modulequalified = 0;
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL
< 1)
$modulequalified = 0; $modulequalified = 0;
if ($modulequalified) { if ($modulequalified) {
@ -317,21 +327,27 @@ foreach ($dirmodels as $reldir)
if (in_array($name, $def)) { if (in_array($name, $def)) {
print '<td align="center">' . "\n"; print '<td align="center">' . "\n";
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=del&value=' . $name . '">'; print '<a href="' . $_SERVER["PHP_SELF"] . '?action=del&value=' . $name . '">';
print img_picto($langs->trans("Enabled"), 'switch_on'); print img_picto($langs->trans("Enabled"),
'switch_on');
print '</a>'; print '</a>';
print '</td>'; print '</td>';
} else { }
else {
print '<td align="center">' . "\n"; print '<td align="center">' . "\n";
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=set&value=' . $name . '&amp;scandir=' . $module->scandir . '&amp;label=' . urlencode($module->name) . '">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>'; print '<a href="' . $_SERVER["PHP_SELF"] . '?action=set&value=' . $name . '&amp;scandir=' . $module->scandir . '&amp;label=' . urlencode($module->name) . '">' . img_picto($langs->trans("Disabled"),
'switch_off') . '</a>';
print "</td>"; print "</td>";
} }
// Default // Default
print '<td align="center">'; print '<td align="center">';
if ($conf->global->BANKADDON_PDF == $name) { if ($conf->global->BANKADDON_PDF == $name) {
print img_picto($langs->trans("Default"), 'on'); print img_picto($langs->trans("Default"),
} else { 'on');
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=setdoc&value=' . $name . '&amp;scandir=' . $module->scandir . '&amp;label=' . urlencode($module->name) . '" alt="' . $langs->trans("Default") . '">' . img_picto($langs->trans("Disabled"), 'off') . '</a>'; }
else {
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=setdoc&value=' . $name . '&amp;scandir=' . $module->scandir . '&amp;label=' . urlencode($module->name) . '" alt="' . $langs->trans("Default") . '">' . img_picto($langs->trans("Disabled"),
'off') . '</a>';
} }
print '</td>'; print '</td>';
@ -342,24 +358,30 @@ foreach ($dirmodels as $reldir)
$htmltooltip .= '<br>' . $langs->trans("Width") . '/' . $langs->trans("Height") . ': ' . $module->page_largeur . '/' . $module->page_hauteur; $htmltooltip .= '<br>' . $langs->trans("Width") . '/' . $langs->trans("Height") . ': ' . $module->page_largeur . '/' . $module->page_hauteur;
} }
$htmltooltip .= '<br><br><u>' . $langs->trans("FeaturesSupported") . ':</u>'; $htmltooltip .= '<br><br><u>' . $langs->trans("FeaturesSupported") . ':</u>';
$htmltooltip .= '<br>' . $langs->trans("Logo") . ': ' . yn($module->option_logo, 1, 1); $htmltooltip .= '<br>' . $langs->trans("Logo") . ': ' . yn($module->option_logo,
1, 1);
//$htmltooltip .= '<br>' . $langs->trans("PaymentMode") . ': ' . yn($module->option_modereg, 1, 1); //$htmltooltip .= '<br>' . $langs->trans("PaymentMode") . ': ' . yn($module->option_modereg, 1, 1);
//$htmltooltip .= '<br>' . $langs->trans("PaymentConditions") . ': ' . yn($module->option_condreg, 1, 1); //$htmltooltip .= '<br>' . $langs->trans("PaymentConditions") . ': ' . yn($module->option_condreg, 1, 1);
$htmltooltip .= '<br>' . $langs->trans("MultiLanguage") . ': ' . yn($module->option_multilang, 1, 1); $htmltooltip .= '<br>' . $langs->trans("MultiLanguage") . ': ' . yn($module->option_multilang,
1, 1);
// $htmltooltip.='<br>'.$langs->trans("Discounts").': '.yn($module->option_escompte,1,1); // $htmltooltip.='<br>'.$langs->trans("Discounts").': '.yn($module->option_escompte,1,1);
// $htmltooltip.='<br>'.$langs->trans("CreditNote").': '.yn($module->option_credit_note,1,1); // $htmltooltip.='<br>'.$langs->trans("CreditNote").': '.yn($module->option_credit_note,1,1);
//$htmltooltip .= '<br>' . $langs->trans("WatermarkOnDraftOrders") . ': ' . yn($module->option_draft_watermark, 1, 1); //$htmltooltip .= '<br>' . $langs->trans("WatermarkOnDraftOrders") . ': ' . yn($module->option_draft_watermark, 1, 1);
print '<td align="center">'; print '<td align="center">';
print $form->textwithpicto('', $htmltooltip, 1, 0); print $form->textwithpicto('', $htmltooltip, 1,
0);
print '</td>'; print '</td>';
// Preview // Preview
print '<td align="center">'; print '<td align="center">';
if ($module->type == 'pdf') { if ($module->type == 'pdf') {
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=specimen&module=' . $name . '">' . img_object($langs->trans("Preview"), 'bill') . '</a>'; print '<a href="' . $_SERVER["PHP_SELF"] . '?action=specimen&module=' . $name . '">' . img_object($langs->trans("Preview"),
} else { 'bill') . '</a>';
print img_object($langs->trans("PreviewNotAvailable"), 'generic'); }
else {
print img_object($langs->trans("PreviewNotAvailable"),
'generic');
} }
print '</td>'; print '</td>';
@ -372,9 +394,51 @@ foreach ($dirmodels as $reldir)
} }
} }
} }
print '</table>';
//} //}
print '<br /><br />';
/*
* Document templates generators
*/
//if (! empty($conf->global->MAIN_FEATURES_LEVEL))
//{
print load_fiche_titre($langs->trans("BankAccountReleveModule"), '', '');
print "<table class=\"noborder\" width=\"100%\">\n";
print "<tr class=\"liste_titre\">\n";
print '<td>' . $langs->trans("Name") . '</td>';
print '<td>' . $langs->trans("Description") . '</td>';
print '<td align="center" width="60">' . $langs->trans("Status") . "</td>\n";
print "</tr>\n";
print '<tr class="oddeven"><td width="100">';
print $langs->trans('AccountStatement');
print "</td><td>\n";
print $langs->trans('AutoReportLastAccountStatement');
print '</td>';
// Active
if ($conf->global->BANK_REPORT_LAST_NUM_RELEVE) {
print '<td align="center">' . "\n";
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=unsetreportlastnumreleve">';
print img_picto($langs->trans("Enabled"), 'switch_on');
print '</a>';
print '</td>';
}
else {
print '<td align="center">' . "\n";
print '<a href="' . $_SERVER["PHP_SELF"] . '?action=setreportlastnumreleve">' . img_picto($langs->trans("Disabled"),
'switch_off') . '</a>';
print "</td>";
}
print "</tr>\n";
print '</table>';
dol_fiche_end(); dol_fiche_end();
llxFooter(); llxFooter();

View File

@ -605,7 +605,7 @@ if ($resql)
// print '<td>'; // print '<td>';
print '<div class="valignmiddle inline-block" style="padding-right: 20px;">'; print '<div class="valignmiddle inline-block" style="padding-right: 20px;">';
print '<strong>'.$langs->trans("InputReceiptNumber").'</strong>: '; print '<strong>'.$langs->trans("InputReceiptNumber").'</strong>: ';
print '<input class="flat" name="num_releve" type="text" value="'.(GETPOST('num_releve')?GETPOST('num_releve'):'').'" size="10">'; // The only default value is value we just entered print '<input class="flat" id="num_releve" name="num_releve" type="text" value="'.(GETPOST('num_releve')?GETPOST('num_releve'):'').'" size="10">'; // The only default value is value we just entered
print '</div>'; print '</div>';
if ($options) { if ($options) {
print $langs->trans("EventualyAddCategory").': '; print $langs->trans("EventualyAddCategory").': ';
@ -649,6 +649,16 @@ if ($resql)
{ {
dol_print_error($db); dol_print_error($db);
} }
/**
* Using BANK_REPORT_LAST_NUM_RELEVE to automatically report last num (or not)
*/
if ($conf->global->BANK_REPORT_LAST_NUM_RELEVE == 1) {
print '
<script type="text/javascript">
$("#num_releve").val("' . $last_releve . '");
</script>
';
}
print '<br><br>'; print '<br><br>';
// print '</td></tr></table>'; // print '</td></tr></table>';
} }

View File

@ -18,3 +18,5 @@ RejectCheck=Cheque returned
RejectCheckDate=Date the cheque was returned RejectCheckDate=Date the cheque was returned
CheckRejected=Cheque returned CheckRejected=Cheque returned
CheckRejectedAndInvoicesReopened=Cheque returned and invoices reopened CheckRejectedAndInvoicesReopened=Cheque returned and invoices reopened
AutoReportLastAccountStatement=Use automatically last account statement to reconcile
BankAccountReleveModule=Bank Statement

View File

@ -38,6 +38,9 @@ AccountStatement=Relevé
AccountStatementShort=Relevé AccountStatementShort=Relevé
AccountStatements=Relevés AccountStatements=Relevés
LastAccountStatements=Derniers relevés bancaires LastAccountStatements=Derniers relevés bancaires
AutoReportLastAccountStatement=Proposer automatiquement le dernier relevé bancaire rapproché
BankAccountReleveModule=Rapprochement relevés bancaires
Conciliated=Rapproché
IOMonthlyReporting=Rapport mensuel E/S IOMonthlyReporting=Rapport mensuel E/S
BankAccountDomiciliation=Domiciliation du compte BankAccountDomiciliation=Domiciliation du compte
BankAccountCountry=Pays du compte BankAccountCountry=Pays du compte