P.S. A tiny feature request: prevent “Exchange” with the same currency (go to “Cash Transactions”, press “Add Cash Transaction”, choose type “Exchange”, insert the same currency in the fields “Currency From” and “Currency To” => don’t allow “save”). Only using export & spreadsheet I was able to find my mistake
I would argue converting Singapore Dollars to Singapore Dollars doesn’t make sense. If it happens user probably made a mistake in the form (“Currency To” is supposed to be USD in this particular example).
The mistake is not prevented during input, nor is it highlighted in the list. So it really hard (at least for me) to spot such incorrect input especially if it is somewhere in the middle of the table.
Suggested tiny improvement:
when user clicks “Add”: if (action == 'Exchange' && currencyFrom == currencyTo) { block or warn user }
might save somebody a lot of time trying to figure out why the balance is incorrect