Welcome to Syncfy Documentation

Learn how to connect your Stripe and HubSpot accounts to automatically sync customer revenue data in real-time.

Quick Start Guide

1

Connect Stripe

Link your Stripe account to pull customer and subscription data

2

Connect HubSpot

Authorize Syncfy to write revenue data to your HubSpot CRM

3

Configure Matching

Set how Stripe customers match to HubSpot companies (by email or Stripe ID)

4

Run Full Sync

Sync all existing customers, then enjoy real-time webhook updates

What Gets Synced

Monthly Recurring Revenue (MRR)

Calculated from all active subscriptions for each customer, normalized to monthly amounts.

  • Handles monthly, yearly, and custom billing intervals
  • Supports tiered pricing
  • Updates in real-time via webhooks

Total Spend (Lifetime Value)

Sum of all successful charges minus refunds for each customer.

  • Includes one-time and recurring charges
  • Excludes refunded amounts
  • Historical data included

Subscription Status

Current subscription state for each customer.

  • Active, Trialing, Canceled, Past Due
  • Updated when subscription changes

Last Synced Timestamp

When each company record was last updated by Syncfy.

  • Useful for debugging
  • Audit trail for changes
S

Connecting Stripe

Syncfy uses Stripe Connect to securely access your Stripe data. When you click "Connect Stripe", you'll be redirected to Stripe to authorize the connection.

Permissions Required:

  • Read customers - Access customer email and metadata
  • Read subscriptions - Calculate MRR from active subscriptions
  • Read charges - Calculate total lifetime spend

Note: Syncfy only has read-only access. We cannot modify your Stripe data, create charges, or access sensitive payment information.

H

Connecting HubSpot

Click "Connect HubSpot" to authorize Syncfy to write to your HubSpot CRM. You'll be redirected to HubSpot to grant permissions.

Permissions Required:

  • CRM Companies - Read and update company records
  • CRM Contacts - Search for contacts by email

Custom Properties Created:

Syncfy will create these custom properties on your HubSpot companies (if they don't exist):

  • stripe_mrr - Monthly Recurring Revenue
  • stripe_total_spend - Lifetime Value
  • stripe_subscription_status - Subscription Status
  • stripe_customer_id - Stripe Customer ID
  • stripe_last_synced - Last Sync Timestamp

Customer Matching

Syncfy needs to match Stripe customers to HubSpot companies. You can configure how this matching works in Settings → Matching Rules.

Match by Email (Default)

Uses the Stripe customer's email to find a HubSpot company with a contact that has the same email address.

✓ Works automatically with existing data

Match by Stripe Customer ID

Matches using the stripe_customer_id property on HubSpot companies.

⚠ Requires setting up the property on HubSpot companies first

Tip: If a match isn't found, the sync will show "Not Found" status. Create the matching HubSpot company first, then re-sync.

Real-time Webhooks

After initial setup, Syncfy automatically listens for Stripe webhook events to keep your HubSpot data up-to-date in real-time.

Events We Listen For:

  • customer.subscription.created
  • customer.subscription.updated
  • customer.subscription.deleted
  • invoice.paid
  • charge.refunded

When any of these events occur, Syncfy automatically recalculates and updates the corresponding HubSpot company record.

Sync Preferences

In Settings → Sync Settings, you can choose which fields to sync to HubSpot. Toggle off any fields you don't need.

  • Monthly Recurring Revenue (MRR)
  • Total Spend (Lifetime Value)
  • Subscription Status
  • Stripe Customer ID
  • Last Synced Timestamp

Security & Privacy

  • OAuth tokens are encrypted at rest using AES-256 encryption
  • We never store credit card numbers or sensitive payment data
  • Read-only access to Stripe - we cannot make charges or modify your data
  • You can disconnect at any time from the Connections page
  • All data is isolated per organization - multi-tenant architecture

Frequently Asked Questions

Why are my syncs showing "Not Found"?

This means Syncfy found the Stripe customer but couldn't find a matching company in HubSpot. Make sure your HubSpot companies have contacts with matching email addresses, or set up matching by Stripe Customer ID.

How often does data sync?

After the initial full sync, data updates in real-time via Stripe webhooks whenever subscriptions change or payments are made. You can also manually trigger a full sync anytime.

Will this work with Stripe Connect / Platforms?

Currently, Syncfy works with standard Stripe accounts. Support for connected accounts in Stripe Connect platforms is on our roadmap.

Can I sync to HubSpot Contacts instead of Companies?

Currently, Syncfy syncs to HubSpot Companies. Contact-level syncing may be added in a future update.

What happens if I disconnect and reconnect?

Your sync history is preserved. After reconnecting, run a Full Sync to update all records.

Is there a limit on how many customers I can sync?

Limits depend on your plan. Check the Billing page to see your current plan limits and upgrade if needed.

Ready to get started?

Head to Connections to link your Stripe and HubSpot accounts.

Go to Connections