QuickBooks 3rd Party Applications – How Integration Works

 

The integration between QuickBooks and a third-party application is transparent, the communication between the two programs takes place behind the scenes leaving very little to be seen – often only the end result of a report or task done outside of QuickBooks OR a transaction created in the 3rd party program that is posted into the data file.

As the QuickBooks developer I’m asked, almost on a daily basis, how our software integrates with QuickBooks.  Providing an explanation is not an easy task – integration was designed to be transparent with most of the actual communication between the programs going on behind the scenes – within the thousand of lines of software code written by the developer.

Everyone says “I need to SEE how IT (the integration) works”. It’s becoming more apparent that people confuse “integration” (the developer’s code) with HOW (the end result) the program works with the data from QuickBooks; even after watching a video about what the program does and how it does it.

Definitions from the Computing Dictionary at Dictionary.com

  • Integration – Combining software or hardware components or both into an overall system.
  • Transparent – Not visible, hidden; said of a system which functions in a manner not evident to the user.

I can’t and won’t attempt to provide a detailed overview of how software developers create their programs, there are simply too many ways in which this occurs and you’d be bored to tears.  I also cannot explain what each of the various third-party applications do or how they do it – that is unique to the code the developer writes to create the program.

I can, however, provide you with some basic information and tell you how we have utilized the QuickBooks Software Development Kit (SDK) to create our programs. You’ll need to go elsewhere for specifics about applications that have been developed as SaaS {rented} programs that are created on the Intuit Partner Platform {IPP}.

The SDK was initially released in 2001, to work with the desktop versions of QuickBooks 2002 and newer; it enables a developers desktop application to share data with the desktop version of QuickBooks, and was designed to enable QuickBooks accounting professionals and end-users to “Never Enter Data Twice (NED2 TM)”.

All communication (or conversations if you will) between QuickBooks and applications created with the SDK follow a single basic pattern of events. After you install a 3rd party program, one of the first things that you’ll need to do is give it permission to work with your QuickBooks data file.  Essentially a conversation takes place, the 3rd party application says something like: “Hi QuickBooks, I’m Application X and I’d like to work with this company data file”. When this occurs will depend upon the program, but the following is true for all applications that were developed with the SDK:

  • No SDK application can access a QuickBooks company file unless the company owner (QuickBooks Administrator) authorizes (or grants permission to) the application.
  • The Administrator is the ONLY person who can grant permissions.
  • The Administrator MUST be logged in to the file in single user mode; after permissions are set the file can then most like be used in multi-user mode {I believe that there a some programs where this is not the case}.
  • The Administrator can grant, deny or limit the access to certain areas of QuickBooks.
  • The authorization can be “good” until cancelled by the Administrator OR the authorization must be given each time the program access the file.
  • The application permissions can be set for attended or interactive mode (where QuickBooks is open and running) OR unattended mode (where QuickBooks is closed and the 3rd party program can log in automatically).
  • When the application accesses a company data file that was opened by a user; the application has the SAME privileges and permissions as the logged-in user.
  • When the application accesses a company data file in unattended mode; the application can have it’s own unique user name and password. When used in this manner an Audit Trail Report can be created and the user can see exactly what has been done by the application.

Third-party applications can:

  • Query or Read data from a QuickBooks file.
  • Add or Write information to a QuickBooks file.
  • Modify existing information.
  • ListMerge two accounts, vendors, customers/jobs, or classes.
  • Delete a list or transaction object from QuickBooks (while following the same rules that you must use when deleting things).
  • Void or change the transaction amount to zero but leaves a record of the transaction

In many respects the procedures that we have followed are the same procedures that other developers have followed – Intuit created the SDK and provided the rules that developers have to follow. If you are looking for more detailed on the SDK and the rules that developers have to follow, join the Intuit Developer Network as a community level member {free} and access the documentation, especially the Programmer’s Guide – https://member.developer.intuit.com/qbSDK-current/doc/PDF/QBSDK_ProGuide.pdf

QuickBooks integrated or 3rd party applications that you find on the Intuit Marketplace have been created by QuickBooks Gold and Silver Developers {with the Gold Developers being the “cream of the crop”}. These developers pay a fee, every 3 years, to have each of their software programs rigorously tested by an independent company hired by Intuit.  Gold Developers have gone the extra step and paid to have a ProAdvisor review their software.  These developers have invested a lot of time and money to ensure that their applications meet with the requirements that Intuit has put in place.

If you don’t trust a 3rd party application (or are unsure of exactly what it does and how), you can create a new user in QuickBooks with the application name and give it FULL access. When you are logged in as the Admin and granting permissions for the app to access the data file you’ll choose the newly created user. With QuickBooks CLOSED (unattended mode) work with the 3rd party program and then run an Audit Trail Report to SEE what it’s done. In many instances I’m sure that you’ll be surprised at what you do NOT see – many 3rd party apps do not leave any sort of footprint within the QuickBooks data file.

I’ve created the video below {sorry too large for YouTube), which demonstrates:

  • How to create a new user in QuickBooks for the application for testing it’s integration
  • How to grant permissions for the 3rd party application
  • What the Audit Trail looks like when an application can read, write, and modify pay rates
  • What the Audit Trail looks like when an application ONLY reads payroll data

I hope you find them beneficial in learning that the integration between QuickBooks and a third party application isn’t nearly as visible as you might think it is.

 

2 thoughts on “QuickBooks 3rd Party Applications – How Integration Works

Comments are closed.