mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 13:19:39 +02:00
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
This commit is contained in:
parent
9110ab27d2
commit
c1d98fe73b
35 changed files with 1903 additions and 355 deletions
|
@ -1174,7 +1174,7 @@ class Demo::Generator
|
|||
|
||||
# Property valuations (these accounts are valued, not transaction-driven)
|
||||
@home.entries.create!(
|
||||
entryable: Valuation.new,
|
||||
entryable: Valuation.new(kind: "current_anchor"),
|
||||
amount: 350_000,
|
||||
name: Valuation.build_current_anchor_name(@home.accountable_type),
|
||||
currency: "USD",
|
||||
|
@ -1183,7 +1183,7 @@ class Demo::Generator
|
|||
|
||||
# Vehicle valuations (these depreciate over time)
|
||||
@honda_accord.entries.create!(
|
||||
entryable: Valuation.new,
|
||||
entryable: Valuation.new(kind: "current_anchor"),
|
||||
amount: 18_000,
|
||||
name: Valuation.build_current_anchor_name(@honda_accord.accountable_type),
|
||||
currency: "USD",
|
||||
|
@ -1191,7 +1191,7 @@ class Demo::Generator
|
|||
)
|
||||
|
||||
@tesla_model3.entries.create!(
|
||||
entryable: Valuation.new,
|
||||
entryable: Valuation.new(kind: "current_anchor"),
|
||||
amount: 4_500,
|
||||
name: Valuation.build_current_anchor_name(@tesla_model3.accountable_type),
|
||||
currency: "USD",
|
||||
|
@ -1199,7 +1199,7 @@ class Demo::Generator
|
|||
)
|
||||
|
||||
@jewelry.entries.create!(
|
||||
entryable: Valuation.new,
|
||||
entryable: Valuation.new(kind: "reconciliation"),
|
||||
amount: 2000,
|
||||
name: Valuation.build_reconciliation_name(@jewelry.accountable_type),
|
||||
currency: "USD",
|
||||
|
@ -1207,7 +1207,7 @@ class Demo::Generator
|
|||
)
|
||||
|
||||
@personal_loc.entries.create!(
|
||||
entryable: Valuation.new,
|
||||
entryable: Valuation.new(kind: "reconciliation"),
|
||||
amount: 800,
|
||||
name: Valuation.build_reconciliation_name(@personal_loc.accountable_type),
|
||||
currency: "USD",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue