Jump to content
PaulNLD

BTW verkeerd afgerond

Recommended Posts

Hallo allemaal,

 

Ik heb een probleem, prestashop geeft alle btw verkeerd weer. Ik heb begrepen dat dit een bekend probleem is maar is er ook al iemand die er een oplossing voor heeft ??

 

Paul

Share this post


Link to post
Share on other sites

Paul, je bent nogal vaag. Wat is verkeerd volgens jou? 

 

Prestashop rondt op het moment - in zijn laatste versies - af per product. Als je honderd producten met een afrondingsverschil van een halve cent hebt heb je dan ineens een verschil van 50 cent. Vervelend en soms moeilijk uit te leggen aan een klant. Maar of het echt "verkeerd" is...

Edited by musicmaster

Share this post


Link to post
Share on other sites

Hoi Paul,

 

Ik weet niet of je probleem al is opgelost, alleen in de backend van je shop bij: Voorkeuren -> Algemeen kan je kiezen op welke manieren de producten afgerond moeten worden. 

Share this post


Link to post
Share on other sites

Nee nog geen oplossing gevonden voor het probleem. Het enige wat redelijk werkt is de artikelen ex btw met 3 decimalen achter de komma invullen bij het artikel. Dan klopt het redelijk 

Share this post


Link to post
Share on other sites

Er is inderdaad een afrondingsvershil. Dit komt enerzijds omdat de ex. btw prijs voor een product met te weinig decimalen word opgeslagen en deels omdat er bij het aanmaken van de order reeds word afgerond naar 2 decimalen tussen de winkelwagen en de order.

Ben momenteel bezig met een script om dit permanent op te lossen middels overrides (en wellicht dat ik de aangepaste code ook ga aanbieden op github)

Share this post


Link to post
Share on other sites

kan ook de btw voor de verzending correct worden weergegeven?

nu staat die wel op de factuur maar nergens incl of excl btw daar op te bespeuren..de boekhouder ziet er geen goed oog in.

Share this post


Link to post
Share on other sites

kan ook de btw voor de verzending correct worden weergegeven?

nu staat die wel op de factuur maar nergens incl of excl btw daar op te bespeuren..de boekhouder ziet er geen goed oog in.

Dat is deels afhankelijk van je instellingen voor de verzendkosten en verzenders. Als je de verzender niet koppelt aan een btw tarief zal deze ook niet berekend worden.

Share this post


Link to post
Share on other sites

Heb inmiddels naast een PS 1.5 webshop ook nog een PS 1.6 webshop gemaakt.
Dezelfde fout met afrondingsverschillen.

 

Op een factuur van 100 euro rond met 21% BTW, vermeld de factuur 100 euro incl. BTW, maar de BTW bedraagt 17 euro rond.

De Belastingdienst accepteert deze fout niet. Mij als ondernemer kost het nu in 2 webshops teveel geld én ook tijd.

 

Als tijdelijke oplossing heb ik het volgende gedaan voor beide webshops:

 

  • factuur verzenden naar klant per email: uitgeschakeld
  • BTW vermelden in winkelwagen: uitgeschakeld
  • élke bestelling die binnenkomt, handmatig een factuur aanmaken en meezenden met de bestelling.

Alleen op deze manier voorkom je foute facturen en afrondingsfouten. Ik ga mijn beklag over PrestaShop niet doen, ik denk dat men inmiddels wel weet hoe het zit. Mijn teleurstelling is groter dan mijn frustratie.

 

Ondertussen is mijn oog al gevallen op een tweetal andere gratis webshoppakketten, waarbij deze fout niet voorkomt.
Misschien ziet de site er wat minder mooi opgemaakt uit, maar het werkt wel 100%.

Share this post


Link to post
Share on other sites

Afrondproblemen spelen ook bij kortingen.

 

Bijvoorbeeld: 1 voor 2,50; 3 voor 6,50 kan niet. Het wordt 3 voor 6,51 of 3 voor 6,48. Dat is resp 33 en 34 cent korting per product.

Share this post


Link to post
Share on other sites

Een module voor het repareren van de afrondingsverschillen is in de maak. Hoop deze eind volgende week te kunnen publiceren.

Omdat er behoorlijk veel onderzoeks- en scripting uren in is gaan zitten zal deze module tegen een kleine vergoeding te downloaden zijn.

  • Like 1

Share this post


Link to post
Share on other sites

Een module voor het repareren van de afrondingsverschillen is in de maak. Hoop deze eind volgende week te kunnen publiceren.

