Follow-up from #2460.
#2460 honours Up's relationships.transferAccount by importing internal movements (and round-ups) as funds_movement, and stores the counterpart account id in extra under the up key, keeping transfers out of income, expense, and budgets.
For two-sided transfers between two linked accounts, Family#auto_match_transfers! still pairs the entries into a proper Transfer using its amount/date/currency heuristic. The stored transfer_account_id is a deterministic hook to do better: build the Transfer record straight from Up's own link rather than relying on the probabilistic matcher.
Proposed
- On import (or in a post-sync pass), when a transaction has a
transfer_account_id and the counterpart Up account is also linked in Sure, create the Transfer directly between the two entries (mapping transfer_account_id to the linked Sure account) instead of leaving it to auto_match_transfers!.
- This avoids false pairings from the heuristic and handles round-ups and identical-amount transfers reliably.
Notes
Follow-up from #2460.
#2460 honours Up's
relationships.transferAccountby importing internal movements (and round-ups) asfunds_movement, and stores the counterpart account id inextraunder theupkey, keeping transfers out of income, expense, and budgets.For two-sided transfers between two linked accounts,
Family#auto_match_transfers!still pairs the entries into a properTransferusing its amount/date/currency heuristic. The storedtransfer_account_idis a deterministic hook to do better: build theTransferrecord straight from Up's own link rather than relying on the probabilistic matcher.Proposed
transfer_account_idand the counterpart Up account is also linked in Sure, create theTransferdirectly between the two entries (mappingtransfer_account_idto the linked Sure account) instead of leaving it toauto_match_transfers!.Notes
funds_movement.