# Steps to create a private QuickBooks Online (QBO) app on Intuit Developer portal

{% stepper %}
{% step %}
Go to [developer.intuit.com](https://developer.intuit.com/) and sign in or sign up for a developer profile. This account is where you will create your apps and sandboxes.
{% endstep %}

{% step %}
In the developer portal, go to **My Hub → Workspaces** and you would land up at Workspace page where you can see existing workspaces. Click on (**+**) to add a new Workspace.

<figure><img src="/files/2tsTIbynREqoVueUKZIT" alt=""><figcaption></figcaption></figure>

1. &#x20;Click on **Get Started.**<br>

   <figure><img src="/files/kyBqZb5mjQ8cYhwSpiIN" alt=""><figcaption></figcaption></figure>
2. Fill in the **Basic workspace info,** then click **Next**.<br>

   <figure><img src="/files/ZFwRcF6H4K3cPehzDg77" alt=""><figcaption></figcaption></figure>
3. Fill in the **Company info,** then click **Next.**<br>

   <figure><img src="/files/7fIDSPUSGxkK5UhBYoFA" alt=""><figcaption></figcaption></figure>
4. Fill in the **Contact info,** then click **Next**.\
   \
   Your workspace would be created. Click on **Open Workspace**.

   <figure><img src="/files/9L8ksIVQ9m3ljdd1xdGQ" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}
Click on **(+)** to add a new app.

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

{% hint style="info" %}
Select **QuickBooks Online (Accounting)** or **QuickBooks Online & Payments** if you need payment functionality, and enter a name for your app.\
\
If you have multiple QuickBooks files, create a separate workspace and Private App for each. For example, two QuickBooks files require two workspaces, each with its own Private App.<br>
{% endhint %}

1. Click **Get Started.**<br>

   <figure><img src="/files/7C8I2NbEfj86zckpKdVc" alt=""><figcaption></figcaption></figure>
2. Name your private app and click **Next.**\ <br>

   <figure><img src="/files/W5g0VUUKlC7u2sLbqAWU" alt=""><figcaption></figcaption></figure>
3. Select both the options shown, then click **Done.**\ <br>

   <figure><img src="/files/aFtxJIrLVn54yfIvQdEi" alt=""><figcaption></figcaption></figure>
4. Your app is now ready for testing. Click **Confirm**.<br>

   <figure><img src="/files/LdaPr64bGWqC4fSrKXoF" alt=""><figcaption></figcaption></figure>
5. Click on **Open app.**<br>

   <figure><img src="/files/8Zr61kgozUEqAClZcSKI" alt=""><figcaption></figcaption></figure>
6. You will be redirected to the **App Overview** screen.<br>

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

{% endstep %}

{% step %}
Open your app in the developer portal and go to **Keys & Credentials**.

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

1. Toggle **Production** on. You will notice a message, "*Complete these tasks in order to unlock your production credentials".*
2. Fill in the required questionnaire to receive your **Client ID** and **Client Secret.**&#x20;
3. **Under App details, e**nter your **Email address, First name**, **Last name**, **Phone number** and **Address** as shown below.<br>

   <figure><img src="/files/vtjlGy98goKf3OH29VQ6" alt=""><figcaption></figcaption></figure>
4. Paste these URLs under “*Add your app’s end-user license agreement and privacy policy*” as shown in the screenshot below:
   * End-user license agreement URL: <https://www.mydbsync.com/content/eula>
   * Privacy policy URL: <https://www.mydbsync.com/privacy-policy><br>

     <figure><img src="/files/LsGUbDXjOAJRhAfusk3P" alt=""><figcaption></figcaption></figure>
