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.

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 the account_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 either uncat_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