Skip to content

What Stripe Sync writes to HubSpot ​

The exact footprint: every object we create, every property we touch, and — just as important — what we never touch. If you ever wondered "will this overwrite my data?", the answer is on this page.

All custom fields live in one clearly-named property group (ampdeck_stripe), created automatically at install. New fields are added over time by automatic migration — existing fields are never renamed or deleted.

If the object already exists ​

Stripe Sync adopts your existing data; it doesn't duplicate it.

Object exists in HubSpotWhat happens
Contact with the same email as a Stripe customerAdopted. Billing properties are added/updated; the contact's name is never overwritten (names are only set when we create a contact).
Company associated with that contactRollup properties (MRR, revenue, refunds, dispute losses) are written to it. We never create companies — rollups follow the Contact → Company associations you manage.
HubSpot Product matching a Stripe PriceLinked (1 Stripe Price = 1 HubSpot Product). Linking writes nothing to the product. A new product is only created when you choose Create (or opt into auto-create).
Deal (yours, any pipeline)Never adopted, never modified. The app only ever touches deals it created itself, in its own two pipelines.
Same subscription event delivered twiceDeduplicated. One booking deal per subscription (the Stripe Subscription ID is a unique field); one delta deal per change event. Retries never duplicate records.

Contacts ​

One contact per Stripe customer, matched by email (created if missing).

FieldWhat it holds
Email, first/last name, phone, addressCopied from the Stripe customer on create only. Names are never overwritten afterwards.
Stripe CurrencyThe customer's currency.
Stripe Metadata (JSON)The customer's Stripe metadata, as JSON.
Stripe Account Statusactive, or deleted if the customer was deleted in Stripe. Deletion in Stripe never deletes the HubSpot contact — it only sets this flag.
Stripe MRR (Contact)Current MRR across the customer's active subscriptions (active, trialing, past due, paused). Recomputed on every billing event.
Stripe Gross RevenueTotal captured charges, lifetime.
Stripe Total RefundsTotal refunded amount, lifetime.
Stripe Dispute LossesTotal amount lost to disputes.
Stripe Net RevenueCaptured − refunds − lost disputes. The customer's net LTV.
Stripe Latest Invoice StatusStatus of the most recent invoice.
Stripe Has Active Disputetrue while any open dispute exists for this customer.
Stripe Delinquenttrue when Stripe flags the customer (latest payment failed or subscription past due).
Stripe Last Payment Failure DateWhen the most recent payment failed — the dunning trigger.

Deals — booking deals ​

One deal per subscription, in the Stripe Subscriptions pipeline, stage Closed Won (revenue is booked when it happened). The native deal amount records the booking; the Stripe properties stay current with Stripe. Deals are named Subscription sub_… and associated to the contact.

FieldWhat it holds
Stripe Subscription IDUnique — the dedup key back to Stripe.
Stripe Customer ID / Name / EmailThe customer behind the deal, denormalized so deal views work without the contact.
Stripe Subscription StatusMirrored live from Stripe (active, past_due, trialing, paused, canceled…).
Stripe MRR / ARRCurrent values, updated on every change.
Stripe Billing IntervalMonthly, annual, etc.
Stripe Billing Cycle Start / EndThe current period (= next renewal date).
Stripe Start DateWhen the subscription started (also sets the deal's close date).
Stripe QuantityTotal seats/items across line items.
Stripe ProductsComma-joined product names on the subscription.
Stripe DiscountApplied promotion code, e.g. EARLYBIRD20 (20%off).
Stripe Trial EndWhen the trial ends, if any.
Stripe Cancel at Period End / Canceled AtScheduled or actual cancellation.
Stripe Paused Until / Pause Collection ActivePause state and resume date.
Stripe Collection Methodcharge_automatically or send_invoice.
Stripe Latest Invoice Amount / Status / DateThe most recent invoice.
Stripe Total Invoices PaidLifetime sum of paid invoices.
Stripe Total RefundsLifetime refunds on this subscription.
Stripe Has Active Disputetrue while an open dispute exists.
Stripe Checkout URLThe generated checkout link, if any.
Stripe Subscription Metadata (JSON) / Item IDsRaw metadata and si_… correlation keys.
Stripe Transaction CountNumber of charges for this customer.

Each deal carries line items mirroring the subscription items: product (via the mapped HubSpot Product), quantity, price, and recurring-billing metadata — so HubSpot's product and revenue reports populate correctly.

Deals — delta deals (Subscription Changes) ​

When a subscription changes (upgrade, downgrade, item added/removed, pause, cancel), a delta deal is recorded in the Stripe Subscription Changes pipeline, also Closed Won:

  • Stripe MRR holds the signed change — positive for expansion, negative for contraction. Summing this field gives your net revenue movement, with churn below the axis.
  • The native deal amount holds the absolute value of the change (HubSpot amounts can't be negative).
  • Line items show exactly which items changed and at what price.
  • Deal type is always existing business (it's a change to an existing subscription, not new revenue).

Both deal types can be switched off independently in Settings; history is never rewritten either way.

Products ​

Products are only ever written when you decide:

  • Link — no write at all; just an internal mapping.
  • Create (manual, or opt-in auto-create) — creates a HubSpot Product with the Stripe product's name and description, the price's amount as the unit price, and the recurring billing interval in the name (e.g. "Pro Plan (Monthly)") so one product exists per Stripe Price.

Renaming a Stripe Product never renames the linked HubSpot Product — HubSpot owns its marketing copy.

Products carry no custom Stripe Sync fields and are never deleted.

Companies ​

Never created. For each existing company associated with a customer's contact, these rollups are recomputed on every billing event (and daily):

  • Stripe MRR (Company) — current MRR across all members.
  • Stripe Gross / Net Revenue (Company) — lifetime money in.
  • Stripe Total Refunds (Company) / Stripe Dispute Losses (Company).

Money that was booked while a contact belonged to a different company stays counted there (history is never re-attributed); re-associating a contact moves future activity to the new company. See Company rollups.

What Stripe Sync never does ​

  • Never creates or modifies your deals — only its own, in its own pipelines. Your pipelines and stages are yours.
  • Never moves a deal between stages — not even its own (bookings land in Closed Won and stay there).
  • Never overwrites a contact's name after creating it.
  • Never deletes anything in HubSpot — a customer deleted in Stripe is a status flag, not a deletion.
  • Never creates companies.
  • Never writes to your Stripe account without an explicit, audited user action.

Everything lands as properties and objects — plain HubSpot data you can filter, report on, and use in workflows the moment it arrives.

Your Stripe billing, living inside HubSpot.