Best Way To Do Integration with QuickBooks Desktop

Introduction

In this article, I would like to share all the insights into why QuickBooks desktop integration is challenging compared to QuickBooks online and what method you should use for integration.

There is no best method; depending on your integration use case, you should choose one.

I will help you make this decision very easily.

But first, let’s understand why no REST API is available in QuickBooks Desktop.

REST API for QuickBooks Desktop? Reasons Why It’s Not Available

I want to share with you that most Online software nowadays provides REST or SOAP-based API to manage their data programmatically.

But for QuickBooks desktop, it’s been really difficult to get the REST or SOAP endpoint where you can connect and easily exchange the data.

Before we understand the different integration options with QuickBooks Desktop,

Let’s understand why Intuit didn’t provide any easy way like SOAP or REST endpoint.

As the name suggests, QuickBooks desktop editions are installed in the Windows operating system with many layers of security, such as VPN, Hardware and software firewall, and antivirus.

And most SMBs and Enterprise use the right networks and cloud-hosted QuickBooks desktops.

Because of a strictly secure environment, accessing the data from outside is always considered a threat to the organization.

There is also a chance that a data or server may get hacked, and then the organization’s important data can be stolen or encrypted (by ransomware).

So Intuit changed the control mechanism. Instead of any third party accessing QuickBooks data externally, the QuickBooks desktop server has a mechanism like a web connector to poll the external service from within the QBD server.

So that they do not have to open any Ports on the server for incoming connections.

This mechanism in programming is called inversion of control(IOC).

Because of IOC, QBD became difficult to access like any normal REST or SOAP service.

Let’s examine it from a different angle. This service specification allowed QuickBooks to ensure the security interests of all its enterprise customers.

Let’s look at the different options to connect with QuickBooks desktop

  1. QuickBooks web connector
  2. QuickBooks Remote connector (discontinued)
  3. QODBC component for Directly accessing data using ODBC style locally and remotely
  4. Custom executable program

Options to connect with Integration, QuickBooks desktop:

1. QuickBooks web connector

  1. Create a QuickBooks Sample company file or use an existing one.
  2. Download and install the QuickBooks Web Connector software from the Intuit Developer Network website.
    Screenshot of a Windows search bar showing "Web Connector" app selected with recent files listed under the app on the right side. Various application icons are visible on the taskbar at the bottom.
  3. Create the necessary Web Connector configuration files and QBWC (QuickBooks Web Connector) certificate files from the developer of the application you are integrating with QuickBooks.
    XML code snippet for a Customer Demo WebService includes AppName, AppURL, AppDescription, AppSupport, UserName, OwnerID, FileID, QBType, and Scheduler with a five-minute run interval.
  1. Set up the integration in QuickBooks desktop by adding the application to the Integrated Applications list and authorizing the application to access your QuickBooks data.
    Screenshot of the QuickBooks Web Connector interface displaying a message that no application is currently registered and offering an option to add an application. Options to view log, troubleshoot, add an application, hide, or exit are visible.
    File explorer window showing folders and a QuickBooks Web Connector file in the QBD_Flow directory.
    Screenshot of a web service authorization request for accessing QuickBooks data, showing details like app name, URL, security certificate information, access warnings, and OK/Cancel buttons.
    Screenshot of a QuickBooks Application Certificate window detailing access permissions for Satva solutions to modify QuickBooks data and user interface. Options to allow access are included.
    Screenshot of an application authorization window for QuickBooks, showing options to allow data access even when QuickBooks is not running, with "Yes" and "No" buttons.
    Screenshot of a QuickBooks Access Confirmation window requesting permission for Customer Demo WebServices to access company file Satva Solutions with security and login options.
  2. Configure the Web Connector by adding the QBWC configuration file and certificate file to the Web Connector, along with the application’s .QWC file.
    Screenshot of QuickBooks Web Connector 2.3.0.215, showing an app selected with options to auto-run and change password. A progress bar indicates applications progress at 100%.
  3. Set the Web Connector to run on a schedule or initiate manual syncs as needed.
    QuickBooks Web Connector 2.3.0.215 interface with a highlighted "Update Selected" button, showing an application's status as "Ready" and application progress at 100%.

Typical SOAP web service.

QuickBooks Web Connector Architecture for message exchange:

QuickBooks-Web-Connector-Architecture-for-message-exchange
How can I download a web connector?
Please follow the steps to install the Web Connector on your system.

