我们公司已注册增值税,并从已提供有效增值税号的欧盟B2B销售中移除增值税。 Magento版本为1.9,其中包括对此税务问题的支持,一旦验证了增值税号,就会自动分配客户组。
最初存在一个问题,Magento显示两个增值税号输入表格的实例,其中一个有效,另一个没有,因此结果不可靠。我随后隐藏了不起作用的增值税表,似乎一切正常。如果客户没有阅读从增值税号中删除国家/地区代码的说明,则仍然存在问题,这可以防止增值税号验证,但总体而言是有效的。 最近,欧盟增值税注册客户尚未取消增值税,即使手动调整客户账户组至增值税免税组也未取消增值税。
似乎没有针对相应的增值税数据库检查增值税号。我们已尝试使用我们所知的有效增值税号码和错误“您的税号无法验证。如果您认为这是一个错误,请通过[电子邮件地址]与我们联系”
据推测,使用欧盟增值税规则功能的每个人都有同样的问题,或许正如改变超链接这样简单的原因,但搜索没有发现其他近期类似的问题。
有人可以告知Magento在哪里进行增值税检查和授权的代码吗?
提前感谢您的帮助。 RobH
答案 0 :(得分:6)
Magento中有两个增值税ID字段。第一个与客户实体相关,不会根据增值税验证服务“VIES”进行检查。它只有一些信息特征,但对客户组分配没有影响。
第二个增值税ID字段与客户地址实体相关,将根据VIES服务进行检查。如果增值税号有效,您的客户将被分配到您定义的客户群(例如“有效增值税号”等)。重要提示:Magento不接受含国家代码前缀的增值税号。例如。 “ATU69014309”不是Magento的有效税号。相反,没有国家/地区前缀“U69014309”的增值税ID有效。如果扩展Mage_Customer_Helper_Data类的以下方法,则可以轻松解决此问题:
/**
* Send request to VAT validation service and return validation result
*
* @param string $countryCode
* @param string $vatNumber
* @param string $requesterCountryCode
* @param string $requesterVatNumber
*
* @return Varien_Object
*/
public function checkVatNumber($countryCode, $vatNumber, $requesterCountryCode = '', $requesterVatNumber = '')
{
// Remove the country code prefix from the vat number
$vatNumber = preg_replace("/^[a-z]{2}/i", "", $vatNumber);
...
同样重要的是:用户在结账时输入的增值税号也将被忽略(已知Magento Issue)。
亲切的问候, 罗伯特
答案 1 :(得分:0)
我必须安装php_soap扩展才能工作。
使用以下命令在PHP7上安装php_soap:
sudo apt install php7.0-soap
在php.ini中找到extension = php_soap.dll并删除分号(;)
使用
重启网络服务器 sudo systemctl restart apache2.service