How to Import Stripe Data into Notion and Build Custom Dashboards
Stripe is one of the most powerful payment processing platforms, used by businesses of all sizes to handle transactions, manage subscriptions, and track revenue. It provides detailed financial data, but often, businesses need a more customized and centralized way to track their key metrics.
Many business owners and teams already use Notion to organize their projects, documents, and databases. But what if you could bring Stripe data directly into Notion to create dynamic dashboards and real-time financial tracking?
With Note API Connector, you can automatically import Stripe invoices, subscriptions, and payments into Notion—without manual data entry.
In this tutorial we will cover:
- Track Monthly Recurring Revenue (MRR) in a customizable Notion database
- Analyze top-selling products with interactive charts
- Automate data syncing to keep everything up to date
This tutorial will guide you step by step through integrating Stripe with Notion, so you can visualize your business performance and make better financial decisions—all within the tool you already use daily.
Getting started with Note API Connector
You can get started in just a few clicks:
- Web App: Access the platform directly via the Note API Connector Web App.
- Chrome Extension: Install the Note API Connector Chrome Extension to use Note API Connector in Notion.
Once installed, simply authenticate your Notion account, grant the necessary permissions, and start creating API requests effortlessly.
👉 Follow the official setup guide for step-by-step instructions.
Generate a Stripe API Key for Secure Access
To connect Stripe with Notion, we need to retrieve financial data securely using Stripe’s API. Stripe provides API keys that allow external tools—like Note API Connector—to access your Stripe account and pull relevant data into Notion.
Open your Stripe dashboard. Scroll down and click Developers → API keys.

You will see a list of existing keys. Let’s create a restricted key that only has read access to the Stripe data we need.

On the next screen, choose Building your own integration.

Choose a clear name like Note API Connector.

Now, you can choose which data the integration should have access to. For this tutorial, we only need read access, so I’m selecting Invoices. Feel free to select the data you need—you can always adjust these settings later.

After selecting your permissions, scroll down and click Create Key. Your new key will be generated—be sure to copy it.

With your API key ready, we can now move on to pulling Stripe data into Notion using Note API Connector.
Import Stripe Data into Notion
Now we are ready to pull data into Notion. You can take a look at Stripe API documentation. In this tutorial we will work with /invoice api.

Tracking Monthly Recurring Revenue (MRR) in Notion
To track MRR, we have two main approaches:
- Project future revenue by pulling active subscriptions from Stripe.
- Track actual revenue received by importing paid invoices, which is more reliable for cash flow monitoring.
For this tutorial, we'll focus on actual revenue by using the Stripe Invoices API (/v1/invoices
with status=paid
).
The Invoices API returns a maximum of 10 invoices per request by default. To retrieve more data, increase the limit
parameter to the maximum allowed value of 100. Additionally, add status=paid
to filter and import only successfully paid invoices, ensuring accurate MRR tracking.

Now create a new Notion database MRR Import.

Now you can create a new request in Note API Connector.

First select the Notion database MRR Import.

Then, add the request name and paste the url https://api.stripe.com/v1/invoices?status=paid&limit=100
into the URL field.

Then, paste the Bearer token into Auth field.

Now you can hit Run to call api and you can see Stripe data in Response Field Mapping view. Invoice object contains a lot of fields, but we need only some of them. Let's select only id
of the invoice, amount_paid
which represents paid amount, and status_transitions.paid_at
when invoice was paid.

You can add customer_name
or customer_email
as existing field Name.

Now hit Save & Import to import data into Notion database.
You can see imported data in Notion database. Field amount_paid
is in cents format and status_transitions.paid_at
is in Unix timestamp format. Let's use Notion formula to update its format. You can create new fields Amount
and Paid Date
.

Let's set Amount
property as Formula:
divide(toNumber(amount_paid.value), 100)

You can set Pay Date
as another Formula:
fromTimestamp(multiply(toNumber(status_transitions.paid_at.value), 1000))

Now you can see Amount in correct currency value and Pay Date in date format.

Let's create Monthly Recurring Revenue (MRR) chart in Notion.

You can select line chart and set X axis: Pay Date -> Month
.

Y axis should be set as Amount -> Sum
.

This will generate a monthly revenue graph, helping you track your business revenue.

Analyze Product Sales: Identify Your Best-Selling Items
Understanding which products generate the most revenue is crucial for optimizing your sales strategy. By leveraging Stripe data in Notion, you can create a visual representation of your top-selling products, track revenue trends, and identify customer purchasing patterns.
What Stripe Data Should You Use? Depending on your business model, you’ll need different Stripe endpoints:
- Subscription-based products? → Use /v1/invoices
- One-time sales? → Use /v1/payment_intents
- Stripe Checkout purchases? → Use /v1/checkout/sessions
For this example, let's assume a subscription-based product and work with the /invoices
API.
Create a new Notion database called Top Products.

You can use the same API request as before /v1/invoices?status=paid&limit=100
, but now we want to import it into new database Top Products.
We need to get all the individual items (products/services) that are billed in the invoice. Unlike invoice totals, product details are stored in a nested field lines
inside the Stripe API response. You can see it as [object Object]
in the Response Field Mapping view.

We need to select nested data. You can check the lines
data in API Response in Advanced Settings.

In Advanced Settings, apply a JMESPath transformation to extract only the product-level data:
[].lines.data[]
Now you can see all products items for invoices data.

Let's select id
, amount
, and let's map description
into Name
Notion existing field. You can select quantity
and currency
.

Now you can see imported data in Top Products Notion database.

We should create a new field Amount
that converts cents into dollars.


Let's create a Donut Chart to analyze revenue distribution.
- X-Axis: Set as product
Name
. - Y-Axis: Set as sum of
Amount
.

This will generate an interactive visual of your best-performing products, helping you identify trends and optimize sales.
Automate Data Updates in Notion
Keeping your Stripe data in Notion up to date manually can be time-consuming, but with Note API Connector’s scheduling feature, you can automate the process. By setting up a recurring data sync, your invoices, payments, and product sales will automatically refresh at your preferred interval—whether hourly, daily, or weekly. This ensures that your Notion dashboards always display real-time financial insights without requiring manual imports.
Conclusion
By integrating Stripe with Notion using Note API Connector, you can transform raw transaction data into actionable insights. Whether you're tracking Monthly Recurring Revenue (MRR), identifying top-selling products, or visualizing revenue trends, this setup enables a custom financial dashboard without manual data entry.
Now that you have a dynamic Stripe dashboard in Notion, what other insights would you like to track? Drop a comment below or explore more ways to automate your workflow with Note API Connector