It seems that temporary holds end up being retroactively modified to $0 once they expire or get removed by the vendor. This violates an important rule in financial accounting: never lose information. Not only is the original amount lost (shows only as $0), but the date the reversal occurred is never shown again, so it’s impossible to even know when it happened. A financial ledger should never lose information like this. The original auth should be shown as a debit, and the reversal should be shown as a subsequent credit. This is how it has been in any other banking system I’ve ever used.
I’m not sure what should happen when the settled amount changes to be less than the original amount, but greater than $0; the straightforward way would be to show a credit with the difference between initial and subsequent amount, so that all events are recorded: the original hold, the settlement for lesser amount, and the dates for both. This takes care of the $0 case as well.
(using USA Android app)