JDBC Driver for QuickBooks Online

Build 25.0.9434

Changelog

General Changes

DateBuild
Number
Change
Type
Description
10/17/20259421QuickBooks OnlineChanged
  • API limit for embedded credentials has been enabled, restricting users to 5,000 API calls per month.
  • The default embedded OAuth credentials have been replaced. The driver now uses a new embedded OAuth application with updated default Client ID and Client Secret values. The previously embedded OAuth credentials are no longer used by default.
10/06/20259410GeneralAdded
  • Support for parsing datetime formats using ".S" and ",S" for milliseconds and nanoseconds.
10/01/20259405JDBCAdded
  • Added the following methods to the cdata.jdbc.quickbooksonline.QuickBooksOnlineDriver class. If you pass these methods an exception with no error records, an InvalidArgumentException is thrown.
    • containsErrorSource: Returns true if the exception contains an error record for the provided source name, or false if otherwise.
    • getErrorCodeFromSource: Returns the numeric error code from the error record with the given source, or -1 if there is no error record from that source.
    • containsErrorCode: Returns true if the exception contains an error record with the provided error code, or false otherwise.
    • findErrorProperty: Returns the value of the property with the given name, or null if no property with that name is defined.
    • formatErrorRecords: Returns a string containing all the exception's error records. Includes the messages, codes, properties, and error location for each record.
09/15/20259389QuickBooks OnlineAdded
  • Added the AllowDuplicateDocNumber connection property.

Removed
  • Removed the duplicate IsProject field from the Customers table, and the duplicate SalesFormsPrefs_EstimateMessage field from the Preferences table.
09/12/20259386GeneralAdded
  • Added the IsInsertable, IsUpdateable, and IsDeleteable columns to the sys_tables table.
09/10/20259384GeneralChanged
  • All columns in statically defined Views are now reported as read-only.
09/03/20259377GeneralChanged
  • Corrected the behavior when IN criteria with NULL values are used in the projection part. It now returns NULL instead of 0. For example, "NULL IN (1,2)" returns "NULL".
09/01/20259375GeneralAdded
  • Added support for using the CAST function with infinity values. This function can cast "inf" and "-inf" to DOUBLE, FLOAT, or REAL.
08/29/20259372QuickBooks OnlineAdded
  • Added the CreateReportSchema and GetReport stored procedures.
08/21/20259364GeneralChanged
  • Report behavior change:
    • Fixed inconsistent string value comparisons in non-table queries.
    • For example, "SELECT 'A' = 'a'" previously returned false, but it now returns true.
08/16/20259359QuickBooks OnlineChanged
  • Changed the following reports to JSON from XML: APAgingDetail, APAgingSummary, ARAgingDetail, ARAgingSummary, SheetDetail, SheetSummary, CustomerBalanceDetail, CustomerBalance, CustomerIncome, CustomerSales, ExpensesByVendor, GeneralLedgerDetail, CreateInventoryValuationDetail, InventoryValuationSummary, SalesByClass, SalesByDepartment, SalesByProduct, StatementOfCashFlow, TaxSummary, TransactionList, TransactionListWithSplits, TrialBalance, VendorBalanceDetail, VendorBalance.
08/13/20259356GeneralChanged
  • Changed the maximum number of pages held in memory from 15 to 5 for the page providers to decrease heap usage.
07/25/20259337QuickBooks OnlineAdded
  • Added the ReimburseCharges view.
