Hallo allemaal 
Ik heb een probleem in een door ons gemaakte webwinkel. Hierin staan producten zonder btw opgeslagen. De btw van de producten kan je gemakkelijk berekenen en kan je dus eenvoudig in de presentatie verwerken. Je kan dan namelijk wel facturen maken waar apart een btw-berekening wordt gemaakt.
De prijzen staan als integers in de database. De btw is gedefiniëerd als een percentage, ook als integer (in Nederland voor de meeste webshops dus 19). Nu is er een probleem met afrondingsfouten in de presentatielaag.
Een klant wil dat €139,95 een prijs is op de website (inclusief BTW). Hiervoor berekent ze de prijs exlusief btw. Dit is €117,6050... Hier ontstaat het probleem: als je €117,60 als prijs invoert komt er een prijs van €139,94 uit. Een productprijs van €117,61 zorgt ervoor dat de bezoeker een prijs ziet van €139,96.
Nu kunnen we gemakkelijk zeggen: jouw prijs van €139,95 kan je dus niet als verkoopprijs hanteren. Toch is het iets te kort door de bocht. Ik neem aan dat anderen hier ook wel eens mee hebben gestoeid. Hoe is dit op te lossen? De meest aangedragen oplossingen maken het systeem namelijk alleen maar slechter: prijzen in floats, een extra kolom voor een incl. btw prijs etc. Zijn er überhaupt oplossingen?
Ik heb een probleem in een door ons gemaakte webwinkel. Hierin staan producten zonder btw opgeslagen. De btw van de producten kan je gemakkelijk berekenen en kan je dus eenvoudig in de presentatie verwerken. Je kan dan namelijk wel facturen maken waar apart een btw-berekening wordt gemaakt.
De prijzen staan als integers in de database. De btw is gedefiniëerd als een percentage, ook als integer (in Nederland voor de meeste webshops dus 19). Nu is er een probleem met afrondingsfouten in de presentatielaag.
Een klant wil dat €139,95 een prijs is op de website (inclusief BTW). Hiervoor berekent ze de prijs exlusief btw. Dit is €117,6050... Hier ontstaat het probleem: als je €117,60 als prijs invoert komt er een prijs van €139,94 uit. Een productprijs van €117,61 zorgt ervoor dat de bezoeker een prijs ziet van €139,96.
Nu kunnen we gemakkelijk zeggen: jouw prijs van €139,95 kan je dus niet als verkoopprijs hanteren. Toch is het iets te kort door de bocht. Ik neem aan dat anderen hier ook wel eens mee hebben gestoeid. Hoe is dit op te lossen? De meest aangedragen oplossingen maken het systeem namelijk alleen maar slechter: prijzen in floats, een extra kolom voor een incl. btw prijs etc. Zijn er überhaupt oplossingen?