Magento 2: Cómo hacer que la tarifa personalizada esté sujeta a impuestos


9
  • Quiero agregar un impuesto sobre la tarifa personalizada. El cálculo de impuestos es perfecto y obtiene la cantidad de impuestos, pero no se establece en los archivos de impuestos en quote_address en la base de datos.

    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); 
    }
  • Intento establecer la cantidad de impuestos en el método de recopilación, pero no está establecida.

  • Quiero hacer lo mismo con este código. es Magento1 pero quiero Magento 2


Intente seguir lo siguiente para agregar una tarifa personalizada a su subtotal magento.stackexchange.com/questions/92774/…
Abhinav Singh el

Respuestas:


1

Puede usar el siguiente código para establecer el monto de impuestos en la dirección de cotización y las tablas de cotización:

$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 esto te ayude. Si tiene alguna consulta adicional, no dude en preguntar.

¡Feliz de ayudar!

Gracias,


0

En lugar de una llamada $total->setTaxAmount(), debe usar addTotalAmount:

$total->addTotalAmount('tax', $amount);
$total->addBaseTotalAmount('tax', $baseAmount);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.