diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php
index 5d8dce0fd73..8a75c21e92b 100644
--- a/htdocs/compta/tva/clients.php
+++ b/htdocs/compta/tva/clients.php
@@ -30,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
+require_once DOL_DOCUMENT_ROOT.'/core/class/ccountry.class.php';
$langs->load("bills");
$langs->load("compta");
@@ -351,6 +352,152 @@ else
print '';
+// Get country 2-letters code
+global $mysoc;
+$country_id = $mysoc->country_id;
+$country = new Ccountry($db);
+$country->fetch($country_id);
+
+// Print listing of other-country customers as additional report
+// This matches tax requirements to list all same-country customers (only)
+print '
Other countries customers
';
+print 'Based on 2 first letters of VAT number being different from your company\'s country';
+$coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'sell');
+
+print "";
+print "";
+print '| '.$langs->trans("Num")." | ";
+print ''.$langs->trans("Customer")." | ";
+print "".$langs->trans("VATIntra")." | ";
+print "".$langs->trans("AmountHTVATRealReceived")." | ";
+print "".$vatcust." | ";
+print "
\n";
+
+if (is_array($coll_list)) {
+ $var=true;
+ $total = 0;
+ $totalamount = 0;
+ $i = 1;
+ foreach($coll_list as $coll) {
+ if (substr($coll->tva_intra, 0, 2) == $country->code) {
+ // Only use different-country VAT codes
+ continue;
+ }
+ if ($min == 0 or ($min > 0 && $coll->amount > $min)) {
+ $var=!$var;
+ $intra = str_replace($find,$replace,$coll->tva_intra);
+ if (empty($intra)) {
+ if ($coll->assuj == '1') {
+ $intra = $langs->trans('Unknown');
+ } else {
+ //$intra = $langs->trans('NotRegistered');
+ $intra = '';
+ }
+ }
+ print "";
+ print '| '.$i." | ";
+ $company_static->id=$coll->socid;
+ $company_static->name=$coll->name;
+ $company_static->client=1;
+ print ''.$company_static->getNomUrl(1,'customer').' | ';
+ $find = array(' ','.');
+ $replace = array('','');
+ print ''.$intra." | ";
+ print "".price($coll->amount)." | ";
+ print "".price($coll->tva)." | ";
+ $totalamount = $totalamount + $coll->amount;
+ $total = $total + $coll->tva;
+ print "
\n";
+ $i++;
+ }
+ }
+ $x_coll_sum = $total;
+
+ print '| '.$langs->trans("Total").': | ';
+ print ''.price($totalamount).' | ';
+ print ''.price($total).' | ';
+ print '
';
+} else {
+ $langs->load("errors");
+ if ($coll_list == -1) {
+ print '| ' . $langs->trans("ErrorNoAccountancyModuleLoaded") . ' |
';
+ } else if ($coll_list == -2) {
+ print '| ' . $langs->trans("FeatureNotYetAvailable") . ' |
';
+ } else {
+ print '| ' . $langs->trans("Error") . ' |
';
+ }
+}
+print '
';
+
+// Print listing of same-country customers as additional report
+// This matches tax requirements to list all same-country customers (only)
+print 'Same country customers with VAT
';
+print 'Based on 2 first letters of VAT number being the same as your company\'s country';
+$coll_list = vat_by_thirdparty($db,0,$date_start,$date_end,$modetax,'sell');
+
+print "";
+print "";
+print '| '.$langs->trans("Num")." | ";
+print ''.$langs->trans("Customer")." | ";
+print "".$langs->trans("VATIntra")." | ";
+print "".$langs->trans("AmountHTVATRealReceived")." | ";
+print "".$vatcust." | ";
+print "
\n";
+
+if (is_array($coll_list)) {
+ $var=true;
+ $total = 0; $totalamount = 0;
+ $i = 1;
+ foreach ($coll_list as $coll) {
+ if (substr($coll->tva_intra, 0, 2) != $country->code) {
+ // Only use same-country VAT codes
+ continue;
+ }
+ if ($min == 0 or ($min > 0 && $coll->amount > $min)) {
+ $var=!$var;
+ $intra = str_replace($find,$replace,$coll->tva_intra);
+ if (empty($intra)) {
+ if ($coll->assuj == '1') {
+ $intra = $langs->trans('Unknown');
+ } else {
+ //$intra = $langs->trans('NotRegistered');
+ $intra = '';
+ }
+ }
+ print "";
+ print '| '.$i." | ";
+ $company_static->id=$coll->socid;
+ $company_static->name=$coll->name;
+ $company_static->client=1;
+ print ''.$company_static->getNomUrl(1, 'customer').' | ';
+ $find = array(' ', '.');
+ $replace = array('', '');
+ print ''.$intra." | ";
+ print "".price($coll->amount)." | ";
+ print "".price($coll->tva)." | ";
+ $totalamount = $totalamount + $coll->amount;
+ $total = $total + $coll->tva;
+ print "
\n";
+ $i++;
+ }
+ }
+ $x_coll_sum = $total;
+
+ print '| '.$langs->trans("Total").': | ';
+ print ''.price($totalamount).' | ';
+ print ''.price($total).' | ';
+ print '
';
+} else {
+ $langs->load("errors");
+ if ($coll_list == -1) {
+ print '| '.$langs->trans("ErrorNoAccountancyModuleLoaded").' |
';
+ } else if ($coll_list == -2) {
+ print '| '.$langs->trans("FeatureNotYetAvailable").' |
';
+ } else {
+ print '| '.$langs->trans("Error").' |
';
+ }
+}
+
llxFooter();