07/22/20259334QuickBooks OnlineAdded
  • Added the NoRefOnly, Inactive, and CustomFields columns to the AttachableRefs table.
  • Added the LineNum, LinkedTxnAggregate, Line_ItemBasedExpenseLineDetail_TaxInclusiveAmt, Line_ItemBasedExpenseLineDetail_MarkUpIncomeAccountRef, and Line_ItemBasedExpenseLineDetail_PriceLevelRef columns to the BillLineItems table.
  • Added the Line_LinkedTxn_TxnLineId column to the BillPaymentLineItems table.
  • Added the RecurDataRef and IncludeInAnnualTPAR columns to the Bills table.
  • Added the PrivateNote, VendorRef, Memo, PrintStatus, and CheckNum columns to the CreditCardPayments table.
  • Added the InvoiceRef, ProjectRef, PaymentMethodRef, HomeBalance, RecurDataRef, TaxExemptionRef, and Balance columns to the CreditMemos table.
  • Added the GSTIN, BusinessNumber, GSTRegistrationType, Source, and IsProject columns to the Customers table.
  • Added the SyncToken column to the CustomerTypes table.
  • Added the TxnSource, RecurDataRef, and HomeTotalAmt columns to the Deposits table.
  • Added the PrimaryPhone, CostRate, and V4IDPseudonym columns to the Employees table.
  • Added the ProjectRef, RecurDataRef, TaxExemptionRef, FreeFormAddress, ShipAddr_Id, ShipAddr_Line1, ShipAddr_Line2, ShipAddr_Line3, ShipAddr_Line4, ShipAddr_Line5, ShipAddr_City, ShipAddr_Country, ShipAddr_CountrySubDivisionCode, ShipAddr_Lat, ShipAddr_PostalCode, and ShipAddr_Long columns to the Estimates table.
  • Added the SyncToken, Metadata_CreateTime, and CustomField columns to the ExchangeRates table.
  • Added the ProjectRef (MinorVersion 69), RecurDataRef, TaxExemptionRef, FreeFormAddress, and HomeBalance columns to the Invoices table.
  • Added the ItemCategoryType, Source, AbatementRate, UQCDisplayText, UQCId, ReverseChargeRate, and ServiceType columns to the Items table.
  • Added the TaxRateRef, GlobalTaxCalculation, RecurDataRef, and HomeTotalAmt columns to the JournalEntries table.
  • Added the ProjectRef column to the JournalEntryLineItems table.
  • Added the ProjectRef, TxnSource, and TaxExemptionRef columns to the Payments table.
  • Added the ProductAndServicesPrefs_RevenueRecognitionEnabled, ProductAndServicesPrefs_RecognitionFrequencyType, AccountingInfoPrefs_TaxForm, SalesFormsPrefs_SalesEmailBcc, SalesFormsPrefs_SalesEmailCc, SalesFormsPrefs_UsingProgressInvoicing, SalesFormsPrefs_EmailCopyToCompany, SalesFormsPrefs_UsingPriceLevels, SalesFormsPrefs_AutoApplyCredit, VendorAndPurchasesPrefs_DefaultMarkupAccount, VendorAndPurchasesPrefs_DefaultTerms, VendorAndPurchasesPrefs_DefaultMarkup, VendorAndPurchasesPrefs_TPAREnabled, TaxPrefs_PartnerTaxEnabled, and TimeTrackingPrefs_UsingSalesTax columns to the Preferences table.
  • Added the POEmail (Vendor Email attribute) and EmailStatus columns to the PurchaseOrders table.
  • Added the LinkedTxn, TxnSource, PaymentMethodRef, IncludeInAnnualTPAR, and RecurDataRef columns to the Purchases table.
  • Added the TxnSource, ProjectRef, RecurDataRef, and TaxExemptionRef columns to the RefundReceipts table.
  • Added the TxnSource, ProjectRef, CreditCardPayment (object), HomeBalance, DeliveryInfo (object), RecurDataRef, and FreeFormAddress columns to the SalesReceipts table.
  • Added the TaxAgencyConfig column to the TaxAgency table.
  • Added the Hidden and TaxCodeConfigType columns to the TaxCodes table.
  • Added the TxnDate column to the TaxPayment table.
  • Added the OriginalTaxRate column to the TaxRates table.
  • Added the BreakHours, BreakMinutes, ProjectRef, and TimeChargeId columns to the TimeActivities table.
  • Added the RecurDataRef column to the Transfers table.
  • Added the LinkedTxn, IncludeInAnnualTPAR, Balance, and RecurDataRef columns to the VendorCredits table.
  • Added the APAccountRef, Source, GSTIN, T4AEligible, BusinessNumber, HasTPAR, TaxReportingBasis, CostRate, BillRate, T5018Eligible, GSTRegistrationType, VendorPaymentBankDetail, and TaxSlipType columns to the Vendors table.
