Magento 2: как сделать таможенный сбор облагаемым налогом

9
  • Я хочу добавить налог на таможенную пошлину. Расчет налога идеален и получает сумму налога, но она не установлена ​​в файлах TAX в quote_address в базе данных.

    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); 
    }
  • Я пытаюсь установить сумму налога в методе сбора, но он не установлен.

  • Я хочу такой же, как этот код. это Magento1 но я хочу Magento 2

Хардик Данкеча
источник
Попробуйте выполнить следующие действия, чтобы добавить пользовательскую плату к вашему промежуточному итогу magento.stackexchange.com/questions/92774/…
Абхинав Сингх,

Ответы:

1

Вы можете использовать приведенный ниже код для установки суммы налога в адресах и таблицах котировок:

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

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

Я надеюсь, что это поможет вам. Если у вас есть какие-либо дополнительные вопросы, не стесняйтесь спрашивать.

Рад был помочь!

Спасибо,

Пратик Навапара
источник
0

Вместо звонка $total->setTaxAmount()вам необходимо использовать addTotalAmount:

$total->addTotalAmount('tax', $amount);
$total->addBaseTotalAmount('tax', $baseAmount);
Михель
источник