Summary
Capture the future balance-history model for BankBuddy after the first ICICI spreadsheet import establishes account-level latest balance snapshots.
Context
The ICICI .xls export includes row balances. The first importer should use those balances for import sanity checks and update account-level latest balance fields, but it should not store every row balance unless we need a historical ledger view.
Future Design Questions
- Add
statement_balances for opening/closing balance snapshots per imported statement/account/source file?
- Add
transaction_balances or balance_after_minor_units only if we need per-row ledger reconstruction?
- How should balance history interact with re-imports, duplicate files, and corrected statements?
- How should CLI reports expose historical balances without implying live bank connectivity?
Initial Recommendation
Prefer statement_balances before transaction_balances. Keep account-level latest balance fields as the current snapshot, sourced from the latest successfully imported statement.
Acceptance Criteria
- Document the balance-history schema decision.
- Add migrations and import/update behavior if the design chooses persistence.
- Include reconciliation tests around opening/closing balances and row balances where available.
Summary
Capture the future balance-history model for BankBuddy after the first ICICI spreadsheet import establishes account-level latest balance snapshots.
Context
The ICICI
.xlsexport includes row balances. The first importer should use those balances for import sanity checks and update account-level latest balance fields, but it should not store every row balance unless we need a historical ledger view.Future Design Questions
statement_balancesfor opening/closing balance snapshots per imported statement/account/source file?transaction_balancesorbalance_after_minor_unitsonly if we need per-row ledger reconstruction?Initial Recommendation
Prefer
statement_balancesbeforetransaction_balances. Keep account-level latest balance fields as the current snapshot, sourced from the latest successfully imported statement.Acceptance Criteria