I recently switch to beancount, and I'm trying to set it up for both my personal finances, and for my business.
Consider the following transaction:
```
2024-08-01 txn "Some Service" ""
invoice: "xxx"
Assets:Wise:EUR -9.32 EUR @@ 10 USD
Expenses:MyComp:Operating:Software 10 USD
Expenses:Misc:USD
```
I purchased some service from a US company for 10 USD, but my Wise bank account was charged with 9.32 EUR (The Expenses:Misc:USD is there because apparently this transaction, as is, does not balance and is missing 0.00000000000001 USD, or close to that, but that's a different issue).
I then have a report
```
SELECT date, account, payee, any_meta('invoice') as invoice, round(number(cost(position)), 2) as position, currency(cost(position)) as currency, convert(position, 'EUR', date) as position_eur, convert(balance, 'EUR') as balance_eur where account ~ 'Income:MyComp|Expenses:MyComp' and year = 2024
```
This is a query that gives me all income and expenses for 2024, as well as converting each of them to EUR for easier reporting to the tax authorities. (The reason I split the position to number and currency, is because beancount reports it as 10.000000000000 USD, which is annoying).
This reports the correct values, 10 USD converted to 9.32 EUR, and the balances add up nicely, so it would be perfect to submit to the tax authorities for example. It has no price attached to it. However, if I flip the transaction like this:
```
2024-08-01 txn "Some Service" ""
invoice: "xxx"
Assets:Wise:EUR -9.32 EUR
Expenses:MyComp:Operating:Software 10 USD @@ 9.32 EUR
```
Firstly it balances perfectly, so need for the Misc expense. But again, that's not the issue. Ideally, if I run the report now, I should get the same value, but I don't! Instead, I get 10 USD as the value for the position, but the converted cost of the position is now 8.46 EUR, and even though it has a price of 0.93 EUR attached to it.
I tried to play with all kinds of parameters in the query, like with date or without date, etc, but I still get 8.46 EUR for that transaction as converted amount, hence the converted balance is also incorrect.
I don't mind recording the transaction as in the first example, but what I'm worried about is that the reports might turn out to be incorrect. I randomly caught this transaction, but who knows how many there are/will be.
Am I misunderstanding something?