View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005420 | OXID eShop (all versions) | 1.02. Price calculations (discounts, coupons, additional costs etc.) | public | 2013-09-19 12:26 | 2014-02-11 16:55 |
Reporter | tapesandmore | Assigned To | |||
Priority | high | Severity | major | Reproducibility | always |
Status | resolved | Resolution | unable to reproduce | ||
Product Version | 4.7.7 / 5.0.7 | ||||
Fixed in Version | 4.7.10 / 5.0.10 | ||||
Summary | 0005420: VAT calculation not precise enough (rounding differences) in basket | ||||
Description | Item VAT calculation process calculates based on the item gross price already rounded to 2 decimals. This causes rounding issues in the basket’s gross total. Detailed explanation: In the backend you enter the net price per unit. OXID automatically calculates the gross price per unit with a rounding precision of 2 decimals. In the shop basket OXID uses the gross unit price (rounded from net to gross with 2 decimals) and recalculates the net price (precision 5 decimals). At this point you get small rounding issues that lead to a different gross total calculation compared to a calculation a ERP-system like NAV2009R2 does. What OXID 4.7.7 does:%) Gross unit price (rounded from net to gross with 2 dec.) + VAT = net unit price (precision 5 dec.) * quantity = net total + VAT = gross total What NAV2009 and many other ERP-Systems do: Net unit price * quantity= net total + VAT = gross total In order to get a better overview please find enclosed an excel sheet with a samples calculation and a screenshot out of OXID 4.7.7 confirming that problem. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Theme | |||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||
related to | 0005465 | resolved | Linas Kukulskis | Price rounding precision is hardcoded to 2 |
|
uploaded file from closed duplicate |
|
As I understand your suggestion introduces inconsistency in price calculation. Basically the price for multiple products would not be equal to amount * displayed-single-product-price. For shop visitor who is not aware of shop internals that would look incorrect. In this case price calculation consistency is taken into account. Therefore this is not a bug. I see there is another problem with this example, I reported it as a separate bug 0005465. |
|
You are right, it is not a bug. What I was trying to explain is that the oxid shop has a very interesting way of calculating the VAT. I had a look at the posted issue 0005465 “Price rounding precision is hardcoded to 2” – I am not sure if extending the precision to 5 would solve the problem. I think we have to try it. Otherwise the whole calculation should be reviewed. |
|
fixed together with related task |
|
Update to 4.8.1 didn't solve the problem. Rounding issues are still present. |
|
hi, i checked this ticket again. and noticed that you configured system like this: 1. price entered in brutto mode 2. price are shown also in brutto mode in such situation all calculations are done in brutto mode. and netto price is calculated from brutto as you show in xls sheet. to eliminate this calculation problem you can configure shop like that: 1. price enter in netto mode (master settings->core settings->settings->vat->Enter Product Prices as Net Prices (plus VAT)) 2. price are shown also in brutto mode then total sums will be the same as in NAV; also eShop support all possible variant enter/show prices: netto/netto; brutto/brutto; netto/brutto; brutto/netto; other note: all calculation are done in such mode in which prices will be show; |
|
Hi Linas, thanks for your suggestions and help. But our shop is already cinfigured that way. Uploaded an image of the config part. Best regards Bastian |
|
sorry, but i cant reproduce; just tried once again and uploaded print screen. it seems work fine my configuration: price enter netto mode, view brutto also configured show 5 digits in master settings->core settings->settings->other settings->currency: EUR@ 1.00@ ,@ .@ €@ 5; maybe you are using extensions? |