Skip to content

v1.0.1

Choose a tag to compare

@wechuli wechuli released this 18 Aug 05:37
· 25 commits to main since this release

Consistent Derived Transaction IDs

Transactions without a provider-supplied external ID now receive a deterministic ID using:

derived-{date}-{transaction_type}-{amount}

For example:

derived-2026-08-18-deposit-300000.00

  • Applies to newly recorded transactions, account-history imports, and investment cash imports.
  • Existing provider IDs are preserved unchanged.
  • Amounts use the currency’s canonical decimal precision, ensuring values such as 300000, 300000.0, and 300000.00 produce the same ID.
  • Blank, omitted, or null external IDs are accepted during import.
  • Duplicate and conflicting derived IDs use the existing import safeguards.
  • Account-history and investment-history AI prompts now instruct LLMs to generate IDs using this exact format.

Accurate Progress for Linked Goals

Fixed goal progress showing zero when a linked balance account already contained funds.

  • Linked balance goals now use the account’s current balance as their progress.
  • Funds deposited before the goal was created or linked are included automatically.
  • Position-tracked accounts continue to use their cash and investment valuation.
  • Cross-currency goals continue to convert the linked balance using the configured exchange rate.
  • Directly tracked goals continue to use their manually entered current amount.
  • Planned contributions affect forecasts but only count as progress after being recorded in the linked account.

Existing linked goals recalculate automatically when viewed. No database migration or manual relinking is required.

Compatibility

  • Existing transactions are not backfilled with derived IDs.
  • No schema or database migration is required.
  • Existing provider external IDs and position-account goal calculations are unchanged.

Created 1 todo