Magento 2: So machen Sie benutzerdefinierte Gebühren steuerpflichtig

9
  • Ich möchte eine Steuer auf die Zollgebühr hinzufügen. Die Steuerberechnung ist perfekt und erhält den Steuerbetrag, ist jedoch nicht in den STEUER-Dateien in quote_address in der Datenbank festgelegt.

    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); 
    }
    
  • Ich versuche, den Steuerbetrag in der Erhebungsmethode festzulegen, aber er ist nicht festgelegt.

  • Ich möchte diesen Thiscode genauso mögen . Es ist Magento1, aber ich möchte Magento 2

Hardik Dhankecha
quelle
Versuchen Sie, die folgenden Schritte auszuführen,
Abhinav Singh

Antworten:

1

Sie können den folgenden Code verwenden, um den Steuerbetrag in der Angebotsadresse und den Angebotstabellen festzulegen:

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

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

Ich hoffe das hilft dir. Wenn Sie weitere Fragen haben, können Sie diese gerne stellen.

Freue mich zu helfen!

Vielen Dank,

Pratik Navapara
quelle
0

Anstelle eines Anrufs müssen $total->setTaxAmount()Sie Folgendes verwenden addTotalAmount:

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