The trick: Shopify owns the vault
The reason migration usually takes weeks is that the previous app holds the payment tokens. To switch, every subscriber has to re-enter a card. That’s not what happens with Reapita.
Subscription apps on Shopify use the Shopify Vault for card storage — the app itself just holds a reference ID. So switching apps means switching which app references the same vault entry. The card stays on file. The subscriber doesn’t get prompted. Billing continues uninterrupted.
The importer
Drop the CSV from your old app into Settings → Migration. Reapita:
- Maps each row to a Shopify
SubscriptionContract. - Preserves the next-charge date so neither app double-bills.
- Pulls plan, cadence, address, line items, and discount.
- Resolves variant SKUs in case the old app used different product references.
- Generates a dry-run report so you can verify before committing.
Verification before cutover
Before flipping the switch, the importer creates a verification pair — one subscription in Reapita mirrors one in Recharge. Run a single test billing cycle and confirm: charge processes, order lands in Shopify, customer portal shows the right plan, transactional email fires. ~5 minutes of due diligence saves a 2am pager.
Per-app gotchas, handled
- Recharge —
bundles_v2flag in the export needs special handling for build-a-box configurations. Handled. - Loop — discount stacking semantics differ. Migrated as line-item discounts.
- Appstle — uses its own product IDs for some variants. Resolved via SKU match.
- Skio — exports payment-method tokens as
pm_*; we map to the Shopify Vault automatically.
Who this is for
Anyone leaving Recharge. On Scale we run the migration for you — white-glove, on your timeline, with a dedicated engineer in a shared Slack channel during cutover.