Install QuickBooks Web Connector (https://QuickBooks.intuit.com/learn-support/en-ca/help-article/install-products/set-QuickBooks-web-connector/L4Vp7VI44_CA_en_CA)

Do I have to pay for using the web connector?
No, the web connector is a free program provided by Intuit.
Do you have a sample web connector connection file?
Download a sample QuickBooks web connector connection file.

Case Study: QuickBooks Desktop Connector for Media Buying & Planning

2. Custom executable Program

How can I get a sample code for the QuickBooks desktop custom application?

Intuit developers have listed sample code to connect with QuickBooks Desktop in different programming languages, such as C#, Java, VB.net, and Node.js. You can find QuickBooks Desktop sample applications and code on the official Intuit Developer website

What are the key differences between using the QuickBooks Web Connector and a custom executable program for integration?

QuickBooks Web Connector:

  1. Allows you to centralize the synchronization logic on the same or remote web server.
  2. Business logic or synchronization logic can be managed remotely, without requiring access to the business’s server. I.e patch can be released in a shorter amount of time.
  3. Makes it easier to update and maintain the integration source code.
  4. Provides an additional layer of security, as the end user has full control over whether they want to allow a third-party integrator app to access their company data or not.
  5. Changes to the synchronization logic on the server side are automatically reflected in the integration.
  6. Suitable for SaaS application integration where multiple business SaaS applications need data synced from and to the accounting software.

Custom Executable Program:

  1. Requires access to the business’s server for installation and execution.
  2. Setup can be more time-consuming, potentially involving steps such as creating user accounts, installing software, configuring firewalls, and troubleshooting connectivity issues.
  3. Debugging may also require access to the business’s server as and when needed.
  4. It provides more control and flexibility over the integration process (e.g., you can add your own menu or Windows form within QuickBooks’s menu system).
  5. Suitable when you plan to make a custom application on top of a QuickBooks Desktop.
  6. Requires a certain level of technical expertise in WinForms programming.

3. QODBC component for Directly accessing data using ODBC style locally and remotely

What is QODBC?

QODBC

QODBC is an ODBC driver that allows applications to access QuickBooks data using standard SQL queries.

It provides an easy way for developers and users to extract QuickBooks data and integrate it with other software applications or tools, such as Microsoft Excel or Crystal Reports.

Is QODBC Free?
No, it comes with a price.

DescriptionPrice
QODBC Desktop Edition Read Only Driver for QuickBooks$149.00
QODBC Desktop Edition Read Write Driver for QuickBooks$199.00
QODBC Server Edition Read Write Driver for QuickBooks$499.00

4. IIF file import and export

In QuickBooks Desktop, Intuit Interchange Format (.IIF) files are text files that use TSV (Tab-Separated Value) format and allow for the import or export of lists or transactions.

This can help to streamline data transfers between different platforms and improve the management of company records within QuickBooks.

Importing and exporting IIF files within QuickBooks Desktop is straightforward, as the software formats the file for you.

However, creating .iif files from scratch or adapting data from another program can be technically complex and may pose challenges for those without experience in formatting delimited text files.

For this reason, it may be faster and more efficient to manually enter the information directly into QuickBooks Desktop, especially for small amounts of data.

For larger amounts of data, using.IIF files can be a viable option.

A screenshot of a QuickBooks Desktop dropdown menu reveals options under "File" and "Utilities," featuring selections like "Import" and "IIF Files.

Open file menu -> Utilities -> Import / Export IIF files

IIF-file-import-and-export

You can download sample IIF file formats from the official Intuit website: Download Sample IIF Files (https://quickbooks.intuit.com/learn-support/en-us/manage-lists/iif-overview-import-kit-sample-files-and-headers/00/201577)

Conclusion

The article discusses different options for integrating QuickBooks Desktop with other software or tools.

The options covered are the QuickBooks Web Connector, a custom executable program, the QODBC component, and the import/export of Intuit Interchange Format (.IIF) files.

  • The QuickBooks Web Connector allows you to centralize synchronization logic on a remote web server and make it easier to update and maintain integration source code, while a custom executable program provides more control and flexibility over the integration process, making it suitable for custom applications on top of QuickBooks Desktop.
  • The QODBC component allows for direct access to QuickBooks data using standard SQL queries, and the import/export of .IIF files can help streamline data transfers between different platforms.

The choice of approach depends on the specific integration requirements and available resources, and it is important to consider factors such as the complexity of the integration, the frequency of data synchronization, and the skills and experience of the development team when making a decision.

If you’re feeling confused about which approach to use for integrating QuickBooks Desktop, don’t worry! Our QuickBooks Integration company, Satva Solutions is a QuickBooks partner and can provide QuickBooks consulting services to help you make a more informed decision.

Our team of experts has extensive experience in working with QuickBooks Desktop and can guide you in selecting the right integration approach based on your specific needs and resources.

Contact us today to schedule a consultation and take the first step towards seamless integration with QuickBooks Desktop.

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.