QuickBooks migration
How to migrate data from QuickBooks into Teal.
Overview
Our migration tool allows you to import an SMB’s historical accounting data from QuickBooks into Teal.
Setup your QuickBooks integration
QuickBooks requires that Platforms create an “app” to manage how their end users securely grant permissions to their QuickBooks accounting data. The app controls the authorization process, and generates secure access tokens that Teal uses to read and/or write accounting data.
The app will reflect your branding. It’s crucial to understand this since end users will see this app in their QuickBooks account once they grant you permission. We manage the app’s setup, hosting, and maintenance.
By default, the QuickBooks integration is disabled; contact us if you want it enabled. Intuit requires that Platforms complete several manual steps to set up a QuickBooks integration — we handle this for you. It can take up to a few business days for this application to process.
Once set up, the integration will read information directly from the user’s QuickBooks Company and transform the data to follow our schemas.
Get in touch with your Teal contact to get the application for your process started. We’ll need a 120px x 120px version of your company logo. JPG or PNG are the only accepted formats and no more than 1MB is recommended. We’ll contact you if we need additional information.
Migration steps
Create a new Instance
Create an instance for your user using the Create Instance endpoint. You must select a coa_template_id
, but the chart of accounts from the imported QuickBooks account will replace this.
Generate your auth link
Use the Create a QuickBooks Auth Link endpoint, /v0/quickbooks/auth-link
with redirect_url
parameters to generate a link for your users to login to their QuickBooks account.
This will establish a connection between the Instance and the QuickBooks account that we will use to import data.
Users that have completed the auth flow will be sent to the specified redirect_url
.
Run the migration
Instances that have been connected to QuickBooks can be migrated to by calling the Migrate QuickBooks Instance endpoint, /v0/quickbooks/migrate
.
Calling the endpoint will start a one-time, one-way migration that will import the QuickBooks data for the period of time specified in the API call.
- Chart of accounts will be imported into PlatformGL.
- Opening balances will be set on ledgers as of the provided migration
start_date
. - All historic journal entries will be imported for dates between the migration
start_date
andend_date
.
You may check on the status of the migration by calling the Get Migrate QuickBooks Task endpoint, /v0/quickbooks/migrate/task
.
Avoiding duplicate transaction data
The data that you migrate may already contain transactions from a bank connection in QuickBooks. If this is the case, you will want to avoid duplicating those transactions if you use our data integrations to import from the same financial account to PlatformGL.
When creating a new connection using our data integrations, such as Plaid, we provide an optional start_date
parameter to prevent importing transactions prior to the start_date
. You can set the date to be after the migration end_date
to avoid duplicate transaction data.
Financial Account Types
When importing financial accounts from QuickBooks, we map the QuickBooks account subtype to the corresponding financial account type in Teal.
QuickBooks Account Subtype | Teal Financial Account Type |
---|---|
CashOnHand | bank_account |
Checking | bank_account |
MoneyMarket | bank_account |
RentsHeldInTrust | bank_account |
Savings | bank_account |
CashAndCashEquivalents | bank_account |
OtherEarMarkedBankAccounts | bank_account |
Credit Card | credit_card |
Relevant resources
- Instances overview
- Generate QuickBooks Auth Link endpoint
- Link Account endpoint
- Force Transaction Sync endpoint