Google Sheets
Overview
GrowPanel's Google Sheets integration allows you to import subscription data directly from a spreadsheet. This is ideal for businesses that don't use a supported billing platform, want to import historical data, or need to supplement their existing data source with manual entries.
The integration works through a Google Sheets Extension that connects to your GrowPanel account. You can export customers, plans, and invoices from your spreadsheet to GrowPanel, or import existing data from GrowPanel into a sheet for review or modification.
This guide covers:
- How to install the GrowPanel extension
- How to connect the extension to your GrowPanel account
- How to structure your data
- How to export data to GrowPanel
- How to import data from GrowPanel
- Best practices and troubleshooting
Prerequisites
Before you begin, ensure you have:
- A GrowPanel account
- A Google account with access to Google Sheets
How to install the GrowPanel extension
Step 1: Create a Google Sheets data source in GrowPanel
Before using the extension, you need to create a data source in GrowPanel.
In GrowPanel, navigate to Settings → Data sources → Add data source → Google Sheets.

Give the data source a name (e.g., "Google Sheets - Historical Data"), and hit Next

When this is done, you'll see the generated API key. Important: Store the key somewhere safe. You won't be able to see it again.

Click Install Sheets add-on
Step 2: Install the Sheets add-on
Select Admin install in the Google Workspace Marketplace install screen.

The next screen asks you to confirm that you'll install the add-on/app for the entire Google Workspace organization. Click Continue.

In the next screen, you are presented with the permissions you are granting GrowPanel. The permissions are these:
- View and manage spreadsheets that this application has been installed in: This means that the extension is able to read and write spreadsheets that you open the extension on. It's a necessary permission for the add-on to be able to work.
- See, edit, create, and delete only the specific Google Drive files you use with this app: This is related to #1, meaning that the extension can alter the data in the spreadsheet that you open the add-on with.
- Connect to an external service: This is needed to communicate with GrowPanel's API.
- Display and run third-party web content in prompts and sidebars inside Google applications: This is needed in order to display the sidebar where the add-on lives.
- See your personal info, including any personal info you've made publicly available: We may use your name and email to verify your identity, but this information is not stored in our platform, unless you also use Google to sign in to your GrowPanel account.
Click either "Everyone at your organization" (Recommended) or "Certain groups or organizational units" (if you want to limit use)
If you agree with this, select "I agree to the application's Terms of Service, Privacy Policy, and Google Workdpsace Marketplace's Terms of Service.

The add-on is now being installed, and can be used in Google Sheets by selecting the Extensions menu, and looking for GrowPanel.

Step 3: Open the GrowPanel extension
After installation:
- Open a new Google Sheet
- Go to Extensions → GrowPanel in the menu bar.
- Click Open app to open the add-on. A sidebar will appear on the right side of your sheet.

Step 4: Enter your API key
In the GrowPanel sidebar:
- You'll see an Add your GrowPanel API key field.
- Copy your API key and paste it into the sidebar.
- Click Save.
Step 5: Select your data source

Once connected:
- A dropdown will appear showing your available data sources.
- Select the Google Sheets data source you created earlier.
- Click Select
You will now see the default state of the sidebar, showing three tabs - Customers, Plans and Invoices. And each of these tabs have the same three buttons: Export to GrowPanel, Import from GrowPanel and Create Template

