как понять, что скорее всего тебе не стоит что либо проектировать в финансах: твоя таблица транзакций умеет в отмены/возвраты через обновления транзакций, да и вообще апдейты разрешены.
+1
Фин.учет представляет собой event sourcing в чистом виде.
Проведенные операции, после закрытия отчетного периода никогда не корректируются.
Любые изменения это всегда новая операция в новом отчетном периоде.
Есть понятие “чистая позиция”, это сумма приходных и расходных операций на конец отчетного периода, она и представляет собой баланс.