Java SDK release notes

Note

The Java SDK is available as open source. The open source code can be found here. To install the SDK, see Install the Java SDK.

QuickBooks Java SDK V4.0.8

Date: Sep 23, 2018

Overview

  • Added support to override TLS version

Details

Added support to override TLS version

  • Added support to override TLS version in httpclient classes. Default value set to TLSv1.2 when no override is provided.

QuickBooks Java SDK V4.0.7

Date: Sep 19, 2018

Overview

  • Added additional minor version support
  • Updated jackson library

Details

Added additional minor version support

Support for Jackson library

  • Updated jackson dependency to v2.9.6

QuickBooks Java SDK V4.0.6

Date: Sep 4, 2018

Overview

  • Support for France reports
  • Added additional minor version support
  • Support for Entitlements API

Details

Support for France reports

  • Added report names for France reports.

Added additional minor version support

Support for Entitlements API

  • The SDK now supports Entitlements API. Use DataService.getEntitlements() method to query the entitlements data.

QuickBooks Java SDK V4.0.5

Date: June 25, 2018

Overview

  • Updated XSD
  • Added additional minor version support
  • Updated javamail library

Details

Updated XSD

Added additional minor version support

Updated javamail library

  • Updated javamail dependency to com.sun.mail.jar v1.6.1

QuickBooks Java SDK V4.0.4

Date: May 21, 2018

Overview

  • Updated XSD
  • Added additional minor version support

Details

Updated XSD

Added additional minor version support

QuickBooks Java SDK V4.0.3

Date: May 2, 2018

Overview

  • Updated XSD
  • Removed "Cookie rejected" warning

Details

Updated XSD

  • The XSD file has been updated for the QuickBooks Online 1804 release. (See XSDupdate in the GitHub repository.)

Removed "Cookie rejected" warning

  • Removed the "Cookie rejected" warning, which was generated by the Apache HttpClientlibrary, from the Java SDK. (See Cookie rejected... on Intuit Developer Support Community.)

QuickBooks Java SDK V4.0.2

Date: April 4, 2018

Overview

  • Refactored ReportService

Details

Refactored ReportService

  • Refactored ReportService to enable overriding (see the pull request in the GitHub repository).

QuickBooks Java SDK V4.0.1

Date: March 23, 2018

Overview

  • Support for additional minor versions

Details

Support for additional minor versions

QuickBooks Java SDK V4.0.0

Date: March 5, 2018

Overview

  • Support for additional minor versions
  • Support for OAuth migration

Details

Support for additional minor versions

Support for OAuth migration

  • Added support for migration from OAuth 1.0a to OAuth 2.0 (alpha/beta users only).

QuickBooks Java SDK V3.0.5

Date: December 17, 2017

Overview

  • Proxy configuration override in OAuth2 library

Details

Proxy configuration override in OAuth2 library

  • Added the ability to override the proxy configuration in the OAuth2 library. See the changes in the repository here and here.

QuickBooks Java SDK V3.0.4

Date: December 12, 2017

Overview

  • JSON response for 401 and 403 exceptions

Details

JSON response for 401 and 403 exceptions

QuickBooks Java SDK V3.0.3

Date: November 20, 2017

Overview

  • Updated runtime configuration for asynchronous calls
  • Added proxy support to OAuth2 library
  • Corrected Payments API scope in OAuth2 library

Details

Updated runtime configuration for asynchronous calls

  • Updated the IntuitInterceptorProvider and Config classes to ensure that the manual configuration overrides are passed to IntuitInterceptorProvider when executed asynchronously (see issue 30).

Added proxy support to OAuth2 library

Corrected Payments API scope in OAuth2 library

QuickBooks Java SDK V3.0.2

Date: November 3, 2017

Overview

  • CGLIB Enhancer callback filter
  • Query filter

Details

GLIB Enhancer Callback Filter

  • Added CGLIB Enhancer callback filter to filter out callback triggers for several object methods (see changes).

Query filter

  • Updated Query Filter to use enum value property in queries instead of enum names.

QuickBooks Java SDK V3.0.1

Date: October 12, 2017

Overview

  • SDK dependencies

Details

SDK dependencies

Removed the Maven Shadow plug-in dependency.

QuickBooks Java SDK V3.0.0

Date: July 17, 2017

Overview

  • OAuth 2.0 support

Details

OAuth 2.0 support

The SDK now supports OAuth 2.0 authentication. OAuth 1.0a is still available for existing applications. New applications must implement OAuth 2.0. For more information, see Authorization.

QuickBooks Java SDK V2.9.6

Date: July 11, 2017

Overview

  • Minor version 12 support

Details

Minor version 12 support

Added support for minor version 12. Latest XSD: v3 minor version 12

QuickBooks Java SDK V2.9.5

Date: June 30, 2017

Overview

  • JAXB library
  • Gson library

Details

JAXB library

Updated the Java Architecture for XML Binding (JAXB) library to the latest version.

Gson library

Updated the Google Gson library to the latest version.

QuickBooks Java SDK V2.9.4

Date: June 23, 2017

Overview

  • Added query parameters to ReportService

Details

Added query parameters to ReportService

Added several query parameters to the SDK implementation of ReportService.

QuickBooks Java SDK V2.9.3

Date: June 20, 2017

Overview

  • Minor versions 9, 10, and 11 support

Details

Minor versions 9, 10, and 11 support

Added support for minor versions 9, 10, and 11.

XSDs:

If no version is specified, minor version 11 is used by default.

QuickBooks Java SDK V2.9.2

Date: May 25, 2017

Overview

  • Query support for additional resources
  • Check for additional slash at the end of the BaseURL

Details

Query support for additional resources

Added query support for the Budget, CompanyCurrency, and ExchangeRate resources.

Check for additional slash at the end of the BaseURL

Added a check for a slash character (/) at the end of the BaseURL in the config file. If a slash is found, it is removed. Previously, if the URL included a slash to the end of the URL, API calls failed because the URL contained two slashes (//)—for example, https://sandbox-quickbooks.api.intuit.com/v3/company//<company id>/customer.

QuickBooks Java SDK V2.9.1

Date: May 8, 2017

Overview

  • Columns support in query parameter of ReportService
  • Trim spaces at end of tokes to prevent errors
  • Jackson library update

Details

Columns support in query parameter of ReportService

Added support for columns in the query parameter of ReportService.

Trim spaces at end of tokens to prevent errors

Consumer keys and OAuth tokens are now proactively trimmed to prevent 401 errors if trailing spaces occur in the property file.

Jackson library update

Updated the Jackson library to 2.8.8, the latest stable version.

Java SDK V2.9.0

Date: February 6, 2017

Overview

  • JSON serialization support for TaxApplicableOnEnum
  • Report date support in the ReportService class
  • Minor version 8 default
  • Class library support for Apache HttpClient 4.x
  • Documentation improvements

Details

JSON serialization support for TaxApplicableOnEnum

Added the TaxApplicableOnEnumJsonSerializer class to support JSON serialization for TaxApplicableOnEnum.

Report date support

Added support for the report date in the ReportService class.

Minor version 8 default

Updated the SDK to use minor version 8 as the default version.

Class library support for Apache HttpClient 4.x

Updated the class library to support new classes and methods in the Apache HttpClient4.x library, and removed references to deprecated classes and methods.

Documentation improvements

Major documentation improvements were made to the Quick Start, Configuration, and Installation pages.

QuickBooks Java SDK V2.8.0

Date: December 21, 2016

Overview

  • QuickBooks Desktop code
  • AuthorizationFault response
  • HttpClient library
  • disconnect and reconnect methods
  • findAll() method description

Details

QuickBooks Desktop code

Removed obsolete QuickBooks Desktop code.

AuthorizationFault response

Updated HandleResponseInterceptor to throw an AuthorizationException if an AuthorizatonFault error occurs.

HttpClient library

Updated the HttpClient library to maintain compatibility with the Platform API.

disconnect and reConnect methods

Updated the SDK to support the disconnect and reConnect endpoints so that they return a response for the Platform API. For example, the following code disconnects a user from an app:

IAPlatformClient platformClient = new IAPlatformClient();
PlatformResponse response = platformClient.disconnect(consumerKey, consumerSecret, accessToken, accessTokenSecret);

The following code reconnects the user:

IAPlatformClient platformClient = new IAPlatformClient();
PlatformResponse response = platformClient.reConnect(consumerKey, consumerSecret, accessToken, accessTokenSecret);

findAll() method description

Updated the findAll() method description in the Java class library reference. Without pagination, this method returns only 100 records. To return additional records, add pagination using the DataService.executeQuery() method of the Query API.

QuickBooks Java SDK V2.7.1

Date: November 28, 2016

Overview

  • Minor version 8 support
  • cc/bcc field support for Invoice and Preferences entities
  • HttpClient 4.5.2 support

Details

Minor version 8

Added support for minor version 8. Latest XSD: V3 minor version 8

cc and bcc fields

Added support for cc and bcc fields in the Invoice and Preferences entities.

HttpClient 4.5.2

Updated the class library to support Apache HttpClient 4.5.2.

QuickBooks Java SDK V2.6.0

Date: October 14, 2016

Overview

  • Webhooks support
  • Error code 429

Details

Webhooks

Added support for Webhooks helpers using the WebhooksService class.

Error Code 429

Added support in preparation for Error Code 429. When this feature is implemented, applications making more than 10 concurrent or multi-threaded API requests to the same realmId will get a 429 response: HTTP/1.1 429 Too Many Requests.

Resolved issues

Reference
Number

Entity

 

SDK-405TaxAgencyAdded support for TaxAgency Create and Query calls using JSON serialization.
SDK-419JournalEntryUpdated TaxApplicableOnEnum fromValue() method to allow case-insensitive matching.

QuickBooks Java SDK V2.5.0

Date: May 18, 2016

Overview

Details

Minor version 5

Includes all previous minor version items plus, for the France locale, adds support for the following:

Account resource:

  • TxnLocationType attribute, used to define location of an Account object.
  • AccountAlias attribute, used to define a user-friendly account name.

Customer and Vendor resources:

  • include=updateaccountontxns query parameter is supported for Customer and Vendor objects. Use this parameter on Customer and Vendor update endpoints to trigger a ripple update of account information in transactions when Customer.ARAccountRef or Vendor.APAccountRefis updated.

Item resource:

  • include=donotupdateaccountontxns query parameter for Item objects to inhibit updating income or expense account on any existing transactions associated with the Item object.

QuickBooks Online endpoints are now invoked with minorversion=5 by default. For minor version 5, the Type field in the Item entity is required. To avoid this validation, use minor version 3. For information on how to set the minor version, see Configuration.

QuickBooks Java SDK V2.4.0

Date: September 28, 2015

Overview

  • General features
  • Voiding transactions
  • Viewing transactions as PDF
  • Sending transactions as email
  • Minor version 3 and 4 support

Details

General features

  • Support for the Transfer entity with create, read, update, query, and delete operations.
  • Support for the Deposit entity with create, read, update, query, and delete operations.
  • The Bill entity now supports linking its total payment to the corresponding BillPayment entity via the Bill.LinkedTxn attribute. For complete details, consult Bill in the QuickBooks Online API reference.
  • Support for TaxService resource to create TaxRate and TaxCode objects.
  • Support for multiple file upload.

​Voiding transactions

Support for transaction voids with SalesReceipt and Payment objects with payment type of Cash or Check, only. To void a transaction, use the dataService.voidRequest() method. The transaction remains active but all amounts and quantities are zeroed and the string, Voided, is injected into the PrivateNote field, prepended to existing text if present.

Viewing as PDF

Support for viewing the PDF of an object for Invoice, Estimate, and SalesReceipt objects. To view a PDF, use the dataService.downloadPDF() method. Export the response body as an Adobe Portable Document Format file.

Sending email

Support for sending an object via email for Invoice, Estimate, and SalesReceipt objects. To send email, use the dataService.sendEmail() method.

Once email is sent, the following actions happen:

  • The Estimate.EmailStatus parameter is set to EmailSent
  • The Estimate.DeliveryInfo sub-entity is populated with sending information:
"DeliveryInfo": 
{
     "DeliveryType": "Email",
     "DeliveryTime": "2015-03-26T14:05:31-07:00"
 }

Minor version 3

Includes all minor version 1 and minor version 2 items, plus the addition of the following:

Reports APIs:

  • Reports API response for General Ledger report hierarchy is broken in certain circumstances when there are sub accounts configured in the QuickBooks company.

Transaction entities:

  • HomeBalance field to track transaction balance in home currency. Available with bill, creditmemo, invoice, refundreceipt, and salesreceipt.
  • GlobalTaxCalculation attribute for Deposit entity.
  • TaxCodeRef attribute for Account entity.
  • For India locales: Sales tax enhancements.
  • For France locales: New JournalCode resource, Item.ItemCategoryType, new Vendor fields, new Customer fields.
  • Account.TaxCodeRef attribute to specify the default tax code used for the account—available for global locales, only.

QuickBooks Online endpoints are now invoked with minorversion=3 by default. See Minor versions for more information.

XSD: V3 minor version 3

Minor version 4

Includes all minor version 1, minor version 2, and minor version 3 items, plus the addition of the following:

In support of enhanced inventory, the following are added to the Item resource:

  • Item.Sku attribute.
  • NonInventory to list of valid Item.Type selections.

XSD: V3 minor version 4

The SDK comes preconfigured to use minor version 3. In order to access these features, specify minor version 4 in the service context.

   Context context = new Context(oauth, appToken, type, realmID);
   context.setMinorVersion("4");

Resolved issues

Reference
Number

Entity

 

SDK-204
SDK-275

All transaction entitiesThe Amount attribute serialized incorrectly from request payloads.
SDK-23
SDK-122
N/AThe Time attribute deserialized incorrectly in response payloads.
SDK-22N/AFixed issues with disconnect() and reConnect()connection management methods.
N/AN/AAdded a null check for getElement before adding it to the error message string.
N/AN/AClean up invalid characters from XML payloads.

Overview

  • Query support for additional resources
  • Check for additional slash at the end of the BaseURL

Details

Query support for additional resources

Added query support for the Budget, CompanyCurrency, and ExchangeRate resources.

Check for additional slash at the end of the BaseURL

Added a check for a slash character (/) at the end of the BaseURL in the config file. If a slash is found, it is removed. Previously, if the URL included a slash to the end of the URL, API calls failed because the URL contained two slashes (//)—for example, https://sandbox-quickbooks.api.intuit.com/v3/company//<company id>/customer.

QuickBooks Java SDK V2.9.1

Date: May 8, 2017

Overview

  • Columns support in query parameter of ReportService
  • Trim spaces at end of tokes to prevent errors
  • Jackson library update

Details

Columns support in query parameter of ReportService

Added support for columns in the query parameter of ReportService.

Trim spaces at end of tokens to prevent errors

Consumer keys and OAuth tokens are now proactively trimmed to prevent 401 errors if trailing spaces occur in the property file.

Jackson library update

Updated the Jackson library to 2.8.8, the latest stable version.

Java SDK V2.9.0

Date: February 6, 2017

Overview

  • JSON serialization support for TaxApplicableOnEnum
  • Report date support in the ReportService class
  • Minor version 8 default
  • Class library support for Apache HttpClient 4.x
  • Documentation improvements

Details

JSON serialization support for TaxApplicableOnEnum

Added the TaxApplicableOnEnumJsonSerializer class to support JSON serialization for TaxApplicableOnEnum.

Report date support

Added support for the report date in the ReportService class.

Minor version 8 default

Updated the SDK to use minor version 8 as the default version.

Class library support for Apache HttpClient 4.x

Updated the class library to support new classes and methods in the Apache HttpClient4.x library, and removed references to deprecated classes and methods.

Documentation improvements

Major documentation improvements were made to the Quick start, Configuration, and Installation pages.

QuickBooks Java SDK V2.8.0

Date: December 21, 2016

Overview

  • QuickBooks Desktop code
  • AuthorizationFault response
  • HttpClient library
  • disconnect and reconnect methods
  • findAll() method description

Details

QuickBooks Desktop code

Removed obsolete QuickBooks Desktop code.

AuthorizationFault response

Updated HandleResponseInterceptor to throw an AuthorizationException if an AuthorizatonFault error occurs.

HttpClient library

Updated the HttpClient library to maintain compatibility with the Platform API.

disconnect and reConnect methods

Updated the SDK to support the disconnect and reConnect endpoints so that they return a response for the Platform API. For example, the following code disconnects a user from an app:

IAPlatformClient platformClient = new IAPlatformClient();
PlatformResponse response = platformClient.disconnect(consumerKey, consumerSecret, accessToken, accessTokenSecret);

The following code reconnects the user:

IAPlatformClient platformClient = new IAPlatformClient();
PlatformResponse response = platformClient.reConnect(consumerKey, consumerSecret, accessToken, accessTokenSecret);

findAll() method description

Updated the findAll() method description in the Java class library reference. Without pagination, this method returns only 100 records. To return additional records, add pagination using the DataService.executeQuery() method of the Query API.

QuickBooks Java SDK V2.7.1

Date: November 28, 2016

Overview

  • Minor version 8 support
  • cc/bcc field support for Invoice and Preferences entities
  • HttpClient 4.5.2 support

Details

Minor version 8

Added support for minor version 8. Latest XSD: V3 minor version 8

cc and bcc fields

Added support for cc and bcc fields in the Invoice and Preferences entities.

HttpClient 4.5.2

Updated the class library to support Apache HttpClient 4.5.2.

QuickBooks Java SDK V2.6.0

Date: October 14, 2016

Overview

  • Webhooks support
  • Error code 429

Details

Webhooks

Added support for Webhooks helpers using the WebhooksService class.

Error Code 429

Added support in preparation for Error Code 429. When this feature is implemented, applications making more than 10 concurrent or multi-threaded API requests to the same realmId will get a 429 response: HTTP/1.1 429 Too Many Requests.

Resolved issues

Reference
Number

Entity

 

SDK-405TaxAgencyAdded support for TaxAgency Create and Query calls using JSON serialization.
SDK-419JournalEntryUpdated TaxApplicableOnEnum fromValue() method to allow case-insensitive matching.

QuickBooks Java SDK V2.5.0

Date: May 18, 2016

Overview

Details

Minor version 5

Includes all previous minor version items plus, for the France locale, adds support for the following:

Account resource:

  • TxnLocationType attribute, used to define location of an Account object.
  • AccountAlias attribute, used to define a user-friendly account name.

Customer and Vendor resources:

  • include=updateaccountontxns query parameter is supported for Customer and Vendor objects. Use this parameter on Customer and Vendor update endpoints to trigger a ripple update of account information in transactions when Customer.ARAccountRef or Vendor.APAccountRefis updated.

Item resource:

  • include=donotupdateaccountontxns query parameter for Item objects to inhibit updating income or expense account on any existing transactions associated with the Item object.

QuickBooks Online endpoints are now invoked with minorversion=5 by default. For minor version 5, the Type field in the Item entity is required. To avoid this validation, use minor version 3. For information on how to set the minor version, see Configuration.

QuickBooks Java SDK V2.4.0

Date: September 28, 2015

Overview

  • General features
  • Voiding transactions
  • Viewing transactions as PDF
  • Sending transactions as email
  • Minor version 3 and 4 support

Details

General features

  • Support for the Transfer entity with create, read, update, query, and delete operations.
  • Support for the Deposit entity with create, read, update, query, and delete operations.
  • The Bill entity now supports linking its total payment to the corresponding BillPayment entity via the Bill.LinkedTxn attribute. For complete details, consult Bill in the QuickBooks Online API reference.
  • Support for TaxService resource to create TaxRate and TaxCode objects.
  • Support for multiple file upload.

​Voiding transactions

Support for transaction voids with SalesReceipt and Payment objects with payment type of Cash or Check, only. To void a transaction, use the dataService.voidRequest() method. The transaction remains active but all amounts and quantities are zeroed and the string, Voided, is injected into the PrivateNote field, prepended to existing text if present.

Viewing as PDF

Support for viewing the PDF of an object for Invoice, Estimate, and SalesReceipt objects. To view a PDF, use the dataService.downloadPDF() method. Export the response body as an Adobe Portable Document Format file.

Sending email

Support for sending an object via email for Invoice, Estimate, and SalesReceipt objects. To send email, use the dataService.sendEmail() method.

Once email is sent, the following actions happen:

  • The Estimate.EmailStatus parameter is set to EmailSent
  • The Estimate.DeliveryInfo sub-entity is populated with sending information:
"DeliveryInfo": 
{
     "DeliveryType": "Email",
     "DeliveryTime": "2015-03-26T14:05:31-07:00"
 }

Minor version 3

Includes all minor version 1 and minor version 2 items, plus the addition of the following:

Reports APIs:

  • Reports API response for General Ledger report hierarchy is broken in certain circumstances when there are sub accounts configured in the QuickBooks company.

Transaction entities:

  • HomeBalance field to track transaction balance in home currency. Available with bill, creditmemo, invoice, refundreceipt, and salesreceipt.
  • GlobalTaxCalculation attribute for Deposit entity.
  • TaxCodeRef attribute for Account entity.
  • For India locales: Sales tax enhancements.
  • For France locales: New JournalCode resource, Item.ItemCategoryType, new Vendor fields, new Customer fields.
  • Account.TaxCodeRef attribute to specify the default tax code used for the account—available for global locales, only.

QuickBooks Online endpoints are now invoked with minorversion=3 by default. See Minor versions for more information.

XSD: V3 minor version 3

Minor version 4

Includes all minor version 1, minor version 2, and minor version 3 items, plus the addition of the following:

In support of enhanced inventory, the following are added to the Item resource:

  • Item.Sku attribute.
  • NonInventory to list of valid Item.Type selections.

XSD: V3 minor version 4

The SDK comes preconfigured to use minor version 3. In order to access these features, specify minor version 4 in the service context.

   Context context = new Context(oauth, appToken, type, realmID);
   context.setMinorVersion("4");

Resolved issues

Reference
Number

Entity

 

SDK-204
SDK-275

All transaction entitiesThe Amount attribute serialized incorrectly from request payloads.
SDK-23
SDK-122
N/AThe Time attribute deserialized incorrectly in response payloads.
SDK-22N/AFixed issues with disconnect() and reConnect() connection management methods.
N/AN/AAdded a null check for getElement before adding it to the error message string.
N/AN/AClean up invalid characters from XML payloads.

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.