Zach Gollwitzer
282c05345d
Preserve transaction filters and transaction focus across page visits ( #1733 )
...
* Preserve transaction filters across page visits
* Preserve params when per_page is updated
* Autofocus selected transactions
* Lint fixes
* Fix syntax error
* Fix filter clearing
* Update e2e tests for new UI
* Consolidate focus behavior into concern
* Lint fixes
2025-01-30 14:12:01 -05:00
Zach Gollwitzer
de90b29201
Add RejectedTransfer model, simplify auto matching ( #1690 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Allow transfers to match when inflow is after outflow
* Simplify transfer auto matching with RejectedTransfer model
* Validations
* Reset migrations
2025-01-27 16:56:46 -05:00
Zach Gollwitzer
67d81f866f
Align cascade delete behavior for transfers ( #1647 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Align cascade delete behavior for transfers
* Lint fix
2025-01-20 16:17:40 -05:00
Zach Gollwitzer
195ec85d96
Budgeting V1 ( #1609 )
...
* Budgeting V1
* Basic UI template
* Fully scaffolded budgeting v1
* Basic working budget
* Finalize donut chart for budgets
* Allow categorization of loan payments for budget
* Include loan payments in incomes_and_expenses scope
* Add budget allocations progress
* Empty states
* Clean up budget methods
* Category aggregation queries
* Handle overage scenarios in form
* Finalize budget donut chart controller
* Passing tests
* Fix allocation naming
* Add income category migration
* Native support for uncategorized budget category
* Formatting
* Fix subcategory sort order, padding
* Fix calculation for category rollups in budget
2025-01-16 14:36:37 -05:00
Zach Gollwitzer
307a3687e8
Transfer and Payment auto-matching, model and UI improvements ( #1585 )
...
* Transfer data model migration
* Transfers and payment modeling and UI improvements
* Fix CI
* Transfer matching flow
* Better UI for transfers
* Auto transfer matching, approve, reject flow
* Mark transfers created from form as confirmed
* Account filtering
* Excluded rejected transfers from calculations
* Calculation tweaks with transfer exclusions
* Clean up migration
2025-01-07 09:41:24 -05:00
Tony Vincent
9d217afb9f
feat: Save error backtrace for sync errors for better debugging ( #1578 )
...
Co-authored-by: Tony Vincent Yesudas <tony.yesudas@raisenow.com>
2024-12-30 10:04:05 -05:00
Zach Gollwitzer
77def1db40
Nested Categories ( #1561 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Prepare entry search for nested categories
* Subcategory implementation
* Remove caching for test stability
2024-12-20 11:37:26 -05:00
Zach Gollwitzer
7be6a372bf
Preserve original transaction names when enriching ( #1556 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Preserve original transaction name
* Remove stale method
* Fix tests
2024-12-19 10:16:09 -05:00
Zach Gollwitzer
68617514b0
Make transaction enrichment opt-in for all users ( #1552 )
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
2024-12-17 09:58:08 -05:00
Zach Gollwitzer
fe199f2357
Add account data enrichment ( #1532 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Add data enrichment
* Make data enrichment optional for self-hosters
* Add categories to data enrichment
* Only update category and merchant if nil
* Fix name overrides
* Lint fixes
2024-12-13 17:22:27 -05:00
Zach Gollwitzer
49c353e10c
Plaid portfolio sync algorithm and calculation improvements ( #1526 )
...
* Start tests rework
* Cash balance on schema
* Add reverse syncer
* Reverse balance sync with holdings
* Reverse holdings sync
* Reverse holdings sync should work with only trade entries
* Consolidate brokerage cash
* Add forward sync option
* Update new balance info after syncs
* Intraday balance calculator and sync fixes
* Show only balance for trade entries
* Tests passing
* Update Gemfile.lock
* Cleanup, performance improvements
* Remove account reloads for reliable sync outputs
* Simplify valuation view logic
* Special handling for Plaid cash holding
2024-12-10 17:41:20 -05:00
Zach Gollwitzer
2cba5177ba
Revert out-of-sync schema changes
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2024-12-04 18:40:43 -05:00
Josh Pigford
565103caf3
Updated domain to maybefinance.com
2024-12-03 11:09:57 -06:00
Zach Gollwitzer
c3248cd796
Improve account transaction, trade, and valuation editing and sync experience ( #1506 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Consolidate entry controller logic
* Transaction builder
* Update trades controller to use new params
* Load account charts in turbo frames, fix PG overflow
* Consolidate tests
* Tests passing
* Remove unused code
* Add client side trade form validations
2024-11-27 16:01:50 -05:00
Arsen Shkrumelyak
1c2f075053
Fix bug: Loan % doesn't allow exact rate ( #1492 )
...
* Fix bug: Loan % doesn't allow exact rate
Fixes #1487
Change the step of the interest rate field to 0.005.
It's unlikely that we'll see interest rates in smaller increments.
* step 0.005
* migration for loan interest rates precision
* add new line
2024-11-22 15:28:10 -05:00
Zach Gollwitzer
cbba2ba675
Basic Plaid Integration ( #1433 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Basic plaid data model and linking
* Remove institutions, add plaid items
* Improve schema and Plaid provider
* Add webhook verification sketch
* Webhook verification
* Item accounts and balances sync setup
* Provide test encryption keys
* Fix test
* Only provide encryption keys in prod
* Try defining keys in test env
* Consolidate account sync logic
* Add back plaid account initialization
* Plaid transaction sync
* Sync UI overhaul for Plaid
* Add liability and investment syncing
* Handle investment webhooks and process current day holdings
* Remove logs
* Remove "all" period select for performance
* fix amount calc
* Remove todo comment
* Coming soon for investment historical data
* Document Plaid configuration
* Listen for holding updates
2024-11-15 13:49:37 -05:00
Tony Vincent
b3ef995d1f
Fix duplicate invites ( #1437 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
Co-authored-by: Josh Pigford <josh@joshpigford.com>
2024-11-08 09:58:35 -06:00
Zach Gollwitzer
65db49273c
Account Activity View + Account Forms ( #1406 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Remove balance mode, sketch out refactor
* Activity view checkpoint
* Entry partials, checkpoint
* Finish txn partial
* Give entries context when editing for different turbo responses
* Calculate change of balance for each entry
* Account tabs consolidation
* Translations, linting, brakeman updates
* Account actions concern
* Finalize forms, get account system tests passing
* Get tests passing
* Lint, rubocop, schema updates
* Improve routing and stream responses
* Fix broken routes
* Add import option for adding accounts
* Fix system test
* Fix test specificity
* Fix sparklines
* Improve account redirects
2024-11-04 20:27:31 -05:00
Josh Pigford
793bd852a0
Family invites ( #1397 )
...
* Initial pass at household invites
* Invitee setup
* Clean up add member form
* Lint and other tweaks
* Security cleanup
* Lint
* i18n fixes
* More i18n cleanup
* Show pending invites
* Don't use turbo on the form
* Improved email design
* Basic tests
* Lint
* Update onboardings_controller.rb
* Registration + invite cleanup
* Lint
* Update brakeman.ignore
* Update brakeman.ignore
* Self host invite links
* Test tweaks
* Address missing param error
2024-11-01 10:23:27 -05:00
Zach Gollwitzer
c9917674aa
Add validation to security price model
2024-10-30 09:51:05 -04:00
Josh Pigford
cd91e66618
Initial pass at Synth-based ticker selection ( #1392 )
...
* Initial pass at Synth-based ticker selection
* Update _tickers.turbo_stream.erb
* Functional combobox display
* A few cleanup steps
* Linter
* Prevent long strings
* Another step towards functional combobox
* Deprecated files
* Custom Combobox implementation
* Lint
* Test suite fixes
* Lint
* Make direct use of mic codes
* Update splits
* Update trades_test.rb
2024-10-30 09:23:44 -04:00
Josh Pigford
490f44589e
First pass at security price reference ( #1388 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* First pass at security price reference
* Data cleanup
* Synth security fetching does better with a mic_code
* Update test suite
😭
* Update schema.rb
* Update generator.rb
2024-10-29 15:37:59 -04:00
Zach Gollwitzer
bf695972e4
Remove missing prices issue ( #1390 )
2024-10-29 14:55:46 -04:00
Josh Pigford
7d8028b505
Stock filter ( #1376 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Initial pass at stock filtering
* Rough in filter
* Cleaning up security listing
* Tweak to search function
* Combobox tweaks
* Clean up search query
* Update trades test with combobox
* Update securities.yml
2024-10-28 15:49:19 -04:00
Josh Pigford
45935db5f3
Remove dependency on stock exchange table ( #1368 )
2024-10-25 13:09:02 -05:00
Josh Pigford
aa3342b0dc
Stock imports ( #1363 )
...
* Initial pass
* Marketstack data provider
* Marketstack data provider
* Refactor a bit
2024-10-24 16:36:50 -05:00
Zach Gollwitzer
6baffe7539
Beta Testing Round 3 Bug Fixes ( #1357 )
...
* Clean up env example files
* Fix duplicate category creations
* Fix duplicate tag and merchant creation
* Add initial valuation to imported accounts
* Add upgrade modal prompt
* Don't hide content on billing page
* Add temporary session for new customers
* Lint fixes
* Fix unused translations
* Fix system tests
2024-10-24 11:02:27 -04:00
Zach Gollwitzer
1d20de770f
User Onboarding + Bug Fixes ( #1352 )
...
* Bump min supported date to 20 years
* Add basic onboarding
* User onboarding
* Complete onboarding flow
* Cleanup, add user profile update test
2024-10-23 11:20:55 -04:00
Josh Pigford
73e184ad3d
Stock Exchanges with seed ( #1351 )
...
* Stock Exchanges with seed
* Run the seed file on migration
* Fix for enum column
2024-10-22 14:30:57 -05:00
Zach Gollwitzer
263d65ea7e
Basic account onboarding ( #1328 )
...
* Basic account onboarding
* Cleanup
2024-10-18 17:18:54 -04:00
Josh Pigford
c7c281073f
Impersonation ( #1325 )
...
* Initial impersonation
* Impersonation audit
* Keep super admin separate
* Remove vscode settings
* Comment cleanup
* Comment out impersonation fixtures for now
* Remove unused controlelr
* Add impersonation testing (#1326 )
* Add impersonation testing
* Remove unused method
* Update schema.rb
* Update brakeman
---------
Co-authored-by: Zach Gollwitzer <zach@maybe.co>
2024-10-18 11:26:58 -05:00
Josh Pigford
75a390f03e
Account indexes to address some performance issues
2024-10-17 15:45:13 -05:00
Zach Gollwitzer
4bfe47540d
Basic trade and holdings view ( #1271 )
...
* Add trade view
* Lint fix
* Fix stale placeholder variable
* Add holding view
2024-10-09 14:59:18 -04:00
Zach Gollwitzer
fd941d714d
Add loan and credit card views ( #1268 )
...
* Add loan and credit card views
* Lint fix
* Clean up overview card markup
* Lint fix
* Test fix
2024-10-08 17:16:37 -04:00
Josh Pigford
31f3ff6a16
Billing ( #1269 )
...
* Change env SELF_HOSTING_ENABLED to SELF_HOSTED
* Initial Stripe implementation
* Fix portal link
* Use webhook signatures
* Migrated to new Stripe gem conventions
Also updated resource routing
* Added faraday-multipart gem to resolve middleware notice
* Merge fix
* Merge fix
* Temporary upgrade prompt for early access
* Lint fix
* i18n fixes
* Remove catch-all rescue
* Update .env.example
2024-10-08 14:37:47 -05:00
Zach Gollwitzer
1ffa13f3b3
Use DB for auth sessions ( #1233 )
...
* DB sessions
* Validations for profile image
2024-10-03 14:42:22 -04:00
Zach Gollwitzer
ab40289eb4
Allow users to set preferred locale in settings and provide basic date and time localization support ( #1226 )
...
* Add basic date and time localization
* Normalize translations
* Localize transaction dates
* Removed unsupported Rails locales
2024-10-02 14:02:17 -04:00
Zach Gollwitzer
398b246965
CSV Imports Overhaul (Transactions, Trades, Accounts, and Mint import support) ( #1209 )
...
* Remove stale 1.0 import logic and model
* Fresh start
* Checkpoint before removing nav
* First working prototype
* Add trade, account, and mint import flows
* Basic working version with tests
* System tests for each import type
* Clean up mappings flow
* Clean up PR, refactor stale code, tests
* Add back row validations
* Row validations
* Fix import job test
* Fix import navigation
* Fix mint import configuration form
* Currency preset for new accounts
2024-10-01 10:47:59 -04:00
Zach Gollwitzer
b9341ac302
Add sync status and errors to account settings page ( #1169 )
2024-09-11 17:24:01 -04:00
Zach Gollwitzer
359bceb58e
Vehicle view ( #1117 )
2024-08-23 09:33:42 -04:00
Zach Gollwitzer
e856691c86
Add Property Details View ( #1116 )
...
* Add backend for property account details
* Rubocop updates
* Add property form with details
* Revert "Rubocop updates"
This reverts commit 05b0b8f3a4
.
* Bump brakeman to latest version
* Add overview section to property view
* Lint fixes
2024-08-23 08:47:08 -04:00
Pedro Carmona
0c1ff00c1e
Refactor: Allow other import files ( #1099 )
...
* Rename stimulus controller
* feature: rename raw_csv_str to raw_file_str
2024-08-19 09:25:07 -04:00
Alexander Schrot
4527482aa2
Add support for different column separator in csv import logic ( #1096 )
...
* add col_sep to import model
* add validation for col_sep column
* add col_sep option to csv import model
* make use of col_sep option in import model
* add column separator field to new/edit action of an import
* add col_sep parameter to create/update action
* fix spacing between fields
Co-authored-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>
Signed-off-by: Alexander Schrot <alexander@axs-labs.com>
---------
Signed-off-by: Alexander Schrot <alexander@axs-labs.com>
Co-authored-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>
2024-08-16 14:00:16 -04:00
Zach Gollwitzer
707c5ca0ca
Account Issue Model and Resolution Flow + Troubleshooting guides ( #1090 )
...
* Rough draft of issue system
* Simplify design
* Remove stale files from merge conflicts
* STI for issues
* Cleanup
* Improve Synth api key flow
* Stub api key for test
2024-08-16 12:13:48 -04:00
Zach Gollwitzer
acf3564a86
Fix for invalid accountable data ( #1086 )
2024-08-15 12:49:49 -04:00
Zach Gollwitzer
e05f03b314
Allow user to add buy and sell trade transactions for investment accounts ( #1066 )
...
* Consolidate modal form structure into partial + helper
* Scaffold out trade transaction form
* Normalize translations
* Add buy and sell trade form with tests
* Move entryable lists to dedicated controllers
* Delegate entry group contents rendering
* More cleanup
* Extract transaction and valuation update logic from entries controller
* Delegate edit and show actions to entryables
* Trade builder
* Update paths for transaction updates
2024-08-09 11:22:57 -04:00
Zach Gollwitzer
453a54e5e6
Add security prices provider (Synth integration) ( #1039 )
...
* User tickers as primary lookup symbol instead of isin
* Add security price provider
* Fetch security prices in bulk to improve sync performance
* Fetch prices in bulk, better mocking for tests
2024-08-01 19:43:23 -04:00
Zach Gollwitzer
ef4be7948a
Implement auto family syncs on login ( #1021 )
2024-07-25 12:51:50 -04:00
Zach Gollwitzer
e9f42c1a65
Add default currencies to forms based on preference ( #994 )
...
* Add default currencies to forms based on preference
* Remove dev debugging
2024-07-17 08:57:17 -04:00
Zach Gollwitzer
47523f64c2
Investment Portfolio Sync ( #974 )
...
* Add investment portfolio models
* Add portfolio to demo data
* Setup initial tests
* Rough sketch of sync logic
* Clean up trade sync logic
* Add trade validation
* Integrate trades into sync process
2024-07-16 09:26:49 -04:00