5. Paste these URLs under “*Add your app’s host domain, launch URL, disconnect URL, and connect/reconnect URL*” as shown in the screenshot below:

   * Host domain: [www.mydbsync.com](http://www.mydbsync.com/)
   * Launch URL: <https://app03.mydbsync.com/appcenter/qb/openid>
   * Disconnect URL: <https://app03.mydbsync.com/appcenter/qb/openid/disconnect/callback?realmId=>
   * Connect/Reconnect URL: \
     <https://app03.mydbsync.com/appcenter/qb/openid/connect>

   <figure><img src="/files/eBloSFwQ2bOF1ZMZC3AB" alt=""><figcaption></figcaption></figure>
6. Under “*Select at least one app category for your app*”, select the relevant app category. Example categories include: Banking, Income Management, Invoicing, and Data Management.<br>

   <figure><img src="/files/tMkQnGR903PRCnfy9INq" alt=""><figcaption></figcaption></figure>
7. Under “*Tell us about any regulated industries that use your app*”, select **None of the above** when no industries apply.<br>

   <figure><img src="/files/ESJDFXf5mQ2oLqsXpRKM" alt=""><figcaption></figcaption></figure>
8. Under “*Tell us where your App is hosted*”, select your preferred country.<br>

   <figure><img src="/files/uCPCzblDKNE5zRl0mAgY" alt=""><figcaption></figcaption></figure>
9. After completing the **App details** section, proceed to the **Compliance** section below.
10. In the Compliance section, click **Start Questionnaire.**<br>

    <figure><img src="/files/jJd4zGdiR2UJH1eDoL5g" alt=""><figcaption></figcaption></figure>
11. In the **General Questions** section, select the following options in the questionnaire.\ <br>

    <figure><img src="/files/9EWpJooBmCukFCoKZ0DS" alt=""><figcaption></figcaption></figure>
12. Once filled, Click on **Next Tab**.<br>

    <figure><img src="/files/L6xpjWuYe5svreSQe7lX" alt=""><figcaption></figcaption></figure>
13. In the **App Information** section, select the following options in the questionnaire.\ <br>

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

    <figure><img src="/files/EEEsIUOwCjH7s3KTQFIz" alt=""><figcaption></figcaption></figure>
14. Once filled, click on **Next Tab**.<br>

    <figure><img src="/files/9xyhjK1HgIXRaJwPMN8p" alt=""><figcaption></figcaption></figure>
15. In the **Authorization & Authentication** section, select the following options in the questionnaire.<br>

    <figure><img src="/files/YAWpjr2NstQdUeuMH2Ed" alt=""><figcaption></figcaption></figure>
16. Once filled, click on **Next Tab**.<br>

    <figure><img src="/files/ENVQ0UYDRHekni4HyctL" alt=""><figcaption></figcaption></figure>
17. In the **API Usage, s**elect the following options in the questionnaire. Once filled, Click on **Next Tab**.<br>

    <figure><img src="/files/upVyfqk9HQIOmzqAeatS" alt=""><figcaption></figcaption></figure>
18. In the **Accounting API** section, select the following options in the questionnaire.\
    \
    \
    Once filled, click on **Next Tab**.

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

    <figure><img src="/files/zALEKDao3og99DUeo2sj" alt=""><figcaption></figcaption></figure>
19. In the **Error Handling** section, select the following options in the questionnaire. Once filled, click on **Next Tab**.<br>

    <figure><img src="/files/Ab6TxtvOPhfxLF7v8QYd" alt=""><figcaption></figcaption></figure>
20. In the **Security** section, select the following options in the questionnaire. Once filled, Click on **Submit.**<br>

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

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

    Once you click **Submit,** you will see the following pop-up. Click **OK.**

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

{% endstep %}

{% step %}
Go to the **Key & Credentials** section. It will now display your **Client ID** & **Client secret.**<br>

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

{% hint style="info" %}
Copy and paste the **Client ID** and **Client Secret**, and store them in a secure document.
{% endhint %}
{% endstep %}

{% step %}
Go to **Webhooks** section.&#x20;

1. Toggle on **Production** and in **Endpoint URL** field, paste this URL.\
   Endpoint URL- <https://api-platform6.dbsync.io/cw/api/v2/webhook/qbo>\
   \
   Click **Save.**

   <figure><img src="/files/9eAyyXu9prWd76c3RbMk" alt=""><figcaption></figcaption></figure>
2. Click **Ok**.<br>

   <figure><img src="/files/WVAQOBYArCVZ0z2UKiDd" alt=""><figcaption></figcaption></figure>
3. Scroll down and make sure you have ticked to all the **Subscribed** events as shown below.<br>

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

{% endstep %}

{% step %}
Go to the **Settings** section, and click on **Redirect URIs** tab.

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

1. Under **Development** tab, Click on **Add URI** and paste this URI and click **Save.**\
   Redirect URL- <https://platform.dbsync.io/cw/qb/oauth2/callback><br>

   <figure><img src="/files/AnETEdVunxKRLOSHGF7D" alt=""><figcaption></figcaption></figure>
2. Switch to **Production** tab, click on **Add URI**, paste this URI and click **Save.**

   Redirect URL- <https://platform.dbsync.io/cw/qb/oauth2/callback>
   {% endstep %}

{% step %}
Now login to your **DBSync platform** and go to **QuickBooks Connector**.<br>

<figure><img src="/files/6NnlDws4MakUxSDq9keR" alt=""><figcaption></figcaption></figure>

1. Click **Disconnect,** and click **OK**.\ <br>

   <figure><img src="/files/Gshemp5FNMVS3zcvWXKW" alt=""><figcaption></figcaption></figure>
2. Click on **Advanced Properties**. Enter **Client ID** and **Secret** and then click **Save**.<br>

   <figure><img src="/files/JqvkAIObnsWpPHGSL2aG" alt=""><figcaption></figcaption></figure>
3. Go to **Quick Setup,** click on **Connect to QuickBooks**.<br>

   <figure><img src="/files/hUIFYeW1a0uYoLNoxHGE" alt=""><figcaption></figcaption></figure>
4. Go to **Advanced Properties**, Test Connection and **Save Connection.**<br>

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

{% endstep %}

{% step %}
If you see multiple connections and aren’t sure which one to reconnect, feel free to reach out to our support team for help.
{% endstep %}

{% step %}
In addition, if you face any challenges in the above process, book a meeting with DBSync support using the [link](https://calendly.com/support_notifications-mydbsync/30min) to activate your integration.
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mydbsync.com/cloud-workflow/connectors/quickbooks-online/steps-to-create-a-private-quickbooks-online-qbo-app-on-intuit-developer-portal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
