Problems with FX precision
I'm seeing two problems with the precision (or lack thereof) QB uses to store exchange rates.
The first is a discrepancy I'm seeing between my Desktop data and what I get when I upload that into QuickBooks Online. Here's a specific example.
On QB Desktop, I have a Bill Payment check drawn on a EUR account, with an exchange rate of 1 EUR = 1.0497 USD -- i.e. specified to four decimal places. But when I import my file into QB Online that same check ends up with an exchange rate of 1 EUR = 1.049698 USD -- i.e. specified to six decimal places. That extra precision in QB Online is very welcome, but where is it getting those extra least-significant digits from? In other words, with a QB Desktop rate of 1.0497, why isn't the corresponding QB Online rate 1.049700?
The second problem is purely in Desktop, and I spotted it only when trying to fix the first problem. I'd always thought that QB allowed 5DPs of precision, so I changed that 1.0497 in the Desktop check to 1.04969. That was accepted, and it did improve the situation since it reduced the size of discrepancy between Desktop and Online.
But then, just in case I'd completely underestimated QB Desktop and in fact it would handle the same 6DP precision as QB Online, I tried changing the 1.04969 to 1.049498 -- i.e. to match QB Online exactly. The result was worrying -- the whole thing just snapped back to 4DP precision; i.e. to 1.0497. Just to be clear then, in QB Desktop, for the EXCHANGE RATE field in a Bill Payment Check:
If I enter 1.0497, I get 1.0497
If I enter 1.04969, I get 1.04969
but
If I enter 1.049698, I get 1.0497. (!)
(That last is a bug, surely.)