Best Way To Do Integration with QuickBooks Desktop Chintan Prajapati October 14, 2022 5 min read IntroductionIn 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 AvailableI 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 QuickBooks web connector QuickBooks Remote connector (discontinued) QODBC component for Directly accessing data using ODBC style locally and remotely Custom executable programOptions to connect with Integration, QuickBooks desktop:1. QuickBooks web connector Create a QuickBooks Sample company file or use an existing one. Download and install the QuickBooks Web Connector software from the Intuit Developer Network website. 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. 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. Configure the Web Connector by adding the QBWC configuration file and certificate file to the Web Connector, along with the application’s .QWC file. Set the Web Connector to run on a schedule or initiate manual syncs as needed. Typical SOAP web service.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 & Planning2. Custom executable ProgramHow 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 websiteWhat are the key differences between using the QuickBooks Web Connector and a custom executable program for integration?QuickBooks Web Connector: Allows you to centralize the synchronization logic on the same or remote web server. 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. Makes it easier to update and maintain the integration source code. 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. Changes to the synchronization logic on the server side are automatically reflected in the integration. Suitable for SaaS application integration where multiple business SaaS applications need data synced from and to the accounting software.Custom Executable Program: Requires access to the business’s server for installation and execution. Setup can be more time-consuming, potentially involving steps such as creating user accounts, installing software, configuring firewalls, and troubleshooting connectivity issues. Debugging may also require access to the business’s server as and when needed. 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). Suitable when you plan to make a custom application on top of a QuickBooks Desktop. Requires a certain level of technical expertise in WinForms programming.3. QODBC component for Directly accessing data using ODBC style locally and remotelyWhat is 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.DescriptionPriceQODBC Desktop Edition Read Only Driver for QuickBooks$149.00QODBC Desktop Edition Read Write Driver for QuickBooks$199.00QODBC Server Edition Read Write Driver for QuickBooks$499.004. IIF file import and exportIn 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.Open file menu -> Utilities -> Import / Export IIF filesYou 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)ConclusionThe 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.