“Backward-compatible” means that an application written with a newer version of the qbXML specification will work with older releases of QuickBooks, provided that it limits itself to the features available in the older version of qbXML when it communicates with older versions of QuickBooks.
The SDK is also “forward-compatible,” which means that applications written for current versions of the qbXML specification are intended to work with future releases of QuickBooks.
Of course, if your application takes advantage of new features in the SDK, these features will not function when the application runs against older versions of QuickBooks. For information, with examples, about how to write intelligent applications that take maximum advantage of current and past versions of the SDK, see Chapter 8, “Making Your Application Robust.”
Intuit performs extensive testing to ensure both types of compatibility. Nevertheless, the SDK can’t foresee the future. This means that current applications, although they will work with future versions of QuickBooks, won’t be able to take advantage of any new features that are introduced in future releases. To take advantage of future features, you’ll need to upgrade your application, specify the newer version of qbXML, and write code that uses the new features.
For a complete listing of versions of the qbXML specification and the QuickBooks releases that they correspond to, see “Support for QuickBooks Products,” in the QuickBooks SDK Release Notes. The most recent version of the qbXML specification is Version 13.0. This spec was released with QuickBooks SDK 13.0 and supports U.S. editions of QuickBooks 2014 and QuickBooks Enterprise 14.0 and newer.