How to Fix Authorization Dialog not appearing in QuickBooks Desktop

The problem:

While working with one of my client’s projects which was an integration between QuickBooks Desktop & procurement software, I faced some strange issue never faced before. So far I have made many integrations with Quickbooks desktop using a web connector, but this time it was a different approach for integration. I prepared a console application to connect with the Quickbooks desktop.

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

The integration was working fine on different environments of staging, production & client servers for more than 6 months. But suddenly one of their end clients reported a bug as whenever the console application runs QuickBooks was not able to display a popup for authorization & authorization to access the QuickBooks company file as below 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 what kind of approach I tried to solve the problem. After finding the solution it was a very simple thing, but when it comes 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 & 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 a variety of versions as per your needs & QuickBooks Desktop is one of them which is mostly suitable to enterprise businesses.

QuickBooks Desktop has a list of features including sales management to vendor payments & also providing a variety of business reports, sharing the estimations, managing the inventories & 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 first look at how the QuickBooks Authorization process works.

Step 1:

When the Windows application begins a session with Quickbooks desktop, you should see the following type of authorization dialog.

When the application programmatically starts “begin session” then an authorization dialog or popup appears which will allow you to connect with the currently running QuickBooks company file.

**Note: I do NOT call this authentication dialog, because QuickBooks desktop doesn’t require my application to mandatorily ask for the username and password of QuickBooks.

Purpose-of-connecting-QuickBooks-Desktop

You can see 4 options to choose from as per above screenshot. Clicking on the selected option, will show you 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 that I used to debug and find out the cause.

  1. Check the log files: I did check my log file, which would simply 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 the QuickBooks which 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: Issue was within the connection string in the JSON file & it was not able to connect to the network because the connection string did not have string escaping for the special characters. Resolutions of misconfiguration: Changes were made on the connecting string by adding extra ‘/’. Below is the wrong & the correct connection strings for better reference.Wrong Connection String:
    Application-configurationWe had confirmed with the jsonlint.com website for the JSON format.We-had-confirmedCorrect Connection String:Correct-Connection-StringWe again confirmed with the jsonlint.com website for the json format.jsonlint-img
  6. I wanted to try and run other third-party applications and see if it’s working, 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 strict policies from system admin and operation manager of their company.
  7. Then I thought to check if the settings in QuickBooks are allowing third-party applications to connect with it. Screenshot
    Company-PreferenceBut that took a little longer for me as I found that the client didn’t give permissions in their QuickBooks setting. Hence I requested clients to update permission. The clients couldn’t do it immediately because the company file was running in multi user mode. And they can not stop their work in the middle of the day or week. So it has to be done after business hours & it took a lot of my time.
  8. Even after applying for permission as per the above step, it didn’t work.
  9. Finally, we decided to took a different route and tried to use a web connector with a fake company file. And see if the web connector was able to open the authorization dialog which I was hoping would work, but it didn’t. Again faced the same blockage & stuckpoint was the same for me, “Authentication Dialog was not popping up”.
  10. After doing some more research I found that there are many QuickBooks services that 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 my process of adding connection in the web connector. To my surprise this time Web connector showed up that authorization dialog, and then my console application was also able to open the same.

If you are curious to know 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 then here is a preview of connection file data.

Also Read: Best Way To Do Integration 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 what are different ways you can try to approach this problem.

Do you need help with a Quickbooks integration service provider who 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, 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.