diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php
index ae95d71ca9c..f09ee172a40 100644
--- a/htdocs/compta/tva/clients.php
+++ b/htdocs/compta/tva/clients.php
@@ -372,161 +372,156 @@ if (! is_array($x_coll) || ! is_array($x_paye))
$subtot_coll_total_ht = 0;
$subtot_coll_vat = 0;
- if (is_array($x_both[$thirdparty_id]['coll']['detail']))
- {
+ if ($min == 0 || ($min > 0 && $x_both[$thirdparty_id]['coll']['totalht'] > $min)) {
- // VAT Rate
- print "
";
- print '| ';
- if (is_numeric($thirdparty_id))
- {
- $company_static->fetch($thirdparty_id);
- print $langs->trans("ThirdParty").': '.$company_static->getNomUrl(1);
- }
- else
- {
- $tmpid = preg_replace('/userid_/','',$thirdparty_id);
- $user_static->fetch($tmpid);
- print $langs->trans("User").': '.$user_static->getNomUrl(1);
- }
- print ' | | ';
- print '
'."\n";
+ if (is_array($x_both[$thirdparty_id]['coll']['detail'])) {
- foreach ($x_both[$thirdparty_id]['coll']['detail'] as $index => $fields) {
- // Define type
- // We MUST use dtype (type in line). We can use something else, only if dtype is really unknown.
- $type=(isset($fields['dtype'])?$fields['dtype']:$fields['ptype']);
- // Try to enhance type detection using date_start and date_end for free lines where type
- // was not saved.
- if (!empty($fields['ddate_start'])) {
- $type=1;
- }
- if (!empty($fields['ddate_end'])) {
- $type=1;
+ // VAT Rate
+ print "";
+ print '| ';
+ if (is_numeric($thirdparty_id)) {
+ $company_static->fetch($thirdparty_id);
+ print $langs->trans("ThirdParty") . ': ' . $company_static->getNomUrl(1);
+ } else {
+ $tmpid = preg_replace('/userid_/', '', $thirdparty_id);
+ $user_static->fetch($tmpid);
+ print $langs->trans("User") . ': ' . $user_static->getNomUrl(1);
}
+ print ' | | ';
+ print '
' . "\n";
-
- print '';
-
- // Ref
- print '| '.$fields['link'].' | ';
-
- // Invoice date
- print '' . dol_print_date($fields['datef'], 'day') . ' | ';
-
- // Payment date
- if ($conf->global->TAX_MODE_SELL_PRODUCT == 'payment' || $conf->global->TAX_MODE_SELL_SERVICE == 'payment') print '' . dol_print_date($fields['datep'], 'day') . ' | ';
- else print ' | ';
-
- // Rate
- print '' . $fields['drate'] . ' | ';
-
- // Description
- print '';
- if ($fields['pid'])
- {
- $product_static->id=$fields['pid'];
- $product_static->ref=$fields['pref'];
- $product_static->type=$fields['dtype']; // We force with the type of line to have type how line is registered
- print $product_static->getNomUrl(1);
- if (dol_string_nohtmltag($fields['descr'])) {
- print ' - '.dol_trunc(dol_string_nohtmltag($fields['descr']),24);
+ foreach ($x_both[$thirdparty_id]['coll']['detail'] as $index => $fields) {
+ // Define type
+ // We MUST use dtype (type in line). We can use something else, only if dtype is really unknown.
+ $type = (isset($fields['dtype']) ? $fields['dtype'] : $fields['ptype']);
+ // Try to enhance type detection using date_start and date_end for free lines where type
+ // was not saved.
+ if (!empty($fields['ddate_start'])) {
+ $type = 1;
}
- }
- else
- {
- if ($type) {
- $text = img_object($langs->trans('Service'),'service');
+ if (!empty($fields['ddate_end'])) {
+ $type = 1;
+ }
+
+
+ print ' |
';
+
+ // Ref
+ print '| ' . $fields['link'] . ' | ';
+
+ // Invoice date
+ print '' . dol_print_date($fields['datef'], 'day') . ' | ';
+
+ // Payment date
+ if ($conf->global->TAX_MODE_SELL_PRODUCT == 'payment' || $conf->global->TAX_MODE_SELL_SERVICE == 'payment') {
+ print '' . dol_print_date($fields['datep'], 'day') . ' | ';
} else {
- $text = img_object($langs->trans('Product'),'product');
+ print ' | ';
}
- if (preg_match('/^\((.*)\)$/',$fields['descr'],$reg)) {
- if ($reg[1]=='DEPOSIT') {
- $fields['descr']=$langs->transnoentitiesnoconv('Deposit');
- } elseif ($reg[1]=='CREDIT_NOTE') {
- $fields['descr']=$langs->transnoentitiesnoconv('CreditNote');
+
+ // Rate
+ print '' . $fields['drate'] . ' | ';
+
+ // Description
+ print '';
+ if ($fields['pid']) {
+ $product_static->id = $fields['pid'];
+ $product_static->ref = $fields['pref'];
+ $product_static->type = $fields['dtype']; // We force with the type of line to have type how line is registered
+ print $product_static->getNomUrl(1);
+ if (dol_string_nohtmltag($fields['descr'])) {
+ print ' - ' . dol_trunc(dol_string_nohtmltag($fields['descr']), 24);
+ }
+ } else {
+ if ($type) {
+ $text = img_object($langs->trans('Service'), 'service');
} else {
- $fields['descr']=$langs->transnoentitiesnoconv($reg[1]);
+ $text = img_object($langs->trans('Product'), 'product');
}
- }
- print $text.' '.dol_trunc(dol_string_nohtmltag($fields['descr']),24);
+ if (preg_match('/^\((.*)\)$/', $fields['descr'], $reg)) {
+ if ($reg[1] == 'DEPOSIT') {
+ $fields['descr'] = $langs->transnoentitiesnoconv('Deposit');
+ } elseif ($reg[1] == 'CREDIT_NOTE') {
+ $fields['descr'] = $langs->transnoentitiesnoconv('CreditNote');
+ } else {
+ $fields['descr'] = $langs->transnoentitiesnoconv($reg[1]);
+ }
+ }
+ print $text . ' ' . dol_trunc(dol_string_nohtmltag($fields['descr']), 24);
- // Show range
- print_date_range($fields['ddate_start'],$fields['ddate_end']);
- }
- print ' | ';
-
- // Total HT
- if ($modetax != 1)
- {
- print '';
- print price($fields['totalht']);
- if (price2num($fields['ftotal_ttc']))
- {
- //print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - ";
- $ratiolineinvoice=($fields['dtotal_ttc']/$fields['ftotal_ttc']);
- //print ' ('.round($ratiolineinvoice*100,2).'%)';
+ // Show range
+ print_date_range($fields['ddate_start'], $fields['ddate_end']);
}
print ' | ';
- }
- // Payment
- $ratiopaymentinvoice=1;
- if ($modetax != 1)
- {
+ // Total HT
+ if ($modetax != 1) {
+ print '';
+ print price($fields['totalht']);
+ if (price2num($fields['ftotal_ttc'])) {
+ //print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - ";
+ $ratiolineinvoice = ($fields['dtotal_ttc'] / $fields['ftotal_ttc']);
+ //print ' ('.round($ratiolineinvoice*100,2).'%)';
+ }
+ print ' | ';
+ }
+
+ // Payment
+ $ratiopaymentinvoice = 1;
+ if ($modetax != 1) {
+ print '';
+ //print $fields['totalht']."-".$fields['payment_amount']."-".$fields['ftotal_ttc'];
+ if ($fields['payment_amount'] && $fields['ftotal_ttc']) {
+ $payment_static->id = $fields['payment_id'];
+ print $payment_static->getNomUrl(2);
+ }
+ if (($type == 0 && $conf->global->TAX_MODE_SELL_PRODUCT == 'invoice')
+ || ($type == 1 && $conf->global->TAX_MODE_SELL_SERVICE == 'invoice')) {
+ print $langs->trans("NA");
+ } else {
+ if (isset($fields['payment_amount']) && price2num($fields['ftotal_ttc'])) {
+ $ratiopaymentinvoice = ($fields['payment_amount'] / $fields['ftotal_ttc']);
+ }
+ print price(price2num($fields['payment_amount'], 'MT'));
+ if (isset($fields['payment_amount'])) {
+ print ' (' . round($ratiopaymentinvoice * 100, 2) . '%)';
+ }
+ }
+ print ' | ';
+ }
+
+ // Total collected
print '';
- //print $fields['totalht']."-".$fields['payment_amount']."-".$fields['ftotal_ttc'];
- if ($fields['payment_amount'] && $fields['ftotal_ttc'])
- {
- $payment_static->id=$fields['payment_id'];
- print $payment_static->getNomUrl(2);
- }
- if (($type == 0 && $conf->global->TAX_MODE_SELL_PRODUCT == 'invoice')
- || ($type == 1 && $conf->global->TAX_MODE_SELL_SERVICE == 'invoice'))
- {
- print $langs->trans("NA");
- } else {
- if (isset($fields['payment_amount']) && price2num($fields['ftotal_ttc'])) {
- $ratiopaymentinvoice=($fields['payment_amount']/$fields['ftotal_ttc']);
- }
- print price(price2num($fields['payment_amount'],'MT'));
- if (isset($fields['payment_amount'])) {
- print ' ('.round($ratiopaymentinvoice*100,2).'%)';
- }
- }
+ $temp_ht = $fields['totalht'] * $ratiopaymentinvoice;
+ print price(price2num($temp_ht, 'MT'), 1);
print ' | ';
+
+ // VAT
+ print '';
+ $temp_vat = $fields['vat'] * $ratiopaymentinvoice;
+ print price(price2num($temp_vat, 'MT'), 1);
+ //print price($fields['vat']);
+ print ' | ';
+ print '
';
+
+ $subtot_coll_total_ht += $temp_ht;
+ $subtot_coll_vat += $temp_vat;
+ $x_coll_sum += $temp_vat;
}
- // Total collected
- print '';
- $temp_ht=$fields['totalht']*$ratiopaymentinvoice;
- print price(price2num($temp_ht,'MT'),1);
- print ' | ';
-
- // VAT
- print '';
- $temp_vat=$fields['vat']*$ratiopaymentinvoice;
- print price(price2num($temp_vat,'MT'),1);
- //print price($fields['vat']);
- print ' | ';
- print '';
-
- $subtot_coll_total_ht += $temp_ht;
- $subtot_coll_vat += $temp_vat;
- $x_coll_sum += $temp_vat;
}
+ // Total customers for this vat rate
+ print '';
+ print ' | ';
+ print '' . $langs->trans("Total") . ': | ';
+ if ($modetax != 1) {
+ print ' | ';
+ print ' | ';
+ }
+ print '' . price(price2num($subtot_coll_total_ht, 'MT')) . ' | ';
+ print '' . price(price2num($subtot_coll_vat, 'MT')) . ' | ';
+ print '
';
}
- // Total customers for this vat rate
- print '';
- print ' | ';
- print ''.$langs->trans("Total").': | ';
- if ($modetax != 1) {
- print ' | ';
- print ' | ';
- }
- print ''.price(price2num($subtot_coll_total_ht,'MT')).' | ';
- print ''.price(price2num($subtot_coll_vat,'MT')).' | ';
- print '
';
}
if (count($x_coll) == 0) // Show a total ine if nothing shown
@@ -567,161 +562,153 @@ if (! is_array($x_coll) || ! is_array($x_paye))
$subtot_paye_total_ht = 0;
$subtot_paye_vat = 0;
- if (is_array($x_both[$thirdparty_id]['paye']['detail']))
- {
- print "";
- print '| ';
- if (is_numeric($thirdparty_id))
- {
- $company_static->fetch($thirdparty_id);
- print $langs->trans("ThirdParty").': '.$company_static->getNomUrl(1);
- }
- else
- {
- $tmpid = preg_replace('/userid_/','',$thirdparty_id);
- $user_static->fetch($tmpid);
- print $langs->trans("User").': '.$user_static->getNomUrl(1);
- }
- print ' | | ';
- print '
'."\n";
+ if ($min == 0 || ($min > 0 && $x_both[$thirdparty_id]['paye']['totalht'] > $min)) {
- foreach ($x_both[$thirdparty_id]['paye']['detail'] as $index=>$fields) {
- // Define type
- // We MUST use dtype (type in line). We can use something else, only if dtype is really unknown.
- $type=(isset($fields['dtype'])?$fields['dtype']:$fields['ptype']);
- // Try to enhance type detection using date_start and date_end for free lines where type
- // was not saved.
- if (!empty($fields['ddate_start'])) {
- $type=1;
- }
- if (!empty($fields['ddate_end'])) {
- $type=1;
+ if (is_array($x_both[$thirdparty_id]['paye']['detail'])) {
+ print "";
+ print '| ';
+ if (is_numeric($thirdparty_id)) {
+ $company_static->fetch($thirdparty_id);
+ print $langs->trans("ThirdParty") . ': ' . $company_static->getNomUrl(1);
+ } else {
+ $tmpid = preg_replace('/userid_/', '', $thirdparty_id);
+ $user_static->fetch($tmpid);
+ print $langs->trans("User") . ': ' . $user_static->getNomUrl(1);
}
+ print ' | | ';
+ print '
' . "\n";
-
- print '';
-
- // Ref
- print '| '.$fields['link'].' | ';
-
- // Invoice date
- print '' . dol_print_date($fields['datef'], 'day') . ' | ';
-
- // Payment date
- if ($conf->global->TAX_MODE_BUY_PRODUCT == 'payment' || $conf->global->TAX_MODE_BUY_SERVICE == 'payment') print '' . dol_print_date($fields['datep'], 'day') . ' | ';
- else print ' | ';
-
- // Company name
- print '' . $fields['company_link'] . ' | ';
-
- // Description
- print '';
- if ($fields['pid'])
- {
- $product_static->id=$fields['pid'];
- $product_static->ref=$fields['pref'];
- $product_static->type=$fields['dtype']; // We force with the type of line to have type how line is registered
- print $product_static->getNomUrl(1);
- if (dol_string_nohtmltag($fields['descr'])) {
- print ' - '.dol_trunc(dol_string_nohtmltag($fields['descr']),24);
+ foreach ($x_both[$thirdparty_id]['paye']['detail'] as $index => $fields) {
+ // Define type
+ // We MUST use dtype (type in line). We can use something else, only if dtype is really unknown.
+ $type = (isset($fields['dtype']) ? $fields['dtype'] : $fields['ptype']);
+ // Try to enhance type detection using date_start and date_end for free lines where type
+ // was not saved.
+ if (!empty($fields['ddate_start'])) {
+ $type = 1;
}
- }
- else
- {
- if ($type) {
- $text = img_object($langs->trans('Service'),'service');
+ if (!empty($fields['ddate_end'])) {
+ $type = 1;
+ }
+
+
+ print ' |
';
+
+ // Ref
+ print '| ' . $fields['link'] . ' | ';
+
+ // Invoice date
+ print '' . dol_print_date($fields['datef'], 'day') . ' | ';
+
+ // Payment date
+ if ($conf->global->TAX_MODE_BUY_PRODUCT == 'payment' || $conf->global->TAX_MODE_BUY_SERVICE == 'payment') {
+ print '' . dol_print_date($fields['datep'], 'day') . ' | ';
} else {
- $text = img_object($langs->trans('Product'),'product');
+ print ' | ';
}
- if (preg_match('/^\((.*)\)$/',$fields['descr'],$reg)) {
- if ($reg[1]=='DEPOSIT') {
- $fields['descr']=$langs->transnoentitiesnoconv('Deposit');
- } elseif ($reg[1]=='CREDIT_NOTE') {
- $fields['descr']=$langs->transnoentitiesnoconv('CreditNote');
+
+ // Company name
+ print '' . $fields['company_link'] . ' | ';
+
+ // Description
+ print '';
+ if ($fields['pid']) {
+ $product_static->id = $fields['pid'];
+ $product_static->ref = $fields['pref'];
+ $product_static->type = $fields['dtype']; // We force with the type of line to have type how line is registered
+ print $product_static->getNomUrl(1);
+ if (dol_string_nohtmltag($fields['descr'])) {
+ print ' - ' . dol_trunc(dol_string_nohtmltag($fields['descr']), 24);
+ }
+ } else {
+ if ($type) {
+ $text = img_object($langs->trans('Service'), 'service');
} else {
- $fields['descr']=$langs->transnoentitiesnoconv($reg[1]);
+ $text = img_object($langs->trans('Product'), 'product');
}
- }
- print $text.' '.dol_trunc(dol_string_nohtmltag($fields['descr']),24);
+ if (preg_match('/^\((.*)\)$/', $fields['descr'], $reg)) {
+ if ($reg[1] == 'DEPOSIT') {
+ $fields['descr'] = $langs->transnoentitiesnoconv('Deposit');
+ } elseif ($reg[1] == 'CREDIT_NOTE') {
+ $fields['descr'] = $langs->transnoentitiesnoconv('CreditNote');
+ } else {
+ $fields['descr'] = $langs->transnoentitiesnoconv($reg[1]);
+ }
+ }
+ print $text . ' ' . dol_trunc(dol_string_nohtmltag($fields['descr']), 24);
- // Show range
- print_date_range($fields['ddate_start'],$fields['ddate_end']);
- }
- print ' | ';
-
- // Total HT
- if ($modetax != 1)
- {
- print '';
- print price($fields['totalht']);
- if (price2num($fields['ftotal_ttc']))
- {
- //print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - ";
- $ratiolineinvoice=($fields['dtotal_ttc']/$fields['ftotal_ttc']);
- //print ' ('.round($ratiolineinvoice*100,2).'%)';
+ // Show range
+ print_date_range($fields['ddate_start'], $fields['ddate_end']);
}
print ' | ';
- }
- // Payment
- $ratiopaymentinvoice=1;
- if ($modetax != 1)
- {
+ // Total HT
+ if ($modetax != 1) {
+ print '';
+ print price($fields['totalht']);
+ if (price2num($fields['ftotal_ttc'])) {
+ //print $fields['dtotal_ttc']."/".$fields['ftotal_ttc']." - ";
+ $ratiolineinvoice = ($fields['dtotal_ttc'] / $fields['ftotal_ttc']);
+ //print ' ('.round($ratiolineinvoice*100,2).'%)';
+ }
+ print ' | ';
+ }
+
+ // Payment
+ $ratiopaymentinvoice = 1;
+ if ($modetax != 1) {
+ print '';
+ if ($fields['payment_amount'] && $fields['ftotal_ttc']) {
+ $paymentfourn_static->id = $fields['payment_id'];
+ print $paymentfourn_static->getNomUrl(2);
+ }
+
+ if (($type == 0 && $conf->global->TAX_MODE_BUY_PRODUCT == 'invoice')
+ || ($type == 1 && $conf->global->TAX_MODE_BUY_SERVICE == 'invoice')) {
+ print $langs->trans("NA");
+ } else {
+ if (isset($fields['payment_amount']) && $fields['ftotal_ttc']) {
+ $ratiopaymentinvoice = ($fields['payment_amount'] / $fields['ftotal_ttc']);
+ }
+ print price(price2num($fields['payment_amount'], 'MT'));
+ if (isset($fields['payment_amount'])) {
+ print ' (' . round($ratiopaymentinvoice * 100, 2) . '%)';
+ }
+ }
+ print ' | ';
+ }
+
+ // VAT paid
print '';
- if ($fields['payment_amount'] && $fields['ftotal_ttc'])
- {
- $paymentfourn_static->id=$fields['payment_id'];
- print $paymentfourn_static->getNomUrl(2);
- }
-
- if (($type == 0 && $conf->global->TAX_MODE_BUY_PRODUCT == 'invoice')
- || ($type == 1 && $conf->global->TAX_MODE_BUY_SERVICE == 'invoice'))
- {
- print $langs->trans("NA");
- }
- else
- {
- if (isset($fields['payment_amount']) && $fields['ftotal_ttc']) {
- $ratiopaymentinvoice=($fields['payment_amount']/$fields['ftotal_ttc']);
- }
- print price(price2num($fields['payment_amount'],'MT'));
- if (isset($fields['payment_amount'])) {
- print ' ('.round($ratiopaymentinvoice*100,2).'%)';
- }
- }
+ $temp_ht = $fields['totalht'] * $ratiopaymentinvoice;
+ print price(price2num($temp_ht, 'MT'), 1);
print ' | ';
+
+ // VAT
+ print '';
+ $temp_vat = $fields['vat'] * $ratiopaymentinvoice;
+ print price(price2num($temp_vat, 'MT'), 1);
+ //print price($fields['vat']);
+ print ' | ';
+ print '
';
+
+ $subtot_paye_total_ht += $temp_ht;
+ $subtot_paye_vat += $temp_vat;
+ $x_paye_sum += $temp_vat;
}
-
- // VAT paid
- print '';
- $temp_ht=$fields['totalht']*$ratiopaymentinvoice;
- print price(price2num($temp_ht,'MT'),1);
- print ' | ';
-
- // VAT
- print '';
- $temp_vat=$fields['vat']*$ratiopaymentinvoice;
- print price(price2num($temp_vat,'MT'),1);
- //print price($fields['vat']);
- print ' | ';
- print '';
-
- $subtot_paye_total_ht += $temp_ht;
- $subtot_paye_vat += $temp_vat;
- $x_paye_sum += $temp_vat;
}
+ // Total suppliers for this vat rate
+ print '';
+ print ' | ';
+ print '' . $langs->trans("Total") . ': | ';
+ if ($modetax != 1) {
+ print ' | ';
+ print ' | ';
+ }
+ print '' . price(price2num($subtot_paye_total_ht, 'MT')) . ' | ';
+ print '' . price(price2num($subtot_paye_vat, 'MT')) . ' | ';
+ print '
';
}
- // Total suppliers for this vat rate
- print '';
- print ' | ';
- print ''.$langs->trans("Total").': | ';
- if ($modetax != 1) {
- print ' | ';
- print ' | ';
- }
- print ''.price(price2num($subtot_paye_total_ht,'MT')).' | ';
- print ''.price(price2num($subtot_paye_vat,'MT')).' | ';
- print '
';
}
if (count($x_paye) == 0) { // Show a total line if nothing shown