Skip to main content

Internal transfers: Automatic detection and exclusion from analysis

Finary automatically detects internal transfers to avoid duplicates and improve the accuracy of your budget analysis.

Pierre-Luc Schaming avatar
Written by Pierre-Luc Schaming
Updated this week

πŸ” What is an internal transfer?

An internal transfer is a movement of money between two of your own accounts.
These transactions are automatically identified and excluded from your income and expense analysis to prevent double-counting in your budget.


πŸ“Š Exclusion from your budget analysis

Transactions detected as internal transfers are:

  • Excluded from your income and expense analysis (no double-counting)

  • Clearly labeled in the interface as "Detected as internal transfer"

You can manually re-include a transaction if it was mistakenly flagged as an internal transfer. To do so, simply check the "Include in analysis" option in the transaction details.


βš™οΈ How detection works

πŸ”„ When and how are they detected?

Internal transfers are checked for:

  • At every account sync.

  • When manually importing transactions.

For two transactions to be paired as an internal transfer, Finary:

  • Searches for opposite amounts (e.g. +50 € and –50 €).

  • Compares dates within a Β±5-day window.

  • Pairs the closest matching transaction based on date.

⚠️ Note: Detection will fail if one of the accounts isn’t synced and its transactions can’t be retrieved.

πŸ‘₯ Family & Business accounts

If you use Family Mode or Holding Mode to track assets for your family or companies, Finary will only pair transactions between accounts with at least one common owner:

  • If an account is fully owned by User1, we look for matching transactions in accounts fully or partially owned by User1.

  • If an account is jointly owned (e.g., User1 and User2), we look for matches in accounts held individually by either User1 or User2.

Example:

Transaction from

Accounts checked for match

Account 1 – 100% User1

Account 3 – 50% User1 / 50% User2

Account 3 – 50/50 User1 & User2

Accounts 1 and 2

❌ What happens if an account is deleted?

The internal transfer status remains valid even if one of the associated accounts is later deleted.


βœ… Examples of correct detection

Example 1

  • 07/01 – Savings Account: –30 € (Transfer Out)

  • 07/01 – Checking Account: +30 € (Transfer In)

β†’ These transactions will be detected as an internal transfer.

Example 2

  • 22/01 – Checking Account: –100 € (Transfer Out)

  • 23/01 – Joint Account: +100 € (Transfer In)

  • 23/01 – Joint Account: –100 € (Transfer Out)

  • 24/01 – Investment Account: +100 € (Deposit)

β†’ All four transactions will be detected as a chain of internal transfers.
​

⚠️ Incorrect detection (known limitations)

Example 1 – False positives

  • 10/01 – Checking Account: –50 € (Transfer Out)

  • 12/01 – Savings Account: +50 € (Deposit)

  • 13/01 – Joint Account: +50 € (Transfer In)

β†’ The first two transactions will be incorrectly matched as an internal transfer.

Example 2 – Unrelated transactions

  • 07/01 – Checking Account: –0.57 € (Overdraft Fee)

  • 08/01 – Savings Account: +0.57 € (Interest Payment)

β†’ These unrelated transactions will be mistakenly flagged as an internal transfer.

Did this answer your question?