Magento bug versie 1.6
Door een Magento bug in versie 1.6 doet zich een fout voor in de productprijzen van Nederlandse webshops. Veel prijzen waar 19% BTW op zit worden een cent hoger weergegeven dan de ingevoerde prijzen. In dit artikel een uitleg hoe je dat repareert in je Magento webshop.
Wat is er aan de hand?
De productprijzen worden inclusief BTW ingevoerd, Magento berekent achter de schermen de prijs exclusief BTW en voor de weergave bij het product in de webshop wordt er weer 19% BTW bijgeteld. In veel gevallen gaat het mis in de afronding en worden onjuiste prijzen weergegeven.
Hoe los je dat op?
Simpele truc: open bestand app/code/core/Mage/Core/Model/Store.php
Rond regel 930 zie je staan:
public function roundPrice($price)
{
return round($price, 2);
}
Maak van de 2 een 4, sla de file weer op en je probleem is verholpen.
Let op
Dit is een aanpassing in de core bestanden van Magento en kan na een upgrade overschreven zijn. Bewaar de aanpassing die je hebt gedaan en pas het nog een keer toe als de afrondingsfout na een upgrade nog bestaat.
Micha
Ik ervaar deze bug ook in 1.7.0.2. Het gaat steeds om 1 cent waardoor er af en toe een fraude melding komt. Heel iritant. Jammer dat Magento niet gewoon het totaalbedrag kan overzenden zoals die ook op de factuur staat.