Pregunta

Tengo dos opciones para pedir un producto.

  1. recoger (obras)
  2. Entrega, orden por debajo de 30, - Tienes que pagar 7, y arriba no hay costos de entrega:

    Yo uso Fiscalizas para esto.He cargado un CSV y está correctamente hecho:

    Land,Provincie,Postcode,"Subtotaal bestelling (en hierboven)",Verzendkosten
    *,*,*,0.0000,7.0000
    *,*,*,30.0000,0.0000
    

    condición;Precio vs Ubicación

    Cuando ordeno por debajo de 30, - agrega 7, - eso es Oké

    pero cuando ordeno por encima de los 30, - (subtotal) todavía agrega el 7, -

    Me borraron el caché, etc. ¿Hay algo que podría haber perdido?

    versión 1.7.0.2

¿Fue útil?

Solución

El problema puede ser el impuesto. Si pide algo por $ 35, y sus impuestos son del 21%, calcula el total del pedido en 27.25.Por lo que no se ajusta a su tarifa de envío libre.

en la aplicación / código / núcleo / mago / envío / modelo / portador / flatrate.php Agregue el siguiente código (alrededor de la línea 104)

// exclude Virtual products price from Package value if pre-configured
    if (!$this->getConfigFlag('include_virtual_price') && $request->getAllItems()) {
        foreach ($request->getAllItems() as $item) {
            if ($item->getParentItem()) {
                continue;
            }
            if ($item->getHasChildren() && $item->isShipSeparately()) {
                foreach ($item->getChildren() as $child) {
                    if ($child->getProduct()->isVirtual()) {
                        $request->setPackageValue($request->getPackageValue() - $child->getBaseRowTotal());
                    }
                }
            } elseif ($item->getProduct()->isVirtual()) {
                $request->setPackageValue($request->getPackageValue() - $item->getBaseRowTotal());
            }
        }
    }
    //////////// add this piece of code ////////////
    if (Mage::helper('tax')->priceIncludesTax()) {
    $taxableAmount = 0;
    foreach ($request->getAllItems() as $item) {
        $taxableAmount += $item->getTaxableAmount();
    }
    $request->setPackageValue($taxableAmount);
    //////////// till here ////////////
}

    // Free shipping by qty
    $freeQty = 0;
    if ($request->getAllItems()) {
        $freePackageValue = 0;

Estas son las tarifas que estoy usando para un cliente, tenían los mismos problemas.Cuando un cliente ordenó algo por 52,95, el envío no fue gratuito, después de agregar el código anterior, fue

Land,Provincie,Postcode,"Subtotaal bestelling (en hierboven)",Verzendkosten
BEL,*,*,0.0000,6.9500
BEL,*,*,49.9900,0.0000
DEU,*,*,0.0000,4.9500
DEU,*,*,49.9900,0.0000
NLD,*,*,0.0000,4.9500
NLD,*,*,49.9900,0.0000

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top