07/07/20259319QuickBooks OnlineRemoved
  • Removed columns LinkedTxnAggregate, BillAddr_Note, and DepositToAccountRef, DepositToAccountRef_Name from CreditMemoLineItems.
  • Removed columns BillAddr_Note, DepositToAccountRef, and DepositToAccountRef_Name from CreditMemos.
  • Removed column ShipAddr_Note from Customers.
  • Removed columns ClassRef, ClassRef_Name, and ApplyTaxAfterDiscount from DepositLineItems.
  • Removed columns ClassRef, ClassRef_Name, and ApplyTaxAfterDiscount from Deposits.
  • Removed column PrimaryAddr_Note from Employees.
  • Removed columns BillAddr_Note, ShipAddr_Note, and Balance from EstimateLineItems.
  • Removed columns BillAddr_Note, ShipAddr_Note, and Balance from EstimateLinkedTransactions.
  • Removed columns BillAddr_Note, ShipAddr_Note, and Balance from Estimates.
  • Removed columns TxnStatus, BillAddr_Note, and ShipAddr_Note from InvoiceLineItems.
  • Removed columns TxnStatus, BillAddr_Note, and ShipAddr_Note from InvoiceLinkedTransactions.
  • Removed columns BillAddr_Note and ShipAddr_Note from Invoices.
  • Removed column Time from JournalCode.
  • Removed columns TxnStatus, TxnTaxDetail_TxnTaxCodeRef, TxnTaxDetail_TotalTax, TxnTaxDetail_TaxLineAggregate, RemitToRef, RemitToRef_Name, ARAccountRef, ARAccountRef_Name, CreditCardPayment_Number, CreditCardPayment_Type, CreditCardPayment_CommercialCardCode, CreditCardPayment_CCTxnMode, CreditCardPayment_CCTxnType, and CreditCardPayment_PrevCCTransId from PaymentLineItems.
  • Removed columns TxnStatus, TxnTaxDetail_TxnTaxCodeRef, TxnTaxDetail_TotalTax, TxnTaxDetail_TaxLineAggregate, RemitToRef, RemitToRef_Name, ARAccountRef, ARAccountRef_Name, CreditCardPayment_Number, CreditCardPayment_Type, CreditCardPayment_CommercialCardCode, CreditCardPayment_CCTxnMode, CreditCardPayment_CCTxnType, and CreditCardPayment_PrevCCTransId from Payments.
  • Removed columns Line_ItemBasedExpenseLineDetail_RatePercent and Status from PurchaseLineItems.
  • Removed columns VendorAddr_Note, ShipAddr_Note, and TaxCodeRef from PurchaseOrderLineItems.
  • Removed columns VendorAddr_Note, ShipAddr_Note, and TaxCodeRef from PurchaseOrders.
  • Removed column Status from Purchases.
  • Removed columns BillAddr_Note, ShipAddr_Note, CreditCardPayment_CreditChargeResponse_CCTransId, CreditCardPayment_CreditChargeResponse_AuthCode, CreditCardPayment_CreditChargeResponse_TxnAuthorizationTime, SalesTermRef, SalesTermRef_Name, DueDate, ShipMethodRef, and ShipMethodRef_Name from RefundReceiptLineItems.
  • Removed columns BillAddr_Note, ShipAddr_Note, CreditCardPayment_CreditChargeResponse_CCTransId, CreditCardPayment_CreditChargeResponse_AuthCode, CreditCardPayment_CreditChargeResponse_TxnAuthorizationTime, SalesTermRef, SalesTermRef_Name, DueDate, ShipMethodRef, and ShipMethodRef_Name from RefundReceipts.
  • Removed columns TxnStatus, BillAddr_Note, and ShipAddr_Note from SalesReceiptLineItems.
  • Removed columns TxnStatus, BillAddr_Note, and ShipAddr_Note from SalesReceipts.
  • Removed columns CurrencyRef and CurrencyRef_Name from Transfers.
06/25/20259307GeneralRemoved
  • Removed the "ADLS Gen 1" value from the ConnectionType property.
06/20/20259302GeneralAdded
  • Created the following functions:
    • TEXT_ENCODE: encodes a string into a different charset (UTF8 → UTF7 and returns a binary array as the result).
    • TEXT_DECODE: takes a binary array and decodes it back into a string when provided the charset.
    • BASE64_ENCODE: takes a binary array and encodes it as a base64 string (varchar).
    • BASE64_DECODE: takes a base 64-encoded string and decodes it into a binary array.
06/18/20259300GeneralChanged
  • The internal code for exception handling has been refactored. Exception messages returned during certain error conditions may now have different wording or formatting.
06/18/20259300QuickBooks OnlineChanged
  • Since QuickBooks will deprecate support for minor versions 74 and earlier in the Summer of 2025, we have updated the default minor version we support to version 75 or later.
05/27/20259278GeneralRemoved
  • Removed the "Proprietary" enum option from ProxyAuthscheme.
02/15/20259177GeneralAdded
  • Added support for converting unsigned integer types to the nearest signed data type that has enough precision to hold the unsigned value.This is done for JDBC only because it does not have support for unsigned data types.
01/15/20259146QuickBooks OnlineAdded
  • Added the IncludeUnrealizedGainOrLoss attribute to the following stored procedures: CreateProfitAndLossDetailReport, CreateProfitAndLossSummaryReport, and CreateBalanceSheetSummaryReport.
01/14/20259145QuickBooks OnlineAdded
  • Added the TaxClassification and TaxPayment views.
  • Added the CreateTaxSummaryReport stored procedure.
01/06/20259137QuickBooks OnlineAdded
  • Added the VoidPayment and VoidSalesReceipt stored procedures.
12/27/20249127QuickBooks OnlineAdded
  • Added the ThrowMoreDataError connection property. This property throws an exception if the date range in the report exceeds the allowed range message returned by the API.
11/27/20249097GeneralAdded
  • Added ThreadId to LogModule output. Logfile lines now include the Thread ID associated with the action being performed.
11/04/20249074QuickBooks OnlineAdded
  • Added support for the stored procedure: CreateInventoryValuationDetailReport.
10/16/20249055QuickBooks OnlineAdded
  • Added access to a standard QuickBooks Online report, BalanceSheetDetail.
10/04/20249043QuickBooks OnlineAdded
  • Added the DownloadNote stored procedure.
07/15/20248962QuickBooks OnlineAdded
  • Added the 'Columns' input to the CreateTransactionListWithSplitsReport stored procedure.
05/31/20248917QuickBooks OnlineAdded
  • Added the TransactionTypeId and AccountId columns to the report generated by the CreateJournalReport stored procedure.
05/09/20248895GeneralChanged
  • The ROUND function previously did not accept negative precision values. That feature has now been restored.
03/15/20248840GeneralAdded
  • Created a new SQL function called STRING_COMPARE that provides java's String.compare() ability to SQL queries. Returns a number representative of the compared value of two strings
11/29/20238733GeneralChanged
  • The ROUND function doesn't accept the negative precision values anymore.

Changed
  • The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
  • The return type of the ABS function will be consistent with the parameter value type.
11/28/20238732GeneralAdded
  • Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
10/27/20238700JDBCChanged
  • Added support for Connection.abort() method.
10/26/20238699QuickBooks OnlineAdded
  • Added ReportPrefs_ReportBasis and ReportPrefs_CalcAgingReportFromTxnDate columns to Preferences table.
10/09/20238682QuickBooks OnlineAdded
  • Added ArchiveMode connection property. By default, QuickBooks Online only returns non-deleted records from a SELECT query. With this property set to True, the driver returns records that are marked as deleted in addition to normal records. It's applicable for the following tables: Accounts, Customers, items, Employees, Departments, Class, and PaymentMethods.
