samuelcseto
cb74856f61
Fix linked account balance currency mismatch ( #566 )
...
* Fix linked account balance currency mismatch
When linking accounts from providers (Lunchflow, SimpleFIN, Enable Banking),
the initial sync was creating balances before the correct currency was known.
This caused:
1. Opening anchor entry created with default currency (USD/EUR)
2. First sync created balances with wrong currency
3. Later syncs created balances with correct currency
4. Both currency balances existed, charts showed wrong (zero) values
Changes:
- Add `skip_initial_sync` parameter to `Account.create_and_sync`
- Skip initial sync for linked accounts (provider sync handles it)
- Add currency filter to ChartSeriesBuilder query to only fetch
balances matching the account's current currency
* Add migration script and add tests
* Update schema.rb
---------
Signed-off-by: soky srm <sokysrm@gmail.com >
Co-authored-by: sokie <sokysrm@gmail.com >
2026-01-08 18:23:34 +01:00
Zach Gollwitzer
f7f6ebb091
Use new balance components in activity feed ( #2511 )
...
* Balance reconcilations with new components
* Fix materializer and test assumptions
* Fix investment valuation calculations and recon display
* Lint fixes
* Balance series uses new component fields
2025-07-23 18:15:14 -04:00
Zach Gollwitzer
da2045dbd8
Additional cache columns on balances for activity view breakdowns ( #2505 )
...
* Initial schema iteration
* Add new balance components
* Add existing data migrator to backfill components
* Update calculator test assertions for new balance components
* Update flow assertions for forward calculator
* Update reverse calculator flows assumptions
* Forward calculator tests passing
* Get all calculator tests passing
* Assert flows factor
2025-07-23 10:06:25 -04:00
Zach Gollwitzer
c1d98fe73b
Start and end balance anchors for historical account balances ( #2455 )
...
* 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
6e202bd7ec
Improve chart performance and gapfilling ( #2306 )
2025-05-25 20:40:18 -04:00
Zach Gollwitzer
10f255a9a9
Clarify backend data pipeline naming concepts (importers, processors, materializers, calculators, and syncers) ( #2255 )
...
* Rename MarketDataSyncer to MarketDataImporter
* Materializers
* Importers
* More reference replacements
2025-05-17 16:37:16 -04:00
Zach Gollwitzer
10dd9e061a
Improve account sync performance, handle concurrent market data syncing ( #2236 )
...
* PlaidConnectable concern
* Remove bad abstraction
* Put sync implementations in own concerns
* Sync strategies
* Move sync orchestration to Sync class
* Clean up sync class, add state machine
* Basic market data sync cron
* Fix price sync
* Improve sync window column names, add timestamps
* 30 day syncs by default
* Clean up market data methods
* Report high duplicate sync counts to Sentry
* Add sync states throughout app
* account tab session
* Persistent account tab selections
* Remove manual sleep
* Add migration to clear stale syncs on self hosted apps
* Tweak sync states
* Sync completion event broadcasts
* Fix timezones in tests
* Cleanup
* More cleanup
* Plaid item UI broadcasts for sync
* Fix account ID namespace conflict
* Sync broadcasters
* Smoother account sync refreshes
* Remove test sync delay
2025-05-15 10:19:56 -04:00
Zach Gollwitzer
1e5edd9f2f
Fix Plaid cash balance double counting ( #2222 )
...
* Fix Plaid cash balance double counting
* Fix today's cash balance
* Simplify balance trends in activity view
2025-05-08 12:25:53 -04:00
Zach Gollwitzer
2000f05453
Match Plaid holding values on current day ( #2212 )
...
* Match Plaid holding values on current day
* Fix chart timezone issue
* Add timezone tests for syncs
* Hide sidebars on trades test
2025-05-06 09:25:49 -04:00
Zach Gollwitzer
e657c40d19
Account:: namespace simplifications and cleanup ( #2110 )
...
* Flatten Holding model
* Flatten balance model
* Entries domain renames
* Fix valuations reference
* Fix trades stream
* Fix brakeman warnings
* Fix tests
* Replace existing entryable type references in DB
2025-04-14 11:40:34 -04:00