OK, I can see what’s happening now.
When you enter purchase invoice in USD, it will be converted to base currency.
Let’s say you receive purchase invoice for 10 USD. Assuming exchange rate is 1.1128, the base currency equivalent will be 8.99 EUR.
The issue is when invoice has multiple line items, each line item needs to be converted to base currency on its own first and the overall transaction must balance in base currency too (debits must equal credits).
Let’s say you have received invoice for 10 USD which is equally split between two expense accounts.
Therefore 5 USD will be converted to 4.49 EUR and since there are two line items of 5 USD, the total of base currencies for all line items will be
4.49 EUR * 2 = 8.98 EUR. So expense accounts will be debited 8.98 EUR but we can’t credit supplier account 8.99 EUR. We need to credit supplier account 8.98 EUR so the books are always balanced.
So even without changing the overall total for purchase invoice (10 USD), due to rounding, you can end up with different total in base currency just by having purchase invoice split to 2 or more lines.
The confusing part is that the report doesn’t show the exact exchange rate used. Even if you set
Settings, it might not be what you will see on the report. This is because
1.1128 is used for each line item but due to rounding, overall exchange rate for entire invoice could be higher or lower.
The latest version (19.2.48) shows the actual exchange rate used on the report which should avoid at least some confusion in future.