Before you start

What kinds of integrations are possible with the SDK?

If you are scoping out a potential application, you’ll want to know the kinds of integrations that are possible with the QuickBooks Desktop SDK:

  • Data access -- applications can create, read, update, and delete QuickBooks data. For a list of the QuickBooks data and objects that are  accessible via the SDK see QuickBooks objects and operations accessible with the SDK.
  • Events -- applications can subscribe to various events and receive notification when certain types of QuickBooks activity occur. For example, you can set it up so that your application is notified when a customer is added or modified. For more information, see Event Notification.
  • QuickBooks UI -- applications can place a menu item within certain QuickBooks pulldown menus. For more information, see Integrating with the QuickBooks UI.
  • QuickBooks forms -- applications can cause certain QuickBooks forms to be displayed, and even pre-fill some of these forms. For more information, see Integrating with the QuickBooks UI

Which QuickBooks editions/versions will support my applications?

The release notes provided with the QB SDK package include the latest tables listing the QuickBooks versions and editions and the corresponding level of the qbXML spec that they support. Please refer to the release notes for those details.

The SDK provides methods for querying which version of the qbXML specification is supported by the version of QuickBooks that is currently running on the user’s system. (The QBXMLVersionsForSession) method can be called after the session begins.) If you write “smart” code that checks the version and responds accordingly, your application can run against multiple versions of QuickBooks.

What do I need to know before I start programming?

You need to know the functional area of QuickBooks that you intend to access in your application. You need to know how the QuickBooks UI operates in that area: what you can do in the UI and what you cannot do. In general, the functionality available through the SDK mirrors the functionality available in the QuickBooks UI.

What technologies should I be familiar with?

The QuickBooks Software Development Kit (SDK) uses standard interfaces and formats. To use the SDK, you'll need a sound understanding of the following:

  • Microsoft's Component Object Model (COM)
  • The programming language of your choice (Visual Basic .NET, C++, C#, etc.)

Take a look at some QuickBooks SDK sample code for specifics.

Which programming languages can I use?

The QuickBooks SDK is designed for use by a wide variety of developers in many different development environments. Its application programming interfaces (APIs) can be used by any programming language that is compatible with Microsoft’s Component Object Model (COM).

What kind of technical support is available?

The best source of additional information are the forums, knowledgebases, and FAQs that are provided free of charge at If further assistance is required, use the technical support links provided at that site to contact technical support.

Did you find this page helpful?
Your feedback helps us make our docs better. Please let us know if this page helped you, or if it needs improvement.

 Got Questions? Get Answers in our developer forums.