If you’re a SaaS company trying to get Stripe subscription data into HubSpot, the first place you probably land is HubSpot’s free Stripe Data Sync app.
It appears promising: Free. Easy. Tightly integrated. Powered by HubSpot itself.
But if you’ve already tried using it to report on MRR, build lifecycle automation, or get a full picture of who’s paying you what, you’ve probably discovered the gap between expectation and reality.
In this post, we’ll walk through:
What HubSpot Stripe Data Sync actually does
What data you really get back (with examples)
Why SaaS teams outgrow the free app
Where it’s genuinely useful
What a “grown-up” Stripe → HubSpot setup looks like
And how tools like ClearSync (hi 👋) fit into the picture
We’ll be opinionated, but fair. And we’ll embed our full data teardown video so you can see real examples for yourself.
Let’s get into it.
What HubSpot's Stripe Data Sync App is
At a high level, HubSpot’s Stripe Data Sync app is a free, officially supported HubSpot Marketplace app. It’s built on HubSpot’s Data Sync engine and designed to move data between Stripe and HubSpot with minimal setup.
It is not designed to transform Stripe’s subscription data to be useful for SaaS MRR reporting.
It syncs five types of Stripe records:
Subscriptions
Payment Transactions
Invoices
Products
Customers
But each of those maps only to specific HubSpot objects, and that matters more than most teams realize.
Our docs go extremely deep into the configuration (you can read our full guide here), so this post focuses instead on what you get once everything is connected and where the value stops.
What You Actually Get When You Sync Stripe to HubSpot
Below is a breakdown of each object: what comes through, what’s missing, and why it matters.
1. Stripe Subscriptions → HubSpot Custom Object
Data Sync requires you to create your own custom object for subscriptions; you cannot sync the data to the built-in HubSpot Subscription object. This limits the usage to only users of HubSpot Enterprise, since they’re the only ones who can create custom objects in HubSpot.
Once you do, this is what comes through:
Subscription ID
Subscription status
Currency
Subscription start date
Subscription current period end
Relates to existing contacts if they exist in HubSpot, using the Stripe billing email address
What you don’t get:
❌ Current MRR
❌ Current quantity
❌ Product names
❌ Any historical subscription changes
❌ Billing cycle details
❌ Associations to invoices or payments
❌ Associations to Companies (without extra automation)
This is where most SaaS teams hit the wall.
If you sell recurring revenue, the single most important field is current MRR, and that field simply doesn’t exist in Data Sync.
So you’re left with a subscription object that tells you something happened, but not what it’s worth today.
2. Payment Transactions → HubSpot Custom Object
Similar story to Subscriptions: to see your payments from Stripe in HubSpot you need another custom object; you cannot sync the data to the HubSpot Payments object. Once again, this limits the usage to only users of HubSpot Enterprise.
What comes through:
Amount charged
Currency
Payment method (just whether card present or not - no last 4 digits)
Event context (“subscription created”, “subscription updated”)
What you don’t get:
❌ Last 4 digits or card expiration
❌ Billing address
❌ Subscription ID (so you can’t associate the payment back to the subscription)
❌ Any revenue fields you actually want (MRR, ARR)
❌ Separation between recurring vs one-time charges
❌ A Stripe subscription ID, so we can’t relate the payment record to the subscription record easily
For example, when we upgraded a $1/month subscription to two seats:
Stripe recorded the change as $1 extra MRR
Data Sync recorded it as a $0.97 prorated payment instead of the change in MRR, which would have been $1.
That makes sense from wanting to see raw payment information, but not from an MRR reporting perspective.
If you try to run expansion, contraction, or upgrade reporting this way, it becomes a mess almost immediately.
3. Invoices → HubSpot Invoice Object
Invoices are actually where Data Sync shines. The Data Sync app syncs Stripe invoices to the built-in HubSpot Invoices object for you.
If you want to see how much a customer paid on their invoices over time, this is what the app is built to do. If you want to see that translated to MRR (accounting for things like prorations, one-time payments, discounts, free trials, etc), you will have to jump through your own hoops to calculate it yourself.
What comes through:
Invoice amount
Amount paid
Customer info
Billing / shipping address
Period start & end dates
Product line items
Invoice status
Invoices also automatically associate back to Contacts (and therefore the Company the Contact is related to in HubSpot), which is great.
But the major limitations:
❌ Invoice line item amounts don’t always reflect discounts
In our test, a $10 plan discounted to $1 still showed as $10 in HubSpot
❌ Invoices can’t be associated to custom objects
❌ Invoices don’t represent actual MRR in SaaS businesses. Oftentimes an invoice can represent a prorated amount, coupons, and one-time payments, that shouldn’t be counted towards recurring revenue.
So this object is solid for invoice-level reporting, but disconnected from everything else that matters in a reporting on MRR in a SaaS motion.
4. Products → HubSpot Products Object
The Data Sync app syncs Stripe products to the built-in HubSpot Products object for you. Products sync cleanly.
You’ll get:
Product name
Stripe product ID
Unit price
Pricing model (flat, tiered, graduated, etc.)
This is useful for seeing more context on line items in the invoice.
5. Customers → HubSpot Contacts Object
Stripe billing email maps to HubSpot contacts. But the Data Sync app can only sync to the HubSpot Contact object, it cannot sync to the HubSpot Company object. When you sync them,
What comes through:
Stripe customer ID
Billing email
Some address fields
Some metadata
Basic customer details
You don’t get:
❌ Any recurring revenue values
❌ Insights about plan, subscription value, or lifetime value
❌ Coupon fields (even when the customer has discounts)
❌ A clear “company vs person” distinction (Stripe doesn’t make one)
Most SaaS teams end up building roll-ups from invoices because Data Sync doesn’t give you a subscription-level revenue number.
This works in a pinch, but it’s not recurring revenue, you’re really just summing invoice totals.
Who HubSpot Stripe Data Sync is actually good for
To be fair, Data Sync is valuable, just not for subscription reporting.
It’s a good fit if:
You want free invoice sync
You only need to see invoice statuses (paid, open, uncollectible)
You don’t care about reporting on MRR/ARR
You don’t run a SaaS business
You don’t need upgrade/downgrade reporting
You don’t need RevOps automation based on revenue changes
You have HubSpot Enterprise or HubSpot Data Hub Starter+ to sync all of the available fields and objects
If this is you, the free app is solid.
But if you’re a recurring revenue business with any complexity at all, you’ll hit the limitations quickly.
Where Data Sync Breaks for SaaS (The Big Problems)
Here are the issues that matter most for SaaS teams:
1. No MRR or ARR fields anywhere
The number one thing every SaaS business needs is missing.
2. No subscription change history
No new → upgrade → downgrade → churn sequence for subscriptions. The HubSpot Data Sync app simply shows the current state of the subscription’s latest invoice.
3. No linking between the objects
You can’t associate:
A payment → the subscription it came from
A subscription → the company it belongs to
A subscription → its invoices
An invoice → the subscription that generated it
This makes reporting and automation nearly impossible.
4. Proration & one-off charges ruin MRR reporting
Stripe’s payment objects don’t distinguish recurring vs one-time revenue. Data Sync doesn’t fix that. This is important if you care about reporting on MRR, which shouldn’t take one-time payments or prorated invoices into account.
5. Full Access Requires HubSpot Enterprise and Data Hub Starter+
If you need to sync to subscriptions and payments objects in HubSpot, that means you need custom objects. Custom objects means you need HubSpot Enterprise. Many custom fields means you might need HubSpot Data Hub Starter+.
To get all of these things, that free app suddenly gets expensive.
What a “grown-up” Stripe → HubSpot setup looks like for recurring revenue teams
If you’re serious about recurring revenue, here’s the model that actually works:
1. A real Subscription object with actual revenue fields
Current MRR
Product name(s)
Previous & current product quantity
Renewal date
Billing interval length
Subscription status
Current period start & end dates
Stripe Subscription and customer IDs
2. An Event object for every MRR change
New
Upgrade
Downgrade
Churn
That contain important information about every MRR change:
Current & previous MRR
MRR change
MRR event status (plan change, price change, quantity change)
Previous & current quantity (if you have seat-based pricing or sell multiple quantities of each product)
Billing interval
Product name(s)
If these are clear, timestamped, and reportable, then you can break down all of your revenue numbers by customer and see your MRR over time and by product directly in HubSpot.
3. Proper associations between Objects
Importantly, you need HubSpot Companies and Contacts related to Stripe Subscriptions and MRR Events
This is how you get:
MRR reporting over time, by customer or product or type (upgrade, downgrade, new, churn)
Expansion vs contraction reporting
Customer-level LTV
GTM-based Workflows that you can run upsell & downgrade campaigns for
Internal alerts when things change
And tons more
4. Clean, normalized Stripe data
Stripe’s raw objects are almost too flexible, so you need a layer that converts them into consistent MRR truth. The math behind that can be tough, but this is exactly what tools like ClearSync are built for.
Alternatives: HubSpot Stripe Data Sync vs ClearSync vs Others
A quick, fair comparison:
HubSpot Stripe Data Sync
Best for:
Invoice visibility in HubSpot
Viewing basic payment data
Free sync of customer & product data from Stripe to HubSpot
Not for:
Reporting on MRR or ARR
Subscription reporting
Subscription teams, like PLG or Sales-led teams selling SaaS
RevOps automation
ClearSync
Best for:
Accurate MRR math (including mid-period proration, discounts, one-time sales, and multi-line items)
Full Stripe subscription history
Granular MRR change events for each Stripe subscription
Company and contact association with your Stripe data
Clean revenue dashboards
RevOps automation based on revenue signals
ClearSync also works with all HubSpot editions, without Data Hub Starter, and with full historical backfill and real-time sync.
Other choices
Building your own with your data warehouse + Reverse ETL
Watch: Our 6-Min Teardown of HubSpot's Stripe Data Sync App
See real synced records and all the limitations in action.
If You Want Accurate MRR in HubSpot
Data Sync is great for what it is: a free connector.
But if you rely on recurring revenue to run your company, report to investors, or operate a PLG funnel, you’ll want something more purpose-built.
That’s why we built ClearSync.
We handle the tricky parts (MRR math, subscription history, multi-line items, proration, revenue intelligence) and sync clean, usable subscription data into HubSpot automatically.
If you want to see what a robust Stripe → HubSpot integration for SaaS businesses looks like start a free trial of ClearSync or get in touch. We're happy to chat!




