- I order groceries including some bananas.
- The store charges my bank account with $150, which shows up as -$150 in my bank account.
- Some days pass and the delivery takes place. I don't get any bananas in spite of having paid for them.
- The charge in my bank account changes into -$145, because they at least spotted the lack of bananas and noted this in their system.
- Now the single transaction as "settled". They don't make a "real" transaction and then another one to give me back those $5 worth of bananas.
If I had manually entered -$150 into my own "bookkeeping" (in lack of a better word) database table, then how do I handle the fact that it's no longer -$150, but -$145?
- Actually modify the existing record after it's been entered?
- Add a new record called "Adjustment for previous food order" which is +$5? I'm worried that it may be misleading/problematic as it looks like I've gained $5 somehow, when that's not really the case.
- Wait until the entire thing has "settled" until I actually enter it into my bookkeeping? That also seems misleading and problematic in many ways.
All three ways seem fundamentally flawed to me. What's the recommended practice for this? Why must they use such a "fluid" and "volatile" method for transactions where they can be "reserved" and "settled"?
Also, "my" bank is extremely non-helpful in terms of providing zero "identifier" of any kind, even when downloading the data as CSV. All I have is the description, amount and date (not even time). So it's going to be very difficult to automate this somehow, such as simply using an identifier for the "transaction" which is the same for both the initial charge and the "reverse charge" (which to me shows up as the same unit which just has an updated amount).