featured image syncing Stripe to Google Sheets with Unito
How to Sync Stripe to Google Sheets Automatically
featured image syncing Stripe to Google Sheets with Unito

How to Sync Stripe to Google Sheets Automatically

Many businesses today rely on payment processing apps such as Stripe to handle transactions. However, managing and analyzing that data afterwards can be challenging. Typically Stripe users will export their data as CSV files into a spreadsheet for review, either to Microsoft Excel or Google Sheets. These tools are handy for collating, organizing and visualizing data, but the information you import to Google Sheets or Excel quickly becomes outdated as new payments are continually processed by Stripe.

This guide will show you how to sync Stripe data to Google Sheets automatically and continually, so your spreadsheet will always contain the latest information and payment details.

Specifically, you’ll be able to sync: Stripe customers, invoices, payments, disputes, or subscriptions.

That’s where integration platforms, such as Unito, come in handy: they enable you to set up quick, intuitive integrations with no technical expertise required to sync data in real-time.

Our tutorial will focus on syncing invoices, but you can apply the same steps and principles to sync Stripe customers, subscriptions, payments and disputes. We’ll set up this integration by creating a Unito flow. A flow is the connection between Stripe and Google Sheets that allows Unito to send data between them automatically.

In this article:

Step 1: Before connecting Stripe and Google Sheets

Install Unito Spreadsheet Sync from the Google Workspace Marketplace

From the Google Workspace Marketplace you can install Unito Spreadsheet Sync, which is required in order to sync your spreadsheets. Then, create a header row in your sheet to help identify the data from your Stripe transactions.

If you’re syncing invoices, then each one will sync into a row, while each column will be used to sort and contain the data from each invoice.

An example of a header row in Google Sheets
The first row of your sheet will be used by Unito to sync fields from Stripe. The first and last columns must be labeled UnitoID and Last Modified. These columns can be added automatically by the add-on.
Click for more information about header rows and Unito

Unito Spreadsheet Sync now allows you to automatically populate a header row in a blank spreadsheet by selecting import from Unito Spreadsheet Sync.

After you insert two columns into a blank sheet, click Create Flow from within Unito Spreadsheet Sync and Import data from the tool of your choice. When you create a flow this way, you’ll be given an option to auto-populate your row header.


Spreadsheet Sync includes a button that inserts two columns to your sheet. Only data between those columns, labeled UnitoID and Last Modified will sync with Unito. You can hide the columns if you want, but don’t modify or delete them, or else your data will stop syncing.

Generate a Secret Key in Stripe

You’ll also need to generate an API token in Stripe to sync transactions. This process involves logging into your Stripe account, accessing the API settings page, and generating a Stripe Secret Key:

  1. From the Developers Dashboard, select the API keys tab.
  2. In the Standard keys list or Restricted keys list, in the row for the key you want to reveal, click Reveal live key.
  3. Copy the key value by clicking it.
  4. Copy-paste the key into this prompt with an optional display name:
Stripe Secret Key

Step 2: Connect Stripe and Google Sheets to Unito

Once you’ve set up your spreadsheet and Stripe account, log-in to the Unito App and select +Create Flow.

Then, select Start Here to connect Stripe and Google Sheets.

Screenshot of the Unito interface with Stripe and Google Sheets connected

Choose the accounts you want connected to Unito. Unito can sync five types of work items in Stripe: invoice, payments, customers, disputes, and subscriptions.

In this demo, we’ll be syncing invoices, although the same steps and principles apply to any work item.

For Google Sheets, you’ll need the add-on, also known as Unito Spreadsheet Sync, installed before you can proceed.

Step 3: Confirm a one-way flow direction from Stripe to Google Sheets

Since our goal in this guide is to export invoices (or other items) from Stripe to Google Sheets, we’ll confirm a one-way flow direction here. This step tells Unito to automatically create new rows in Google Sheets based on our activity in Stripe.

Screenshot of a one-way Unito flow direction from Stripe to Google Sheets

Step 4: Filter unrelated Stripe data from syncing to Google Sheets

Now you can pick rules to filter specific Stripe transactions (in our case, invoices) from appearing in Google Sheets. In our demo below, we’ve opted to sync only invoices with the status: “open, uncollectable, or void.”

Screenshot of Unito rules filtering invoices from syncing between Stripe and Google Sheets.

The details of your Stripe items and spreadsheet rows are considered fields you can sync. Unito pulls data from Stripe into your Google Sheets columns, which is why you need a header row. If you’re working with a blank sheet for this integration, you can auto-populate the header row with Unito at this stage.

Click + Add mapping to sync additional fields, then Select a field for each tool and find the field you wish to map.

Here’s an example of our demo’s field mappings between Stripe and Google Sheets:

Screenshot of synced fields between Stripe and Google Sheets

In the above example, changes to our Stripe fields will automatically appear in Google Sheets, but not vice versa, with the exception of Due Date.

Step 6: Launch your Stripe Google Sheets integration

And that’s it! You’ve just completed an integration between Stripe and Google Sheets. Congratulations!

If you’ve followed the steps above, your integration will now create a row in your spreadsheet for every new Stripe invoice and sync changes from Stripe to Google Sheets.

A screenshot of Stripe invoices synced to Google Sheets including amount due, due date, and currency

If you have any questions, don’t hesitate to reach out and let us know. Our support team is ready to jump in and lend a hand to make sure your integrations always function as intended.

If you have any questions, don’t hesitate to reach out and let us know. Our live support team is ready to jump in and lend a hand to make sure your flows always function as intended.

“I’m really happy with Unito — it’s so easy. I had an idea in my mind and it only took an hour to build.”

Oskar Lindberg, Digital Transformation Manager at Järfälla Municipality

What’s next after syncing Stripe to Google Sheets?

Best practices and troubleshooting for Unito’s Google Sheets integration

Common error messages

If you see either of the error messages below, it likely indicates that one or both of the columns: “UnitoID” and “Last Modified” have been deleted or modified from your sheet. You’ll need to re-insert them (either manually or with the add-on) before your data will sync again.

“We’ve detected that mandatory columns have been removed from your Google Sheet. Let’s get you back up and running.”

“The container configuration does not allow us to sync.”

Getting around with Google Sheets and Unito

You can find more information on the following topics in Unito’s knowledge base: