Magento 2: Como tributar uma taxa personalizada


9
  • Quero adicionar um imposto à taxa personalizada. o cálculo do imposto é perfeito e obtém o valor do imposto, mas não está definido nos arquivos TAX em quote_address no banco de dados.

    public function collect(
        \Magento\Quote\Model\Quote $quote,
        \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment,
        \Magento\Quote\Model\Quote\Address\Total $total
    ){
    
      $total->setTaxAmount($total->getTaxAmount()+$taxAmount);
      $total->setBaseTaxAmount($total->getBaseTaxAmount()+$taxAmount); 
    }
    
  • Tento definir o valor do imposto no método de coleta, mas não está definido.

  • Eu quero o mesmo como este código. é Magento1, mas eu quero Magento 2


Tente seguir o seguinte para adicionar uma taxa personalizada ao seu subtotal magento.stackexchange.com/questions/92774/…
Abhinav Singh

Respostas:


1

Você pode usar o código abaixo para definir o valor do imposto no endereço e nas tabelas de cotações:

$quote->setTaxAmount($total->getTaxAmount() + $taxAmount);
$quote->setBaseTaxAmount($total->getBaseTaxAmount() + $taxAmount);

$address = $shippingAssignment->getShipping()->getAddress();
$address->setTaxAmount($total->getTaxAmount() + $taxAmount);
$address->setBaseTaxAmount($total->getBaseTaxAmount() + $taxAmount);

Espero que isso ajude você. Se você tiver alguma dúvida, não hesite em perguntar.

Feliz por ajudar!

Obrigado,


0

Em vez de uma chamada, $total->setTaxAmount()você precisa usar addTotalAmount:

$total->addTotalAmount('tax', $amount);
$total->addBaseTotalAmount('tax', $baseAmount);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.