Learn how to automatically import bank transactions to Notion. This is the perfect workflow if you plan on using a Notion Budget Tracker to organise your personal finances (or are using Notion for Business and want to visualise your cashflow on real time).
Process Overview
In order to connect your bank account to Notion and automatically import transactions, here’s what you’ll need:
- A Rows Account
- A Notion Database where you’ll pull in your bank data (you can use my free Notion Budget Tracker Template for example).
If haven’t heard of Rows before, it’s to spreadsheets what Notion is to the rest of the productivity tool suite – a new approach with more powerful features than your typical legacy tools.
Besides just being really good at spreadsheets, Rows seamlessly connects with multiple platforms like OpenAI, Google Sheets, Stripe, Mailchimp, and, yes, Notion. That means it’s super easy to import Notion data into your spreadsheet (for example to create pivot tables) or to send data from a spreadsheet to Notion.
Recently, Rows added Plaid, an open finance integration tool, to their integrations. That makes it possible to sync your bank transactions first to Rows – and then directly to Notion.
Here’s how to set things up, step-by-step.
How To Connect Your Bank Account To Rows
First, you need to create a free account in Rows. Head over to Rows and sign up — it’s super simple! The free plan is enough to build a test version of this automation, but if you want real-time data, you’ll have to upgrade to their first paid plan (at currently $8 / Month).
Once you’re in, create a new spreadsheet. On Page 1, click on Data Action in the side panel. Search for Bank and select Get transactions from your bank account.
Now comes the fun part — connecting your bank account. In the Connections dropdown, choose Add New Account and follow the steps to authenticate your bank.
As mentioned before, Rows uses Plaid, the standard open finance protocol, to interact with your bank. You’ll need to authorise Rows to access your transaction data.
Once your bank is connected, set the date range for the transactions you want to pull in. For this example, let’s set it to the last 30 days so use =LASTXDAYS(30). Click Create Data Table, and Rows will fetch all your transactions from that period.
How To Connect Rows To Your Notion Workspace
Now that your bank data is ready in Rows, it’s time to connect Notion into the workflow.
Go to the Settings section in Rows and find the Integrations tab. From there, select Notion and follow the steps to authorise Rows to access your Notion workspace.
Don’t forget to grant access to the specific page or database where you want to send your bank data.
Once the integration is done, go to your Notion page. Check if it’s connected to Rows. If not, simply go to Connect to and choose Rows.
How To Import Bank Data From Rows To Notion
Now comes the most exciting part — pulling your bank data into Notion.
Start by creating a database in your Notion page (or use one from your existing setup). Add the necessary properties, such as Name, Date, Amount, Category, and Recipient.
To connect Rows with your Notion database, you’ll need the database ID. It’s a little hidden, but easy to find if you know where to look. Open your Notion database as a page, copy the URL and then grab the part of the URL between notion.so/your-user-name/ and the question mark (?). That’s your database ID.
See the image below for better understanding:
Now, head back to Rows. In your spreadsheet, add a new column and name it Send to Notion. Set the column type to formula and use the following code:
=ADD_DATABASE_PAGE_NOTION(“database-id”, “Name”, G2, “Amount”, E2, “Date” ,D2)
Replace “database-id” with your actual database ID and map the Notion properties (like Amount) to the corresponding bank data columns (like E2, the transaction amount). This way, you can assign as many fields you want. Once this is done, save your changes, and voilà! Your bank data is now imported to Notion.
The initial setup is a bit involved, but you only have to go through the process once. After that, Rows will automatically send all new entries in the spreadsheet to Notion.
Pretty amazing, right?
There’s only one thing left to do – making sure that you regularly pull in new transactions.
You could do so manually by opening the three-dot menu of the bank data table in Rows and selecting Refresh Data Table.
However, the whole point of this setup is to avoid manual work, so let’s schedule an automated data refresh.
How To Automatically Sync Your Bank, Rows And Notion
Go to the same three-dot menu on the Rows Spreadsheet, select Edit Data Table, and from the side panel, enable Schedule Data Refresh under the Automation section. You can set the refresh mode and timing based on your needs, and you’re good to go!
Now, every time you make a transaction through your bank account, here’s what’s going to happen:
- You swipe your card to make a payment
- The Plaid open finance API sends the transaction to Rows
- Rows adds a new entry to the spreadsheet and sends the transaction to Notion
- Your transaction appears in your Notion System
Pretty magical!
This workflow is perfect in combination with my free Notion Budget Tracker template or any other Notion Finance Setup.
But what if you use a lot of credit cards where individual transactions don’t show up in your bank?
Well, if that’s the case, you can use another method to automate the import to Notion. Here’s how to get invoices or credit card statements into Notion.