I'm not a tax lawyer (warning/disclaimer) but I will venture that if you are just temporarily holding your income for a short time before you transfer it, those are probably small and over many transfers your losses probably cancel out your gains. Those rules probably start to have more of an impact when you trade currencies. (Personally I'd make a quick one-off rough estimate to confirm the total is small and if so not bother reporting, and keep my spreadsheet in case they come.)
Now, if you really want those, there are a few ways to do this.
1. You could write a script and convert your Income postings to AUD, and produce a table of equivalent trades. You could even spit out another Beancount file from it with {...} costs if you want FIFO matching.
2. You could use the currency trading accounts method and write a script to do a few things:
- Convert the Income:Upwork postings to AUD
- Filter and sum up just the Earnings + Conversions transaction you show above.
The resulting gain/loss should be in corresponding Equity accounts.
That won't give you the realized/unrealized breakdown though, you'll just have total gain/loss.
Note: There's a partial implementation of the currency trading accounts method here:
In v3 this will be the normal way everything works, see discussion here: