PHP SDK release notes

Note

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

QuickBooks PHP SDK V4.0.6.1

Date: March 23, 2018

Overview

  • Fixed typo 

Details

QuickBooks PHP SDK V4.0.6

Date: March 23, 2018

Overview

  • Updates to implement method chaining of non-static setters

Details

Updates to implement method chaining of non-static setters

QuickBooks PHP SDK V4.0.5

Date: March 12, 2018

Overview

  • OAuth2LoginHelper no longer required to get the refresh token
  • DownloadPDF() can now accept directory as parameter
  • Pagination information can now be included as a query parameter

Details

OAuth2LoginHelper no longer required to get the refresh token

  • OAuth2LoginHelper is no longer required to get the refresh token from the DataService object. You can now use the refreshAccessTokenWithRefreshToken() method.

DownloadPDF() can now accept the directory as parameter

  • For endpoints that support PDF downloads, you can manually pass the download directory to the DownloadPDF() function or specify it in the sdk.config file.

Pagination information can now be passed as query parameter

  • Pagination information can now be included as an additional query parameter.

QuickBooks PHP SDK V4.0.4

Date: March 7, 2018

Overview

  • Support for additional minor versions
  • Support for OAuth migration
  • Fixed Report service issue

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).

Fixed Report service issue

  • Fixed an issue that caused an error in Report service (issue 123).

Hotfix for Batch API requests

Date: February 14, 2018

Overview

  • Support for additional minor versions
  • Updates for Batch API requests

Details

Support for additional minor versions

Updates for Batch API requests

QuickBooks PHP SDK V4.0.1

Date: November 22, 2017

Overview

  • Resolved issues

Details

Resolved issues

  • Added PartnerTaxEnabled to the IppTaxPrefs class (see issue 86).
  • Fixed SSL verification using a custom certificate for GuzzleHttpClient (issue 90).
  • Removed closing tags to conform to PSR-2 guidelines (issue 92).
  • Fixed error in the DataSevice class that forced OAuth2 protocol (issue 93).

QuickBooks PHP SDK V4.0.0

Date: November 14, 2017

Overview

  • Updated OAuth2LoginHelper class
  • Updated code samples
  • Resolved issues

Details

Updated OAuth2LoginHelper class

Updated the OAuth2LoginHelper class to support getAuthorizationCodeURL(), exchangeAuthorizationCodeForToken(), and revokeToken() methods.

Updated code samples

Updated code samples to reflect changes in SDK code.

Resolved issues

  • Fixed issue that caused the XML attribute name not to display in the object when converting from XML (see issue 38).
  • Changed the FindById() implementation for Company and CompanyInfo in the DataService class (issue 39).
  • Updated the Upload() method in the DataService class to include additional attachments (issue 43).
  • Updated download capabilities in the DataService class (issue 51).
  • Added the RevokeToken() method to the OAuth2LoginHelper class (issue 60).
  • Revised the process for getting the access token from authorization code (issue 62).
  • Fixed issue that caused the last error not to be cleared after each API call (issue 72).
  • Fixed issue that caused OAuth 2.0 token refresh to fail if the access token was valid but expired (issue 79).

QuickBooks PHP SDK V3.4.0

Date: August 16, 2017

Overview

  • OAuth 2.0 token refresh method
  • Code samples
  • Resolved issues

Details

OAuth 2.0 token refresh method

Added refreshToken() method to refresh the OAuth 2.0 token.

Code samples

Updated and added code samples.

Resolved issues

  • Fixed an SSL certificate issue that caused an SdkException cURL error when making an API call using cURL.
  • Fixed an issue that caused a DateTime object to be handled incorrectly.
  • Fixed an issue that caused an error when updating preferences.

QuickBooks PHP SDK V3.3.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 PHP SDK V3.2.6

Date: July 10, 2017

Overview

  • Facade class update
  • Added Intuit errors
  • Additional samples
  • Default minor version update
  • Resolved issue

Details

Facade class update

The Facade class members can now accept objects as a reference in the input array. For more information, see Quick start.

Added Intuit errors

Added Intuit errors to the FaultHandler class.

Additional samples

Added new samples to the _Samples folder.

Default minor version update

Updated the default minor version to version 8.

Resolved issue

Fixed PlatformService call, which in some cases caused a "Fails with Error code 22, "Authentication required"" error.

QuickBooks PHP SDK V3.2.5

Date: June 19, 2017

Overview

  • IPP default URL

Details

IPP default URL

Set the IPP default value for the Platform REST Service to "https://appcenter.intuit.com/api/".

QuickBooks PHP SDK V3.2.4

Date: June 15, 2017

Overview

  • OAuth PECL OAuth extension requirement
  • Minor version 8 support
  • Line facade support
  • Additional samples
  • FaultHandler update

Details

OAuth PECL OAuth extension requirement

The PHP PECL OAuth 1.2.3 extension requirement has been removed. This is a requirement for PHP SDK versions earlier than 3.2.4.

Minor version 8 support

Added support for minor version 8.

Line facade support

The Line class is provided as an easy way to construct Line items for high usage of Line objects. Line is not a QuickBooks Online API endpoint entity. For more information, see Creating and updating resources.