07/07/20238588QuickBooks OnlineAdded
  • Added a column Invoice_GroupSalesItemLineAggregate in RecurringInvoiceTransactionsLineItems table.

Added
  • Added a column Purchase_LineId in RecurringPurchaseTransactionsLineItems table.
06/20/20238571GeneralAdded
  • Added the new sys_lastresultinfo system table.
06/16/20238567QuickBooks OnlineAdded
  • Added a column InvoiceLink in Invoices table
05/03/20238523QuickBooks OnlineRemoved
  • Removed India specific fields as QuickBooks Online products are no longer be available in India.
04/25/20238515GeneralRemoved
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
12/14/20228383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
12/08/20228377QuickBooks OnlineAdded
  • Added the WriteToFile parameter in CreateAccountListReport, CreateAPAgingDetailReport, CreateAPAgingSummaryReport, CreateARAgingDetailReport, CreateARAgingSummaryReport, CreateBalanceSheetSummaryReport, CreateCustomerBalanceDetailReport, CreateCustomerBalanceReport, CreateCustomerIncomeReport, CreateCustomerSalesReport, CreateExpensesByVendorReport, CreateGeneralLedgerDetailReport, CreateInventoryValuationSummaryReport, CreateJournalReport, CreateProfitAndLossDetailReport, CreateProfitAndLossSummaryReport, CreateSalesByClassReport, CreateSalesByDepartmentReport, CreateSalesByProductReport, CreateStatementOfCashFlowReport, CreateTransactionListReport, CreateTransactionListWithSplitsReport, CreateTrialBalanceReport, CreateVendorBalanceDetailReport, CreateVendorBalanceReport SP. This defaults to true and must be disabled to write the schema to FileStream or FileData.
10/26/20228334QuickBooks OnlineAdded
  • Added FileData output attribute to print the BASE64 downloaded file content in the CreateAPAgingDetailReport, CreateAPAgingSummaryReport, CreateARAgingDetailReport, CreateARAgingSummaryReport, CreateAccountListReport, CreateBalanceSheetSummaryReport, CreateCustomerBalanceDetailReport, CreateCustomerIncomeReport, CreateCustomerSalesReport, CreateExpensesByVendorReport, CreateGeneralLedgerDetailReport, CreateInventoryValuationSummaryReport, CreateJournalReport, CreateProfitAndLossDetailReport, CreateSalesByClassReport, CreateStatementOfCashFlowReport, CreateTransactionListReport, CreateTransactionListWithSplitsReport, CreateTrialBalanceReport, CreateVendorBalanceDetailReport, CreateVendorBalanceReport schema stored procedure.
10/06/20228314QuickBooks OnlineAdded
  • Added Insert support to the TaxCodes and TaxRates tables.
09/30/20228308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
09/28/20228306QuickBooks OnlineAdded
  • Added FileStream input attribute to add output streams in the CreateJournalReport, CreateProfitAndLossDetailReport, CreateSalesByClassReport, CreateStatementOfCashFlowReport, TransactionListReport, CreateTransactionListWithSplitsReport, CreateTrialBalanceReport, CreateVendorBalanceReport, CreateAccountListReport, CreateAPAgingDetailReport, CreateARAgingDetailReport, CreateBalanceSheetSummaryReport, CreateCustomerBalanceDetailReport, CreateCustomerIncomeReport, CreateCustomerSalesReport, CreateExpensesByVendorReport, CreateGeneralLedgerDetailReport, CreateInventoryValuationSummaryReport schema stored procedure.
09/01/20228279QuickBooks OnlineAdded
  • Added FileStream as an input parameter to support output streams on the DownloadAttachment, and DownloadPDF stored procedures.
  • Added Content as an input parameter to support input streams in the UploadAttachment stored procedures.
08/17/20228264QuickBooks OnlineAdded
  • Added the TaxExemptionReasonId column to the Customers table.
06/11/20228197JDBCChanged
  • The method GetJDBCMinorVersion() and GetJDBCMajorVersion() return 4.2 as the supported JDBC major / minor version.
