Zach Gollwitzer
3eea5a9891
Add auto-update strategies for current balance on manual accounts ( #2460 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Add auto-update strategies for current balance on manual accounts
* Remove deprecated BalanceUpdater, replace with new methods
2025-07-17 06:49:56 -04:00
Zach Gollwitzer
c1d98fe73b
Start and end balance anchors for historical account balances ( #2455 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Add kind field to valuation
* Fix schema conflict
* Add kind to valuation
* Scaffold opening balance manager
* Opening balance manager implementation
* Update account import to use opening balance manager + tests
* Update account to use opening balance manager
* Fix test assertions, usage of current balance manager
* Lint fixes
* Add Opening Balance manager, add tests to forward calculator
* Add credit card to "all cash" designation
* Simplify valuation model
* Add current balance manager with tests
* Add current balance logic to reverse calculator and plaid sync
* Tweaks to initial calc logic
* Ledger testing helper, tweak assertions for reverse calculator
* Update test assertions
* Extract balance transformer, simplify calculators
* Algo simplifications
* Final tweaks to calculators
* Cleanup
* Fix error, propagate sync errors up to parent
* Update migration script, valuation naming
2025-07-15 11:42:41 -04:00
Zach Gollwitzer
f3ab4a27ee
Fix credit card balance history ( #2414 )
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-06-25 17:03:53 -04:00
Zach Gollwitzer
03a146222d
Plaid sync domain improvements ( #2267 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
Breaks our Plaid sync process out into more manageable classes. Notably, this moves the sync process to a distinct, 2-step flow:
1. Import stage - we first make API calls and import Plaid data to "mirror" tables
2. Processing stage - read the raw data, apply business rules, build internal domain models and sync balances
This provides several benefits:
- Plaid syncs can now be "replayed" without fetching API data again
- Mirror tables provide better audit and debugging capabilities
- Eliminates the "all or nothing" sync behavior that is currently in place, which is brittle
2025-05-23 18:58:22 -04:00