Additional samples

New samples were added to the _Samples folder.

FaultHandler update

The FaultHandler is now cleared whenever a new request is sent.

QuickBooks PHP SDK V3.2.3

Date: May 17, 2017

Overview

  • Write execution log

Details

Write execution log

Fixed a bug in the write execution log.

QuickBooks PHP SDK V3.2.2

Date: May 16, 2017

Overview

  • Samples update for facade classes
  • Check for missing "/" at the end of BaseURL
  • Ping method for testing OAuth configuration
  • Default minor version update
  • Zend logger registration

Details

Samples update for facade classes

Updated the samples to use the facade classes.

Check for missing "/" at the end of BaseURL

Added a check for missing "/" at the end of the BaseURL. If inadvertently omitted, the character is appended.

Ping method for testing OAuth configuration

Added a ping method, called getCompanyInfo(), for testing your OAuth configuration. For more information see Testing your OAuth settings in the Quick Start.

Default minor version update

Updated the default minor version to version 4.

Zend logger registration

Updated the code to ensure that the Zend logger is registered.

QuickBooks PHP SDK V3.2.0

Date: May 9, 2017

Overview

  • Facade classes for additional entities

Details

Facade classes for additional entities

Beginning with PHP SDK 3.2.0, facade classes are available to create objects from an array for the following additional entities:

  • Account
  • Bill
  • BillPayment
  • Class
  • CompanyCurrency
  • CreditMemo
  • Customer
  • Department
  • Deposit
  • Employee
  • Estimate
  • Invoice
  • Item
  • JournalEntry
  • Payment
  • Purchase
  • PurchaseOrder
  • RefundReceipt
  • SalesReceipt
  • TimeActivity
  • Transfer
  • VendorCredit

For more information, see Quick start.

QuickBooks PHP SDK V3.1.0

Date: May 3, 2017

Overview

  • Object creation from array

Details

Object creation from array

