When you void a transaction, you note why — wrong buyer, wrong price, buyer backed out, entered twice. That note travels with the voided row so anyone reviewing the sale later understands what happened.
A clear void reason is what keeps the audit trail honest. It pairs with the void flag: if a transaction is voided, it should say why.
Technical section
Data model, API, and internals — visible to developers.
