# Automatic Imports

## Introduction

We rely on [Plaid](https://plaid.com), a third-party banking provider, to import transactions and balances for your bank accounts. Plaid is a popular, secure and established service also used by a slew of other personal finance apps on the market.&#x20;

If automatic bank syncing is not available in your region, you may instead take advantage of our [CSV import tool](https://support.lunchmoney.app/guides/import-via-csv) or [developer API](https://support.lunchmoney.app/miscellaneous/developer-api) to get bulk transactions into Lunch Money.

## Shortcuts

* [Support for international banks](#support-for-international-banks)
* [Fetching the latest data](#fetching-the-latest-data)
* [Reconnecting, Relinking and Refreshing: What's the difference?](#reconnecting-relinking-and-refreshing-whats-the-difference)
* [Recovering revoked accounts](#recovering-revoked-accounts)

## Frequently Asked Questions

1. [I can't connect to my institution!](#i-cant-connect-to-my-institution)
2. [I'm having issues with my bank connection!](#im-having-issues-with-my-bank-connection)
3. [Why does my account keep requiring me to relink/re-authenticate?](#why-does-my-account-keep-requiring-me-to-relink-re-authenticate)
4. [Why am I not seeing any transactions for my brokerage/investment accounts?](#why-am-i-not-seeing-any-transactions-for-my-brokerage-investment-accounts)
5. [My institution is not listed.](#my-institution-is-not-listed)
6. [What information do you store when I sync my bank account?](#what-information-do-you-store-when-i-sync-my-bank-account)
7. [What's Plaid metadata and where can I find it?](#whats-plaid-metadata-and-where-can-i-find-it)
8. [I'm coming from another app and I have a CSV file of my historical transactions for an account I would like automatically synced. How should I approach this?](#im-coming-from-another-app-and-i-have-a-csv-file-of-my-historical-transactions-for-an-account-i-woul)
9. [How do I stop importing transactions for a synced account and only track manually?](#how-do-i-track-transactions-manually-for-a-synced-account)
10. [How do I manually insert historic transactions to fill in the gaps for my synced account?](#how-do-i-manually-insert-historic-transactions-to-fill-in-the-gaps-for-my-synced-account)
11. [I was tracking my transactions manually, and now I'm using bank syncing. How do I reconcile my transactions?](#i-was-tracking-my-transactions-manually-and-now-im-using-bank-syncing-how-do-i-reconcile-my-transactions)
12. [Why are my transactions being imported with the merchant names and notes combined?](#why-are-my-transactions-being-imported-with-the-merchant-names-and-notes-combined)
13. [Why are transactions being marked as deleted by my bank?](#why-are-my-transactions-being-marked-as-deleted-by-my-bank)

## Support for international banks

Through our partnership with [Plaid](https://plaid.com), we currently support automatic bank syncing for some or most financial institutions based in the following countries:

* USA
* Canada
* France
* The Netherlands
* Spain
* Ireland
* Germany
* Poland
* Portugal
* Sweden
* Denmark
* Belgium
* Italy
* Norway
* Austria
* Finland
* Estonia
* Lithuania
* Latvia

In the meantime, we have a[ developer API](https://lunchmoney.dev) which we're hoping will bridge the gap between Lunch Money & international banks. We already have a few **European banks** supported via community-made open source plugins such as [bunq](https://github.com/markjongkind/bunq-to-lunchmoney) and [Monzo](https://github.com/joehoyle/monzo-to-lunch-money).

You can also check out [Lunch Flow](https://www.lunchflow.app/), an unofficial third-party tool made by a Lunch Money user, that enables bank syncing for additional institutions worldwide, including the **US**, **Canada**, **Brazil, and 30+ European countries, including the UK!**

We also highly recommend using our [CSV import tool](https://support.lunchmoney.app/guides/import-via-csv) which we have been putting a lot of effort towards making as seamless as possible. Almost 40% of our users are international users so this method has been proven sustainable for long-term use on Lunch Money!

## Fetching the latest data

Balance and transactions are fetched automatically when we receive a notice via webhook from your bank & Plaid (our third-party banking provider) that there are new transactions. On rare occasions, this webhook doesn't arrive or somewhere along the line, something hiccups and we don't fetch the latest.&#x20;

In this case, you can manually trigger a fetch from the [Overview](https://my.lunchmoney.app) page:

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2FnUP1GPuVBUzJIrUcCzvk%2FScreen%20Shot%202023-09-27%20at%204.10.10%20PM.png?alt=media&#x26;token=c783bdb0-e21d-4ecc-87d6-3a16fc3ed155" alt="" width="563"><figcaption></figcaption></figure>

and from the [Accounts](https://my.lunchmoney.app/accounts) page:

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2FD8FGMYkxtOK7Ph84XILI%2FScreen%20Shot%202023-09-27%20at%204.11.24%20PM.png?alt=media&#x26;token=ec182227-7e12-4fe6-b1c1-b40be8b96e5f" alt="" width="375"><figcaption></figcaption></figure>

Both operations will trigger a full fetch of all your synced accounts. This is a background process that usually finishes in under 1 minute.

Note that you can also trigger a refresh from the [Transactions](https://my.lunchmoney.app/transactions) page, but that only fetches transactions for that particular month.

You can get information on when we last fetched transactions & balances for your accounts from the [Accounts](https://my.lunchmoney.app/accounts) page. Hovering over the 'Last updated' timestamp will show two dates:&#x20;

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2FgAifbogbmOsHpe05deRE%2FScreen%20Shot%202023-09-27%20at%204.13.06%20PM.png?alt=media&#x26;token=e6682618-54b5-4a2e-9a63-657fad3e9c07" alt="" width="342"><figcaption></figcaption></figure>

**Last fetch from server** indicates the last time we successfully pinged Plaid for the latest transactions. This may or may not result in new transactions being imported.

**Last transaction update** indicates the last time we successfully imported new transactions from Plaid.

## Reconnecting, Relinking and Refreshing: What's the difference?

Depending on the status of your synced account, you may be presented with the option to Relink, Trigger Refresh or Force Reconnect.

**Relinking** is an option for accounts that are in relink mode. This means that Plaid lost access to the accounts and requires user intervention to re-establish the connection. This may happen periodically (see [Why does my account keep requiring me to relink/re-authenticate?](#why-does-my-account-keep-requiring-me-to-relink-re-authenticate)).\
\
To re-authorize access via Plaid Link's update mode, please go to the [Accounts page](https://my.lunchmoney.app/accounts), open the '*Edit Account*' panel for the relevant account, and click on the Relink button under the '*Status*' section:

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2F1JKO8urZELsdxLdcXBna%2FScreen%20Shot%202024-02-22%20at%2011.34.01%20AM.png?alt=media&#x26;token=b3945b94-1457-40c3-a9fb-3156b5dc073a" alt="" width="375"><figcaption><p>This account is in relink mode, and the option to Relink to their institution is given.</p></figcaption></figure>

**Trigger Refresh** is an option for active accounts that haven't received updates from Plaid for a while. Note that an update from Plaid does not guarantee new data to be imported. It is simply a way to trigger Lunch Money to go to Plaid and inquire on any new data available.&#x20;

If Plaid's connection to the institution is broken behind the scenes, Lunch Money may be unaware of this and will simply update the timestamp for the last time new data was requested.

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2FQBwwZ6E4ePfsTSkz1iyR%2FScreen%20Shot%202024-02-22%20at%2011.28.32%20AM.png?alt=media&#x26;token=3d18900f-960b-4bfc-b28e-c3cb08d90d8f" alt="" width="375"><figcaption></figcaption></figure>

**Force Reconnect** is an option for active accounts that want to go through the relinking process. Forcing Plaid to relink to the institution via this option even though a relink is not necessary or requested has been able to some some connection issues in the past.

If the above do not solve your connection issues, you may want to consider creating a new connection to merge with an existing connection (see below).

## Creating a new connection to merge with an existing connection

If the current connection doesn't yield updates from your bank, even after attempting relink, an entirely new connection may fix that. On the last step of the connection process, you’ll have the option to merge the newly synced accounts with your existing ones, keeping everything consolidated and preventing duplicate transactions.

**Here's how:**

1. Go to the [Accounts page](https://my.lunchmoney.app/accounts) and click on 'Add account'
2. In the right-side panel, click on "*Auto-import from my bank*" to go through the connection process
3. If the connection was successful, you will now see the '*Setup Account*' dialog for each account in the connection. This is where you will let Lunch Money know that you wish to merge each newly connected account with the existing one.\
   \
   In the dialog for each account, enable the toggle for "*Yes, I am merging this with an existing account*", and then select the matching account in the drop-down menu:

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2FSCteZHDujEr7U7VuhhdC%2F47e5c57673af80d068c3e30952550414.gif?alt=media&#x26;token=088750ed-fdf6-4c2b-88df-afbdc3b38008" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
The selected account will have all their transactions, balance history and other properties merged into this newly synced account before being removed. The newly synced account will have Import Start Date automatically set based on the merged account's last imported transactions, to prevent duplicates.
{% endhint %}

## FAQ

### I can't connect to my institution!

Do you have an **ad-blocker or other browser extensions** that disable Javascript or otherwise intended to modify behaviour of websites? If so, we've heard reports that these can affect the ability to connect to an institution. We suggest turning these off temporarily when attempting to connect.

Do you have **2FA set up** on your account? If so, institutions requiring a new one-time password on every login are not currently supported due to the nature of the connection.

Do you have multiple **secret questions & answers** set up? If so, it may require you to connect a few more times in order to collect all the answers to all the questions you have set up.

For any other issues, feel free to create a support ticket with us (see below). We're happy to help!

### I'm having issues with my bank connection!

We offer personalized support for all issues related to your bank connection. The easiest way to get help is by creating a support ticket from the Accounts page. Click on the account that you're having issues with, and select "I need help with this account". We'll walk you through creating a support ticket!

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2Fw14E5BLTxCOxYvWLEY0S%2FScreen%20Shot%202023-09-27%20at%204.19.52%20PM.png?alt=media&#x26;token=70b953ed-45a6-4eba-adfc-e62b0f2c5766" alt="" width="375"><figcaption></figcaption></figure>

### Why does my account keep requiring me to relink/re-authenticate?

There are many reasons for this and all of it depends on your bank! Some common causes are:

* A multi-factor authentication setting that you have enabled with your bank. In general, Plaid can handle 2FA. However, if a bank requires a unique one-time password on every login or otherwise very frequently, then Plaid will have difficulty maintaining connection. We always suggest checking to see if your bank provides you with app passwords or a setting to enable trusted devices– those would help Plaid maintain the connection!
* Some jurisdictions require banks to renew third-party access every 90 or 120 days for security purposes.
* Plaid works directly with your bank and then wrangles the data to send downstream to apps like Lunch Money. This technology (both on your bank and Plaid's side) is far from perfect and hiccups along the way are not unheard of.&#x20;

### Why am I not seeing any transactions for my brokerage/investment accounts?

Automatically importing transactions for investment and loan accounts is not currently supported. If you'd like to see this feature implemented, feel free to add your vote [here](https://feedback.lunchmoney.app/accounts-assets/p/auto-import-investment-holdings) to stay posted on any development updates.

### My institution is not listed.

If your institution is not currently supported by Plaid, feel free to submit a support ticket to request it! If Plaid sees enough demand for an institution, they may prioritize it.&#x20;

To submit a request, click on 'Help' at the top left corner and select 'Submit a bug or feedback' and then 'Institution request for syncing':

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2Fno5egwdga0AmuPU5yach%2FScreen%20Shot%202023-09-27%20at%204.28.05%20PM.png?alt=media&#x26;token=f70a3187-586c-4686-b5e6-8a8acb284c1d" alt="" width="563"><figcaption></figcaption></figure>

### What information do you store when I sync my bank account?

If you use the automatic bank syncing feature, we store the following information about your account:&#x20;

1. The account name
2. The account mask (last four digits)
3. The account type and subtype (for example, loan and mortgage)

And then we periodically receive transactions and balance updates.

We do not store, nor do we have access to the account holder's name or other personal information, or account routing numbers.

### What's Plaid metadata and where can I find it?

Plaid metadata includes enriched details that accompany the raw transaction data provided by your bank. This can include standardized merchant names, categories, location data, payment method, and more. It's an added layer of context that Plaid is able to infer or enhance. In Lunch Money, it powers features like auto-categorization and cleaned-up payee names.\
\
For additional context about your transactions, you can also view the complete set of metadata that we receive from Plaid in the 'Transaction Details' panel:

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2F43aJG7NylDQsvGMYusLt%2Fplaid-metadata.png?alt=media&#x26;token=96cb825a-d1fc-471c-b24f-30bbdcd3d0e1" alt="" width="375"><figcaption></figcaption></figure>

### I'm coming from another app and I have a CSV file of my historical transactions for an account I would like automatically synced. How should I approach this?

{% hint style="info" %}
Read the [Mint Migration Guide](https://support.lunchmoney.app/guides/migrating-from-mint) for more details!
{% endhint %}

The approach to this will require creating two accounts: a manually-managed account and a synced account (via the "Auto-import from my bank" option within "Add account")

Assuming you would like to preserve your categories from your previous integration, first create a manually-managed account and use our CSV import tool to upload your CSV file. This will automatically create all your categories (and tags) for you.&#x20;

Next, take note of the last date of your CSV import as this is when you would want your automatic syncing to begin.

Finally, link a new bank account and ensure you set the "earliest import date" to be that last date from your import file. You can then merge the original manually-managed account into your newly synced account.

{% hint style="info" %}
Setting up your [Auto-categorizations](https://my.lunchmoney.app/categories/auto) once you have your categories set up will ensure your imported transactions are automatically categorized as well. If you synced your account before setting these up and ended up with lots of uncategorized transactions, you can always "Re-run autocategorizations" from that page to fix that.
{% endhint %}

### How do I stop importing transactions for a synced account and only track manually?

If your transactions were automatically syncing with your bank, and something happened such as a service disruption, you can temporarily track transactions manually for a synced account.

It's important to note that synced accounts inherently do not support manual transactions. So, you'll need to convert the synced account to a manual account. To do this, you'll need to go through the account removal flow and opt to keep all existing data.

Click on the account in question and scroll down in the side pop-up to where it says "Remove  account". Decide if you only want to manual track for this account, or all other associated accounts within the same institution.

Once you've made your selection, make sure you have the following selected to keep all your existing data and to assign it to a new manually-managed asset. If you have an existing one that you want to use, you may also choose that one. We also recommend that you elect to keep your balance history (this is asked in the next screen).

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2F86p6Mxao1H0eiRByg24P%2FScreen%20Shot%202022-04-25%20at%202.39.57%20PM.png?alt=media&#x26;token=f6e05932-1ce2-4d6e-a340-8809b2bb5d35" alt="" width="375"><figcaption></figcaption></figure>

Once you've gone through this flow, you are able to treat this account as a manually-managed account and add transactions to it. The balance will automatically update, and you may also reconcile your balance at any point from the Accounts page.

{% hint style="info" %}
Note: this option makes it so that you stop attempting to sync this account automatically. If you'd like to continue automatic syncing of transactions, see the next FAQ.
{% endhint %}

### How can I edit imported transactions or add transactions to my synced account?

By default, we do not allow modifications to transactions for synced accounts. However, you can enable a setting to allow updating this information. This may be helpful if there were gaps in which syncing was broken, or if you find one or two transactions missing and you want to add these yourself.&#x20;

This setting is on a per-account basis. Go to the Accounts page and click on the account for which you would like to allow modifications. Then enable the following setting under 'Advanced Settings':

<figure><img src="https://160037560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2W9WT63LQTW7JYT64B%2Fuploads%2FkE7l62ANJPNUbTweFn5g%2FScreen%20Shot%202023-09-27%20at%204.31.39%20PM.png?alt=media&#x26;token=cdef73cf-e76d-4784-812d-dd9c366eaf75" alt="" width="375"><figcaption></figcaption></figure>

### How do I manually insert larger amounts of historic transactions to fill in the gaps for my synced account?

Are you automatically syncing new transactions for an account but you're missing historical transactions that you'd like to manually import, either via our CSV tool or developer API?

First, create a new, temporary manually-managed account and import your transactions to this manual account.

Next, click on the manually-managed account within the Accounts page, and locate the "Merge with synced account" option under Actions:

![](https://160037560-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M2W9WT63LQTW7JYT64B%2F-MaVMw_ejZafKirGfWxj%2F-MaVQQOj6_X9Q8ix7n55%2FScreen%20Shot%202021-05-24%20at%203.09.46%20PM.png?alt=media\&token=8006c5db-ba4c-47b2-bdbc-5a35b23b9ff7)

This will merge your temporary manually-managed account and its transactions with the selected synced account. It's important to do this only for historical transactions because our system will not automatically detect or de-duplicate manual transactions with newly imported transactions.&#x20;

### I was tracking my transactions manually, and now I'm using bank syncing. How do I reconcile my transactions?

If you were tracking your transactions manually while your bank was either not supported for syncing or undergoing downtime, you may want to reconcile your transactions with the new bank connection.

The first step is to identify the date of the latest transaction you added for this account. **Do this before you link to your bank**. When prompted, set the "Earliest import date" to the date of the latest transaction and select "Block importing before this date".

{% hint style="info" %}

#### What if I already linked my new bank?

Never fear! You can set these fields by clicking into your account. This will prevent future transaction updates from importing older transactions. You'll then need to manually remove your duplicates. You can do this easily by identifying duplicate transactions using the filtering feature in the Transactions page.

For example, set a filter to only show transactions from your new synced account and your old manually-managed account. Sort by date and use the bulk-selection method to bulk-delete transactions.
{% endhint %}

![After you connect to your bank, you'll see this pop up. Make sure you enter the earliest date to import and block importing before this date.](https://160037560-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M2W9WT63LQTW7JYT64B%2F-MaVMw_ejZafKirGfWxj%2F-MaVP2tYE91JH8L6jiLk%2FScreen%20Shot%202020-11-27%20at%201.00.52%20AM.png?alt=media\&token=8477a945-5fc1-4bc0-9a1c-86b47e6635f2)

This makes it so that our system will not automatically import transactions before a certain date. Since this date is set to the date of your most recent manual transaction, there should be no duplicates imported.

Once your new bank connection is active, click into your old manually-managed asset and choose the option "Merge with synced account".

![](https://160037560-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M2W9WT63LQTW7JYT64B%2F-MaVMw_ejZafKirGfWxj%2F-MaVQQOj6_X9Q8ix7n55%2FScreen%20Shot%202021-05-24%20at%203.09.46%20PM.png?alt=media\&token=8006c5db-ba4c-47b2-bdbc-5a35b23b9ff7)

Follow the instructions and make sure to merge over all transactions and balance history for a seamless experience!

### Why are my transactions being imported with the merchant names and notes combined?

We usually see this issue with European banks. Because Plaid is an American company that started off with normalizing data between American institutions, the existing structure for transactions made it hard to map fields 1:1 with some European transactions when they eventually expanded overseas. Basically, in Europe there are extra fields with information for transactions which Plaid did not originally support, and thus has to concatenate within the payee field.

At this point, the only options are toggling between the merchant name and the original name returned by Plaid (both can be seen within the "View Plaid metadata" screen when you click into a synced transaction). If you wish to use the original name instead, you can set that under 'Advanced Settings' for the account under the [Accounts](https://my.lunchmoney.app/accounts) page.

Otherwise, [this feature request for regular expressions](https://feedback.lunchmoney.app/rules/p/support-regex) within rules would solve this issue. You would be able to create a rule that splits a transaction by a regular expression and assign fields to matched groups. We suggest upvoting it to get notified of any development updates!

### Why are my transactions being marked as deleted by my bank?

This is an issue on Plaid and/or your bank's side. Periodically, they will send us a notice (webhook) telling us that transactions have been removed. Usually, this is a pending transaction that has been posting. Lately, I have been seeing an uptick of erroneously removed transactions. If you want to report this as an issue to help escalate it to Plaid, feel free to create a bank syncing support ticket.

1. Go to the [Accounts](https://my.lunchmoney.app/accounts) page and click on the account in question
2. Scroll down to where it says "I need help with this account"

Our awesome customer support reps will reach out directly to Plaid on your behalf and get in touch with you from there!

Otherwise, I would suggest just manually keeping the transactions! We may roll out some features to bulk-keep to minimize work needed on your end.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.lunchmoney.app/guides/automatic-imports.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
