我有 magento 1.7 网站,如果客户在结帐页面上输入税号,我会厌烦地从客户那里扣除税款。
我有两个国家荷兰和比利时的税收规则都有 10% 的税。默认国家是比利时。
当比利时客户在结帐页面上输入增值税号时,我需要取消加税。
我厌倦了使用税收规则,但没有运气。
任何人都知道如何使用magento后端或使用代码级别来做到这一点。我很感激任何答案。谢谢你
我有 magento 1.7 网站,如果客户在结帐页面上输入税号,我会厌烦地从客户那里扣除税款。
我有两个国家荷兰和比利时的税收规则都有 10% 的税。默认国家是比利时。
当比利时客户在结帐页面上输入增值税号时,我需要取消加税。
我厌倦了使用税收规则,但没有运气。
任何人都知道如何使用magento后端或使用代码级别来做到这一点。我很感激任何答案。谢谢你
超越 Magento 的税收模型 getRate() 函数是我们做类似事情的方式。
class My_Module_Model_Tax_Calculation extends Mage_Tax_Model_Calculation
{
public function getRate($request)
{
if (!$request->getCountryId() || !$request->getCustomerClassId() || !$request->getProductClassId()) {
return 0;
}
$country_id = $request->getCountryId();
if ($country_id == 'BE' && $this->getCustomer() && $this->getCustomer()->getTaxvat()) {
return 0;
}
$cacheKey = $this->_getRequestCacheKey($request);
if (!isset($this->_rateCache[$cacheKey])) {
$this->unsRateValue();
$this->unsCalculationProcess();
$this->unsEventModuleId();
Mage::dispatchEvent('tax_rate_data_fetch', array('request'=>$request));
if (!$this->hasRateValue()) {
$rateInfo = $this->_getResource()->getRateInfo($request);
$this->setCalculationProcess($rateInfo['process']);
$this->setRateValue($rateInfo['value']);
} else {
$this->setCalculationProcess($this->_formCalculationProcess());
}
$this->_rateCache[$cacheKey] = $this->getRateValue();
$this->_rateCalculationProcess[$cacheKey] = $this->getCalculationProcess();
}
return $this->_rateCache[$cacheKey];
}
}