[This is a multi-currency question, so if you're not into that you may want to just skip.]
I've stumbled onto a possible bug in the way QuickBooks Desktop (I'm using Premier 2018) handles realized gains/losses in a multi currency environment. I'll describe the details using a simplified example. In the following (and in reality) our QuickBooks Home Currency is USD.
OK, so it's easy to see that in USD terms, we have incurred some kind of overall gain or loss since the exchange rate moved, and moved in the same direction. So in USD terms -- under the QuickBooks FX hood as it were -- it went something like this:
So in USD terms, we've experienced an FX-induced gain of USD 15,000.00
The problem is that sometimes, but only sometimes, QuickBooks Desktop is simply not reporting that FX gain/loss. I *think* I know what is going on, and I've tested my theory and it seems to work. But I wanted to check with any other multi-currency users.
The error occurs if I post that GBP 30,000.00 two-bill payment check directly between our GBP bank account and our GBP Accounts Payable account (and then pay the bill's themselves using the resulting credit). However, if I post the payment from bank to a clearing account I create just for that purpose, then the FX effect is handled correctly.
NOTE: in both mechanisms, we do record the exchange rate for the GBP 30,000.00 payment (1.50 in my example). But QB only appears to pay attention to that rate when we pass the payment through the clearing account. If we just go directly into our A/P account, as a credit to be used later, then it's as if QB completely ignores the March FX rate, and instead acts as if the bills were paid with FX rates exactly as they were on the day the bills were issued.
[Edit: I tested the following, what I thought might be an alternative explanation, and it's not.]
But there is an alternative explanation. It may have nothing to do with whether we use a clearing account or not. Instead it may be due to the fact that with the method that works, we pay the bills as if we had received two separate payments, whereas with the broken method we pay the bills from a single large payment from which we then extract the required amount as a credit. I guess it's possible that when the single amount is posted to A/P and only split as different credits, that the FX information on the payment is being lost. (Although if that happened, and so QB had no explicit rate for the date in question, it would use the most recent earlier rate, not go back and pick the very rate that was used for each specific bill.)
As far as I can see this is a program bug, and could be a serious one in that it could affect tax liability. If I'm understanding what's going on, then this could result in someone paying tax they didn't actually owe, or in not paying tax they did owe.
Can anyone shed any light?
 Or "bonnet" as they say in the UK :-)