NMI migrations have a distinctive shape because NMI is a white-label gateway, not a billing platform. Your cards live in the Customer Vault, your merchant account may be one of several MIDs arranged through a reseller, and your recurring billing is usually your own code charging the vault on a schedule. I have built and migrated subscription systems on NMI rails; this guide covers what is specific about leaving them.
The three NMI questions to answer first
- Who actually holds your gateway relationship? Many NMI merchants are onboarded through resellers and ISOs. The vault-export request may need to route through that reseller, and their responsiveness — not yours — sets the calendar. Identify the path on day one.
- How many MIDs are you consolidating? Multiple merchant IDs (per brand, per region, per product line) usually collapse into one Stripe account with cleaner separation by metadata or connected accounts. Decide the target structure before exporting, because the vault export is organized per MID.
- Where does your recurring logic live? If your own code schedules charges against the vault, the migration doubles as a billing-architecture upgrade: Stripe Billing takes over scheduling, retries, and dunning that you previously hand-rolled. Budget design time for that handover — it is the part that improves your margins afterward.
NMI-specific gotchas
- Vault hygiene surfaces during export. Years of test records, duplicates, and abandoned customers come out with the export. Run the eligibility pass before the export request, not after the import — you pay for cleanup either way, but only one order of operations delays the cutover.
- Level 2/3 card data and surcharging setups do not transfer as configuration. If your NMI setup depends on them, they are re-implemented on Stripe, not carried over.
- Plugin-based billing hides state in the plugin. If a shopping-cart or CRM plugin drives your recurring charges, the real subscription state lives in that plugin's database. Export it and treat it as the source of truth for the rebuild.
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 NMI 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.
Frequently asked questions
Can NMI export the Customer Vault to Stripe?
Yes. NMI supports PCI-compliant export of Customer Vault records to another Level 1 provider through a merchant data-portability request. It is a support-driven process with authorization paperwork and turnaround measured in days to weeks — file the request early, because it sits on your critical path.
What makes an NMI migration different from other gateways?
NMI is a white-label gateway: your 'NMI' setup is often a reseller relationship, sometimes across multiple merchant IDs, with recurring billing implemented in your own code or a plugin rather than a full subscription engine. That means the vault export request may route through your reseller, and the subscription rebuild is usually a review of your own billing code, not a platform-state export.
Do ACH payment details move from NMI to Stripe?
Bank account details in the vault can be included in a compliant export, but ACH on Stripe has its own verification and mandate model. Plan the ACH cohort as its own wave: smaller, slower to verify, and with different failure modes than cards.
Written by Andrej Dragojevic, Stripe Certified Professional Billing Architect.