The problem was ShoppingCart.getTotalSalesTax not rounding down to taxFinalScale, should be fixed now in rev. 550044.
Regards Scott On 23/06/07, Scott Gray <[EMAIL PROTECTED]> wrote:
Still digging but here's the problem: remainingTotal = 18.824999999999999289457264239899814128875732421875 remainingAmount = remainingAmount.setScale(2, BigDecimal.ROUND_HALF_UP); result = 18.82 Scott On 23/06/07, Jacopo Cappellato <[EMAIL PROTECTED]> wrote: > > Scott, > > that is great, thanks! > > For the test case: > > https://demo.hotwaxmedia.com/ordermgr/control/orderview?orderId=WSCO10001 > > > I got this order in the following way: > > 1) removed all the promotions from the store > 2) changed the tax percentage for the UT state to 8.63; you can do this > in the following screen: > > https://demo.hotwaxmedia.com/accounting/control/EditTaxAuthorityRateProducts?taxAuthPartyId=UT_TAXMAN&taxAuthGeoId=UT > 3) in the order manager, start an order for DemoCustomer > 4) put one product in the cart and change its price to 11.99 > 5) select the "UPS Air - $5.80" as shipment method > 6) checkout and quickship > > Please let me know if you need further information! > > Jacopo > > > Scott Gray wrote: > > Hi Jacopo > > > > If you can give me a test case I'm happy to take a look at it. > > > > Regards > > Scott > > > > On 23/06/07, Jacopo Cappellato <[EMAIL PROTECTED]> wrote: > >> > >> Well, > >> > >> in the order in the demo server the amount invoiced is equal to the > >> order grand total: $18.83 > >> > >> So, the rounding issues in the payment is leaving the invoice open > for > >> one cent > >> > >> Jacopo > >> > >> Jacopo Cappellato wrote: > >> > Unfortunately, there are still some rounding issues when sales > taxes > >> are > >> > involved. > >> > After some research, I think I have found where the problem is: > >> > OrderPaymentPreference.maxAmount (the field where the auth/captured > >> > amount is stored) has 2 decimal digits; the field > >> OrderAdjustment.amount > >> > has 3 decimal digits; the number of digits (set in the arithmetic > >> > properties file) for sales taxes is 3. > >> > My guess is that somewhere we move a 3 decimal number (without > proerly > >> > rounding it as we do with the order grand total) to a 2 decimal > field > >> > (maxAmount) and so the db approximate the number for us (in a > different > >> > way from the grand total). > >> > The end result is this: > >> > > >> > > >> https://demo.hotwaxmedia.com/ordermgr/control/orderview?orderId=WSCO10001 > > >> > > >> > The order total is $18.83 (rounded from 18.825) > >> > The amount auth/captured/invoiced is $18.82 > >> > > >> > Any hints on how we can fix this? > >> > > >> > Jacopo > >> > >> > > > >