Omdat er behoorlijk veel onderzoeks- en scripting uren in is gaan zitten zal deze module tegen een kleine vergoeding te downloaden zijn.

Momenteel nog even aan het testen op een testomgeving (kopie van een live shop) van een klant om te bekijken of de fix volledig correct verloopt. Als dat het geval is word de module in mijn shop gepubliceerd.

Share this post


Link to post
Share on other sites

De btw fix is getest en gereed.

Deze is te vinden op http://prestadev.nl/nl/mod/administratieve-tools/14-btw-reparatie.html

 

De module is uitgerust met een reparatie functie die tevens alle in de database aanwezige producten, orders, orderregels en facturen corrigeert.

De reparatie, die gestart kan worden vanuit de module configuratie, kan dus enige tijd duren afhankelijk van de database grootte.

Share this post


Link to post
Share on other sites

De module versie is 1.0.0. Is er iemand die het in alle gevallen en PrestaShop versies hebben getest?

 

The module version is 1.0.0. Is there anybody who have tested it in all cases and PrestaShop versions?

Share this post


Link to post
Share on other sites

De module versie is 1.0.0. Is er iemand die het in alle gevallen en PrestaShop versies hebben getest?

 

The module version is 1.0.0. Is there anybody who have tested it in all cases and PrestaShop versions?

the module is version 1.0.0, that is correct as its the first release. Prior versions below 1.0 were testversions. Both module and overrides have been tested on PS 1.5.3, PS 1.5.5 and PS 1.5.6 production enviroments and several test envirorments from 1.5.0.3 and above.

The module is not compatible with PS 1.4.x

Share this post


Link to post
Share on other sites

the module is version 1.0.0, that is correct as its the first release. Prior versions below 1.0 were testversions. Both module and overrides have been tested on PS 1.5.3, PS 1.5.5 and PS 1.5.6 production enviroments and several test envirorments from 1.5.0.3 and above.

The module is not compatible with PS 1.4.x

heb de module geinstalleerd op 1.6.06, en werkt perfect. eindelijk de juiste btw bedragen, en geen foutmelding meer met mn Ideal module van targetpay. (deze werkt nu ook ineens zoals het hoort...)

 

installed this module om 1.6.06 and works flawless

Share this post


Link to post
Share on other sites

Zou erg prettig zijn.
Ik heb 1.5.6.2 live en die draait goed qua BTW dankzij een gratis Duitse module. :)
Voor 1.6.x zijn ze nog hard bezig, zodra die verkrijgbaar is, drop ik hier de link.
Ben offline met een 1.6.0.9 versie aan de slag, maar ook hier met testen nog steeds btw afwijkingen als standaard.

Share this post


Link to post
Share on other sites

Dat toch zo lang een probleem blijft. Mocht ik nog wat vinden drop ik het hier

Share this post


Link to post
Share on other sites

In 1.6.0.9 is het btw-probleem niet opgelost. hier zit nog steeds een onjuiste vorm van afronden in de software. 

het hele probleem zit er waarschijnlijk in, dat de afrondingen toegepast in alle voorgaande versies van prestashop bij elk product op 2 decimalen wordt gedaan. hierdoor krijg je, als er veel van 1 product besteld wordt, al snel flinke afwijkingen in de belastingen. Dit is nu blijkbaar aangepast in 1.6.0.11. Hier zijn ze al enkele maanden mee bezig, en in deze versie zit nog veel meer aanpassingen. lees het artikel bij de link in mijn vorige bericht maar eens door. daar kun je 1.6.0.11 ook downloaden om vast uit te proberen

Edited by frank de beer

Share this post


Link to post
Share on other sites

BTW probleem in Prestashop 1.5.6. is redelijk simpel op te lossen (voor degene die nog op 1.5.6 draait - of wellicht oudere 1.5 versies = niet getest)

 

Voor de standaard thema van 1.5.6.x is het:

 

1) Open classes/product.php

2) Ga naar regel: 2775

 

Vervang: $price = Tools::ps_round($price, $decimals);

Voor: $price = $price;

 