06/02/20228188QuickBooks OnlineAdded
  • Added TransactionLocationType column to BillPayments, Bills, CreditMemos, Deposits, Estimates, Invoices, JournalEntries, Payments, PurchaseOrders, Purchases, RefundReceipts, SalesReceipts, TimeActivities, Transfers and VendorCredits tables.
04/28/20228153JDBCChanged
  • Removed support for JRE 1.6. JRE 1.8 and above is now required.
04/18/20228143QuickBooks OnlineAdded
  • Added the AllowOnlineACHPayment column to the Invoice table.
03/18/20228112QuickBooks OnlineAdded
  • Added the tables RecurringCreditMemoTransactions, RecurringCreditMemoTransactionsLineItems, RecurringDepositTransactions, RecurringDepositTransactionsLineItems, RecurringPurchaseTransactions, RecurringPurchaseTransactionsLineItems, RecurringRefundReceiptTransactions, RecurringRefundReceiptTransactionsLineItems, RecurringSalesReceiptTransactions, RecurringSalesReceiptTransactionsLineItems, RecurringTransferTransactions, RecurringVendorCreditTransactions and RecurringVendorCreditTransactionsLineItems.
02/25/20228091JDBCChanged
  • The method DatabaseMetaData.getTypeInfo() now returns all of the data types that the driver supports. Previously, it was returning only a portion of the data types. The types include: tinyint, smallint, int, bigint, float, double, numeric, decimal, bit, date, datetime, time, varchar, binary, uuid.
02/24/20228090JDBCChanged
  • Corrected the return value of method DatabaseMetaData.supportsOuterJoins(), which used to return an incorrect value.
01/28/20228063QuickBooks OnlineAdded
  • Added the connection property IncludeCustomFields. Set this value to true in order to retrieve custom field values.
01/19/20228054QuickBooks OnlineAdded
  • Added the tables RecurringEstimateTransactions and RecurringEstimateTransactionsLineItems.
12/07/20218011QuickBooks OnlineAdded
  • Added the SendInvoice stored procedure to send Linked Payment Invoices via Email.
10/27/20217970JDBCChanged
  • Added support for JDK 17
10/27/20217970QuickBooks OnlineAdded
  • Added support for Parallel pagination. This should greatly improve performance when retrieving many (tens of thousands+) of rows from a table.
10/11/20217954QuickBooks OnlineAdded
  • Added the CreateTransactionListWithSplitsReport stored procedure to create customized schema files and access the Transaction list with splits report from the Quickbooks online report service.
09/12/20217925JDBCRemoved
  • Removed the IS_READONLY, IS_KEY, NUMERIC_PRECISION, and DECIMAL_DIGITS columns from DatabaseMetadata.GetColumns(), as they are not part of the JDBC Specification. This information is still available via other metadata calls.
09/02/20217915GeneralAdded
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
08/07/20217889GeneralChanged
  • Added the KeySeq column to the sys_foreignkeys table.
08/06/20217888GeneralChanged
  • Added the new sys_primarykeys system table.
07/23/20217874GeneralChanged
  • Updated the Literal Function Names for relative date/datetime functions. Previously, relative date/datetime functions resolved to a different value when used in the projection as opposed to the predicate. For example: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly, the two LAST_MONTH() methods would resolve to different datetimes. Now, they will match.
  • As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
04/25/20217785GeneralAdded
  • Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = CONCAT(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
04/23/20217783GeneralChanged
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
04/16/20217776GeneralAdded
  • Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
04/16/20217776GeneralChanged
  • Reduced the length to 255 for varchar primary key and foreign key columns.

Changed
  • Updated index naming convention to avoid duplicates.
04/16/20217776GeneralChanged
  • Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
01/25/20217695QuickBooks OnlineAdded
  • Added Batch update support for all the tables.
01/18/20217688QuickBooks OnlineAdded
  • In the Invoice table, the AllowIPNPayment column has been removed and AllowOnlineCreditCardPayment has been added.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434