Migration from Legacy Systems
Please include the following information:
- Name of the system you’re migrating from
- How many active paying customers you will need to import
- How many canceled (inactive) customers you will need to import
- Advanced Billing subdomain (if you haven’t signed up for a free developer account, please do so here)
- Where the credit card data is currently stored (legacy system vault or payment gateway)
Once we receive your request, we will reply with additional details and instructions tailored to your specific needs.
The migration process is slightly different for each legacy system. Our support staff is fully trained and capable of assisting with your migration from a number of systems.
Configure and test your Advanced Billing account:
The first step in the migration process is to setup your Advanced Billing account and ensure your payment gateway connection is working as expected:
Inside Advanced Billing, setup your products, components, coupons, and settings (email notifications, dunning strategy, churn reason codes, etc).
Thoroughly test your Advanced Billing setup against the Advanced Billing test gateway while your site is in test mode to ensure it is configured properly and ready to go live.
Clone your test site. *Note: You may wish to change the subdomain of your test site prior to cloning as each subdomain must be unique and you will not be able to reuse it for the production site.
Enter your live payment gateway credentials into your production site under Settings > Payment Gateway and perform a test transaction to ensure transactions are successfully processed with no errors.
Switch your production site to live mode. (Note: To change a site from test to live mode, it must not have any Active subscriptions. You can cancel each individual subscription or clear test site data using the CLEAR DATA button.)
Import customers, subscriptions and card data into Advanced Billing:
Once the Advanced Billing account setup is complete, you will begin the process of importing your subscribers and credit card data. Advanced Billing offers the ability to import via CSV file or Subscriptions API.
If the card data is already stored in an Advanced Billing-supported payment gateway: You will need to obtain an export of your subscription data including gateway vault tokens for each subscription. You will then format the data using the Advanced Billing provided CSV file or Subscriptions API for import.
If the card data is stored in an unsupported gateway: You have the option of switching to an Advanced Billing supported payment gateway, or submit a request to add support for your gateway. Please submit a gateway support request by emailing firstname.lastname@example.org or submit a request while logged into the application. We track all requests to gauge user demand and may add support for a payment gateway if multiple merchants request it or, in some cases, for an additional one time fee.
If the legacy system you’re migrating from has its own vault: This means that your customers credit card data is stored in the legacy system’s vault rather than your payment gateway. You will need to have the data exported from the legacy system and imported to an Advanced Billing supported payment gateway. You will then need to obtain an export of your subscription data including new gateway vault tokens for each subscription and format the data using the Advanced Billing provided CSV file or Subscriptions API for import.
- Self-service CSV or API Import: Free of charge
- CSV import assistance: $150/hour
- API Import assistance: $250/hour
How much time will the process take?
The migration time will vary for each import, so we are unable to provide a definitive timeframe. This will depend on the speed at which your legacy system can export subscription data, whether your card data is currently stored in a payment gateway already supported by Advanced Billing, the format of the data provided, how many subscriptions you’re importing, and whether you need Advanced Billing developer assistance or are importing on your own.
Can I import my data to a test account?
We do not recommend importing live subscriptions into a site in test mode. In order to switch an Advanced Billing site from test to live mode, you cannot have any Active subscriptions. Since Advanced Billing imports subscriptions in an Active state, you would need to cancel all active subscriptions prior to updating to live mode and then reactivate. This will cause changes in next renewal dates and affect the customer’s statement(s).
Can I import historical transactions?
Advanced Billing does not have the ability to import transaction data at this time.
Can I set an expiration date during import?
Yes. If your products expire, you can specify the expires_at timestamp at time of import using the CSV import method, or Subscriptions Override API after the subscription is created.
Can I import canceled subscriptions?
Will my customers be charged right away when I import?
You can specify a next billing date during import to delay the first renewal, or you can set the next billing date to NOW to process immediately. For more information, please review the Subscriptions Import documentation.
Is there a chance my customers will be double billed?
Please be sure to coordinate disabling renewals and new signups in your legacy system during the import process.
Will my customers receive email notifications when I import them to Advanced Billing?
You may choose to turn off email notifications during import to avoid any communication being sent under Settings > Emails. Additionally, if you have Billing Portal (Settings -> Billing Portal), Statement (Settings -> Statements), or Invoice (Settings -> Invoice Billing) emails enabled, you may wish to turn those emails off as well.
Emails will never be sent for imported canceled subscriptions.
Will signup_success webhooks be generated when I import my customers to Advanced Billing?
Yes, if enabled, a signup_success webhook will be generated for each subscription that is imported. Please be aware that the subscription’s status will be either
canceled depending on how the subscription was imported. When acting upon the webhook, please be sure to adjust any of your internal logic based on this status.