It’s bound to happen: You’re adding a transaction, you make a typo, and you don’t realize it until after you have saved the transaction.
When we developed Church360° Ledger, we wanted to make it easy to correct mistakes but difficult for anyone with ill intentions to manipulate actual transactions. We came up with a solution: give users an experience of changing a transaction, but create a new offsetting transaction in the background.