Hope this helps!
Hello All,
There is two taxes in my magento shop, let it be tax1 and tax2.
I want to calculate tax2 as percenage of all other prices including tax1.
How can I achieve this ?
Thank you
Hi @sayanth_k
You can customize the code as well for same : In your di.xml, add as below:
<preference for="Magento\Tax\Model\Sales\Total\Quote\Tax" type="<yournamespace>\<yourModule>\Model\Sales\Total\Quote\Tax"/>
Now create your class file Tax.php and add below code:
namespace <yournamespace>\<yourModule>\Model\Sales\Total\Quote;
class Tax extends \Magento\Tax\Model\Sales\Total\Quote\Tax
{
/* override code here */
public function __construct(
/* add dependency classes here */ ) {
parent::__construct(
/* parent class objects here */
);
}
/**
* Custom Collect tax totals for quote address
*
* @param Quote $quote
* @param ShippingAssignmentInterface $shippingAssignment
* @param Address\Total $total
* @return $this
*/
public function collect(
\Magento\Quote\Model\Quote $quote,
\Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment,
\Magento\Quote\Model\Quote\Address\Total $total
) {
/* your calculation here goes here */
$total->setTaxAmount($set_your_tax_here);
return $this;
}
}Hope this helps!
@Bhanu PeriwalCould you please explain more how can I change the tax2 only ?
@sayanth_k wrote:@Bhanu PeriwalCould you pleas Kodi explain more how can I change the tax2 only ?
I want to calculate tax2 as percenage of nox all other prices including tax1.
Hi, thanks for the code, when I have it all saved I am getting the following error on product page:
Exception #0 (Magento\Framework\Exception\RuntimeException): Type Error occurred when creating object: Magento\Quote\Model\Quote\Address\Total\Collector
in my di.xml I have this:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework
bjectManager:etc/config.xsd">
<preference for="Magento\Tax\Model\Sales\Total\Quote\Tax" type="Tba\Custom\Model\Sales\Total\Quote\Tax"/>
</config>
Screen shot of my folder structure: https://jmp.sh/tz1DDeX
Screen shot of my Tax.php: https://jmp.sh/ViQVk0j
Any idea what I am missing?