# Migrating Customer Data Learn what's required to migrate your customer data from another payment provider over to Finix. In addition to [migrating payment data](/additional-resources/developers/migrating-data-to-finix/migrating-payment-data), you can migrate your merchants' data to Finix (e.g., name, address). Migrating your merchants' data can minimize payment processing disruptions by getting your merchants onboarded to Finix as fast as possible. ## Required Data To migrate and underwrite sellers, Finix requires the info listed under [Required Onboarding Data](#required-onboarding-data). - If you have the onboarding data listed saved for your sellers, see [Migrating Customers using the Finix API](#migrating-customers-using-the-finix-api). - If you don’t have the required information, or it’s incomplete, see [Migrating Customers using Onboarding Forms](#migrating-customers-using-onboarding-forms). ## Migrating Customers using the Finix API If you have all the [required data](#required-onboarding-data) listed available in your database, you can programmatically onboard sellers and create the `Merchant` accounts they will use to process payments with Finix. ### Step 1: Confirm Required Data Availability Confirm that you have all the information listed under [Required Onboarding Data](#required-onboarding-data) available for the sellers you want to migrate. ### Step 2: Build a Modal on Your Platform Build a modal on your platform to inform sellers about the upcoming changes with Finix. - The modal should also present any of the platform's updated Terms of Service or Privacy Policies. - Make sure the modal can also record the seller's consent to the changes on your platform. ### Step 3: Create an Identity Request Using Python or your preferred programming language, create a script to programmatically submit [Create Identity requests](/api/identities/createidentity) each time a seller consents to the changes on your platform. Use the information you have on file to complete `entity` and the information collected by the modal to complete `additional_underwriting_data`. ### Step 4: Create a Merchant Request As seller `Identities` get created, programmatically create a `Merchant` record using the new `Identity` resource to submit the seller for underwriting. - If a seller is `APPROVED`, and you can use the `Merchant` to create payments and process transactions on behalf of the seller. - If a seller is `UPDATE_REQUESTED`, fetch the `Verification` listed on the `Merchant` to handle next steps. See [Seller Onboarding Update Requests](/guides/platform-payments/onboarding-sellers/seller-onboarding-update-requests) for more information. - If a seller is `REJECTED`, it is possible that Finix will be unable to approve and process payments on behalf of the Merchant. See [Seller Rejections](/guides/platform-payments/onboarding-sellers/seller-rejections) for more information. ### Example Migration with the Finix API For example, consider a music equipment reseller that signs up to process payments with Finix. The platform offers sellers a dashboard where they can log in to manage their account. To migrate their customer's data, the platform creates a three-screen modal that pops up for every seller when they login to their dashboard for the first time after the change. The screens of the modal are as follows: 1. **Explanation:** The first screen explains that the platform is changing payment processors. 2. **Platform Terms of Service and Privacy Policy:** The second screen presents the platform's updated Terms of Service and Privacy Policy. 3. **Finix's Terms of Service:** The third screen presents Finix's Terms of Service to sellers. To close the modal, the seller marks their consent to the presented terms, via their signature, a checkbox, or any other method. When the seller marks their consent, the platform programmatically submits a [Create an `Identity`](/api/identities/createidentity) request to Finix. The platform uses the information on file to complete the `entity` and utilizes information collected by the modal and anything else on file to complete `additional_underwriting_data`. When the platform receives the response with the `Identity` resource, it programmatically creates and submits a [Create a `Merchant`](/api/merchants/createmerchant) request to Finix. - If the seller is `APPROVED`, the platform can use it to create and process payments for the seller. - If the seller is `UPDATE_REQUESTED`, the platform programmatically sends an automated email to the seller requesting the missing information. - If the seller is `REJECTED`, the platform reviews the Verification and reaches out to Finix for more information as needed. ## Migrating Customers using Onboarding Forms If you don't have the required information for your sellers or it's incomplete, you can migrate customers and collect the missing information using Finix Onboarding Forms. ### Step 1: Export Seller Data For existing sellers, export their data into a CSV file. Make sure that in the CSV: - The required data is separated by commas. - The order of the data fields is the same and consistent for all sellers. ### Step 2: Send CSV Data to Finix Send the CSV file to the [Finix support team](mailto:support@finix.com). The Finix support team will use internal tools and scripts to migrate the data and create onboarding forms for each individual seller. Additionally, ensure that Finix has the latest version of the following information: - **Fee URL:** A web page that describes your platform/customer's fee structure to the seller. - **Return URL:** The web page the seller is taken to after they submit the onboarding form. - **Terms of Service URL:** A link to your platform's terms of service. - **Expired Session URL:** The web page the seller is taken to if the form link expires. ### Step 3: Receive Onboarding Form Information Finix support will send you a new CSV file with two new columns: - Column 1: Onboarding Form ID - Column 2: Onboarding Form link ### Step 4: Send Onboarding Form Link to Merchants/Sellers Send the pre-filled onboarding form link to your merchants/sellers. They will use the onboarding form to confirm the pre-filled information, fill out any missing information, and consent to your platform's terms of service and privacy policy, Finix's terms of service and privacy policy, and your platform's pricing terms. ### Step 5: Seller Submits Form The seller fills out any missing information, marks their consent, and submits the onboarding form. ### Step 6: Finix Underwriting Finix will then proceed with the underwriting process for the migrated merchants/sellers. - If a seller is `APPROVED`, and you can use the `Merchant` to create payments and process transactions on behalf of the seller. - If a seller is `UPDATE_REQUESTED`, fetch the `Verification` listed on the `Merchant` to handle next steps. See [Seller Onboarding Update Requests](/guides/platform-payments/onboarding-sellers/seller-onboarding-update-requests) for more information. - If a seller is `REJECTED`, it is possible that Finix will be unable to approve and process payments on behalf of the Merchant. See [Seller Rejections](/guides/platform-payments/onboarding-sellers/seller-rejections) for more information. ### Example Migration with the Finix API 1. Finix Customer uses SQL to pull required fields from their database and places those required fields into a CSV file. 2. The Finix Customer sends the CSV file to Finix Support. 3. Finix Support uses the information provided to programmatically create Onboarding Forms unique to each seller. 4. Finix Support updates the CSV with two new columns; one with a link to the seller's onboarding form and the ID of the `onboarding_form` that was created. 5. When the customer receives the updated CSV, they run a Python script (or the language of their choice) to create and send individual emails to each seller that includes the link to their unique onboarding form. The Finix customer uses the Finix dashboard to track approved, provisioned, and rejected sellers. The Finix customer also uses the dashboard to resend links and track onboarding forms not yet submitted. ## Required Onboarding Data To see the data Finix requires for onboarding merchants, see [Onboarding Data](/guides/platform-payments/onboarding-sellers/seller-onboarding-data).