Please note: Our software products ONLY work with QuickBooks DESKTOP. NOT COMPATIBLE WITH QUICKBOOKS ONLINE, QUICKBOOKS MAC, or RIGHT NETWORKS HOSTING.
8/13/24 Compatibility with New Jersey Wage Hub CSV Upload Announced. Read more here.
6/27/24 Having trouble with the new California DIR website? Read more here.
Resources for Understanding the QuickBooks SDK and Working with QuickBooks Integrated Applications
The QuickBooks Software Development Kit (SDK) and the Intuit Developer Network (IDN) were publicly launched in the middle of 2000. Since then there have been a huge number of "QuickBooks integrated (or add-on) applications" that have been developed by independent software developers.
This section provides information about the SDK and QuickBooks integration.
Other QuickBooks Integration Resources
QuickBooks Integration 101
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.
The integration between QuickBooks and a 3rd Party Application is often very transparent – and totally confusing to both QuickBooks ProAdvisors and end users. 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.
Read a short article and watch our video called "QuickBooks Integration 101" on our companion site - Learn to use QuickBooks in your construction business".
Windows, QuickBooks & 3rd Party Applicactions - the Struggle Within
Windows Vista, 7, and 8 have all changed the way that we use our computers, install software, and store our files. We were all spoiled with Windows XP, where we could save anything anywhere we wanted and share anything with anyone that we wanted. The new rules and requirements of Windows Vista, 7, and 8 are often overlooked or are unknown and can cause quite a bit of aggravation!
Dealing with User Permissions and Third Party Applications in QuickBooks Financial Software
By Nancy Smyth, Certified QuickBooks ProAdvisorSM
This article was originally published in the Intuit ProConnections April 2004 Newsletter and has been modified to reflect current methods (as of December 2010) of granting permissions for third party applications.
Situation
In QuickBooks Financial Software, issues about user permissions can arise especially when dealing with third party applications. In some cases, it appears that all users need to have the same administrative rights when they sign into QuickBooks as when the software was installed.
Response
Better understanding the process may help reduce some of the frustration and allow you to assist your clients in installing third party applications satisfactorily.
The Process
When a third party software program is initially installed, and sends its first request for data to QuickBooks, the person who is the QB Administrator must be logged into QuickBooks in Single User Mode to grant permissions.
This logging in is a two-step process in QuickBooks Pro/Premier 2004 and Enterprise Solutions 4.0 (a single step in Pro/Premier 2005-2011 and Enterprise 5.0-11.0).
EXAMPLE:
Larry is the QuickBooks Administrator and Karen is an employee who will be using the third party application. Karen does not have the same user rights in QuickBooks as Larry.
Step 1 - Larry would initially grant permission to the third party application, and after selecting Yes, Always in the dialogue box to grant permissions, and clicking the OK button, he is taken back tot he main QuickBooks screen.
Step 2 - Larry would then choose Edit, Preferences, scroll to the Integrated Applications Preference, select the Company Preferences tab, click on the app in question and select Properties. There is a middle section that has a checkbox for "Allow this application to log in automatically" and a drop down for the login as.
In an example like this Larry would place a checkmark in the Allow this application to login automatically, and in the login as he would select himself (or create a new user with the applications name with access to ALL required portions of the QB file that the application must access), setting permissions like this - Karen would need to run the application with QuickBooks closed and use the program even though she does not have the same QB user rights - because the program would log in as Larry or someone with the necessary permissions.
In QuickBooks Pro/Premier 2005-2013 and Enterprise 5.0-13.0 steps 1 & 2 have been combined so that the permission granting process is simpler.
So while essentially what you are saying is correct - completing the Permissions settings as described will allow you to avoid the problem that you are describing.
I hope this is helpful & not confusing.
Important Note added December 2010: With Enterprise Editions tighter security settings QuickBooks Administrators, IT Consultants, ProAdvisors and Accountants should take special care when setting up user permissions as they can effectively prevent people from performing their job duties. Please take the necessary time up front to make sure that the required permission settings for the third party application exist. The time you spend initially will save someone a call to the third party applications Technical Support and eliminate the need to call you back to correct any problems. The developer of the third party program should provide (or be able to provide) you with the required minimum permissions necessary for the application to be used, if not contact their Technical Support team and ask them what the minimum user permissions for their product(s) are.
Last updated on .
Hits: 15926
QuickBooks Software Development Kit
A ProAdvisor Sheds Light on the QuickBooks Software Development Kit (SDK)
By Nancy Smyth, QuickBooks ProAdvisor and Intuit Developer Network member
This article was originally published in the Intuit Developer Network (IDN) Newsletter in March 2004 and is reprinted and/or redistributed with permission.
Introduction
I first learned about the QuickBooks Software Development Kit (SDK) through an Intuit press release in 2001 announcing both the SDK and a training seminar on how it worked, which my husband Ben and I attended. Our company, Sunburst Software Solutions, had already built our Certified Payroll Solution product, which solved one of my biggest double-entry nightmares as a ProAdvisor/Bookkeeper. At that time, our product interfaced with QuickBooks using another means of data extraction. We could tell that the SDK would be a much less stressful, as well as faster, more reliable, and would be an "approved" means of getting the information we needed out of QuickBooks; to have for our program to function correctly.
I wrote this article initially to add to the whitepapers about our own products to alleviate our customers' fears and misconceptions about third-party products and what they could/would do to existing QuickBooks data. After hearing these same concerns from other ProAdvisors in phone calls, surveys, and at face-to-face meetings, it became obvious to me that many ProAdvisors wanted to learn how the SDK worked, and wanted reassurance that thirrd party applications would not corrupt their clients' existing data files, without having to learn all the ins and outs of writing program code.
Why a QuickBooks SDK?
The QuickBooks SDK is a collection of tools, reference materials, and sample program code that Intuit distributes to application developers, system integrators, software product managers, consultants, and other technical professionals interested in developing applications that share data with QuickBooks.
Intuit developed the QuickBooks SDK because of customer demand. QuickBooks customers were asking how they could avoid entering the same data multiple times into multiple places: QuickBooks, and other, "third party," business applications they were using. They wanted to be able to transfer data into, and out of, QuickBooks to save time and avoid errors.
More About Customer Needs
Often times, QuickBooks data - such as accounts receivable, accounts payable, customer lists, employee lists, and expense and time tracking information - must be managed in a way that is unique to a specific industry, therefore, requiring the use of additional applications to supplement QuickBooks. For example, a retail store uses a point-of-sale application in the store, and QuickBooks in the back office. In other cases, the third-party application enters and stores the QuickBooks data differently, for example, on a per-client or per-location basis. In both of these examples, large quantities of important data needs to be entered twice, resulting in extra work and potential errors, both of which cost time and money.
Third-party applications created with the SDK can share QuickBooks data. By using these "QuickBooks integrated" applications, small-business owners no longer need to enter the same data twice, and in fact now can have the best of both worlds - the power, ease, and comprehensiveness of QuickBooks, combined with the benefits of an application tailored to the unique needs of a particular small-business concern.
More About the SDK
The SDK provides a common methodology for integrating an application with QuickBooks; once a developer creates an application for one QuickBooks product, modifying that application to support any (or all) of the other SDK-supported products is a straightforward task. This shared SDK approach is based on qbXML, which is a version of XML (eXtensible Markup Language, a computer code) that has been designed specifically for QuickBooks.
Intuit designed the QuickBooks SDK with the following principles in mind:
Keep the small-business owner in control. The business owner or the administrator for the business must authorize the connection between third-party application and QuickBooks. They also set up permissions for authorized users and access rights for each third-party application through the QuickBooks, Edit Menu, Preferences, Integrated Applications, and Company Preferences tab. The SDK supports the user privilege structure as established by QuickBooks, wherein, for example, certain users can access only certain types of information.
Provide robust mechanisms to protect QuickBooks data. The SDK provides strong error recovery, data logging, and synchronization facilities to ensure that data is not lost or destroyed and that third-party application data remains synchronized with QuickBooks data. Additionally, the Intuit SDK enforces all the QuickBooks business rules no matter what the third-party application does.
The use of the qbXML Validator utility allows a developer to verify that a given qbXML document conforms to the qbXML specifications before it is sent to QuickBooks.
The SDKTest Utility is used to test the request/response cycle, which accepts a qbXML request, sends it to QuickBooks, and returns the response to the third-party application.
The qbXML specifications are built into QuickBooks, and the SDK provides methods for querying which version of the qbXML specifications is supported by the versions of QuickBooks a small business owner is using. I.e., if a developer writes "smart" code that checks which version and responds accordingly, a third-party application can run with multiple versions of QuickBooks.
Use existing programming standards. The QuickBooks SDK uses standard interfaces and XML formats, and as a result is compatible with most software programming languages.
Adhere to a single specification for the entire SDK. The QuickBooks products, except for QuickBooks Online Edition, all use the same qbXML specification. Therefore, the content and behavior of the request and response messages between QuickBooks and the third-party application is consistent across all products.
The SDK allows applications to:
Query, or read, most (but not all) information contained in the QuickBooks file - for example, employee Social Security Numbers can be read, but the number of Federal Withholding Allowances cannot.
Add some (but not all) types of information - for example, a Customer or a Job can be added to QuickBooks by a third-party application, but an Item or a Non-Wage payroll item cannot.
Modify some (but not all) types of information - for example, an existing customer can be modified, but an Item cannot.
Delete some (but not all) types of information - for example, a request for an Account to be deleted can be made, but an Item may not be deleted.
Void some but not all types of information - for example, a Bill may be voided, but an Estimate may not.
Conclusion
As a ProAdvisor, I understand how important it is to be sure that data remains intact and undamaged when using any third-party product. I hope that this article explaining the principals behind the SDK and its built-in mechanisms to protect that data has been useful.