diff --git a/core/lib/Thelia/Model/Tax.php b/core/lib/Thelia/Model/Tax.php index 654d3a31f..a1a73bad7 100644 --- a/core/lib/Thelia/Model/Tax.php +++ b/core/lib/Thelia/Model/Tax.php @@ -59,12 +59,14 @@ class Tax extends BaseTax if (!class_exists($class)) { throw new TaxEngineException('Recorded type `' . $class . '` does not exists', TaxEngineException::BAD_RECORDED_TYPE); } - + /** @var \Thelia\TaxEngine\BaseTaxType $instance */ $instance = new $class; if (!$instance instanceof BaseTaxType) { throw new TaxEngineException('Recorded type `' . $class . '` does not extends BaseTaxType', TaxEngineException::BAD_RECORDED_TYPE); } + + $instance->loadRequirements($this->getRequirements()); return $instance; } diff --git a/core/lib/Thelia/TaxEngine/Calculator.php b/core/lib/Thelia/TaxEngine/Calculator.php index 77a7b41a3..7c042b6e8 100644 --- a/core/lib/Thelia/TaxEngine/Calculator.php +++ b/core/lib/Thelia/TaxEngine/Calculator.php @@ -154,7 +154,6 @@ class Calculator $position = (int) $taxRule->getTaxRuleCountryPosition(); $taxType = $taxRule->getTypeInstance(); - $taxType->loadRequirements( $taxRule->getRequirements() ); if ($currentPosition !== $position) { $taxedPrice += $currentTax; @@ -209,7 +208,6 @@ class Calculator $position = (int) $taxRule->getTaxRuleCountryPosition(); $taxType = $taxRule->getTypeInstance(); - $taxType->loadRequirements( $taxRule->getRequirements() ); if ($currentPosition !== $position) { $untaxedPrice -= $currentFixTax;