Skip to content

SimpleFin Sync v1.3.0

Choose a tag to compare

@Bubbles840 Bubbles840 released this 30 Jul 15:05
· 187 commits to main since this release

Balance accuracy and transfer correctness. Every figure below is from a live install.

Fixed

  • One SimpleFin transaction id appearing in two accounts corrupted everything keyed by that id alone. SimpleFin issues a single id for both sides of a transfer between two accounts it can see end to end, so the two legs collapsed into one entry: a savings TRANSFER_OUT could be rewritten as a +$1,300 inflow carrying the other account's description, the linker could be handed the same row twice, and a starting-balance baseline could take the wrong sign. Identity is now (account, transaction id) everywhere it matters. On the live install this had already half-linked three transfer pairs — one leg grouped, the other not — leaving $2,700 of transfers out counted as spending. A reconcile repairs them.
  • A failed transfer link reported no reason. Linking deletes both rows before re-creating them, so a refused re-create loses financial rows, yet every host error was collected and then discarded behind a generic "could not be linked" that only appeared during a reconcile.
  • The Docker companion could never repair a half-linked pair, because its record of "already linked" was keyed by bare transaction id. Entries are now per leg, while still reading the old format so existing records are neither lost nor needlessly re-linked.
  • A duplicated transaction in one payload imported twice. Both copies landed in a single bulk request — the one place Wealthfolio's duplicate guard cannot compare rows against each other — and a savings account silently read $1,297.50 low.
  • Plus: month-specific budget targets now win over default; the monthly spending query has an upper date bound; an unpaired transfer leg no longer counts as spending; Markdown in a category or bank description no longer breaks a whole Telegram report.

Added

  • Fix baseline. A drift that no transaction can explain is now attributed to the account's starting balance and offered as a one-click correction. When a wide re-scan finds every reported transaction already stored and already matching, nothing inside the window accounts for the gap — the remaining candidate is the baseline row standing in for history the sync never saw, and the drift is exactly the amount it is wrong by. Never applied automatically, and never offered while any transaction is still unaccounted for.
  • Reconcile & link removes surplus duplicate activities, reporting exactly what it deleted on the Sync page, in Telegram, and per row in the log. Starting balances and balance adjustments can never be swept.
  • Two independent scheduled reports (daily per-category, weekly month-to-date), per-report category selection, sync-health tracking with a 24-hour failure alert, and a stuck-transfer alert.

Changed

  • Reports are built entirely from Wealthfolio's own category and budget data; the keyword-based categoriser has been removed.

Requires Wealthfolio 3.6.2 or later.