How to Track MRR in HubSpot
Learn how to track Monthly Recurring Revenue (MRR) in HubSpot using Stripe data. Compare manual exports, HubSpot's native sync, and purpose-built tools like Syncfy to get real-time MRR visibility in your CRM.
MRR is the number that defines your SaaS business. It tells you how fast you're growing, where you're losing revenue, and which accounts are expanding. But if your team manages customer relationships in HubSpot, there's a good chance MRR lives somewhere else entirely — buried in Stripe, locked in a spreadsheet, or trapped in a BI tool that only finance can access.
That's a problem. Your sales reps don't know which customers are paying the most. Your CS team can't spot contraction before it turns into churn. Your marketing team can't measure how campaigns translate to actual recurring revenue. Everyone is working with an incomplete picture.
Tracking MRR in HubSpot fixes this. It puts revenue data directly alongside contact records, deal stages, and engagement history — the place where your go-to-market team already works. Here's how to make it happen.
Why MRR Tracking in HubSpot Matters
Revenue visibility isn't a finance-only concern. When MRR data lives in your CRM, every customer-facing team benefits:
- Sales can prioritize upsell opportunities. Reps can filter contacts by current MRR and target accounts that are growing or underserving their needs. A $200/month customer on a plan they've outgrown is a warm expansion opportunity — but only if the rep can see the data.
- Customer success can quantify risk. A support ticket from a $5,000 MRR account demands a different response than one from a $50 account. Without revenue context in HubSpot, every ticket looks the same.
- Leadership gets a unified view. Instead of reconciling Stripe exports with HubSpot reports, your revenue dashboard lives in one place. Board decks, QBRs, and forecasting all pull from the same source of truth.
- Marketing can measure what matters. Campaign attribution that stops at "Closed Won" misses the point. Tying campaigns to actual MRR impact shows which channels drive real revenue, not just deals.
The alignment between sales, CS, and finance around a single revenue number is what separates functional revenue operations from teams that are just winging it.
The Problem: HubSpot Doesn't Natively Calculate MRR
HubSpot is a powerful CRM. It tracks deals, automates workflows, scores leads, and manages every touchpoint in your customer journey. But it wasn't built to be a billing system. It doesn't understand Stripe subscriptions, and it has no native concept of Monthly Recurring Revenue.
That means HubSpot can't do any of the following on its own:
- Calculate MRR from active Stripe subscriptions
- Distinguish between new MRR, expansion MRR, and contraction MRR
- Handle prorated charges, discounts, or mid-cycle plan changes
- Track MRR over time for individual contacts or companies
- Automatically update revenue figures when a customer upgrades, downgrades, or cancels
You can store a number in a custom property and call it "MRR." But keeping that number accurate — in real time, across your entire customer base — requires a connection to your billing system. That's where the approaches diverge.
Method 1: Manual Spreadsheet Exports
The most common starting point. You export subscription data from Stripe, calculate MRR in a spreadsheet, and import the results into HubSpot as a CSV.
How it works:
- Export active subscriptions from the Stripe dashboard
- Normalize billing intervals (convert annual plans to monthly equivalents)
- Account for discounts, trials, and multi-currency conversions
- Match each subscription to a HubSpot contact or company by email
- Import the spreadsheet into HubSpot, mapping columns to custom properties
Why teams start here: It's free, it requires no technical setup, and it works for very small customer bases.
Why it breaks down:
- The data is stale the moment you export it. A customer who upgrades five minutes after your export won't be reflected in HubSpot until the next manual refresh. For fast-moving SaaS businesses, even a daily export is outdated by lunch.
- MRR math is harder than it looks. Prorations, coupons, multi-subscription contacts, annual-to-monthly normalization, and currency conversion all introduce errors. One miscalculated formula cascades across your entire dataset.
- Matching is fragile. Stripe identifies customers by email. HubSpot contacts may have multiple emails, merged records, or company associations that don't map cleanly. Manual matching at scale is tedious and error-prone.
- It doesn't scale. At 50 customers, a weekly spreadsheet import is annoying but manageable. At 500, it's a part-time job. At 5,000, it's untenable.
Manual exports are a starting point, not a solution. If you're spending more than an hour a month on this process, the ROI on automation is already clear.
Method 2: HubSpot's Native Stripe Data Sync
HubSpot offers a built-in Stripe integration through its Data Sync feature. It's free to install and pulls some Stripe data into HubSpot automatically. For basic needs, it sounds like the answer.
What it does:
- Syncs Stripe customer objects to HubSpot contacts
- Creates records for invoices and charges
- Keeps basic contact-level billing data updated
What it doesn't do:
- No MRR calculation. This is the critical gap. HubSpot's native sync moves raw Stripe data — charges, invoices, customer metadata — but doesn't compute MRR. You still need to calculate recurring revenue yourself.
- Custom objects require Enterprise. Stripe subscriptions, invoices, and products sync as custom objects in HubSpot. Custom objects are only available on HubSpot Enterprise plans, which start at $1,200/month. If you're on Starter or Professional, you can't access the full dataset.
- No company-level matching. The native sync maps Stripe customers to HubSpot contacts. But in B2B SaaS, revenue belongs to companies, not individual contacts. If five people at the same organization each have a Stripe record, there's no automatic way to roll that up to the company level.
- No historical backfill. The sync starts from the moment you connect it. Your existing customer base — the months or years of billing history already in Stripe — doesn't come along.
- Limited subscription lifecycle tracking. Upgrades, downgrades, plan changes, and churn events aren't surfaced as distinct events. You get a snapshot of the current state, not a timeline of how the customer's revenue has evolved.
HubSpot's native integration is a reasonable first step if all you need is basic invoice data on contact records. But if you need actual MRR tracking — the kind that drives workflows, reports, and team prioritization — it falls short.
Method 3: Purpose-Built Integration (Recommended)
The third option is a tool built specifically to solve the Stripe-to-HubSpot MRR problem. Syncfy falls into this category. Instead of syncing raw billing data and leaving the math to you, it calculates MRR from your Stripe subscriptions and writes the result directly to HubSpot.
What a purpose-built integration handles:
- Real MRR calculation. Not just the subscription price — actual MRR that accounts for prorations, discounts, coupons, trial periods, and annual-to-monthly normalization. The math is done for you, correctly, every time a subscription changes.
- Works with all HubSpot editions. You don't need Enterprise. MRR and subscription data sync to standard contact and company properties that are available on every HubSpot plan, including Free and Starter.
- Company-level data. Revenue is matched to HubSpot companies, not just individual contacts. This gives your team the B2B view they actually need — total account revenue, not fragmented per-contact numbers.
- Historical backfill. Your entire Stripe billing history syncs on first connection. Day one, your HubSpot instance reflects the full picture — not just what happens after you flip the switch.
- Subscription lifecycle events. New subscriptions, upgrades, downgrades, cancellations, and reactivations are all tracked as they happen. Your workflows can trigger on any of these events.
- Multi-currency support. If you bill in multiple currencies, MRR is normalized to a single base currency. No manual conversion tables or formula hacks.
The difference between raw data sync and a purpose-built integration is the difference between getting a box of parts and getting a finished product. Both give you data in HubSpot. Only one gives you actionable MRR.
How to Set Up MRR Tracking With Syncfy
Getting started takes about two minutes. No engineering resources required.
Step 1: Connect your Stripe account. Sign in to Syncfy and authenticate with Stripe via OAuth. Syncfy requests read-only access to your subscription and customer data. No write permissions, no access to sensitive payment information.
Step 2: Connect your HubSpot account. Authenticate with HubSpot via OAuth. Syncfy creates the custom properties it needs — stripe_mrr, subscription_status, subscription_plan, and others — automatically.
Step 3: Historical sync runs. Syncfy pulls your existing Stripe data, calculates MRR for every active subscription, matches customers to HubSpot contacts and companies, and backfills the records. Depending on your data volume, this takes anywhere from a few seconds to a few minutes.
Step 4: Real-time sync is live. From this point forward, every subscription change in Stripe — new signup, upgrade, downgrade, cancellation, payment failure — updates the corresponding HubSpot record automatically.
No credit card is required to start. Syncfy is free for businesses up to $10,000 in MRR. Paid plans start at $49/month for up to $50,000 MRR — a fraction of what you'd spend on the Enterprise HubSpot tier you'd need just to access custom objects with the native integration.
What MRR Data Looks Like in HubSpot
Once connected, every HubSpot contact and company record with a matching Stripe subscription displays live revenue data. Here's what your team will see:
On contact records:
- Current MRR — The contact's monthly recurring revenue, updated in real time
- Subscription status —
active,past_due,canceled,trialing - Plan name — The Stripe product/price the customer is subscribed to
- Subscription start date — When the subscription began
- Last payment date — The most recent successful charge
On company records:
- Total company MRR — Rolled up across all contacts associated with the company
- Number of active subscriptions — How many seats or licenses the company holds
- Company subscription status — Reflects the overall health of the account
In lists and reports:
- Build active lists segmented by MRR range (e.g., all companies with MRR above $1,000)
- Create reports showing MRR by lifecycle stage, deal source, or contact owner
- Track MRR growth and contraction over time using HubSpot's reporting tools
In workflows:
- Trigger upsell outreach when a contact's MRR exceeds a threshold
- Alert CS when a high-value account downgrades
- Enroll churned customers in a win-back sequence based on their former MRR tier
- Create deals automatically when a new subscription starts
This is the real payoff. MRR in HubSpot isn't just a number on a screen — it's a trigger for automated, revenue-aware workflows that make your entire go-to-market team more effective.
Choosing the Right Approach
The right method depends on your scale and your HubSpot plan:
- Under 50 customers, no automation needs: Manual spreadsheets work. They're painful, but the cost of tooling may not be justified yet.
- Any HubSpot plan, need real MRR data: A purpose-built integration like Syncfy is the most cost-effective path. It works on every HubSpot edition, costs nothing up to $10k MRR, and eliminates the manual work entirely.
- HubSpot Enterprise, basic invoice data only: The native Stripe Data Sync is a free option that covers surface-level billing data — but you'll still lack MRR calculation and company-level rollups.
For most SaaS businesses, the calculus is straightforward. If MRR matters to your team — and it should — you need a tool that calculates it correctly and keeps it current. Spreadsheets can't do that at scale, and HubSpot's native integration wasn't designed to.
Start Tracking MRR in HubSpot Today
Your CRM should reflect reality. If your team is making decisions about customer health, expansion targets, or churn risk without MRR data in HubSpot, they're operating with one eye closed.
Try Syncfy free and get real-time MRR data in HubSpot in under two minutes. No credit card required. Free for businesses up to $10,000 MRR.
The setup takes less time than a single manual spreadsheet export — and it never goes stale.