我们公司已注册增值税,并从已提供有效增值税号的欧盟B2B销售中移除增值税. Magento版本为1.9,其中包括对此税务问题的支持,一旦验证了增值税号,就会自动分配客户组.
最初有一个问题,Magento显示了两个增值税号输入表格的实例,其中一个有效,另一个没有,因此结果不可靠.我随后隐藏了不起作用的增值税表,似乎一切正常.如果客户没有阅读从增值税号中删除国家/地区代码的说明,则仍然存在问题,这可以防止增值税号验证,但总体而言是有效的.
最近,欧盟增值税登记客户尚未取消增值税,即使手动调整客户帐户组到增值税免税组也未取消增值税.
似乎没有对相应的增值税数据库检查增值税号码.我们已尝试使用我们所知的有效增值税号码和错误“您的税号无法验证.如果您认为这是一个错误,请通过[电子邮件地址]与我们联系”
据推测,使用欧盟增值税规则功能的每个人都有同样的问题,或许正如改变超链接这样简单的原因,但搜索没有发现其他近期类似的问题.
有人可以告知Magento在哪里进行增值税检查和授权的代码吗?
在此先感谢您的帮助.
RobH
解决方法:
Magento内有2个增值税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).
亲切的问候,
罗伯特