How to Fix Authorization Dialog not appearing in QuickBooks Desktop

The problem

While working on one of my client’s projects, an integration between QuickBooks Desktop and procurement software. 

I encountered some strange issues that I had never encountered before.

So far, I have made many integrations with QuickBooks Desktop using a web connector, but this time, I took a different approach to integration.

I prepared a console application to connect with the QuickBooks desktop.

I faced an issue with QuickBooks desktop’s Authorization mechanism, which allows third-party applications to access the data in QuickBooks desktop.

For more than six months, the integration has been working fine on different staging, production, and client-server environments.

But suddenly, one of their end clients reported a bug: whenever the console application runs, QuickBooks cannot display a popup for authorization to access the QuickBooks company file, as shown below in the reference image.

But it did not appear on the end client’s Windows-based server & it generated issues for us.

Hereby, I am sharing my approach to solving the problem. After finding the solution, it was very simple. Still, when it came to making my application run on the client’s Windows server, I had very limited rights to make any changes in QuickBooks desktop running in multi-user mode, and that was a real challenge to overcome.

What is QuickBooks Desktop?

QuickBooks is an accounting software that works on all your day-to-day financial actions attached to your own business.

It has various versions that fit your needs, and QuickBooks Desktop is one of them. It is mostly suitable for enterprise businesses.

QuickBooks Desktop has a list of features, including:

  • Sales management
  • Vendor payments
  • Providing a variety of business reports
  • Sharing estimations
  • Managing inventories
  • And many more

Purpose of connecting QuickBooks Desktop

I wanted some data to be automatically synchronized with Cloud-based enterprise procurement software.

Before moving forward, let’s examine how the QuickBooks Authorization process works.

Fix the QuickBooks Desktop Authorization Issue with Process

Step 1

When the Windows application begins a session with QuickBooks Desktop, you should see the following authorization dialog.

When the application programmatically starts the “begin session,” an authorization dialog or popup allows you to connect with the currently running QuickBooks company file.

Note: I do NOT call this authentication dialog because QuickBooks desktop doesn’t mandate that my application ask for the QuickBooks username and password.
Purpose-of-connecting-QuickBooks-Desktop

In the above screenshot, you have four options. Clicking on the selected option will show you the access confirmation dialog, as shown below.

Access the QuickBooks confirmation dialog box for integration, detailing permissions for reading and modifying data, and enhancing the user interface. Valid for the current session. Options: Done, Go Back.

Identifying a solution for the authorization dialog not appearing.

It’s a pretty straightforward authorization process from QuickBooks desktop as per above paragraph, but it did not work as expected in one of my client’s cloud-hosted QuickBooks desktop Windows servers & that was an error or blockage for me.

While the client was running my Windows-based console application, the QuickBooks authentication dialog was not appearing.

So, below are the different approaches I used to debug and find the cause.

  1. Check the log files: I did check my log file, which would say that Could not start QuickBooks
    Check-the-log-files
  2. I tried running my console application as administrator.
    Check-the-log-files
  3. I tried restarting QuickBooks, but it did not help.
  4. I tried to open a sample QuickBooks company file, but that did not work either.
  5. Then I checked my application configuration file & found a misconfiguration mentioned below:

Misconfiguration: The issue was within the JSON file’s connection string. It could not connect to the network because the string did not have string escaping for the special characters.

Resolutions of misconfiguration: The connecting string was changed by adding an extra ‘/.’ Below are the wrong and correct connection strings for better reference.

Wrong Connection String:

Application-configuration

We confirmed the JSON format with the jsonlint.com website.

We-had-confirmed

Correct Connection String:

Correct-Connection-String

We again confirmed with the jsonlint.com website for the JSON format.

jsonlint-img
  1. I wanted to try running other third-party applications and see if they worked, but unfortunately, I didn’t have permission to install anything apart from my console application.

    I tried to convince my client, but it didn’t work because of their company’s strict policies set by the system admin and operation manager.

  2. Then, I thought I would check if the QuickBooks settings allow third-party applications to connect with it. Screenshot
    Company-Preference

    But that took a little longer for me as the client didn’t give permissions in their QuickBooks setting. Hence, I requested that the clients update their permissions.

    The clients couldn’t do it immediately because the company file ran in multi-user mode.

    They can not stop their work in the middle of the day or week, so it has to be done after business hours, and it took a lot of my time.

  3. Even after applying for permission as per the above step, it didn’t work.
  4. Finally, we decided to take a different approach and tried using a web connector with a fake company file.

    I also checked to see if the web connector was able to open the authorization dialog, which I was hoping would work, but it didn’t. Again, I faced the same blockage, and the stuck point was the same for me: “Authentication Dialog was not popping up.”

  5. After more research, I found that many QuickBooks services are running in the background on the Windows server.

    We had to kill them because Restarting only QuickBooks was not sufficient. Below is a list of services that you may consider to kill.

    • QuickBooks Desktop App
    • QBIDPService
    • QuickBooks Automatic Update
    • QBCFMonitor Service
    QBCFMonitor-Service

Finally, after all the debugging & steps, with hopes.

I opened QuickBooks desktop again and repeated the process of adding a connection to the web connector.

To my surprise, this time, a Web connector showed up with that authorization dialog, and then my console application could also open it.

Are you curious how to make a fake QuickBooks web connector file for testing? Here is the downloadable .qbw file. Download now.

If you are wondering what is inside, here is a preview of the connection file data.

Also Read: Best Way to Integrate with QuickBooks Desktop

Conclusion

In the end, I learned that I should have started debugging the problem by using the QuickBooks web connector because it provides pretty descriptive error and solution.

I hope reading this will make you aware of how to debug similar kinds of issues and the different ways you can approach this problem.

Do you need help with a QuickBooks integration service provider who is an Expert in Accounting integration?

Article by

Chintan Prajapati

Chintan Prajapati, a seasoned computer engineer with over 20 years in the software industry, is the Founder and CEO of Satva Solutions. His expertise lies in Accounting & ERP Integrations, RPA, and developing technology solutions around leading ERP and accounting software, focusing on using Responsible AI and ML in fintech solutions. Chintan holds a BE in Computer Engineering and is a Microsoft Certified Professional, Microsoft Certified Technology Specialist, Certified Azure Solution Developer, Certified Intuit Developer, Certified QuickBooks ProAdvisor and Xero Developer.Throughout his career, Chintan has significantly impacted the accounting industry by consulting and delivering integrations and automation solutions that have saved thousands of man-hours. He aims to provide readers with insightful, practical advice on leveraging technology for business efficiency.Outside of his professional work, Chintan enjoys trekking and bird-watching. Guided by the philosophy, "Deliver the highest value to clients". Chintan continues to drive innovation and excellence in digital transformation strategies from his base in Ahmedabad, India.