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.

Written by Pierre-Luc Schaming

🔍 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. When money goes to or comes back from a savings or investment account, one of the two transactions stays counted: see Depending on the account type below.


📊 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 turn on "Include in cashflow analysis" in the transaction details.


🏦 Depending on the account type

What is excluded depends on the type of both accounts:

  • Between two checking accounts (for example from your checking account to your joint account): both transactions are detected as an internal transfer and excluded from your Money in and Money out.

  • From a checking account to a savings or investment account (savings account, PEA, securities account, life insurance, PER, crypto account…): the checking-account transaction stays in your Money out, in the Investments category. The transaction received on the savings or investment account is excluded. The money is counted once, as savings.

  • From a savings or investment account to a checking account: the transaction received on the checking account is counted in the Investments category, as a withdrawal from your savings. The outgoing transaction is excluded.

  • Between two savings or investment accounts: both transactions are excluded.

The account type decides whether an account is treated as a savings or investment account. For example, a Revolut savings vault synced as a savings account is treated as a savings account.

💡 To stop a transaction from counting in your budget, open it and turn off Include in cashflow analysis. Changing its category does not change whether it is counted.


⚙️ 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)

→ The savings-account transaction is excluded. The checking-account transaction is counted in the Investments category, as a withdrawal from your savings.

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)

→ The first two (checking account to joint account) are detected as an internal transfer and excluded. For the next two, the joint-account transaction is counted in your Money out, in the Investments category, and the deposit on the investment account is excluded.
​

⚠️ 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 wrongly paired: the interest on the savings account is excluded and the fee is filed in the Investments category.

Did this answer your question?