Hi,
I have found the problem it seems you have a bug in the zen_tva_geo_tax() function in the /includes/classes/order.php file
here is the original function:
function zen_tva_geo_tax($tax_country_id, $billing_company, $billing_tva_intracom){
$tax_geo_zone_id = $this->zen_get_country_geo_zone_id($tax_country_id);
if($tax_country_id == STORE_COUNTRY ) return true; // store
if($tax_geo_zone_id == 0) return true; // no geo-zone
if($tax_geo_zone_id != 0 && !$billing_tva_intracom) return true; // geo-zone & no vat
elseif(!$billing_company && !$billing_tva_intracom) return false; // no vat
else return false;
}
Now i have observed that the function does not treat the case where there is actually a vat and a geo zone here is how i modified it and everything works perfect:
function zen_tva_geo_tax($tax_country_id, $billing_company, $billing_tva_intracom){
$tax_geo_zone_id = $this->zen_get_country_geo_zone_id($tax_country_id);
if($tax_country_id == STORE_COUNTRY ) return true; // store
/* geo-zone & vat --added by augustin /
if($tax_geo_zone_id != 0 && $billing_tva_intracom) return true;
/ end added by augustin*/
if($tax_geo_zone_id == 0) return true; // no geo-zone
if($tax_geo_zone_id != 0 && !$billing_tva_intracom) return true; // geo-zone & no vat
elseif(!$billing_company && !$billing_tva_intracom) return false; // no vat
else return false;
}
everything works just fine