Beginning with PHP SDK 3.1.0, facade classes are available to create objects from an array for the following entities:

    • Invoice
    • Bill
    • SalesReceipt

    For more information, see Quick start.

    QuickBooks PHP SDK V3.0.2

    Date: April 21, 2017

    Overview

    • Open source support
    • Changes to authorization procedure
    • New method for setting minor version
    • New method for setting log location
    • Support for PHP 5.6
    • Documentation enhancements
    • Resolved issues

    Details

    Open source support

    The PHP SDK is now available as open source and is installed using Composer Dependency Manager. The open source code can be found here. To install the SDK, see Install the PHP SDK.

    Changes to authorization procedure

    Authorization for the version 3.0 SDK requires a different authorization process. For information on how to implement OAuth, see Authorization.

    New method added for setting minor version

    The PHP SDK now includes a new method, setMinorVersion, for setting the minor version. See Configuration.

    New method for setting log location

    The PHP SDK now includes a new method, setLogLocation, for setting the minor version. See Configuration.

    Support for PHP 5.6

    The PHP SDK now supports PHP 5.6.

    Documentation Enhancements

    The Quick start now includes several enhancements, including sample code snippets. Also significant updates and revisions have been made to the Install the PHP SDK, Authorization, and Configuration pages.

    Resolved issues

    Entity

    Description

    ExceptionFixed issue that caused an Exception not found error due to a missing class declaration.
    ReportFixed issue in the Report service where a report returned an empty body when the response was not empty.

    QuickBooks PHP SDK V2.6.0

    Date: December 12, 2016

    Overview

    • Enhanced error handling

    Details

    Enhanced error handling

    • Added new exception handling capability, including for HTTP status codes at 3xx-5xx level.
    • Added check for OAuth installation. If OAuth is not installed when a request is sent, the following exception is generated: "The PHP extension OAuth 1.2.3 must be installed to use this library.”
    • Updated exceptions to match PHP 5.6 standards.

    QuickBooks PHP SDK V2.5.0

    Date: October 20, 2016

    Overview

    • Webhooks support
    • Resolved issues

    Details

    Webhooks support

    Added payload validation and deserialization support for webhook events. Learn more about webhooks here.

    Resolved issues

    Reference
    Number

    Entity

    Description

    SDK-326N/AFixed the issue that caused the SDK not to serialize Select count(*) responses correctly.

    QuickBooks PHP SDK V2.4.1

    Date: June 6, 2016

    Overview

    In the sdk.config file provided with the PHP SDK, the OAuthSSL check is now enabled by default. The OAuthSSL check causes a failure under several different conditions: if the SSL peer certificate and host do not support single sign-on with OAuth, if the host certificate is self-signed and using a proxy between the application server and QuickBooks endpoints, or if the application server does not have a valid certificate.

    Details

    If you want to switch off the OAuthSSL check, which is not recommended in production environments, there are two options. To disable the OAuthSSL check for all calls, set its value to "false" in the sdk.config file.

    <intuit>
    <ipp>
    <security mode="OAuth">
    <!--OAuth key set to connect to Intuit Data Services-->
    <oauth consumerKey="" consumerToken="" accessKey="" accessToken="" />
    <OAuthSSL check ="false"/>
    </security>
    </ipp>
    </intuit>

    As a second option, if you prefer to programmatically override the configuration file at runtime, you can use a ServiceContextproperty called IppConfigurationto disable it, as follows:

    context->disableSSlCheck();
    

    QuickBooks PHP SDK V2.4.0

    Date: May 17, 2016

    Overview

    • Minor version 5 support

    Details

    General features

    • Support for the Transfer resource with create, read, update, query, and delete operations.
    • Support for the Deposit resource with create, read, update, query, and delete operations.

    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 PHP SDK V2.3.1

    Date: February 29, 2016

    Overview

    This release contains a minor security fix. Previously, in the sdk.config file provided with the PHP SDK, the OAuthSSL check was disabled. In this release, the OAuthSSL check is enabled. The OAuthSSL check causes a failure under several different conditions: if the SSL peer certificate and host do not support single sign-on with OAuth, if the host certificate is self-signed and using a proxy between the application server and QuickBooks endpoints, or if the application server does not have a valid certificate.

    Details

    If you want to switch off the OAuthSSL check, which is not recommended in production environments, there are two options. To disable the OAuthSSL check for all calls, set its value to "false" in the sdk.config file.

    <intuit>
        <ipp>
            <security mode="OAuth">
                <!--OAuth key set to connect to Intuit Data Services-->
                <oauth consumerKey="" consumerToken="" accessKey="" accessToken="" />
                <OAuthSSL check ="false"/>
            </security>
        </ipp>
    </intuit>

    As a second option, if you prefer to programmatically override the configuration file at runtime, you can use a ServiceContextproperty called IppConfigurationto disable it, as follows:

    context->disableSSlCheck();

    QuickBooks PHP SDK V2.3.0

    Date: December 10, 2015

    Overview

    • QuickBooks Reports API support added.

    Details

    Consult the list below for supported report endpoints in this release. Learn how to invoke report endpoints with the PHP SDK here. See Run reports for details on reports.

    • AP Aging Summary
    • AP Aging Detail
    • AR Aging Summary
    • Balance Sheet
    • Statement of Cash Flow
    • Sales by Class
    • Customer Balance
    • Customer Income
    • Sales by Customer
    • Sales by Department
    • General Ledger Detail
    • Inventory Valuation Summary
    • Sales by Product
    • Profit and Loss
    • Trial Balance
    • Vendor Balance
    • Expenses by Vendor
    • Vendor Balance Detail

    Resolved issues

    Reference
    Number

    Entity

     

    SDK-331Bill/BatchWhen creating a multi-line Bill object via batch mode, the request payload was incorrectly generated.

    QuickBooks PHP SDK V2.2.0

    Date: September 28, 2015

    Overview

    • Minor version 3 and 4 support

    Details

    Minor version 3

    Includes all minor version 1 and minor version 2 items, plus the addition of the following for 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.

    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.

    The SDK comes preconfigured to use minor version 3. In order to take advantage of these features, you must manually configure the SDK for minor version 4.

        <configuration>   
            <intuit>
                <ipp>
                    <!— ... other settings appear here  ... —>
                    <minorVersion>4</minorVersion>
                    </ipp>
                </intuit>   
            <appSettings>       
                <!— ... oAuth tokens etc  ... —>
                </appSettings>
        </configuration>
    

    Resolved issues

    Reference
    Number

    Entity

     

    SDK-279N/AInconsistencies in the ReadMe.txt file corrected: version number and folder structure.

    QuickBooks PHP SDK V2.1.0

    Date: July 20, 2015

    Overview

    • New entity features
    • Minor version 2 support
    • Resolved issues

    Details

    New entity features

    • TaxService entity added. Provides ability to create TaxCode and TaxRate objects.
    • Email operation for Invoice, Estimate and SalesReceipt objects with the POST operation, send. The format of the email content is dependent on the user's company settings.
    • Void operation for SalesReceipt and Payment objects with payment type of Cash or Check, only.
    • Viewing the PDF for Invoice, Estimate and SalesReceipt objects with the GET operation, pdf.​Added capability to export the PDF to a defined directory.
    • The Bill entity now supports linking its total payment to the corresponding BillPayment entity via the Bill.LinkedTxn attribute.

    Minor version 2

    Transaction entities:

    • Transaction tax type as defined in company setting is now used instead of always defaulting toExclusive.
      Note: This change is only applicable to global companies.

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

    Resolved issues

    Reference
    Number

    Entity

     

    SDK-37

    Batch
    CDC

    Exception handling had an undefined variable and was throwing meaningless exceptions.
    SDK-38CDCDate strings were not URL encoded for change data capture (CDC) operations.
    SDK-40BatchBatch item Id attribute (bId) was not populated correctly.
    SDK-42BatchBatch response now contains a description of the fault instead of no information.
    SDK-78InvoiceA CheckNullResponseAndThrowException exception was thrown when a line amount was specified as 0.
    SDK-142N/AApp.Config file was not found when trying to run PHP scripts in the _Samples folder.
    SDK-146N/A

    Users would receive this message:

    Non-static method XmlObjectSerializer::getXmlFromObj() should not be called statically.


    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.