Migrate To Railz

Welcome to the Railz migration guide. Whether you've partnered with another financial data integration provider or have built your own integrations, you're in the right place.

Our self-managed migration process allows you to effortlessly transfer your existing customer connections to Railz without requiring them to go through the reauthorization process. This guide will walk you through the steps to ensure your transition is as smooth as possible.

Why Migrate to Railz?

  • More Data Coverage: Expand your data collection with comprehensive coverage across various platforms and services.
  • Analytics Insights: Gain invaluable insights into your business data through Railz's robust analytics features.
  • Enhanced Normalization: Benefit from standardized data formats, making it easier to integrate and analyze information.

Migration Checklist

Before diving into the migration process, ensure you have the following:

  • Client ID and Secret used when obtaining tokens for each business.
  • Business names and the accounting service providers (ASPs) they are connected to.
  • Access Tokens from all ASPs.
  • Refresh Tokens from all ASPs.
  • Account ID, Business ID, Realm ID, or Tenant ID of the ASPs.

Migration Process

Self-Managed Migration

Railz offers a self-managed migration feature that allows you to independently handle the transition of your business connections via our API.

Pre-Migration Steps

  • For Competitor Users:

    • Contact Your Existing Provider: Securely request access to your authorization keys.
    • Provide Key Information: Submit the acquired keys to Railz through a secure channel.
  • Data Preparation: Compile all necessary data and token information as per your existing service provider (see the table below for details).



Automatic migration cannot be done for these Service Providers:

  • QuickBooks Desktop
  • Oracle Netsuite
  • Sage Intacct

For these providers, contact us for more details.

Required Information by Service Provider

Service ProviderRequired Information for Migration
QuickBooksAccess Token, Refresh Token, Realm ID
XeroAccess Token, Refresh Token, Tenant ID
FreshBooksAccess Token, Refresh Token, Account ID
WaveAccess Token, Refresh Token, Business ID
Sage Business CloudAccess Token, Refresh Token, Business ID
Dynamics 365 Business CentralAccess Token, Refresh Token, Company ID
PlaidAccess Token, Item ID
SquareAccess Token, Refresh Token, Location ID
ShopifyAccess Token, Refresh Token, Shop ID (e.g., .myshopify.com)

Note: Based on the table above, accountId in the API refers to different IDs such as Realm ID, Tenant ID, Account ID, etc., depending on the service provider.

How to Perform a Self-Managed Migration

  1. Create or Retrieve a Business: Begin by either creating a new business with POST /v2/businesses or retrieving an existing business using GET /v2/businesses to obtain the businessUuid.

  2. Initiate Migration: Use the POST /v2/businesses/{uuid}/connection/migrate endpoint to migrate the business connection. Replace {uuid} with the businessUuid obtained in the previous step.

    Request Example:

    POST /v2/businesses/{uuid}/connection/migrate

    Body Parameters:

      "serviceName": "quickbooks",
      "accessToken": "string",
      "refreshToken": "string",
      "accountId": "string"

    Replace "serviceName", "accessToken", "refreshToken", and "accountId" with the respective details for the connection you are migrating. Ensure that the refresh token has not expired before initiating the migration. API Reference can be found here.

  3. Trigger Data Synchronization: See Queue Data Sync for more details.

  4. Verify Data Transfer: Make API requests to the respective data endpoints to ensure all data has been correctly transferred.

Potential Issues and Troubleshooting

Below are some potential problems that you could encounter during your migration to Railz, along with suggestions for resolving them.

IssueDescriptionSuggested Resolution
Invalid TokensAccess or Refresh Tokens provided are not validDouble-check the tokens for any typos
Expired TokensThe Access or Refresh Tokens have expiredRequest new tokens from the service provider
Missing DataSome necessary data is missing in the form submissionDouble-check the form for completeness
Incorrect Tenant/Realm IDThe Tenant ID or Realm ID provided does not match with the service providerVerify the ID submitted with the business or reauthorize using Railz
Post-Migration Data Sync IssuesData does not seem to be syncing correctly after the migrationContact Railz support team for troubleshooting
Application ErrorsReceiving unexpected errors in the application after the migrationReport errors to Railz support for resolution
Data Not RetrievedData not retrieved for certain data typesThis could be due to missing scopes. Check each service provider's documentation for required scopes and possibly reauthorize

If you run into an issue not covered here, please reach out to our support team for personalized assistance.

Other Migration Alternatives

If the self-managed migration process isn't suitable for your needs, another alternative is to implement Railz's connection flow into your application. This involves setting up the Railz connection process and inviting your businesses to reconnect their service providers through this new flow.


  • Complete Control: You have complete control over the user experience.
  • Immediate Authorization: Businesses can connect immediately without waiting for a scheduled migration.
  • Refreshed Data: By having businesses go through the authorization flow again, you ensure that all data permissions and scopes are up-to-date.

Steps to Implement

  • Implement Railz Connection Flow: Follow the documented steps here.
  • User Notification: Notify your businesses about the update and guide them to reconnect their accounts via the new flow.

Frequently Asked Questions (FAQ)

  • How long will the migration process take?
    • For Self-Managed Migrations, you can check the status of the data synchronization process. For Managed Migrations, the duration varies. Consult with our team for an accurate timeframe.

Get Support

For any migration-related queries or issues, contact our support team.

Helpful Links

API docs
Help centre