QuickBooks integration
This guide walks you through how to set up our QuickBooks GL integration.
Overview
The QuickBooks integration allows new Instances to use QuickBooks as their accounting package. You might want to enable this if your customers are already doing their accounting on QuickBooks and you want to show a customer’s existing accounting in your financial product.
There are some notable differences between using QuickBooks instead of PlatformGL. Namely, Instances using QuickBooks do not have access to the following features:
- Cash flow reports
- Tagging transactions
- Expandable responses
Once an Instance has been set to use QuickBooks as their accounting package, they cannot switch to using platformgl
. If you want to move your users to PlatformGL, we recommend creating a new Instance and migrating their data.
How it works
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.
Integrate with QuickBooks
1. Setup your QuickBooks integration
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.
We’ll notify you when your Platform is ready for the QuickBooks integration — this will take no more than a few days.
2. Generate your auth link
Use /v0/quickbooks/auth-link
with the permission_level
and redirect_url
parameters to generate a link for your users to login to their QuickBooks account.
Users that have completed the auth flow will be sent to the specified redirect_url
. Use permission_level
to set the permission granted by the customer to your app. Use read
if you want to only display information from QuickBooks in Teal. Use write
if you intend to create transactions for the Instance.
Use the QuickBooks integration
Once a user has connected their Instance and QuickBooks Company, they’ll need to identify which QuickBooks Accounts (ledgers) Teal can create transactions and journal entries for. To do this, you must have set the permission_level
to write.
Use /v0/ledgers
to get a list of all the Instance’s ledgers — each Ledger in Teal maps to an Account in QuickBooks.
For each ledger that the user identifies as a financial account, a bank account for example, use the Link Account endpoint, /v0/quickbooks/account
:
- Pass the
id
of the ledger into theaccount_id
. - Set the
financial_account_type
to the correct value:bank_account
,credit_card
,payments
,payroll
,loan
,prepaid_card
,accounts_receivable
,accounts_payable
. - Set
special_type
to eitheruncat_inflow
,uncat_outflow
to define the default account for uncategorized transactions. - Set
sort_order
to define the display order in reports, ordered digit by digit, starting from the leftmost position.
You can now use the Teal APIs as you would for a PlatformGL Instance, with some exceptions:
- You cannot generate a cash flow report
- You cannot tag transactions
- Expandable responses will not work in some cases, like for journal entries, line entries, and transactions.
Relevant resources
- Instances overview
- Generate QuickBooks Auth Link endpoint
- Link Account endpoint
- Force Transaction Sync endpoint