Magento 2: Comment rendre les frais de douane imposables

9
  • Je veux ajouter une taxe sur les frais de douane. le calcul de la taxe est parfait et obtient le montant de la taxe, mais il n'est pas défini dans les fichiers TAX dans quote_address dans la base de données.

    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); 
    }
  • J'essaie de définir le montant de la taxe dans la méthode de collecte, mais ce n'est pas défini.

  • Je veux même aimer ce code. c'est Magento1 mais je veux Magento 2

Hardik Dhankecha
la source
Essayez de suivre ce qui suit pour ajouter des frais personnalisés à votre sous-total magento.stackexchange.com/questions/92774/…
Abhinav Singh

Réponses:

1

Vous pouvez utiliser le code ci-dessous pour définir le montant de la taxe dans l'adresse de devis et les tableaux de devis:

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

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

J'espère que cette aide vous sera utile. Si vous avez d'autres questions, n'hésitez pas à demander.

Heureux d'aider!

Merci,

Pratik Navapara
la source
0

Au lieu d'un appel à $total->setTaxAmount()vous devez utiliser addTotalAmount:

$total->addTotalAmount('tax', $amount);
$total->addBaseTotalAmount('tax', $baseAmount);
Michiel
la source