I'm afraid this is another tax problem - I've read lots of posts trying to solve similar issues, but I just can't find the answer to this problem. This is starting to give me a headache now so I need help please.
I believe everything is set up correctly - I've not adjusted the order total settings. I'm using 126.96.36.199.
item £5.33 (actual item price -tax is 5.3250)
shipping £1.66 (actual shipping cost -tax is 1.6584)
tax (20%) £1.40
Total = £8.38 (It should be 8.38, but because of the rounding those numbers actually add up to 8.39) The problem I'm sure is because the prices less vat are being rounded to two decimal places for display in the order confirmation page.
Just to make it extra confusing the order total passed seems to vary on payment method - with paypal its 8.39 with other methods eg sagepay its 8.38.
However, the more I think about it the more I realise the real problem is that paypal customers get charged an extra penny - its because each line (after rounding) is being passed to paypal, I least I think it is.
Ok the same order - two different payment methods...
Here is the total as shown on the confirmation step - the total is correct (even if the lines don't add up to the total).. PayPal has the incorrect total... Sage pay (or cheque, bank transfer etc) has the correct total... because I think the total has been calculated with 4 decimal places is...
I posted this message today: http://forum.opencart.com/viewtopic.php?f=20&t=40181
it describes the same problem Rob found out earlier.(found Robs message by coincidence)
OC version 188.8.131.52
I didn't solve the problem, but I did find a partial solution and at least an explanation of sorts.
There are problems with PayPal totals and there are a few threads discussing solutions to this - I found my own solution which was to pass only the order total to PayPal. See here...
... there may be better ways.
So now the total should be consistent regardless of which payment method is chosen.
I still have a discrepancy though between the total shown at the last step of checkout and the total passed to the chosen payment system (eg paypal) and that is because of rounding and I cannot find a simple solution. Its easy to explain to the customer (but I wish I didn't have to). Because less tax prices are shown to the customer on the last step of checkout and these are rounded to two decimal places, they may differ to the four decimal place rounding that is actually used to calculate the total amount paid.
Hope that makes sense and helps. Happy to discuss this further.
I know exactly what you mean. Thanx for your link including your temporary solution, but I can not accept this 'bug'.
It will take me too much time to explain it every time to customers. And finally, it is amateurish when different order amounts are displayed.
If no one responds I'll post a bugreport. We keep each other informed, okay?
Just installed the XML file: thanx!
OC version 184.108.40.206
I've just spotted this same discrepancy with Paypal Standard this morning. I'm using OC 220.127.116.11.
I originally had "whole pence" VAT inclusive prices which resulted in VAT exclusive prices to 4dp in some places. When the order is passed to Paypal, Paypal sums the VAT exclusive prices again, rather than using the subtotal, with the result that the Paypal total sometimes doesn't match the total on the checkout screen because of rounding issues.
In an attempt to fix this I tweaked the VAT exclusive price to whole pence, which resulted in the figure being passed to Paypal matching that on the checkout screen, but the total on the screen then doesn't add up because the sum of the VAT inclusive prices is wrong. However, at least the Paypal total is correct.
As a medium term fix, I intend to tweak my VAT exclusive prices to an amount which is divisible by 5, which with a VAT rate of 20% means that both the VAT exclusive and VAT inclusive prices will be in whole pence, so the rounding problem goes away. I think this will handle things up to the point that VAT is changed to 17.5%.
Not quite sure myself that this is a bug in Opencart - is it perhaps just a facet of rounding?
Those findings seem to match my own - I considered tweaking my prices in the way you are proposing to do, but I hadn't managed to sit down and work out how I was going to do that, so thank you for your divisible by 5 idea - makes perfect sense.
Just finished changing all my prices, and it does seem to have had the desired effect. Given that prices are variously displayed as both VAT inclusive and VAT exclusive I can't at the moment see any way of ever getting both the totals to add up correctly without "fudging" the prices - not because of any limitation in Opencart but just because of the rounding problem.
Client called today, and told me that the system is adding up totals incorrectly. She's not happy, and I'm getting flak for recommending an e-commerce system that doesn't work.
Yes, it's just out by 1c; but that's a big deal where accounting is involved. It adds up, and makes it impossible to reconcile orders against client payments. Every other e-commerce system I work with handles it fine, and at the moment I'm extremely *NOT* a happy bunny. Looks like I'm going to have to recode the this system to work consistently.
KP Direction LLC
White-Label Drupal and PHP Development for Media Companies
USA, UK, Canada
I agree it's not an error. But I'm convinced that it can be solved, by changing some code.
Other OS Commerce packages seem to handle paypal payments well (without rounding problems), so there should be a way to fix it.
OC version 18.104.22.168
Haven't found time to really work through this but having looked at what Opencart is posting to Paypal (using paypal standard), it does NOT post the total - just the individual line totals exclusive of VAT, the shipping and the VAT. You can see this from the confirm screen by viewing the source code - or via something like Firebug.
So, if Paypal doesn't get the total it has to calculate it from the product totals, which is where the rounding problem kicks in. The logical step therefore would be to get Opencart to pass the total as well...but I'm not sure whether Paypal will allow this.
I think there might be a possible solution to pass the items with their VAT inclusive prices, and not pass the VAT total. Provided the VAT inclusive price is calculated correctly at the Opencart end that should be OK. Only issue I foresee is with discounts - these would need to be amended to a discount "including VAT".
I agree, you can't pass both total and items across.
Your items with VAT solution sounds good. Although as you say certainly more problematic than just passing the total. I suppose it depends how important it is to you to have an itemised PayPal transaction. Personally, as a shopper, I don't mind so long as I have a separate more detailed email from the shop.
It would be best if PayPal would accept values with 4 decimal places.
I've used other PayPal extensions before. A couple of months ago when I was unfamiliar with Open Cart, I bought WYSIWYG Webbuilder to develop my website. In WYSIWYG's PayPal extension I could enter two amounts for each product.
1. Productprice ex VAT in 2 decimals
2. VAT per product in 2 decimals
Order totals were always being calculated correctly by PayPal.
In this case the VAT amount is not being calculated by the PayPal, since we have passed these values in a constant amount per product. PayPal only adds up the amounts.
OC version 22.214.171.124
Users browsing this forum: No registered users and 2 guests