Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0033933 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Retail Modules] Web POS | major | always | 2016-09-08 23:22 | 2018-07-27 15:33 | |||
Reporter | guilleaer | View Status | public | |||||
Assigned To | guilleaer | |||||||
Priority | high | Resolution | fixed | Fixed in Version | ||||
Status | closed | Fix in branch | Fixed in SCM revision | 847e6420c8a6 | ||||
Projection | none | ETA | none | Target Version | RR16Q4 | |||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | marvintm | |||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0033933: Docuemnt level taxes calculation fails when tax rate has decimals | |||||||
Description | Document level tax calculations done by web POS are wrong when the tax rate has decimals. It happens because the algorithm is rounding earlier than expected. | |||||||
Steps To Reproduce | Create a tax with a rate of 21.5 (you can modify ENTREGAS IVA 21% rate's) Open web POS in a terminal using price not including taxes Add a product - Avalanche Transceiver (150.50) Realize that taxes calculations are wrong - Tax amount is 27.14 but it should be 26.63 - Net should be 123.87 but it is 123.36 This happens because when executing the algorithm, we are rounding. In this case, the algorithm first calculates the total gross 150.5 Then the net is recalculated with the following expression: newNet = round(totalGross / (1+rate)) The problem is that wrongly we are doing the following newNet = round(totalGross / round(1+rate)) So in this particular case, newNet calculation is wrong: wrong -> newNet = round(150.5 / round(1+0.215)) wrong -> newNet = round(150.5 / 1+1.22) wrong -> newNet = round(123.3606557) -> 123.36 correct -> newNet = round(150.5 / 1+1.215) correct -> newNet = round(123.8683128) -> 123.87 Because tax amount is based on net, it is also wrong taxamount = total - newNet Wrong -> 150.5 - 123.36 = 27.14 Correct -> 150.5 - 123.87 = 26.63 | |||||||
Proposed Solution | round in the correct place when net is being calculated do newNet = round(totalGross / (1+rate)) instead of newNet = round(totalGross / round(1+rate)) | |||||||
Tags | No tags attached. | |||||||
Attached Files | roundingrate.diff [^] (803 bytes) 2016-09-08 23:34 [Show Content] | |||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | ||||||||||||||||||||||
|
Notes | |
(0089873) hgbot (developer) 2016-09-09 15:50 |
Repository: erp/pmods/org.openbravo.retail.posterminal Changeset: 847e6420c8a6551d9cc71dd951b8129e5539d68d Author: Guillermo Alvarez de Eulate <guillermo.alvarez <at> openbravo.com> Date: Thu Sep 08 23:59:10 2016 +0200 URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/847e6420c8a6551d9cc71dd951b8129e5539d68d [^] Fixed issue 33933: Round in proper place when document taxes are calculated --- M web/org.openbravo.retail.posterminal/js/data/dataordertaxes.js --- |
(0089874) guilleaer (manager) 2016-09-09 15:51 |
Fix has passed try Issue reopened because test is pending |
(0105991) hgbot (developer) 2018-07-27 15:33 |
Repository: tools/automation/pi-mobile Changeset: 8efea16e85430c3aa409bf5bc96e8b35f21ce086 Author: Alejandro <alekosmp86 <at> gmail.com> Date: Mon Jul 23 14:51:46 2018 -0400 URL: http://code.openbravo.com/tools/automation/pi-mobile/rev/8efea16e85430c3aa409bf5bc96e8b35f21ce086 [^] Related to issue 33933: added automated test --- A src-test/org/openbravo/test/mobile/retail/pack/selenium/tests/sales/taxes/I33933_VerifyDocumentLevelTaxesCalculation.java --- |
Issue History | |||
Date Modified | Username | Field | Change |
2016-09-08 23:22 | guilleaer | New Issue | |
2016-09-08 23:22 | guilleaer | Assigned To | => Retail |
2016-09-08 23:22 | guilleaer | Triggers an Emergency Pack | => No |
2016-09-08 23:34 | guilleaer | File Added: roundingrate.diff | |
2016-09-09 00:15 | guilleaer | Note Added: 0089859 | |
2016-09-09 15:50 | hgbot | Checkin | |
2016-09-09 15:50 | hgbot | Note Added: 0089873 | |
2016-09-09 15:50 | hgbot | Status | new => resolved |
2016-09-09 15:50 | hgbot | Resolution | open => fixed |
2016-09-09 15:50 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/847e6420c8a6551d9cc71dd951b8129e5539d68d [^] |
2016-09-09 15:50 | guilleaer | Status | resolved => new |
2016-09-09 15:50 | guilleaer | Resolution | fixed => open |
2016-09-09 15:51 | guilleaer | Note Added: 0089874 | |
2016-09-09 15:51 | guilleaer | Note Deleted: 0089859 | |
2016-09-14 10:17 | marvintm | Status | new => scheduled |
2016-09-16 14:40 | marvintm | Status | scheduled => resolved |
2016-09-16 14:40 | marvintm | Resolution | open => fixed |
2016-09-19 09:20 | marvintm | Assigned To | Retail => guilleaer |
2016-09-26 10:42 | guilleaer | Relationship added | related to 0034084 |
2016-09-26 11:53 | marvintm | Review Assigned To | => marvintm |
2016-09-26 11:53 | marvintm | Status | resolved => closed |
2018-07-27 15:33 | hgbot | Checkin | |
2018-07-27 15:33 | hgbot | Note Added: 0105991 |
Copyright © 2000 - 2009 MantisBT Group |