Data structure and templates
The extension uses specific column structures for each data type. You can use the Create Template button to generate a sheet with the correct columns.
Customers
| Column | Description | Required |
|---|---|---|
| Customer ID | Unique identifier for the customer | Yes |
| Name | Customer's full name or company name | Yes |
| Customer's email address | No | |
| Created | Date the customer was created (YYYY-MM-DD) | No |
| Country | Two-letter country code (e.g., US, GB, DE) | No |
| Trial Started | Date the trial started (YYYY-MM-DD) | No |
| Export Status | Automatically populated after export | No |
Plans
| Column | Description | Required |
|---|---|---|
| Plan ID | Unique identifier for the plan | Yes |
| Name | Display name of the plan | Yes |
| Interval | Billing interval: day, week, month, or year | Yes |
| Interval Count | Number of intervals (e.g., 1 for monthly, 3 for quarterly) | Yes |
| Currency | Three-letter currency code (e.g., USD, EUR) | Yes |
| Plan Group | Group name for organizing plans | No |
| Export Status | Automatically populated after export | No |
Invoices
| Column | Description | Required |
|---|---|---|
| Invoice ID | Unique identifier for the invoice | Yes |
| Customer ID | Must match a Customer ID | Yes |
| Type | One of: subscription, one-time, refund, cancellation | Yes |
| Invoice Date | Date of the invoice (YYYY-MM-DD) | Yes |
| Amount | Amount in cents (e.g., 9900 for $99.00) | Yes |
| Currency | Three-letter currency code | Yes |
| Plan ID | Must match a Plan ID (for subscription invoices) | Conditional |
| Subscription ID | Unique identifier for the subscription | No |
| Start Date | Subscription period start (YYYY-MM-DD) | No |
| End Date | Subscription period end (YYYY-MM-DD) | No |
| Proration | TRUE or FALSE | No |
| Quantity | Number of units/seats | No |
| Discount | Discount amount in cents | No |
| Export Status | Automatically populated after export | No |
Exporting data to GrowPanel
To send data from your spreadsheet to GrowPanel:
- Ensure your sheet has data in the correct column format (or use Create Template first).
- In the sidebar, select the data type you want to export: Customers, Plans, or Invoices.
- Click Export to GrowPanel.
- The extension will process each row and update the Export Status column.
Export order
When setting up a new data source, export in this order:
- Plans first - these define your pricing structure
- Customers second - these create customer records
- Invoices last - these reference both plans and customers
Understanding export status
After export, each row will show one of these statuses:
- Success - The row was exported successfully
- Error: [message] - The export failed with a specific reason
- Skipped - The row was empty or already exported
Importing data from GrowPanel
You can also pull existing data from GrowPanel into a spreadsheet:
- Open a new sheet tab or use an empty sheet.
- In the sidebar, select the data type: Customers, Plans, or Invoices.
- Click Import from GrowPanel.
- A new tab will open with the imported data in the correct column format.
This is useful for:
- Reviewing your current data
- Making bulk edits before re-exporting
- Creating a backup of your GrowPanel data
- Migrating data between data sources
Best practices
Data quality
- Use consistent Customer IDs - If a customer appears in multiple invoices, use the exact same Customer ID.
- Use consistent Plan IDs - Reference the same Plan ID in invoices that you defined in your Plans sheet.
- Format dates correctly - Use YYYY-MM-DD format (e.g., 2024-01-15) for all date fields.
- Use cents for amounts - Enter 9900, not 99.00, for a $99 invoice.
Managing updates
- Re-export to update - If you change data in your sheet, you can re-export. Rows with matching IDs will be updated.
- Use the Import function to verify - After exporting, import the data back to confirm it was received correctly.
- Keep a backup - Before making major changes, duplicate your sheet as a backup.
Working with multiple sheets
- You can organize your data across multiple sheets within the same spreadsheet.
- Select the correct sheet tab before clicking Export or Import.
- Each sheet should contain only one data type (don't mix customers and invoices).
Troubleshooting
| Problem | Possible cause | Solution |
|---|---|---|
| "Invalid API key" error | API key is incorrect or expired | Generate a new API key in GrowPanel and re-enter it |
| "Data source not found" | Wrong data source selected | Verify you selected the correct Google Sheets data source |
| Export shows "Error: Customer not found" | Customer ID doesn't exist | Export your Customers sheet before exporting Invoices |
| Export shows "Error: Plan not found" | Plan ID doesn't exist | Export your Plans sheet before exporting Invoices |
| Amounts look wrong in GrowPanel | Entered dollars instead of cents | Update amounts to cents (multiply by 100) and re-export |
| Dates not recognized | Wrong date format | Use YYYY-MM-DD format for all dates |
| Extension not appearing | Installation incomplete | Reinstall from Extensions → Add-ons → Get add-ons |
What happens after import
Once your data is exported to GrowPanel:
- GrowPanel processes the invoices to calculate MRR movements.
- Your dashboard will populate with metrics based on the imported data.
- Reports like MRR, ARR, churn, and cohorts become available.
- You can filter reports by this data source using the Data Source filter.
Since Google Sheets is a manual data source, you'll need to re-export whenever you have new data. For real-time sync, consider connecting a billing platform like Stripe, Chargebee, or Recurly.
Summary
The Google Sheets integration provides a flexible way to import subscription data into GrowPanel without requiring a billing platform integration. Use the GrowPanel extension to export customers, plans, and invoices from your spreadsheet, and GrowPanel will calculate your MRR, churn, and other subscription metrics automatically.
If you need help structuring your data or troubleshooting imports, contact our support team.