Smooth Transitions: Importing Data Seamlessly into QuickBooks Desktop
Most businesses, irrespective of their size, have a common challenge, their data rests in silos. While interacting with numerous businesses across my career, I often see this challenge in some or other form.
Back in the days, when the digitization wave accelerated efficiency and reduced operational cost, the inefficiency of having disparate components holding related data went unnoticed since we had more serious challenges to deal with. Unknowingly, we were waiting for the beast to mature which could not be tamed easily.
Last few years, we have seen some disruptive innovation happening around data transformation. Complying your app with standard protocols like XML, JSON makes life a lot simpler. And above all tools like Zapier comes very handy when it comes to data and workflow automation.
However, when it comes to businesses, the ultimate place where data resides is ERP systems. And data transformation becomes even more difficult when you rely on desktop-based ERPs like QuickBooks , Tally or Sage etc.
Let’s look at the ways you can import data into QuickBooks Desktop:
- QuickBooks SDK
- QuickBooks WebConnector
QuickBooks SDK (Software Development Kit) is a set of tools and resources provided by Intuit, the company behind QuickBooks accounting software. The SDK is designed to help software developers integrate their applications with QuickBooks, allowing for seamless data exchange and automation.
With QuickBooks SDK, developers can create custom solutions that connect to QuickBooks and perform various tasks such as importing/exporting data, automating financial processes, and integrating QuickBooks functionality into their own applications.
Communication between QuickBooks Desktop and SDK based app happens via predefined XML format, also known as QBXML. These formats are pre-defined for all entities and apps must comply with them. Apps can also utilize QuickBooks Foundation Classes (QBFC) for writing requests/response.
Downside of using QB SDK:
1) For successful data exchange, you will have to write a local app which runs on the same machine as QuickBooks desktop.
Apart from managing your own web-service which aggregates data, it is cumbersome (efforts intensive) to maintain an additional component.
2) For you to communicate with the desktop app, you will have to open a port for communication between service and local app. This portrays a serious security issue:
QuickBooks Web Connectors to the rescue.
QuickBooks WebConnector
Intuit observed these challenges in QB SDK approach and came up with what you call QuickBooks Web Connectors aka QBWC. QBWC is installed locally and enables web services to exchange data with QuickBooks desktop.
QBWC is a generalized app that ends the woes of writing your own app which uses QBSDK to talk to QBD. Since it is generalized, services wanting to go this route must adhere to specifications of QBWC and most important of all is SOAP. Yeah, you read it right, you must write a SOAP service to subscribe your service in QBWC.
But wait, QBWC is still a local installed app, how does it solve port-opening issue? Well, the communication is triggered from QBWC, so it consumes API and sends data to QBD which it receives in response.
Downside: SOAP in my opinion is an obsolete way of implementing modern services.
If you are facing any challenges in QuickBooks integration or have any queries around how integration works, please reach out to us at TechFrolic. We have implemented numerous data pipelines which consumes data from sources and imports it to QuickBooks Desktop. Please write to us at [email protected]