> For the complete documentation index, see [llms.txt](https://help.checkoutchamp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.checkoutchamp.com/crm/plugins/accounting/quickbooks-online-plugin.md).

# QuickBooks Online Plugin

This article will walk you through setting up the QuickBooks Online plugin.

***

### Migrate to OAuth 2.0 <a href="#quickbooksonlineplugin-migratetooauth2.0" id="quickbooksonlineplugin-migratetooauth2.0"></a>

{% hint style="danger" %}
**As of December 17th 2019, All existing Quickbook Users need to Migrate to OAuth 2.0. Below are the steps needed to take to Migrate to OAuth 2.0**
{% endhint %}

* [Log into your intuit developer account](https://developer.intuit.com/app/developer/homepage) and click **My Apps**

<figure><img src="/files/cIySAyMUaGedO7rkwyoR" alt=""><figcaption></figcaption></figure>

* Click on your existing app or create a new app if you do not have one listed

<figure><img src="/files/VRvllWn3oYaj5Rbfg8vf" alt=""><figcaption></figcaption></figure>

* Navigate to the **Production** section and click on **Keys & OAuth** This will expose your **Client ID** and **Client Secret**
* Note that before displaying Keys, Quick Books may require an app assessment to be completed. Fill this out to the best of your ability.

<figure><img src="/files/1VKNmzCGp0vWMI0tfvFr" alt=""><figcaption></figcaption></figure>

* In the same **Production** Section, Please scroll down to **Redirect URIs** and click **Add URI**. Enter **<https://api.konnektive.com/oauth/quickbook/>**

<figure><img src="/files/WTSXTa5fEik3wMDlSHvd" alt=""><figcaption></figcaption></figure>

### Add OBO keys into CRM plugin <a href="#quickbooksonlineplugin-addobokeysintocrmplugin" id="quickbooksonlineplugin-addobokeysintocrmplugin"></a>

Now that you have obtained your Production Keys we can now input them into the CRM Plugin.

Navigate to **Admin** → **Plugins** → **Accounting**. Select **Quickbooks** and hit the Green **+ button** to add an instance of the plugin.

<figure><img src="/files/rfksngvM22j6iyXA1Y9S" alt=""><figcaption></figcaption></figure>

* Enter the **ClientID** and **ClientSecret**

<figure><img src="/files/LyxY5LLjvDiCyZ0IF4je" alt=""><figcaption></figcaption></figure>

* In the QuickBooks Advanced Setup screen, confirm the **ClientId** and **ClientSecret** are entered then click the link to authorize Checkout Champ to access your app.

<figure><img src="/files/c7pROYDSwtmI8GoBl7td" alt=""><figcaption></figcaption></figure>

* When the CRM has been Authorized to access your app you’ll notice that the **RefreshToken** field is populated and the **“Refresh token is required”** warning (from the previous screenshot) disappears.

<figure><img src="/files/oRpsZvogryfDFm0OoOaZ" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**The lifetime of the refresh token is 100 days. You will need to re-authorize the CRM connection using the link in the Plugin setup.**

ERROR: Please refresh the page. If this issue persist please reauthorize the CRM for accessing your QuickBooks account. ERROR DETAILS: Refresh OAuth 2 Access token with Refresh Token failed. Body: \[{"error\_description":"Token invalid","error":"invalid\_grant"}].
{% endhint %}

Now that the **ClientID, ClientSecret**, and **RefreshToken** fields are populated, feel free to configure the plugin to fit your use case.

**DefaultTaxCode** is required.

### Apply Gateway Routings <a href="#quickbooksonlineplugin-applygatewayroutings" id="quickbooksonlineplugin-applygatewayroutings"></a>

<figure><img src="/files/Zw9gRycIAoIOtNV692YU" alt=""><figcaption></figcaption></figure>

### Apply Product Routings <a href="#quickbooksonlineplugin-applyproductroutings" id="quickbooksonlineplugin-applyproductroutings"></a>

<figure><img src="/files/Avmo7M80j1N44huupWDn" alt=""><figcaption></figcaption></figure>
