Problemas com a configuração dos custos de entrega
-
12-12-2019 - |
Pergunta
Tenho duas opções para solicitar um produto.
- Escolha você mesmo (funciona)
- Entrega, pedido abaixo de 30,- você tem que pagar 7,- e acima não há custos de entrega:
Eu uso Tablerates para isso.Carreguei um CSV e foi feito corretamente:
Land,Provincie,Postcode,"Subtotaal bestelling (en hierboven)",Verzendkosten
*,*,*,0.0000,7.0000
*,*,*,30.0000,0.0000
Doença;preço versus localização
Quando peço abaixo de 30, acrescenta 7, tudo bem
Mas quando peço acima de 30,- (subtotal) ele ainda soma 7,-
Limpei o cache etc.Há algo que eu poderia ter perdido?
versão 1.7.0.2
Solução
O problema pode ser o imposto.Se você pedir algo por US$ 35 e seus impostos forem de 21%, ele calculará o total do pedido em 27,25.Portanto, não cabe na sua taxa de frete grátis.
em app/code/core/mage/shipping/model/carrier/Flatrate.php adicione o seguinte código (por volta da linha 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 são as taxas que estou usando para um cliente. Eles tiveram os mesmos problemas.Quando um cliente pedia algo por 52,95 o frete não era grátis, após adicionar o código acima era
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