Openbravo Issue Tracking System - Retail Modules
View Issue Details
0033984Retail ModulesWeb POSpublic2016-09-05 16:392016-09-26 23:12
guilleaer 
Retail 
normalmajorhave not tried
closedfixed 
5
 
RR16Q2.3RR16Q2.3 
guilleaer
No
0033984: Rounding issues paying with foreign currency
Having a certain configuration, payments done in foreign currency does not match with the amounts expected in the "default" currency.

Example:
The customer have to pay 541.65€ but he decides to pay it using USD
In that case -> 32.827272727 USD so rounding the user will have to pay 32.83$
Then once the payment is done, we convert the amount again to EUR and we get
541.695 which is rounded to 541.70

As you can see, the user is paying 541.70 instead of 541.65.

This is normal due to the loss of precision, but it is not acceptable because order/invoice will not be perfectly matched.


Al convertir de MXN 541.65 a USD se obtienen 32.83 USD (32.827272727 sin el redondeo). El problema es que al convertir de vuelta de USD a MXN, 32.83 da 541.695, que redondeado da 541.70.

Un ejemplo concreto se puede ver en el pedido: 3123-2/0039886.
Configure EUR currency
USD -> 0.060606 - 16.5

Configure USD currency
EUR -> 16.5 - 0.060606

Add A Prduct to the ticket
Change price to 541.65
Pay it using USD
Check Created Sales order in the ERP:

   - Payment plan has an outstanding of -0.05
   - Payment details shows 541.70 instead of 541.65
   - Payment in amount is 541.70 instead of 541.65
After discuss with functional team, we will proceed in the same way that ERP.

When a payment to completely pay the order is done using a foreign currency is done, the system should adjust the quantity to match with the amount which is pending in the "default" currency.
No tags attached.
blocks defect 0033898 closed guilleaer Rounding issues paying with foreign currency 
Issue History
2016-09-14 10:17marvintmTypedefect => backport
2016-09-14 10:17marvintmTarget Version => RR16Q2.3
2016-09-22 12:47hgbotCheckin
2016-09-22 12:47hgbotNote Added: 0090163
2016-09-22 12:47hgbotStatusscheduled => resolved
2016-09-22 12:47hgbotResolutionopen => fixed
2016-09-22 12:47hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/9514e62268ee017778da2efab7507122bb8ada57 [^] => http://code.openbravo.com/retail/backports/3.0RR16Q2.3/org.openbravo.retail.posterminal/rev/a9215ef0a0f286fc78a090938989eb488625c4bf [^]
2016-09-22 12:47hgbotCheckin
2016-09-22 12:47hgbotNote Added: 0090164
2016-09-26 23:12guilleaerReview Assigned To => guilleaer
2016-09-26 23:12guilleaerStatusresolved => closed
2016-09-26 23:12guilleaerFixed in Version => RR16Q2.3

Notes
(0090163)
hgbot   
2016-09-22 12:47   
Repository: retail/backports/3.0RR16Q2.3/org.openbravo.retail.posterminal
Changeset: a9215ef0a0f286fc78a090938989eb488625c4bf
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Thu Sep 22 12:46:42 2016 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR16Q2.3/org.openbravo.retail.posterminal/rev/a9215ef0a0f286fc78a090938989eb488625c4bf [^]

Fixed issue 33984: Last payment in foreign currency is adjusted to expected to avoid differences

When a payment is done, the code will check if this payment satisfy the amount which is pending in foreign amount. If the amount is satisfied then the amount of this payment will be calculated from the pending amount instead of converting the payment to the default currency which can cause differences.

---
M web/org.openbravo.retail.posterminal/js/model/order.js
---
(0090164)
hgbot   
2016-09-22 12:47   
Repository: retail/backports/3.0RR16Q2.3/org.openbravo.retail.posterminal
Changeset: 03db27ec50161562a6790e8e4ee5ea551c93e565
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Thu Sep 22 12:47:21 2016 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR16Q2.3/org.openbravo.retail.posterminal/rev/03db27ec50161562a6790e8e4ee5ea551c93e565 [^]

Related to issue 33984: reuse value stored in var instead to call function again

---
M web/org.openbravo.retail.posterminal/js/model/order.js
---