invocation.io

Billing · Guide

Recurly to Stripe migration: vault plus billing state

Andrej Dragojevic

Andrej Dragojevic

August 27, 2026 · 8 min read

Recurly migrations combine both halves of the discipline: a credential migration (Recurly vaults payment data) and a billing-state migration (Recurly runs your subscription engine). That makes it the fullest version of the "leave a billing platform" project — closer to a PSP migration than the Chargebee-on-Stripe case, where cards often already sit where you are going. I have led subscription migrations moving $100M+ in recurring revenue; here is what is specific about Recurly.

Two migrations in one project

The vault half. Recurly-vaulted payment data exports to Stripe through the standard PCI-compliant, provider-to-provider process: a support request, a data-transfer authorization, an export manifest, and a mapping file back. The wrinkle is establishing where tokens actually live in your setup — Recurly's vault or the gateway underneath it — because that determines who executes the export and how long it takes.

The billing half. Plans, add-ons, coupons, credits, trials, pauses, scheduled changes, and dunning position all get remapped onto Stripe Billing with identical semantics, then taken over at each subscription's renewal boundary. The Chargebee guide covers the state-fidelity checklist in detail; it applies here one-for-one.

You do not need to become an expert in any of this. Everything on this page is my day job: I run fixed-scope migrations off Recurly end to end — eligibility analysis, the credential transfer, cutover sequencing, reconciliation — while your team keeps shipping product. If you want your plan pressure-tested first, that is a 90-minute clarity call. If you want it done, start with the migration service.

The framework every migration shares

Whatever provider you are leaving, the platform you build is the same five layers: a snapshot mirror so selection never touches production; a selector that is the single source of truth for eligibility; batching with a migration lock and one correlation ID stamped everywhere; the credential transfer covered above; and cutover pinned to each subscription's renewal boundary— the old provider bills the last cycle it owns, Stripe bills the next one, and no customer is ever billed twice or skipped. Reconciliation runs the whole time, counting row states rather than log events, with Stripe's warehouse as the authority for "ever migrated."

I wrote the full treatment — sequencing, reconciliation formulas, the long-tail playbook, and ten field lessons — in the complete migration guide. This page covers what is different about your starting point.

Recurly-specific gotchas

  • Sequence the two halves deliberately. Tokens first, then billing waves against imported payment methods. Starting billing waves before the mapping file lands means rework; requesting the export late means your whole calendar slips behind a support queue.
  • Add-ons and usage components need explicit mapping. Recurly's add-on model and Stripe Billing's multi-item subscriptions express the same intent with different shapes. Map every plan combination on paper before creating a single price object.
  • Gift cards, credits, and manual invoices are customer money. They reconcile to the cent across the move or the migration is not done, whatever the dashboard says.
  • Keep the invoice archive. Export historical invoices for finance before the Recurly account winds down. Nobody thinks of audit season during a migration; audit season thinks of you.

Frequently asked questions

Does Recurly export card data to Stripe?

Yes — Recurly supports PCI-compliant export of vaulted payment data to another Level 1 provider on request, shipped provider-to-provider so you never touch card numbers. Where your tokens actually live depends on your setup: Recurly's own vault, or the underlying gateway it processed through. Establish that first, because it decides who you file the export request with.

What happens to Recurly's account updater history?

Card refreshes that Recurly's account updater applied over the years are baked into the exported tokens — you get current card data, which is what matters. Going forward, Stripe's card account updater takes over the same job. The gap to watch is the export-to-import window: cards that expire or get reissued in between land in your delta batches.

Can I move Recurly subscriptions to Stripe without double-billing anyone?

Yes, with renewal-boundary scheduling: Recurly bills the last cycle it owns, Stripe Billing starts exactly at the next one. The discipline is in the mid-cycle state mapping (coupons, credits, pauses, dunning position) and in a migration lock that prevents both engines from ever believing they own the same subscription.

Written by Andrej Dragojevic, Stripe Certified Professional Billing Architect.

Moving off Recurly?

Fixed-scope migrations to Stripe Billing, or a 90-minute clarity call to scope the vault and state questions first.

I reply within one business day. Now booking new engagements.