Best Way To Do Integration with QuickBooks Desktop

The best way to integrate with QuickBooks Desktop

Hi All, I would like to share with you that the majority of Online software nowadays provides REST or SOAP-based API to programmatically manage their data.
But in the case of 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 options of integration 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, i.e. VPN, Hardware and software firewall, and antivirus. And most SMBs and Enterprize 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. And chances are that data or server may get hacked, then the organization’s important data can be stolen or encrypted (by ransomware)

So Intuit changed the control mechanism, where instead of any third party accessing QuickBooks data externally, the QuickBooks desktop server got 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 look at it from a different angle, this specification of service allowed Quickbooks to ensure the interest of all their enterprise customers in terms of security.

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 given here to install the web connector in your system 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, 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 a Media-Buying & Planning software

2. Custom executable Program

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

Intuit developer already has listed sample code to connect with QuickBooks desktop in different programming languages like C#, Java, VB.net , Node.js QuickBooks Desktop Sample applications and code

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. Can be more time-consuming to set up, potentially involving steps such as setting up 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. Provides more control and flexibility over the integration process i.e 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 Winform programming

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

What is QODBC?

QODBC

QODBC is a type of 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 it 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 management of company records within QuickBooks.

Importing and exporting .IIF files within QuickBooks Desktop is a straightforward process 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 who lack experience 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

Sample IIS file with data

Sample IIF file Formats: download(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 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, 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.