Skip to main content

Module transfer

Module transfer 

Source
Expand description

Transfer matching across accounts.

Detects transfer pairs — transactions that represent the same real-world money movement appearing in two different account imports (e.g., a $500 debit in checking and a $500 credit in savings on the same day).

The matcher finds pairs based on:

  • Opposite-sign amounts (within tolerance)
  • Same currency
  • Dates within a configurable window
  • Narration keyword boosting (strong: TRANSFER/XFER/INTERNAL/SWEEP/MOVE; weak: PAYMENT/ACH/WIRE — these only boost on same-date matches because they alone are too eager: every credit-card payment, every direct deposit, etc.)

Pairs that already share a ^link: tag are skipped — re-running the detector against an already-linked ledger is a no-op (idempotent).

Structs§

TransferConfig
Configuration for transfer matching.
TransferMatch
A detected transfer pair.

Functions§

find_transfers
Find transfer pairs across multiple account import groups.
find_transfers_in_ledger
Find transfer pairs across all accounts in a flat directive list.