Stripe
Vendo syncs Stripe payment and subscription data into your analytics destination, with multi-currency revenue reporting and full subscription lifecycle tracking.
Last reviewed September 15, 2026
Source: Vendo imports your payments, refunds and full subscription lifecycle from Stripe. It delivers them to your analytics destination (Mixpanel and others) for revenue, retention and LTV reporting.
What Vendo Syncs
Vendo pulls the Stripe objects needed for accurate revenue reporting:
| Data | What it powers |
|---|---|
| Charges & payments | Revenue, payment counts, first vs. recurring payments |
| Refunds | Net revenue, refund tracking |
| Disputes | Lost chargebacks subtracted from LTV, dispute counts |
| Customers | Identity, profiles, billing location |
| Invoices & line items | Per-product revenue breakdowns |
| Subscriptions & items | MRR, plan changes, churn |
| Products & plans | Plan names, pricing, billing intervals |
| Coupons & discounts | Promotion and discount tracking |
| Balance transactions | Stripe fees and true net amounts |
Vendo also reads your Stripe events stream to detect plan changes and trial activity precisely as they happen.
Vendo reads these Stripe event types to keep subscription and customer records current, including paused, resumed and trial states:
customer.subscription.updatedcustomer.subscription.deletedcustomer.subscription.pausedcustomer.subscription.resumedcustomer.subscription.trial_will_endcustomer.updatedcustomer.deleted
Events Delivered to Your Destination
Each event arrives with the customer’s identity and the related invoice, subscription or plan context. Revenue events also carry gross, net and fee amounts in the original currency and in your reporting currency.
| Event | When it fires |
|---|---|
| Account Created | A new customer record is created in Stripe (excludes guest purchases) |
| Payment Received | A payment is successfully charged |
| Payment Received - Line Items | One event per line item within a payment, for per-product analysis |
| Payment Failed | A payment attempt is unsuccessful |
| Payment Refunded | A payment is refunded |
| Subscription Started | The first payment for a subscription is received |
| Subscription Updated | The plan changes, including upgrades and downgrades |
| Subscription Cancel Requested | A customer requests cancellation (with the cancellation reason) |
| Subscription Ended | A subscription concludes |
| Trial Started / Ended / Extended | A trial period begins, concludes, or is extended |
| MRR | Monthly recurring revenue, calculated across all billing frequencies (net of Stripe fees) |
User Profile Properties
Vendo also keeps each customer’s profile up to date in your destination:
| Property | Description |
|---|---|
| Customer profile | Email, Stripe customer ID, billing country/region, account creation date |
| Current subscription | The customer’s latest plan, status, amount, and any active discount |
| LTV (Lifetime Value) | Net revenue per customer, after Stripe fees, refunds and lost disputes |
| Disputes | Number of disputes, and the amount lost to disputes with the status lost |
Accurate Multi-Currency Reporting
If you sell in more than one currency, Vendo normalizes every revenue figure to your reporting currency. Totals then add up correctly across your whole customer base.
- Vendo delivers gross, net, fee and MRR amounts in the original currency and in your reporting currency.
- Conversions always use the latest known exchange rate. There are no gaps on weekends or for annual plans spread across future months.
- Vendo detects your default currency and timezone automatically from Stripe when you connect. Reporting day boundaries then match your Stripe dashboard.
Subscription Lifecycle Tracking
Vendo captures the full subscription journey, so you can analyze expansion, contraction and churn:
- Plan changes: “Subscription Updated” fires on any plan change, not only on changes to the billing interval. This includes same-interval upgrades and downgrades (for example, $20→$50/mo). This is the expansion and contraction signal you need for net revenue retention.
- Cancellation reason: “Subscription Cancel Requested” carries why the subscription was canceled (for example, payment failed vs. customer-requested). You can then separate involuntary churn from voluntary churn.
- Current plan as a profile trait: Vendo keeps each customer’s current plan, status and amount on their user profile, ready to segment on.
Identity & Deduplication
- Identity: Vendo matches customers in your destination by your own User ID (from Stripe metadata), email, or the Stripe Customer ID. The Vendo team sets the option you choose. See Choosing a Mapping ID.
- Deduplication: Every event carries a stable ID derived from the underlying Stripe record. Re-syncs and backfills never create duplicates.
Platform Details
| Setting | Value |
|---|---|
| Sync Method | Server-side via the Stripe API |
| Identity | User ID (metadata), email, or Stripe Customer ID |
| Currency | Original + reporting-currency amounts on every revenue event |
| Timezone & Currency | Auto-detected from your Stripe account |
| Deduplication | Stable per-record event ID |
Setup
- Connect your Stripe account through the Vendo app with OAuth.
- Tell the Vendo team which mapping ID to use. The mapping ID is how Vendo identifies customers.
- Confirm your reporting currency (Vendo pre-fills it from your Stripe account).
- Select which events to deliver to your destination.
Verify Setup
- Confirm that the Stripe source status is active in Vendo.
- Trigger or find a recent payment or subscription change in Stripe.
- Confirm that the matching event appears in your destination.
- Check Logs in Vendo for recent sync activity.