Best Way To Do Integration with QuickBooks Desktop Chintan Prajapati October 14, 2022 5 min read The best way to integrate with QuickBooks DesktopHi 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 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 serviceQuickBooks 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_CADo I have to pay for using the web connector? No, web connector is a free program provided by IntuitDo 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 software2. Custom executable ProgramHow 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 codeWhat 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 softwareCustom Executable Program: Requires access to the business’s server for installation and execution 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 Debugging may also require access to the business’s server as and when needed 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. Suitable when you plan to make a custom application on top of a QuickBooks desktop. Requires a certain level of technical expertise in Winform programming3. QODBC component for Directly accessing data using ODBC style locally and remotelyWhat is 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.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 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.Open file menu -> Utilities -> Import / Export IIF filesSample IIS file with dataSample IIF file Formats: download(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 decisionIf 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.