Voor aangepast thema kan dit anders zijn. (heb hetzelf moeten aanpassen voor andere thema's)

 

Uiteraard wel handig om een backup te maken!

  • Like 1

Share this post


Link to post
Share on other sites

Helaas zit er in Prestashop 1.6.14 ook weer een afrondings fout.

Voorbeeld:
Ik koop 2 producten die kosten: 5,95 ex btw = €11,90
Ik hanteer €7,50 ex. btw verzendkosten

Alles samen is: 11,90 + 7,50 = €19,40 ex btw
Inclusief btw zou dit moeten zijn: €23,474 (dus €23,47)

Prestashop maakt er: €23,48 van. (zie screenshot)
Blijkbaar is het afronden op totaal dus exclusief verzendkosten en is er weer een verschil.

 

 

De volgende snelle (niet de mooiste) oplossing heb ik hiervoor gevonden. Beter is om een override te gebruiken.

Ik heb dit alleen getest op de standaard theme!

Maak van deze 3 bestanden een backup!

 

Vervang de zwarte regels door de groene:

 

Classes/Cart.php

 

$shipping_cost = (float)Tools::ps_round((float)$shipping_cost, 2);
$shipping_cost = (float)Tools::ps_round((float)$shipping_cost, 6);

 

Classes/Tools.php

 

$c_decimals = (int)$currency['decimals'] * _PS_PRICE_DISPLAY_PRECISION_;

$c_decimals = (int)$currency['decimals'] *  2;

$c_decimals = (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_;

$c_decimals = (int)$currency->decimals * 2;

$price = Tools::ps_round($price, $c_decimals);

$price = Tools::ps_round($price, 6);

 

Classes/Controller/Froncontroller.php

 

'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,

'priceDisplayPrecision' => 2,

 

Pas in de backend de volgende optie aan:

Instellingen > Algemeen > Zet aantal decimalen op 6

 

 

Volgens mij zit de fout in prestashop door continue met 2 cijfers achter de komma te rekenen.

Beter is om te rekenen met 6 of 8 cijfers achter de komma, en af te ronden op 2 cijfers achter de komma.

post-374941-0-10506900-1433523192_thumb.jpg

Edited by Keron83

Share this post


Link to post
Share on other sites

Bedankt voor de tip Stefand.

 

Ik heb het getest, maar heb exact dezelfde rekenfout. Ook €23,48

 

- Manier van afronden = Aanbevolen optie

- Ik rond af op totaal

 

Share this post


Link to post
Share on other sites

Hallo Keron83.

 

De standaard Prestashop instellingen bij 1.6.1 (betaversie) zijn:

 

- Manier van afronden: Afronden naar boven als het over de helft is (aanbevolen)

- Type afronding: Afronden op elke lijn

 

Als ik daarmee jouw voorbeeld test, is het resultaat juist: € 23,47

Share this post


Link to post
Share on other sites

classes/Cart.php is anders in 1.6.1.5 en na uitpluizen en aanpassen werkt deze fix niet helaas.

 

 

 

 

Helaas zit er in Prestashop 1.6.14 ook weer een afrondings fout.

Voorbeeld:
Ik koop 2 producten die kosten: 5,95 ex btw = €11,90
Ik hanteer €7,50 ex. btw verzendkosten

Alles samen is: 11,90 + 7,50 = €19,40 ex btw
Inclusief btw zou dit moeten zijn: €23,474 (dus €23,47)

Prestashop maakt er: €23,48 van. (zie screenshot)
Blijkbaar is het afronden op totaal dus exclusief verzendkosten en is er weer een verschil.

 

 

De volgende snelle (niet de mooiste) oplossing heb ik hiervoor gevonden. Beter is om een override te gebruiken.

Ik heb dit alleen getest op de standaard theme!

Maak van deze 3 bestanden een backup!

 

Vervang de zwarte regels door de groene:

 

Classes/Cart.php

 

$shipping_cost = (float)Tools::ps_round((float)$shipping_cost, 2);
$shipping_cost = (float)Tools::ps_round((float)$shipping_cost, 6);

 

Classes/Tools.php

 

$c_decimals = (int)$currency['decimals'] * _PS_PRICE_DISPLAY_PRECISION_;

$c_decimals = (int)$currency['decimals'] *  2;

$c_decimals = (int)$currency->decimals * _PS_PRICE_DISPLAY_PRECISION_;

$c_decimals = (int)$currency->decimals * 2;

$price = Tools::ps_round($price, $c_decimals);

$price = Tools::ps_round($price, 6);

 

Classes/Controller/Froncontroller.php

 

'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,

'priceDisplayPrecision' => 2,

 

Pas in de backend de volgende optie aan:

Instellingen > Algemeen > Zet aantal decimalen op 6

 

 

Volgens mij zit de fout in prestashop door continue met 2 cijfers achter de komma te rekenen.

Beter is om te rekenen met 6 of 8 cijfers achter de komma, en af te ronden op 2 cijfers achter de komma.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More