Stripe
Vendo syncs Stripe payment and subscription data into your analytics destination, with multi-currency revenue reporting and full subscription lifecycle tracking.
Last reviewed July 13, 2026
Source — Vendo imports your payments, refunds, and full subscription lifecycle from Stripe and delivers them to your analytics destination (Mixpanel and others) to power 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 |
| 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.
Events Delivered to Your Destination
Each event arrives with the customer’s identity, the relevant invoice/subscription/plan context, and — for revenue events — gross, net, and fee amounts in both the original currency and 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 and refunds |
Accurate Multi-Currency Reporting
If you sell in more than one currency, Vendo normalizes every revenue figure to your reporting currency so totals add up correctly across your whole customer base.
- Gross, net, fee, and MRR amounts are each delivered in both the original currency and 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.
- Your account’s default currency and timezone are detected automatically from Stripe when you connect, so reporting day boundaries 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, including same-interval upgrades and downgrades (e.g. $20→$50/mo), not just changes to the billing interval. This is the expansion/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), so you can separate involuntary churn from voluntary churn.
- Current plan as a profile trait — each customer’s current plan, status, and amount are kept on their user profile, ready to segment on.
Identity & Deduplication
- Identity — choose how customers are matched in your destination: your own User ID (via Stripe metadata), email, or the Stripe Customer ID. See Choosing a Mapping ID.
- Deduplication — every event carries a stable ID derived from the underlying Stripe record, so 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 via OAuth
- Choose your mapping ID strategy (how customers are identified)
- Confirm your reporting currency (Vendo pre-fills it from your Stripe account)
- Select which events to deliver to your destination
Verify Setup
- Confirm the Stripe integration status is active in Vendo
- Trigger or locate a recent payment or subscription change in Stripe
- Confirm the matching event appears in your destination
- Check the Vendo integration logs for recent sync activity