CData Python Connector for QuickBooks Online

Build 26.0.9666

CData Python Connector for QuickBooks Online

Overview

The CData Python Connector for QuickBooks Online allows developers to write Python scripts with connectivity to QuickBooks Online. The connector wraps the complexity of accessing QuickBooks Online data in an interface commonly used by Python connectors to common database systems.

Key Features

  • WHL installation packages that enable installation with "pip install".
  • Supported for Python 3.10 or newer on Windows, Linux, and macOS.
  • Write and execute SQL queries to fetch and update data in QuickBooks Online.
  • Custom dialect class that enables SQLAlchemy 1.3 and 1.4 to use this connector.

Getting Started

See Getting Started to install the connector to your Python distribution and to create a basic connection to QuickBooks Online.

Using the Python Connector/Using from Tools

See Using the Connector for examples of executing basic SELECT, INSERT, UPDATE, DELETE, and EXECUTE queries with the module's provided classes.

See Using from Tools to connect QuickBooks Online data to tools such as Pandas or Petl.

SQLAlchemy ORM

SQLAlchemy can be leveraged to model the tables in QuickBooks Online with mapped classes. See From SQLAlchemy for instructions for configuring the Python connector with SQLAlchemy.

Pandas

Pandas' DataFrames can be used alongside the connector to generate analytical graphics. See From Pandas for a guide.

Schema Discovery

See Schema Discovery to query the provided system tables, which allows users to discover the available tables, views, and stored procedure, alongside additional information about their columns or parameters.

Advanced Features

Advanced Features details additional features supported by the connector, such as defining user defined views, ssl configuration, remoting, caching, firewall/proxy settings, and advanced logging.

SQL Compliance

See SQL Compliance for a syntax reference and code examples outlining the supported SQL.

Data Model

See Data Model for the available database objects. This section also provides more detailed information on querying specific QuickBooks Online entities.

Connection String Options

The Connection properties describe the various options that can be used to establish a connection.

CData Python Connector for QuickBooks Online

Getting Started

Connecting to QuickBooks Online

For information on the available WHL files for supported environments, and how to install the appropriate file for your Python distribution, see Package Installation.

For information on the module to import, and how to configure the necessary connection properties in a connection string, see Establishing a Connection.

Other available connection properties can be used to configure other aspects of the connector capabilities.

Python Version Support

The CData Python Connector for QuickBooks Online can be installed and used in Python 3.10 or newer.

QuickBooks Online Version Support

The connector models the QuickBooks Online Accounting APIs as a relational database.

See Also

  • Using the Connector: Establish connections and query QuickBooks Online through Python code.
  • From SQLAlchemy: Use SQLAlchemy to establish a connection with dialect URL, and interact with QuickBooks Online data using mapped classes and Sessions.

CData Python Connector for QuickBooks Online

Package Installation

Dependencies

The Python connectors require that Python 3.10 or newer be installed.

Installation

The CData Python Connector for QuickBooks Online is available as a WHL file for Windows, Linux, and Mac. Each connector is built using the Python 3.10 Stable ABI (indicated by the abi3 tag in the filename), so a single wheel supports any Python 3.10 or newer installation — there is no need to match your exact Python minor version. Use the "pip install" command with the appropriate WHL file for your platform.

Windows:

pip install cdata_quickbooksonline_connector-26.0.9666-cp310-abi3-win_amd64.whl

Linux:

pip install cdata_quickbooksonline_connector-26.0.9666-cp310-abi3-linux_x86_64.whl

macOS:

pip install cdata_quickbooksonline_connector-26.0.9666-cp310-abi3-macosx_12_0_arm64.whl

The macOS wheel supports arm64 (Apple Silicon) architectures only on macOS 12 and newer.

Regardless of the environment, certain distributions might require that the "pip3 install" command be used instead, to differentiate from a Python 2 distribution that might exist already. After installation, confirm whether the connector is successfully installed by running the "pip list" command. If "cdata_quickbooksonline_connector" is present in the list output by the command, then the installation was successful.

Upgrading

When upgrading, "pip install" does not automatically clean up old JRE files. To avoid leftover files that could cause JVM errors, uninstall the previous version before installing the new one.

Licensing

After the installation is complete, a separate step is needed to activate a license for the connector. Among the CData assets in the distribution's site packages, there is an install-license tool that activates this license. From within the distribution's site-packages folder, after navigating to the "cdata/installlic_quickbooksonline" folder, simply use a command like the below to activate the license. Omitting the <key> argument activates a trial license:

  • Windows:
    ./install-license.exe <key>
  • Linux / Mac:
    ./install-license.sh <key>

Sometimes, file access issues may cause pip to install the connector in a fallback file path that is not the python distribution's main or primary site-packages location. This can make it difficult to find where the connector was installed, and from there, the license activator. In that event, this python script below will print out the full file path of the connector's native file. This file will be stored in the mentioned cdata folder, from which the installlic_quickbooksonline folder is trivial to find:

import os
import cdata.quickbooksonline
path = os.path.abspath(cdata.quickbooksonline.__file__)
print(path)

Uninstallation

If the connector needs to be uninstalled for any reason, do so by running the pip uninstall command, as in the example below:

pip uninstall cdata-quickbooksonline-connector

CData Python Connector for QuickBooks Online

Establishing a Connection

The objects available within our connector are accessible from the "cdata.quickbooksonline" module. To use the module's objects directly:

  1. Import the module as follows:
    import cdata.quickbooksonline as mod
  2. To establish a connection string, call the connect() method from the connector object using an appropriate connection string, such as:
    mod.connect("InitiateOAuth=GETANDREFRESH;")

Authenticating to QuickBooks Online

QuickBooks Online supports connecting and authenticating via a desktop application, a web browser, or a headless machine. The CData Python Connector for QuickBooks Online includes embedded OAuth credentials that simplify connection from the desktop or a headless machine and provide limited functionality. However, to experience fuller functionality via desktop or headless machine connections OR to connect via the web, you must create a custom OAuth application, as described in Creating a Custom OAuth Application.

The following subsections describe how to authenticate to QuickBooks Online from all OAuth workflows. For information about how to create a custom OAuth application, see Creating a Custom OAuth Application. For a complete list of connection string properties available in QuickBooks Online, see Connection.

Desktop Applications

The properties required for connection depend on whether you want to connect via the embedded OAuth credentials (limited use) or connect via a custom OAuth Application (full functionality):

Before you connect, set the required properties:

When you connect, the connector opens QuickBooks Online's OAuth endpoint in your default browser. Log in and grant permissions to the application.

After you grant permissions to the application, the connector completes the OAuth process:

  1. The connector obtains an access token from QuickBooks Online and uses it to request data.
  2. The OAuth values are saved in the path specified in OAuthSettingsLocation. These values persist across connections.

When the access token expires, the connector refreshes it automatically.

Web Applications

Authenticating via the Web requires you to create and register a custom OAuth application with QuickBooks Online, as described in Creating a Custom OAuth Application. You can then use the connector to get and manage the OAuth token values.

This section describes how to get the OAuth access token, how to have the driver refresh the OAuth access token automatically, and how to refresh the OAuth access token manually.

Get the OAuth access token:

  1. To obtain the OAuthAccessToken, set these connection properties:

  2. Call stored procedures to complete the OAuth exchange:

    • Call the GetOAuthAuthorizationURL stored procedure. Set the AuthMode input to WEB and the CallbackURL to the Redirect URI you specified in your custom OAuth application settings. The stored procedure returns the URL to the OAuth endpoint.
    • Navigate to the URL that the stored procedure returned in Step 1. Log in and authorize the web application. You are redirected back to the callback URL.
    • Call the GetOAuthAccessToken stored procedure. Set the AuthMode input to WEB. Set the Verifier input to the code parameter in the query string of the redirect URI.

After you obtain the access and refresh tokens, you can connect to data and refresh the OAuth access token automatically.

Automatic refresh of the OAuth access token:

To have the connector automatically refresh the OAuth access token, do the following:

  1. The first time you connect to data, set these connection parameters:

  2. On subsequent data connections, set:

Manual refresh of the OAuth access token:

The only value needed to manually refresh the OAUth access token is the OAuth refresh token.

  1. To manually refresh the OAuthAccessToken after the ExpiresIn period (returned by GetOAuthAccessToken) has elapsed, call the RefreshOAuthAccessToken stored procedure.
  2. Set these connection properties:

  3. Call RefreshOAuthAccessToken with OAuthRefreshToken set to the OAuth refresh token returned by GetOAuthAccessToken.
  4. After the new tokens have been retrieved, set the OAuthAccessToken property to the value returned by RefreshOAuthAccessToken. This opens a new connection.

Store the OAuth refresh token so that you can use it to manually refresh the OAuth access token after it has expired.

Headless Machines

If you need to log in to a resource that resides on a headless machine, you must authenticate on another device that has an internet browser. You can do this in either of the following ways:

  • Option 1: Obtain the OAuthVerifier value.
  • Option 2: Install the connector on a machine with an internet browser and transfer the OAuth authentication values after you authenticate through the usual browser-based flow.

After you execute either Option 1 or Option 2, configure the driver to automatically refresh the access token on the headless machine.

Option 1: Obtaining and Exchanging a Verifier Code

To obtain a verifier code, you must authenticate at the OAuth authorization URL as follows:

  1. Authenticate from the machine with an internet browser, and obtain the OAuthVerifier connection property.

    If you are using the embedded OAuth application, call the GetOAuthAuthorizationURL stored procedure. Open the URL returned by the stored procedure in a browser.

    If you are using a custom OAuth application, set these properties:

  2. Call the GetOAuthAuthorizationURL stored procedure. The stored procedure returns the CallbackURL established when the custom OAuth application was registered (see Creating a Custom OAuth Application).

    Copy this URL and paste it into a new browser tab.

  3. Log in and grant permissions to the connector. The OAuth application redirects you the redirect URI, with a parameter called code appended. Note the value of this parameter; you will need it later, to configure the OAuthVerifier connection property.

  4. Exchange the OAuth verifier code for OAuth refresh and access tokens. On the headless machine, to obtain the OAuthAccessToken, set these connection properties:

Option 2: Transferring OAuth Settings

Prior to connecting on a headless machine, you must install and create a connection with the driver on a device that supports an internet browser. Set the connection properties as described above in "Desktop Applications".

After completing the instructions in "Desktop Applications", the resulting authentication values are encrypted and written to the path specified by OAuthSettingsLocation. The default filename is OAuthSettings.txt.

Test the connection to generate the OAuth settings file, then copy the OAuth settings file to your headless machine.

To connect to data via the headless machine, set these connection properties:

CData Python Connector for QuickBooks Online

Configuring JNI

Java Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the Java virtual machine into native applications.

The connector leverages the JNI for improved performance on Mac and Linux.

Configure the Config INI File

The Linux and Mac editions of the QuickBooks Online python connector are configured with an ini file. This file is used to set several parameters, including JNI behavior. This file is to be located in:

{path_to_distribution_site-packages}/cdata/config.ini

Ensure that any configuration properties you set in the ini file fall under the following section name (adjust the 311 number if you are using an different python version from 3.11):

  • For Linux:
    [quickbooksonline.cpython-311-x86_64-linux-gnu.so]
  • For Mac:
    [quickbooksonline.cpython-311-darwin.so]

Configure the JNI connector's behavior by editing the properties in the connector's config.ini file. The connector can be configured as follows:

  • LOGFILE: Set this the same way as the CDATA_LOGFILE envrionment variable below.
  • JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CLASS_PATH: Use a colon-separated list to configure the paths to the third-party jar libraries.

Configure Environment Variables

Additionally, set the following environment variables:

  • CDATA_JAVA_HOME: Configure the path to the JVM library location used to launch the JVM.
  • CDATA_JVM_OPTIONS: Place JVM options here.
  • CDATA_LOGFILE: Set this in the following scheme: <SCHEME>://<TAG>[|<LEVEL>]

    • SCHEME: The options are STDOUT, FILE.
      • STDOUT: Both the native wrapper and odbc core log into stdout. The Logfile and Verbosity properties can override the behavior of ODBC core.
      • FILE: The native wrapper logs into <FILENAME> while the odbc core logs into <FILENAME>.driver.log. The Logfile and Verbosity properties can override the behavior of ODBC core.
    • TAG
      • For STDOUT, set this to 1. For FILE, set this to the filename.
    • LEVEL
      • Set to one of: FATAL | ERROR | WARNING | INFO | DEBUG

The following are some examples of this syntax:

  • STDOUT://1|DEBUG
  • FILE:///tmp/my_py.log|DEBUG

Custom Logger

The Python connector supports a custom logging mechanism for redirecting log output to any destination, such as a cloud storage service or logging framework. Use setCustomLoggerFactory() to register a factory function that creates a logger instance for each connection.

The factory function receives the context string from the Logfile connection property (the portion after CUSTOM://) and must return an object with a writeLog(verbosity, message) method.

To enable custom logging:

  1. Call setCustomLoggerFactory() with your factory function before opening connections.
  2. Set Logfile to CUSTOM:// followed by a context string to identify the connection.
  3. Set Verbosity to the desired log level.

The following example demonstrates a custom logger factory that creates a separate logger instance per connection:

import cdata.quickbooksonline as mod
import time

class MyLogger:
    def __init__(self, loggerId):
        self.loggerId = loggerId
    def writeLog(self, verbosity, message):
        print("[MyLogger " + self.loggerId + "] " + message)

def createLogger(context):
    return MyLogger(context[len("MyLoggerId="):])

mod.setCustomLoggerFactory(createLogger)

conn1 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=1;Verbosity=2;")
# do something with conn1
time.sleep(1)  # Wait for logs to flush from conn1

conn2 = mod.connect("...;Logfile=CUSTOM://MyLoggerId=2;Verbosity=2;")
# do something with conn2
time.sleep(1)  # Wait for logs to flush from conn2

CData Python Connector for QuickBooks Online

Creating a Custom OAuth Application

Creating a Custom OAuth Application

To experience fuller functionality via desktop or headless machine connections OR to connect via the web, you must create a custom OAuth application. And since custom OAuth applications seamlessly support all three commonly-used auth flows, you might want to create custom OAuth applications (use your own OAuth Application Credentials) for those auth flows anyway.

Custom OAuth applications are useful if you want to:

  • Control branding of the authentication dialog.
  • Control the redirect URI that the application redirects the user to after the user authenticates.
  • Customize the permissions that you are requesting from the user.

Procedure

This procedure registers a new application for authenticating via OAuth 2.0, and obtains the OAuth client credentials, the OAuthClientId, and OAuthClientSecret.

  1. Log into your Intuit developer account.
  2. From the Menu at the top, select Dashboard.
  3. Under the Apps tab, click Create an App.
  4. Specify QuickBooks Online and Payments as the platform you want to develop for.
  5. Provide a name for your new application.
  6. Select the scopes for the APIs to be accessed.

After the application is created successfully:

  1. Navigate to the Keys & OAuth tab. Under Development, locate the Client ID and Client Secret. Record these for later use.
  2. Edit the application's CallbackURL property to reflect your desired Redirect URI; for example, http://localhost:33333.
    Record the Redirect URI for later use.

CData Python Connector for QuickBooks Online

Changelog

General Changes

DateVersionSourceCategoryTypeDescription
2026-06-1126.0.9658QuickBooks OnlineData ModelRemoved
  • Removed the GroupBy input from the GetReport, CreateReportSchema, CreateTransactionListReport, and CreateInventoryValuationDetailReport stored procedures.
  • Removed support for the US region in the TaxPayment view.
2026-05-2826.0.9644QuickBooks OnlineData ModelAdded
  • Added two new columns to the RecurringInvoiceTransactions table: Invoice_BillEmailCc_Address and Invoice_BillEmailBcc_Address.
2026-05-2726.0.9643GeneralConnectionRemoved
  • Removed the deprecated ReplaceInvalidTypesWithNull connection property. Use the ReplaceInvalidValuesWithNull property instead.
2026-05-2226.0.9638PythonRemoved
  • Remove support for Intel x64 architecture on macOS
2026-05-0726.0.9623GeneralData ModelAdded
  • Added the ColumnCapabilities column to the sys_tablecolumns system table. This column is a bit mask denoting the column's write capabilities.
2026-05-0726.0.9623PythonChanged
  • Updated embedded JRE to jre-17.0.19+10 (Linux x64 / MacOs x64).
2026-04-3026.0.9616QuickBooks OnlineData ModelChanged
  • Changed the data type of the Latitude and Longitude columns from String to Integer in the Attachables and AttachmentRefs tables.
2026-04-2426.0.9610QuickBooks OnlineData ModelRemoved
  • In the Customers and Vendors tables, removed the Source column.
  • In the CompanyInfo table, removed the CompanyAddr_Lat, CompanyAddr_Long, CustomerCommunicationAddr_Lat, CustomerCommunicationAddr_Long, LegalAddr_Lat and LegalAddr_Long columns.
2026-04-1526.0.9601GeneralQuery ExecChanged
  • String comparisons using GREATER, LESS, and CONTAINS operators are now case-insensitive by default.
2026-04-0826.0.9594QuickBooks OnlineSecurityChanged
  • TLS 1.3 is now supported by default for HTTP connections.
2026-01-1325.0.9509GeneralAdded
  • Added support for the REGEXP_REPLACE() string function.
2025-12-2125.0.9486PythonAdded
  • Added support for custom loggers in Python connectors on Linux and macOS.
2025-12-0525.0.9470GeneralAdded
  • Added support for the INSERT INTO SELECT statement, with driver-side execution for providers that do not support the operation natively.
2025-10-3025.0.9434PythonChanged
  • Updated embedded JRE to jre-17.0.17+10 (Linux x64 / MacOs x64).
2025-10-1725.0.9421QuickBooks 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.
2025-10-0625.0.9410GeneralAdded
  • Support for parsing datetime formats using ".S" and ",S" for milliseconds and nanoseconds.
2025-09-1525.0.9389QuickBooks OnlineAdded
  • Added the AllowDuplicateDocNumber connection property.
2025-09-1525.0.9389QuickBooks OnlineRemoved
  • Removed the duplicate IsProject field from the Customers table, and the duplicate SalesFormsPrefs_EstimateMessage field from the Preferences table.
2025-09-1225.0.9386GeneralAdded
  • Added the IsInsertable, IsUpdateable, and IsDeleteable columns to the sys_tables table.
2025-09-1025.0.9384GeneralChanged
  • All columns in statically defined Views are now reported as read-only.
2025-09-0325.0.9377GeneralChanged
  • 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".
2025-09-0125.0.9375GeneralAdded
  • Added support for using the CAST function with infinity values. This function can cast "inf" and "-inf" to DOUBLE, FLOAT, or REAL.
2025-08-2925.0.9372QuickBooks OnlineAdded
  • Added the CreateReportSchema and GetReport stored procedures.
2025-08-2125.0.9364GeneralChanged
  • 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.
2025-08-1625.0.9359QuickBooks 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.
2025-08-1325.0.9356GeneralChanged
  • Changed the maximum number of pages held in memory from 15 to 5 for the page providers to decrease heap usage.
2025-07-2525.0.9337QuickBooks OnlineAdded
  • Added the ReimburseCharges view.
2025-07-2225.0.9334QuickBooks 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.
2025-07-0725.0.9319PythonRemoved
  • Removed the 32-bit version of Windows Python.
2025-07-0725.0.9319QuickBooks 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.
2025-07-0225.0.9314PythonRemoved
  • Removed support for Python 3.9.
2025-06-2525.0.9307GeneralRemoved
  • Removed the "ADLS Gen 1" value from the ConnectionType property.
2025-06-2525.0.9307PythonAdded
  • Added support for Python 3.13 in Windows, Linux, and Mac editions.
2025-06-2525.0.9307PythonRemoved
  • Removed support for Python 3.8 as it is no longer supported.
2025-06-2025.0.9302GeneralAdded
  • 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.
2025-06-1825.0.9300GeneralChanged
  • The internal code for exception handling has been refactored. Exception messages returned during certain error conditions may now have different wording or formatting.
2025-06-1825.0.9300QuickBooks 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.
2025-05-2725.0.9278GeneralRemoved
  • Removed the "Proprietary" enum option from ProxyAuthscheme.
2025-05-1225.0.9263PythonChanged
  • Updated embedded JRE to jre-17.0.15+6 (Linux x64 / MacOS x64) and jre-17.0.15+6 (MacOS aarch64).
2025-02-1524.0.9177GeneralAdded
  • 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.
2025-01-1524.0.9146QuickBooks OnlineAdded
  • Added the IncludeUnrealizedGainOrLoss attribute to the following stored procedures: CreateProfitAndLossDetailReport, CreateProfitAndLossSummaryReport, and CreateBalanceSheetSummaryReport.
2025-01-1424.0.9145QuickBooks OnlineAdded
  • Added the TaxClassification and TaxPayment views.
  • Added the CreateTaxSummaryReport stored procedure.
2025-01-0624.0.9137QuickBooks OnlineAdded
  • Added the VoidPayment and VoidSalesReceipt stored procedures.
2024-12-2724.0.9127QuickBooks 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.
2024-11-2724.0.9097GeneralAdded
  • Added ThreadId to LogModule output. Logfile lines now include the Thread ID associated with the action being performed.
2024-11-0424.0.9074QuickBooks OnlineAdded
  • Added support for the stored procedure: CreateInventoryValuationDetailReport.
2024-10-1624.0.9055QuickBooks OnlineAdded
  • Added access to a standard QuickBooks Online report, BalanceSheetDetail.
2024-10-0424.0.9043QuickBooks OnlineAdded
  • Added the DownloadNote stored procedure.
2024-07-1524.0.8962QuickBooks OnlineAdded
  • Added the 'Columns' input to the CreateTransactionListWithSplitsReport stored procedure.
2024-06-0524.0.8922PythonAdded
  • Added support for Python 3.12.
2024-05-3124.0.8917QuickBooks OnlineAdded
  • Added the TransactionTypeId and AccountId columns to the report generated by the CreateJournalReport stored procedure.
2024-05-0924.0.8895GeneralChanged
  • The ROUND function previously did not accept negative precision values. That feature has now been restored.
2024-03-1523.0.8840GeneralAdded
  • 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
2023-11-2923.0.8733GeneralChanged
  • The ROUND function doesn't accept the negative precision values anymore.
2023-11-2923.0.8733GeneralChanged
  • 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.
2023-11-2823.0.8732GeneralAdded
  • Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
2023-10-2623.0.8699QuickBooks OnlineAdded
  • Added ReportPrefs_ReportBasis and ReportPrefs_CalcAgingReportFromTxnDate columns to Preferences table.
2023-10-0923.0.8682QuickBooks 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.
2023-08-2923.0.8641PythonAdded
  • Added support for SQLAlchemy 2.0.
2023-07-0723.0.8588QuickBooks OnlineAdded
  • Added a column Invoice_GroupSalesItemLineAggregate in RecurringInvoiceTransactionsLineItems table.
2023-07-0723.0.8588QuickBooks OnlineAdded
  • Added a column Purchase_LineId in RecurringPurchaseTransactionsLineItems table.
2023-06-2023.0.8571GeneralAdded
  • Added the new sys_lastresultinfo system table.
2023-06-1623.0.8567QuickBooks OnlineAdded
  • Added a column InvoiceLink in Invoices table
2023-05-1923.0.8539PythonAdded
  • Added support for Python 3.11 on Windows, Linux and Mac.
2023-05-1623.0.8536PythonRemoved
  • Removed support for Python 3.7 on Windows and Linux
2023-05-0323.0.8523QuickBooks OnlineRemoved
  • Removed India specific fields as QuickBooks Online products are no longer be available in India.
2023-04-2523.0.8515GeneralRemoved
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
2022-12-1422.0.8383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
2022-12-0822.0.8377QuickBooks 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.
2022-11-1522.0.8354PythonChanged
  • Updated embedded JRE to jre8u345-b01(Linux x64 / MacOS x64) and jre-17.0.5+8(MacOS aarch64).
2022-10-2622.0.8334QuickBooks 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.
2022-10-0622.0.8314QuickBooks OnlineAdded
  • Added Insert support to the TaxCodes and TaxRates tables.
2022-09-3022.0.8308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
2022-09-2822.0.8306QuickBooks 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.
2022-09-0122.0.8279QuickBooks 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.
2022-08-1722.0.8264QuickBooks OnlineAdded
  • Added the TaxExemptionReasonId column to the Customers table.
2022-06-0222.0.8188QuickBooks OnlineAdded
  • Added TransactionLocationType column to BillPayments, Bills, CreditMemos, Deposits, Estimates, Invoices, JournalEntries, Payments, PurchaseOrders, Purchases, RefundReceipts, SalesReceipts, TimeActivities, Transfers and VendorCredits tables.
2022-05-1822.0.8173PythonAdded
  • Added support for Python 3.10 on Windows, Linux, and Mac
  • Added support for Python 3.9 on Mac
  • Added support for Mac M1
2022-05-1822.0.8173PythonRemoved
  • Removed support for Python 3.6 on Windows and Linux
2022-04-1821.0.8143QuickBooks OnlineAdded
  • Added the AllowOnlineACHPayment column to the Invoice table.
2022-03-1821.0.8112QuickBooks OnlineAdded
  • Added the tables RecurringCreditMemoTransactions, RecurringCreditMemoTransactionsLineItems, RecurringDepositTransactions, RecurringDepositTransactionsLineItems, RecurringPurchaseTransactions, RecurringPurchaseTransactionsLineItems, RecurringRefundReceiptTransactions, RecurringRefundReceiptTransactionsLineItems, RecurringSalesReceiptTransactions, RecurringSalesReceiptTransactionsLineItems, RecurringTransferTransactions, RecurringVendorCreditTransactions and RecurringVendorCreditTransactionsLineItems.
2022-01-2821.0.8063QuickBooks OnlineAdded
  • Added the connection property IncludeCustomFields. Set this value to true in order to retrieve custom field values.
2022-01-1921.0.8054QuickBooks OnlineAdded
  • Added the tables RecurringEstimateTransactions and RecurringEstimateTransactionsLineItems.
2021-12-0721.0.8011QuickBooks OnlineAdded
  • Added the SendInvoice stored procedure to send Linked Payment Invoices via Email.
2021-10-2721.0.7970QuickBooks OnlineAdded
  • Added support for Parallel pagination. This should greatly improve performance when retrieving many (tens of thousands+) of rows from a table.
2021-10-1121.0.7954QuickBooks 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.
2021-09-0221.0.7915GeneralAdded
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
2021-08-0721.0.7889GeneralChanged
  • Added the KeySeq column to the sys_foreignkeys table.
2021-08-0621.0.7888GeneralChanged
  • Added the new sys_primarykeys system table.
2021-07-2321.0.7874GeneralChanged
  • 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.
2021-04-2521.0.7785GeneralAdded
  • Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = CONCAT(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
2021-04-2321.0.7783GeneralChanged
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
2021-04-1621.0.7776GeneralAdded
  • Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
2021-04-1621.0.7776GeneralChanged
  • Reduced the length to 255 for varchar primary key and foreign key columns.
2021-04-1621.0.7776GeneralChanged
  • 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.
2021-04-1621.0.7776GeneralChanged
  • Updated index naming convention to avoid duplicates.
2021-01-2520.0.7695QuickBooks OnlineAdded
  • Added Batch update support for all the tables.
2021-01-1820.0.7688QuickBooks OnlineAdded
  • In the Invoice table, the AllowIPNPayment column has been removed and AllowOnlineCreditCardPayment has been added.

CData Python Connector for QuickBooks Online

Using the Connector

This section provides a walk-through for writing QuickBooks Online data access code in Python script.

For more information on the available data source entities and how to query them with SQL, see Data Model. For the SQL syntax, see SQL Compliance.

Connecting from Code

For information on how to deploy the connector and configure the connection to QuickBooks Online, see Package Installation and Establishing a Connection.

For information on how to connect with the quickbooksonline.connector module and its related classes, see Connecting.

Executing SQL

The connection's cursor object is used to directly execute SQL queries. For information on how to execute SELECT statements and process the returned result sets, see Querying Data. For information on to modify the data in QuickBooks Online with INSERT, UPDATE, and DELETE statements, see Modifying Data .

Executing Stored Procedures

You can call stored procedures by using the EXECUTE statement. For further information, see Calling Stored Procedures.

Batch Processing

For information about how to modify several rows of QuickBooks Online data at once using parameterized INSERT, UPDATE, and DELETE statements, see Batch Processing.

CData Python Connector for QuickBooks Online

Connecting

Connecting with the cdata.quickbooksonline Module:

The connector's module is used directly to establish a connection with the data source. It does this by using a connection string as its argument. For example:
import cdata.quickbooksonline as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;")

Once the connection is created, you can use it to execute subsequent SQL queries.

CData Python Connector for QuickBooks Online

Querying Data

After connecting as described in Connecting, you can use the open connection to execute SQL statements.

Executing Queries

To execute SQL statements that return data, use the execute() method. Once a query is executed, the result set is fetched from the cursor. This result set can then be iterated over to process the records individually.

For example:

cur = conn.execute("SELECT Id, GivenName FROM Customers")
rs = cur.fetchall()
for row in rs:
	print(row)

Parameterized Queries

Various Python collections, such as arrays and tuples, can act as additional arguments for the execute() method. This enables you to parameterize the queries executed and help to prevent SQL Injection.

For example:

cmd = "SELECT Id, GivenName FROM Customers WHERE GivenName = ?"
params = ["Cook, Brian"]
cur = conn.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for QuickBooks Online

Modifying Data

The connection is also used to issue INSERT, UPDATE, and DELETE commands to the data source. Parameters can be used with these statements if desired.

Note that the connector does not support transactions. As with normal write operations, all SQL statements executed by this connector affect the data source immediately. Call the connection's commit() method following the execution.

Insert

The following example adds a new record to the table:
cmd = "INSERT INTO Customers (Id, GivenName) VALUES (?, ?)"
params = ["Trujilo, Ana", "Hook, Captain"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Update

The following example modifies an existing record in the table:
cmd = "UPDATE Customers SET GivenName = ? WHERE Id = ?"
params = ["Hook, Captain", "1"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

Delete

The following example removes an existing record from the table:

cmd = "DELETE FROM Customers WHERE Id = ?"
params = ["1"]
cur = conn.execute(cmd, params)
print("Records affected: ", cur.rowcount)

CData Python Connector for QuickBooks Online

Calling Stored Procedures

You can execute stored procedures using either the execute() or callproc() method of the connection.

Calling Stored Procedures Using Execute()

When you call stored procedures by issuing EXECUTE commands, the stored procedure arguments are parameterized. For example:
cmd = "EXECUTE GetOAuthAccessToken AuthMode = ?"
params = ["APP"]
conn.execute(cmd, params)

Calling Stored Procedures Using Callproc()

When you call stored procedured by issuing the callproc() method, the stored procedure arguments are a procedure name and a list of parameters. For example:
cur = conn.cursor()
params = ["APP"]
cur.callproc("GetOAuthAccessToken", params)

CData Python Connector for QuickBooks Online

Batch Processing

This Python connector also supports writing to the data source via batch processing, using the cursor object's executemany() method. This requires both a SQL statement string and a data frame of values that act as a series of parameters for executing the SQL statement.

Note that the connector does not support transactions. As with normal write operations, all SQL statements executed by this connector affect the data source immediately. Call the connection's commit() method following the execution.

Insert

The following example adds new records to the table:
cur = conn.cursor()
cmd = "INSERT INTO Customers (Id, GivenName) VALUES (?, ?)"
params = [["Trujilo, Ana", "Hook, Captain"], ["Trujilo, Ana", "Hook, Captain"]]
cur.executemany(cmd, params)
print("Records affected: ", cur.rowcount)

Update

The following example modifies existing records in the table:
cur = conn.cursor()
cmd = "UPDATE Customers SET GivenName = ? WHERE Id = ?"
params = [["Hook, Captain", "1"], ["Hook, Captain", "1"]]
cur.executemany(cmd, params)
print("Records affected: ", cur.rowcount)

Delete

The following example removes existing records from the table:
cur = conn.cursor()
cmd = "DELETE FROM Customers WHERE Id = ?"
params = [["1"], ["1"]]
cur.executemany(cmd, params)
print("Records affected: ", cur.rowcount)

CData Python Connector for QuickBooks Online

Using from Tools

The connector is integrated with other tools and packages within Python.

Python Integration Guides

The following sections show how to create and use connections with the connector in common packages in Python:

Complete List of QuickBooks Online Integration Quickstarts

For information on connecting from other applications, see QuickBooks Online integration guides.

CData Python Connector for QuickBooks Online

From SQLAlchemy

The CData Python Connector for QuickBooks Online includes a Dialect class that enables integration with SQLAlchemy. Bear in mind that several aspects of connector functionality are not currently supported in SQLAlchemy 2.0 or above. If necessary, downgrade SQLAlchemy to version 1.4 or 1.3 before using this connector.

The following sections detail various aspects of this integration:

Connecting From SQLAlchemy

To construct a URL with which SQLAlchemy loads and uses the appropriate connector automatically, see Connecting

Reflecting Metadata With SQLAlchemy

To learn how to model QuickBooks Online tables with mapped classes, see Reflecting Metadata.

Querying Data From SQLAlchemy

To learn how to use mapped classes to query the associated tables, see Querying Data.

Modifying Data From SQLAlchemy

The connector provides INSERT/UPDATE/DELETE functionality in SQLAlchemy. To learn how to call the session's execute() method to affect the data in the data source, see Modifying Data.

CData Python Connector for QuickBooks Online

Connecting

Connecting With a Dialect URL

Establishing a connection using SQLAlchemy requires a specific URL format.
from sqlalchemy import create_engine
engine = create_engine("quickbooksonline:///?InitiateOAuth=GETANDREFRESH;")

For SQLAlchemy 2.0, the dialect name is quickbooksonline_2. To establish a connection, use the following URL format:

from sqlalchemy import create_engine
engine = create_engine("quickbooksonline_2:///?InitiateOAuth=GETANDREFRESH;")

CData Python Connector for QuickBooks Online

Reflecting Metadata

SQLAlchemy can act as an Object-relational Map (ORM). This enables you to treat records of a database table as instantiable records. To leverage this functionality, you must reflect the underlying metadata in one of the following ways.

Note: The following examples employ SQLAlchemy 1.4.

Modeling Data Using a Mapping Class

Use "sqlalchemy.ext.declarative.declarative_base" to declare a mapping class for the table you wish to model in the ORM. A known table in the data model is modeled either partially or completely, as shown in the following example:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Customers(Base):
	__tablename__ = "Customers"
	Id = Column(String, primary_key=True)
	Id = Column(String)
	GivenName = Column(String)

Automatically Reflecting Metadata

Rather than mapping tables manually, SQLAlchemy can discover the metadata for one or more tables automatically. To accomplish this across the entire data model, use automap_base:
from sqlalchemy import MetaData
from sqlalchemy.ext.automap import automap_base
meta = MetaData()
abase = automap_base(metadata=meta)
abase.prepare(autoload_with=engine)
Customers = abase.classes.Customers

You can also reflect a single table with an inspector. When reflecting this way, providing a list of specific columns to map is optional:

from sqlalchemy import MetaData, Table
from sqlalchemy import inspect
meta = MetaData()
insp = inspect(engine)
Customers_table = Table("Customers", meta)
insp.reflect_table(Customers_table, ["Id","GivenName"])

CData Python Connector for QuickBooks Online

Querying Data

After you use the steps in Connecting to connect, and use one of the methods in Reflecting Metadata to reflect some of the metadata, you can use a session object to query data.

Querying Data Using the Query Method

If the mapping class has been prepared, use it with a session object to query the data source. After binding the engine to the session, provide the mapping class to the session's query method.

For example:

engine = create_engine("quickbooksonline:///?InitiateOAuth=GETANDREFRESH;")
factory = sessionmaker(bind=engine)
session = factory()
for instance in session.query(Customers).filter_by(GivenName="Cook, Brian"):
	print("Id: ", instance.Id)
	print("Id: ", instance.Id)
	print("GivenName: ", instance.GivenName)
	print("---------")

Querying Data Using the Execute Method

The session object can also run the query with the execute() method alongside the appropriate Table object. Assuming you have an active session, the following is just as viable:
Customers_table = Customers.metadata.tables["Customers"]
for instance in session.execute(Customers_table.select().where(Customers_table.c.GivenName == "Cook, Brian")):
	print("Id: ", instance.Id)
	print("FullName: ", instance.Name)
	print("City: ", instance.BillingCity)
	print("---------")

CData Python Connector for QuickBooks Online

Executing JOINs

Implicit Joining

If mapped classes of related QuickBooks Online objects have a singular foreign key relationship, the classes are implicitly joined. After importing the necessary objects, a relationship is established between your two mapped classes, as in the example below:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, String, Integer, DateTime, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship

Base = declarative_base()
class Contact(Base):
	__tablename__ = "Contact"
	Id = Column(Integer, primary_key=True)
	Name = Column(String)
	Email = Column(String)
	BirthDate = Column(DateTime)
	AccountId = Column(String, ForeignKey("Account.Id"))
	Account_Link = relationship("Account", back_populates="Contact_Link")

class Account(Base):
	__tablename__ = "Account"
	Id = Column(String, primary_key=True)
	Name = Column(String)
	BillingCity = Column(String)
	NumberOfEmployees = Column(Integer)
	Contact_Link = relationship("Contact", order_by=Contact.Id, back_populates="Account_Link")

Once the relationship is established, the tables are queried simultaneously using the session's query() method. For example:

rs = session.query(Account, Contact).filter(Account.Id == Contact.AccountId)
for Ac, Ct in rs:
  print("AccountId: ", Ac.Id)
  print("AccountName: ", Ac.Name)
  print("ContactId: ", Ct.Id)
  print("ContactName: ", Ct.Name)

Other Join Forms

In situations where mapped classes have either no foreign keys or multiple foreign keys, you may need different forms of the JOIN query to accommodate them. Using the earlier classes as examples, the following JOIN queries are possible as well:
  • Explicit condition (necessary if there are no foreign keys in your mapped classes):
    rs = session.query(Account, Contact).join(Contact, Account.Id == Contact.AccountId)
    for Ac, Ct in rs:
  • Left-to-right relationship:
    rs = session.query(Account, Contact).join(Account.Contact_Link)
    for Ac, Ct in rs:
  • Left-to-right relationship with explicit target:
    rs = session.query(Account, Contact).join(Contact, Account.Contact_Link)
    for Ac, Ct in rs:
  • String form of a left-to-right relationship:
    rs = session.query(Account, Contact).join("Contact_Link")
    for Ac, Ct in rs:

CData Python Connector for QuickBooks Online

Other SQL Clauses

SQLAlchemy ORM also exposes support for other clauses in SQL, such as ORDER BY, GROUP BY, LIMIT, and OFFSET. All of these are supported by this connector:

ORDER BY

The following example sorts by a specified column using the session object's query() method:
rs = session.query(Customers).order_by(Customers.AnnualRevenue)
for instance in rs:
	print("Id: ", instance.Id)
	print("Id: ", instance.Id)
	print("GivenName: ", instance.GivenName)
	print("---------")

You can also use the session object's execute() method perform an ORDER BY. For example:

rs = session.execute(Customers_table.select().order_by(Customers_table.c.AnnualRevenue))
for instance in rs:

GROUP BY

The following example uses the session object's query() method to group records with a specified column:
rs = session.query(func.count(Customers.Id).label("CustomCount"), Customers.Id).group_by(Customers.Id)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Id: ", instance.Id)
	print("---------")

You can also use the session object's execute() method to perform a GROUP BY:

rs = session.execute(Customers_table.select().with_only_columns([func.count(Customers_table.c.Id).label("CustomCount"), Customers_table.c.Id]).group_by(Customers_table.c.Id))
for instance in rs:

LIMIT and OFFSET

The following example uses the session object's query() method to skip the first 100 records and fetch the following 25:
rs = session.query(Customers).limit(25).offset(100)
for instance in rs:
	print("Id: ", instance.Id)
	print("Id: ", instance.Id)
	print("GivenName: ", instance.GivenName)
	print("---------")

You can also use the session object's execute() method to set a LIMIT or OFFSET:

rs = session.execute(Customers_table.select().limit(25).offset(100))
for instance in rs:

CData Python Connector for QuickBooks Online

Aggregate Functions

Certain aggregate functions can also be used within SQLAlchemy by using the func module.

To import this module, execute:

from sqlalchemy.sql import func

Once func is imported, the following aggregate functions are available:

COUNT

The following example counts the number of records in a set of groups using the session object's query() method.
rs = session.query(func.count(Customers.Id).label("CustomCount"), Customers.Id).group_by(Customers.Id)
for instance in rs:
	print("Count: ", instance.CustomCount)
	print("Id: ", instance.Id)
	print("---------")

You can also execute COUNT using the session object's execute() method:

rs = session.execute(Customers_table.select().with_only_columns([func.count(Customers_table.c.Id).label("CustomCount"), Customers_table.c.Id])group_by(Customers_table.c.Id))
for instance in rs:

SUM

This example calculates the cumulative amount of a numeric column in a set of groups.

rs = session.query(func.sum(Customers.AnnualRevenue).label("CustomSum"), Customers.Id).group_by(Customers.Id)
for instance in rs:
	print("Sum: ", instance.CustomSum)
	print("Id: ", instance.Id)
	print("---------")

You can also invoke SUM using the session object's execute() method.

rs = session.execute(Customers_table.select().with_only_columns([func.sum(Customers_table.c.AnnualRevenue).label("CustomSum"), Customers_table.c.Id]).group_by(Customers_table.c.Id))
for instance in rs:

AVG

This example uses the session object's query() method to calculate the average amount of a numeric column in a set of groups:
rs = session.query(func.avg(Customers.AnnualRevenue).label("CustomAvg"), Customers.Id).group_by(Customers.Id)
for instance in rs:
	print("Avg: ", instance.CustomAvg)
	print("Id: ", instance.Id)
	print("---------")

You can also use the session object's execute() method to invoke AVG:

rs = session.execute(Customers_table.select().with_only_columns([func.avg(Customers_table.c.AnnualRevenue).label("CustomAvg"), Customers_table.c.Id]).group_by(Customers_table.c.Id))
for instance in rs:

MAX and MIN

This example finds the maximum value and minimum value of a numeric column in a set of groups.
rs = session.query(func.max(Customers.AnnualRevenue).label("CustomMax"), func.min(Customers.AnnualRevenue).label("CustomMin"), Customers.Id).group_by(Customers.Id)
for instance in rs:
	print("Max: ", instance.CustomMax)
	print("Min: ", instance.CustomMin)
	print("Id: ", instance.Id)
	print("---------")

You can also use the session object's execute() method to invoke MAX and MIN:

rs = session.execute(Customers_table.select().with_only_columns([func.max(Customers_table.c.AnnualRevenue).label("CustomMax"), func.min(Customers_table.c.AnnualRevenue).label("CustomMin"), Customers_table.c.Id]).group_by(Customers_table.c.Id))
for instance in rs:

CData Python Connector for QuickBooks Online

Modifying Data

Commands can be executed individually by the session with a call to "execute()".

Obtaining the Table Object

The query supplied to this method is constructed using the associated Table object of a mapped class. This Table object is obtained from the mapped class's metadata field, as below:

Customers_table = Customers.metadata.tables["Customers"]

Once the table object is obtained, the write operations are executed in the following ways. The queries are executed immediately without the need for a call to "commit()":

Insert

The following example adds a new record to the table:

session.execute(Customers_table.insert(), {"Id": "Trujilo, Ana", "GivenName": "Hook, Captain"})

Update

The following example modifies an existing record in the table:

session.execute(Customers_table.update().where(Customers_table.c.Id == "1").values(Id="Trujilo, Ana", GivenName="Hook, Captain"))

Delete

The following example removes an existing record from the table:

session.execute(Customers_table.delete().where(Customers_table.c.Id == "1"))

CData Python Connector for QuickBooks Online

From Pandas

When combined with the connector, Pandas can be used to generate data frames that contain your QuickBooks Online data. Once created, a data frame can be passed to various other Python packages.

Connecting

Pandas relies on an SQLAlchemy engine to execute queries. Before you can use Pandas you must import it:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("quickbooksonline:///?InitiateOAuth=GETANDREFRESH;")

Querying Data

In Pandas, SELECT queries are provided in a call to the read_sql() method, alongside a relevant connection object. Pandas executes the query on that connection, and returns the results in the form of a data frame, which can be used for a variety of purposes.
df = pd.read_sql("""
	SELECT
	   Id,
	   GivenName,
     $exNumericCol;
	FROM Customers;""", engine)
print(df)

Modifying Data

To insert new records into a table, create a new data frame, and define its fields accordingly. When that is done, call to_sql() on the data frame to perform the INSERT operation with the connector, as shown in the example below. You must set the "if _exists" argument to "append" to prevent Pandas from attempting building the table from scratch. To prevent Pandas from writing the data frame index as a column, set index=False.
df = pd.DataFrame({"Id": ["Trujilo, Ana"], "GivenName": ["Hook, Captain"]})
df.to_sql("Customers", con=engine, if_exists="append", index=False)

CData Python Connector for QuickBooks Online

From Matplotlib

Matplotlib contains a number of tools that can graphically model QuickBooks Online data after being fed a data frame From Pandas.

Using PyPlot

Before any Matplotlib tool, such as pyplot, can be used, it must be imported:
from matplotlib import pyplot as plt

Once a Pandas data frame is obtained, it can be used to create a plot visualizing QuickBooks Online data. For example, the following plot generates and displays a bar graph relating Id and AnnualRevenue values:

df.plot(kind="bar", x="Id", y=["AnnualRevenue"])
plt.show()

CData Python Connector for QuickBooks Online

From Petl

The connector can be used to create ETL applications and pipelines for CSV data in Python using Petl.

Install Required Modules

Install the Petl modules using the pip utility.
pip install petl

Connecting

After you import the modules, including the CData Python Connector for QuickBooks Online, you can use the connector's connect function to create a connection using a valid QuickBooks Online connection string. If you prefer not to use a direct connection, you can use a SQLAlchemy engine.
import petl as etl
import cdata.quickbooksonline as mod
cnxn = mod.connect("InitiateOAuth=GETANDREFRESH;")

Extract, Transform, and Load the QuickBooks Online Data

Create a SQL query string and store the query results in a DataFrame.
sql = "SELECT	Id, GivenName FROM Customers "
table1 = etl.fromdb(cnxn,sql)

Loading Data

With the query results stored in a DataFrame, you can load your data into any supported Petl destination. The following example loads the data into a CSV file.
etl.tocsv(table1,'output.csv')

Modifying Data

Insert new rows into QuickBooks Online tables using Petl's appenddb function.
table1 = [['Id','GivenName'],['Trujilo, Ana','Hook, Captain']]
etl.appenddb(table1,cnxn,'Customers')

CData Python Connector for QuickBooks Online

Schema Discovery

The extension supports schema discovery by using SQL queries to available System Tables.

Using SQL

The following sections describe the discovery of metadata through several System Tables:

CData Python Connector for QuickBooks Online

Tables and Views

The connector possesses system tables that are used to discover the tables and views available in the data model. Of these system tables, "sys_tables" and "sys_views" are used to fetch information about the available tables and views respectively:

Tables


import cdata.quickbooksonline as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tables"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Views


import cdata.quickbooksonline as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_views"
cur.execute(cmd, params)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for QuickBooks Online

Columns

The available columns for any given table are fetched from a system table called "sys_tablecolumns". A specific table name is provided in the WHERE criteria to restrict the table from which the column information is fetched:

import cdata.quickbooksonline as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_tablecolumns WHERE TableName = 'Customers'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for QuickBooks Online

Procedures

Procedures

A system table called "sys_procedures" is queried to obtain the available stored procedures that are executed:
import cdata.quickbooksonline as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedures"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

Parameters

The input parameters of any stored procedure are similarly obtained from the "sys_procedureparameters" system table:
import cdata.quickbooksonline as mod
conn = mod.connect("InitiateOAuth=GETANDREFRESH;")
cur = conn.cursor()
cmd = "SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetOAuthAccessToken'"
cur.execute(cmd)
rs = cur.fetchall()
for row in rs:
	print(row)

CData Python Connector for QuickBooks Online

Advanced Features

This section details a selection of advanced features of the QuickBooks Online connector.

User Defined Views

The connector supports the use of user defined views, virtual tables whose contents are decided by a pre-configured user defined query. These views are useful when you cannot directly control queries being issued to the drivers. For an overview of creating and configuring custom views, see User Defined Views .

SSL Configuration

Use SSL Configuration to adjust how connector handles TLS/SSL certificate negotiations. You can choose from various certificate formats;. For further information, see the SSLServerCert property under "Connection String Options" .

Firewall and Proxy

Configure the connector for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.

Caching Data

Caching Data enables faster access to data and reduces the number of API calls, improving performance. The connector supports a simple caching model where multiple connections can also share the cache over time. When configuring the cache connection, you can specify automatic or explicit data caching.

Query Processing

The connector offloads as much of the SELECT statement processing as possible to QuickBooks Online and then processes the rest of the query in memory (client-side).

For further information, see Query Processing.

Logging

For an overview of configuration settings that can be used to refine CData logging, see Logging. Only two connection properties are required for basic logging, but there are numerous features that support more refined logging, which enables you to use the LogModules connection property to specify subsets of information to be logged.

Exception Handling

For an overview of how exceptions are reported and the components of an exception, see Exception Handling.

CData Python Connector for QuickBooks Online

User Defined Views

The CData Python Connector for QuickBooks Online supports the use of user defined views: user-defined virtual tables whose contents are decided by a preconfigured query. User defined views are useful in situations where you cannot directly control the query being issued to the driver; for example, when using the driver from a tool.

Use a user defined view to define predicates that are always applied. If you specify additional predicates in the query to the view, they are combined with the query already defined as part of the view.

There are two ways to create user defined views:

  • Create a JSON-formatted configuration file defining the views you want.
  • DDL statements.

Defining Views Using a Configuration File

User defined views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The connector automatically detects the views specified in this file.

You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the connector.

This user defined view configuration file is formatted so that each root element defines the name of a view, and includes a child element, called query, which contains the custom SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Customers WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"

Defining Views Using DDL Statements

The connector is also capable of creating and altering the schema via DDL Statements such as CREATE LOCAL VIEW, ALTER LOCAL VIEW, and DROP LOCAL VIEW.

Create a View

To create a new view using DDL statements, provide the view name and query as follows:

CREATE LOCAL VIEW [MyViewName] AS SELECT * FROM Customers LIMIT 20;

If no JSON file exists, the above code creates one. The view is then created in the JSON configuration file and is now discoverable. The JSON file location is specified by the UserDefinedViews connection property.

Alter a View

To alter an existing view, provide the name of an existing view alongside the new query you would like to use instead:

ALTER LOCAL VIEW [MyViewName] AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';

The view is then updated in the JSON configuration file.

Drop a View

To drop an existing view, provide the name of an existing schema alongside the new query you would like to use instead.

DROP LOCAL VIEW [MyViewName]

This removes the view from the JSON configuration file. It can no longer be queried.

Schema for User Defined Views

In order to avoid a view's name clashing with an actual entity in the data model, user defined views are exposed in the UserViews schema by default. To change the name of the schema used for UserViews, reset the UserViewsSchemaName property.

Working with User Defined Views

For example, a SQL statement with a user defined view called UserViews.RCustomers only lists customers in Raleigh:
SELECT * FROM Customers WHERE City = 'Raleigh';
An example of a query to the driver:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Resulting in the effective query to the source:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
That is a very simple example of a query to a user defined view that is effectively a combination of the view query and the view definition. It is possible to compose these queries in much more complex patterns. All SQL operations are allowed in both queries and are combined when appropriate.

CData Python Connector for QuickBooks Online

Inserting Parent and Child Records

Use Case

Sometimes, when inserting records, it's necessary to supply details about child records that have a dependency on a parent.

For example, when dealing with a CRM system, Invoices often cannot be entered without at least one line item. Since invoice line items can have several fields, this presents a unique challenge when offering the data as relational tables. When reading the data, it is easy enough to model an Invoice and an InvoiceLineItem table with a foreign key connecting the two. However, during inserts, the CRM system requires both the Invoice and the InvoiceLineItems to be created in a single submission.

To solve this sort of problem, our tools offer child collection columns on the parent. These columns can be used to submit insert statements that include details of both the parent and the child records.

For example, let's say that the Invoice table contains a single column called InvoiceLineItems. During the insert, we can pass the details of the records that must be inserted to the InvoiceLineItems table into Invoice record's InvoiceLineItems column.

The following subsection describes how this might be done.

Methods for Inserting Parent/Child Records

The connector facilitates two methods for inserting parent/child records: temporary table insertion and XML aggregate insertion.

Temporary (#TEMP) tables

The simplest way to enter data would be to use a #TEMP table, or temporary table, which the connector will store in memory.

Reference the #TEMP table with the following syntax:

TableName#TEMP

#TEMP tables are stored in memory for the duration of a connection.

Therefore, in order to use them, you cannot close the connection between submitting inserts to them, and they cannot be used in environments where a different connection may be used for each query.

Within that single connection, the table remains in memory until the bulk insert is successful, at which point the temporary table will be wiped from memory.

For example:

INSERT INTO InvoiceLineItems#TEMP (ReferenceNumber, Item, Quantity, Amount) VALUES ('INV001', 'Basketball', 10, 9.99)
INSERT INTO InvoiceLineItems#TEMP (ReferenceNumber, Item, Quantity, Amount) VALUES ('INV001', 'Football', 5, 12.99)

Once the InvoiceLineItems table is populated, the #TEMP table may be referenced during an insert into the Invoice table:

INSERT INTO Invoices (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', 'InvoiceLineItems#TEMP')

Under the hood, the connector will read in values from the #TEMP table.

Notice that the ReferenceNumber was used to identify what Invoice the lines are tied to. This is because the #TEMP table may be populated and used with a bulk insert, where there are separate lines for each invoice. This enables the #TEMP tables to be used with a bulk insert. For example:

INSERT INTO Invoices#TEMP (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', 'InvoiceLineItems#TEMP')
INSERT INTO Invoices#TEMP (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV002', 'Jane Doe', 'InvoiceLineItems#TEMP')
INSERT INTO Invoices SELECT ReferenceNumber, Customer, InvoiceLines FROM Invoices#TEMP

In this case, we are inserting two different Invoices. The ReferenceNumber is how we determine which Lines go with which Invoice.

Note: The tables and columns presented here are an example of how the connector works in general. The specific table and column names may be different in the connector.

Direct XML Insertion

Direct XML can be used as an alternative to #TEMP tables. Since #TEMP tables are not used to construct them, it does not matter if you use the same connection or close the connection after insert.

For example:

[
  {
    "Item", "Basketball",
    "Quantity": 10
    "Amount": 9.99
  },
  {
    "Item", "Football",
    "Quantity": 5
    "Amount": 12.99
  }
]

OR

<Row>
  <Item>Basketball</Item>
  <Quantity>10</Quantity>
  <Amount>9.99</Amount>
</Row>
<Row>
  <Item>Football</Item>
  <Quantity>5</Quantity>
  <Amount>12.99</Amount>
</Row>

Note that the ReferenceNumber is not present in these examples because the XML, by its nature, is passed against the parent record in full per insert. Since the complete XML must be constructed and submitted for each row, there is no need to provide something to tie the child back to the parent.

Now insert the values:

INSERT INTO Invoices (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', '{...}')

OR

INSERT INTO Invoices (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', '<Row>...</Row>')

Example for QuickBooks Online

For a working example of how temp tables can be used for bulk insert in QuickBooks Online, please see the following:

// Insert into CreditMemoLineItems child table
INSERT INTO CreditMemoLineItems#TEMP (DocNumber, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount, Line_SalesItemLineDetail_Qty) VALUES ('1234001', 'SalesItemLineDetail', '2', 0.01, 1);

INSERT INTO CreditMemoLineItems#TEMP (DocNumber, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount, Line_SalesItemLineDetail_Qty) VALUES ('1234001', 'SalesItemLineDetail', '2', 0.01, 2);

INSERT INTO CreditMemoLineItems#TEMP (DocNumber, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount, Line_SalesItemLineDetail_Qty) VALUES ('1235001', 'SalesItemLineDetail', '2', 0.01, 1);

INSERT INTO CreditMemoLineItems#TEMP (DocNumber, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount, Line_SalesItemLineDetail_Qty) VALUES ('1235001', 'SalesItemLineDetail', '2', 0.01, 2)


// Insert into CreditMemos parent table
INSERT INTO CreditMemos#TEMP (DocNumber, CustomerRef, LineAggregate) values ('1234001', '5', 'CreditMemoLineItems#TEMP');

INSERT INTO CreditMemos#TEMP (DocNumber, CustomerRef, LineAggregate) values ('1235001', '6', 'CreditMemoLineItems#TEMP');


// Execute the bulk insert
INSERT INTO CreditMemos (DocNumber, CustomerRef, LineAggregate) SELECT DocNumber, CustomerRef, LineAggregate FROM CreditMemos#TEMP;

CData Python Connector for QuickBooks Online

SSL Configuration

Customizing the SSL Configuration

By default, the connector attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.

To specify another certificate, see the SSLServerCert connection property.

CData Python Connector for QuickBooks Online

Firewall and Proxy

Connecting Through a Firewall or Proxy

HTTP Proxies

Note: The connector uses the system proxy settings by default, without further configuration needed. If you want to connect to other proxies, set ProxyAutoDetect to False and read further.

To authenticate to an HTTP proxy, set the following:

  • ProxyServer: the hostname or IP address of the proxy server that you want to route HTTP traffic through.
  • ProxyPort: the TCP port that the proxy server is running on.
  • ProxyAuthScheme: the authentication method the connector uses when authenticating to the proxy server.
  • ProxyUser: the username of a user account registered with the proxy server.
  • ProxyPassword: the password associated with the ProxyUser.

Other Proxies

Set the following properties:

CData Python Connector for QuickBooks Online

Caching Data

Caching Data

Caching data provides several benefits, including faster access to data and reducing the number of API calls, which improve performance. The connector supports a simple caching model where multiple connections can also share the cache over time. You can enable and configure caching features by setting the necessary connection properties.

Contents

The sections in this chapter detail the connector's caching functionality and link to the corresponding connection properties, as well as SQL statements.

Configuring the Cache Connection

Configuring the Cache Connection describes the properties that you can set when configuring the cache database.

Caching Metadata

Caching Metadata describes the CacheMetadata property. This property determines whether or not to cache the table metadata to a file store.

Automatically Caching Data

Automatically Caching Data describes how the connector automatically refreshes the cache when the AutoCache property is set.

Explicitly Caching Data

Explicitly Caching Data describes how you can decide what data is stored in the cache and when it is updated.

Data Type Mapping

Data Type Mapping shows the mappings between the data types configured in the schema and the data types in the database.

CData Python Connector for QuickBooks Online

Configuring the Cache Connection

Configuring the Caching Database

This section describes the properties for caching data to the persistent store of your choice.

CacheLocation

The CacheLocation property species the path to a file-system-based database. When caching is enabled, a file-system-based database is used by default. If CacheLocation is not specified, this database is stored at the path in Location. If neither of these connection properties are specified, the connector uses a platform-dependent default location.

CacheConnection

The CacheConnection property specifies a database driver and the connection string to the caching database.

CacheDriver and CacheProvider

Both the CacheDriver and CacheProvider properties are supported. Each specifies a database driver and the connection string to the caching database. CacheDriver is designed for Linux and MacOS; CacheProvider is Windows-based.

CData Python Connector for QuickBooks Online

Automatically Caching Data

Automatically caching data is useful when you do not want to rebuild the cache for each query. When you query data for the first time, the connector automatically initializes and builds a cache in the background. When AutoCache = true, the connector uses the cache for subsequent query executions, resulting in faster response times.

If replication is enabled, the data is generated once and then copied to local and cloud data stores. With incremental updates, the connector achieves a performance advantage over dropping the cached tables and retrieving the entire table again on every refresh. With iterative updates, the connector only performs the query from the last time that the date was refreshed. If replication is not enabled, updates to the cache require downloading the entire data set.

Configuring Automatic Caching

To automatically update the cache and return results from the local cache, set the following connection string properties:

  • AutoCache: This property automatically updates the cache when the value is set to true.
  • CacheTolerance: This property ensures that the data retrieved from the database is the most current version. The default value is 600 seconds (10 minutes). The connector checks with the data source for newer records after the tolerance interval has expired. Otherwise, it returns the data directly from the cache.

Caching the Customers Table

The following example caches the Customers table in the file specified by the CacheLocation property of the connection string.

SELECT Id, GivenName FROM Customers WHERE GivenName = 'Cook, Brian'

Common Use Case

A common use for automatically caching data is to improve driver performance when making repeated requests to a live data source, such as building a report or creating a visualization. With auto caching enabled, repeated requests to the same data may be executed in a short period of time, but within an allowable tolerance (CacheTolerance) of what is considered "live" data.

CData Python Connector for QuickBooks Online

Explicitly Caching Data

With explicit caching (AutoCache = false), you decide exactly what data is cached and when to query the cache instead of the live data. Explicit caching gives you full control over the cache contents by using CACHE Statements. This section describes some strategies to use the caching features offered by the connector.

Creating the Cache

To load data in the cache, issue the following statement.

CACHE SELECT * FROM tableName WHERE ...

Once the statement is issued, any matching data in tableName is loaded into the corresponding table.

Updating the Cache

This section describes two ways to update the cache.

Updating with the SELECT Statement

The following example shows a statement that can update modified rows and add missing rows in the cached table. However, this statement does not delete extra rows that are already in the cache. This statement only merges the new rows or updates the existing rows.

CACHE SELECT * FROM Customers WHERE GivenName = 'Cook, Brian'

Updating with the TRUNCATE Statement

The following example shows a statement that can update modified rows and add missing rows in the cached table. This statement can also delete rows in the cache table that are not present in the live data source.

  CACHE WITH TRUNCATE SELECT * FROM Customers WHERE GivenName = 'Cook, Brian'
  

Query the Data in Online or Offline Mode

This section describes how to query the data in online or offline mode.

Online: Select Cached Tables

You can use the tableName#CACHE syntax to explicitly execute queries to the cache while still online, as shown in the following example.

SELECT * FROM Customers#CACHE

Offline: Select Cached Tables

With Offline = true, SELECT statements always execute against the local cache database, regardless of whether you explicitly specify the cached table or not. Modification of the cache is disabled in Offline mode to prevent accidentally updating only the cached data. Executing a DELETE/UPDATE/INSERT statement while in Offline mode results in an exception.

The following example selects from the local cache but not the live data source because Offline = true.

SELECT * FROM Customers WHERE GivenName='Cook, Brian' ORDER BY GivenName ASC

Delete Data from the Cache

You can delete data from the cache by building a direct connection to the database. Note that the connector does not support manually deleting data from the cache.

Common Use Case

A common use for caching is to have an application always query the cached data and only update the cache at set intervals, such as once every day or every two hours. There are two ways in which this can be implemented:

  • AutoCache = false and Offline = false. All queries issued by the application explicitly reference the tableName#CACHE table. When the cache needs to be updated, the application executes a tableName#CACHE ... statement to bring the cached data up to date.
  • Offline = true. Caching is transparent to the application. All queries are executed against the table as normal, so most application code does not need to be aware that caching is done. To update the cached data, simply create a separate connection with Offline = false and execute a tableName#CACHE ... statement.

CData Python Connector for QuickBooks Online

Data Type Mapping

The connector maps types from the data source to the corresponding data type available in the chosen cache database. The following table shows the mappings between the data types configured in the schema and the data types in the database. Some schema types have synonyms which are all listed in the Schema column.

Data Type Mapping

Note: String columns can map to different data types depending on their length.

Schema .NET JDBC SQL Server Derby MySQL Oracle SQLite Access
int, integer, int32 Int32 int int INTEGER INT NUMBER integer LONG
smallint, short, int16 Int16 short smallint SMALLINT SMALLINT NUMBER integer SHORT
double, float, real Double double float DOUBLE DOUBLE NUMBER double DOUBLE
date DateTime java.sql.Date date DATE DATE DATE date DATETIME
datetime, timestamp DateTime java.sql.Date datetime TIMESTAMP DATETIME TIMESTAMP datetime DATETIME
time, timespan TimeSpan java.sql.Time time TIME TIME TIMESTAMP datetime DATETIME
string, varchar String java.lang.String If length > 4000: nvarchar(max), Otherwise: nvarchar(length)If length > 32672: LONG VARCHAR, Otherwise VARCHAR(length)If length > 255: LONGTEXT, Otherwise: VARCHAR(length)If length > 4000: CLOB, Otherwise: VARCHAR2(length)nvarchar(length)If length > 255: LONGTEXT, Otherwise: VARCHAR(length)
long, int64, bigint Int64 long bigint BIGINT BIGINT NUMBER bigint LONG
boolean, bool Boolean boolean tinyint SMALLINT BIT NUMBER tinyint BIT
decimal, numeric Decimal java.math.BigDecimal decimal DECIMAL DECIMAL DECIMAL decimal CURRENCY
uuid Guid java.util.UUID nvarchar(length) VARCHAR(length)VARCHAR(length) VARCHAR2(length)nvarchar(length) VARCHAR(length)
binary, varbinary, longvarbinary byte[] byte[] binary(1000) or varbinary(max) after SQL Server 2000, image otherwise BLOB LONGBLOB BLOB BLOB LONGBINARY

CData Python Connector for QuickBooks Online

Query Processing

Query Processing

CData has a client-side SQL engine built into the connector library. This enables support for the full capabilities that SQL-92 offers, including filters, aggregations, functions, etc.

For sources that do not support SQL-92, the connector offloads as much of SQL statement processing as possible to QuickBooks Online and then processes the rest of the query in memory (client-side). This results in optimal performance.

For data sources with limited query capabilities, the connector handles transformations of the SQL query to make it simpler for the connector. The goal is to make smart decisions based on the query capabilities of the data source to push down as much of the computation as possible. The QuickBooks Online Query Evaluation component examines SQL queries and returns information indicating what parts of the query the connector is not capable of executing natively.

The QuickBooks Online Query Slicer component is used in more specific cases to separate a single query into multiple independent queries. The client-side Query Engine makes decisions about simplifying queries, breaking queries into multiple queries, and pushing down or computing aggregations on the client-side while minimizing the size of the result set.

There's a significant trade-off in evaluating queries, even partially, client-side. There are always queries that are impossible to execute efficiently in this model, and some can be particularly expensive to compute in this manner. CData always pushes down as much of the query as is feasible for the data source to generate the most efficient query possible and provide the most flexible query capabilities.

More Information

For a full discussion of how CData handles query processing, see CData Architecture: Query Execution.

CData Python Connector for QuickBooks Online

Logging

Logging

Capturing connector logging can be very helpful when diagnosing error messages or other unexpected behavior.

Basic Logging

To begin capturing connector logging, set these properties:

  • Logfile: A filepath that designates the name and location of the log file.
  • Verbosity: A numerical value (1-5) that determines the amount of detail in the log. See the page in the Connection Properties section for an explanation of the five levels.
  • MaxLogFileSize: When the limit is hit, a new log is created in the same folder with the date and time appended to the end. The default limit is 100 MB. Values lower than 100 kB will use 100 kB as the value instead.
  • MaxLogFileCount: A string specifying the maximum file count of log files. When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted. Minimum supported value is 2. A value of 0 or a negative value indicates no limit on the count.

Once these properties are set, the connector populates the log file as it carries out various tasks, such as when authentication is performed or queries are executed. If the specified file doesn't already exist, it is created.

Log Verbosity

The verbosity level determines the amount of detail that the connector reports to the Logfile. Supported Verbosity levels range from 1 to 5.

The following list describes each level:

1Setting Verbosity to 1 logs the query, the number of rows returned by it, the start of execution and the time taken, and any errors.
2Setting Verbosity to 2 logs everything included in Verbosity 1, cache queries, and additional information about the request.
3Setting Verbosity to 3 also logs HTTP headers, as well as the body of the request and the response.
4Setting Verbosity to 4 also logs transport-level communication with the data source. This includes SSL negotiation.
5Setting Verbosity to 5 also logs communication with the data source and additional details that may be helpful in troubleshooting problems. This includes interface commands.

For normal operations, Verbosity should not be set to greater than 1. At higher verbosities you can log substantial amounts of data, which can delay execution times.

To refine the logged content further by showing/hiding specific categories of information, see LogModules.

Sensitive Data

Verbosity levels of 3 and higher may capture information that you do not want shared outside of your organization. The following lists information of concern for each level:

  • Verbosity 3: The full body of the request and the response, which includes all the data returned by the connector
  • Verbosity 4: SSL certificates
  • Verbosity 5: Any extra transfer data not included at Verbosity 3, such as non human-readable binary transfer data

Note: Although we mask sensitive values, such as passwords, in the connection string and any request in the log, it is always best practice to review the logs for any sensitive information before sharing outside your organization.

Advanced Logging

You may want to refine the exact information that is recorded to the log file. This can be accomplished using the LogModules property. This property allows you to filter the logging using a semicolon-separated list of logging modules.

Example property value:

LogModules=INFO;EXEC;SSL;SQL;META;

Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.

The available modules and submodules are:

Module Name Module Description Submodules
INFO General Information. Includes the connection string, product version (build number), and initial connection messages.
  • Connec – Information related to creating or destroying connections.
  • Messag – Generic label for messages pertaining to connections, the connection string, and product version. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
EXEC Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well.
  • Messag – Messages pertaining to query execution. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Normlz – Query normalization steps. Query normalization is when the product takes the user-submitted query and rewrites the query to get the same results with optimal performance.
  • Origin – This label applies to any messages recording a user's original query (the exact, unaltered, non-normalized query executed by the user).
  • Page – Messages related to query paging.
  • Parsed – Query parsing steps. Parsing is the process of converting the user-submitted query into a standardized format for easier processing.
HTTP HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages.
  • KERB – HTTP requests related to Kerberos.
  • Messag – Messages pertaining to HTTP protocols. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Unpack – This label applies to messages about zipped data being returned from the service API and unpacked by the product.
  • Res – Messages containing HTTP responses.
  • Req – Messages containing HTTP requests.
WSDL Messages pertaining to the generation of WSDL/XSD files.
SSL SSL certificate messages.
  • Certif – Messages pertaining to SSL certificates.
AUTH Authentication related failure/success messages.
  • Messag – Messages pertaining to authentication. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • OAuth – Messages related to OAuth authentication.
  • Krbros – Kerberos-related authentication messages.
SQL Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages.
  • Bulk – Messages pertaining to bulk query execution.
  • Cache – Messages related to reading row data from and writing row data to the product's cache for better performance.
  • Messag – Messages pertaining to SQL transactions. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • ResSet – Query resultsets.
  • Transc – Messages related to handling transactions, including information about the number of jobs executed and backup table handling.
META Metadata cache and schema messages.
  • Cache – Messages related to reading from and modifying column and table definitions in the product's cache for better performance.
  • Schema – Messages related to retrieving metadata from or modifying the service schema.
  • MemSto – Messages related to writing to or reading from in-memory metadata cache.
  • Storag – Messages relating to storing metadata on disk or in an external data store, rather than in memory.
FUNC Information related to executing SQL functions.
  • Errmsg – Error messages related to executing SQL functions.
TCP Incoming and outgoing raw bytes on TCP transport layer messages.
  • Send – Raw data sent via the TCP protocol.
  • Receiv – Raw data received via the TCP protocol.
FTP Messages pertaining to the File Transfer Protocol.
  • Info – Status messages related to communication in the FTP protocol.
  • Client – Messages related to actions taken by the FTP client (the product) during FTP communication.
  • Server – Messages related to actions taken by the FTP server during FTP communication.
SFTP Messages pertaining to the Secure File Transfer Protocol.
  • Info – Status messages related to communication in the SFTP protocol.
  • To_Server – Messages related to actions taken by the SFTP client (the product) during SFTP communication.
  • From_Server – Messages related to actions taken by the SFTP server during SFTP communication.
POP Messages pertaining to data transferred via the Post Office Protocol.
  • Client – Messages related to actions taken by the POP client (the product) during POP communication.
  • Server – Messages related to actions taken by the POP server during POP communication.
  • Status – Status messages related to communication in the POP protocol.
SMTP Messages pertaining to data transferred via the Simple Mail Transfer Protocol.
  • Client – Messages related to actions taken by the SMTP client (the product) during SMTP communication.
  • Server – Messages related to actions taken by the SMTP server during SMTP communication.
  • Status – Status messages related to communication in the SMTP protocol.
CORE Messages relating to various internal product operations not covered by other modules.
DEMN Messages related to SQL remoting.
CLJB Messages about bulk data uploads (cloud job).
  • Commit – Submissions for bulk data uploads.
SRCE Miscellaneous messages produced by the product that don't belong in any other module.
TRANCE Advanced messages concerning low-level product operations.

CData Python Connector for QuickBooks Online

Exception Handling

Exception Handling

Exceptions can be surfaced from either the API or the CData Python Connector for QuickBooks Online. Each exception will have an error code, an error message, and a SQL state.

Error Codes

The error code classifies the type of error.

0 NONE Used for unclassified errors and internally handled errors. This code also covers data source-specific errors that do not fit in any specific category.
65537 TCP_UNKNOWN_HOST Unable to resolve a hostname (DNS failure).
65538 TCP_CONNECTION_REFUSED Could not connect to the remote port.
65539 TCP_AUTH_FAILED Login failed when using a binary authentication protocol. Use this for auth errors when the protocol is not HTTP (LDAP, SASL, Kerberos, ...).
65540 TCP_TIMEOUT Did not receive a response after sending a request to the server.
65541 TCP_PROTOCOL For wire protocol drivers. Either the server sent a bad packet that we are unable to process, or we cannot construct a packet to send.
131073 TLS_SERVER_UNTRUSTED Could not verify SSL server certificate.
131074 TLS_CLIENT_UNTRUSTED Server did not accept the client certificate we sent.
196609 OAUTH_DECRYPT_FAILED OAuthEncryptKey did not decrypt the OAuthSettings file.
196610 OAUTH_MISSING_CLIENT_INFO OAuthClientId / OAuthClientSecret / OAuthJWTCert is missing.
196611 OAUTH_MISSING_PROP General OAuth property missing. OAUTH_MISSING_CLIENT_INFO is used for missing client ID/secret and JWT cert.
196612 OAUTH_NO_ACCESS_TOKEN Unable to retrieve access token. Only use this when getting a token in GetOAuthAccessToken / RefreshOAuthAccessToken.
196613 OAUTH_TOKEN_EXPIRED The access token expired. Normally used with a RefreshOAuth/OAuthException behavior.
196614 OAUTH_INVALID_PROP OAuth property has an invalid value. OAUTH_MISSING_CLIENT_INFO / OAUTH_MISSING_PROP is used if the value is not set.
262145 HTTP_REQUEST_TIMEOUT Did not receive a response from the HTTP server.
262146 HTTP_CLIENT_ERROR Generic HTTP 4xx error. Only use for 4xx errors not covered by other codes.
262147 HTTP_AUTH_FAILED HTTP 401 error.
262148 HTTP_LIMIT_EXCEEDED HTTP 429 error.
262149 HTTP_SERVER_ERROR HTTP 5xx error.
262150 HTTP_NOT_FOUND_ERROR HTTP 404 error.
327681 CORE_TIMEOUT General timeout. Not related to a specific network request.
327682 CORE_OP_NOT_ALLOWED Operation blocked by provider permissions.
327683 CORE_CONNECTION_CONFIG Connection configuration is not valid.
327684 CORE_SERIALIZE Failed to encode data into a specific format (XML, JSON, CSV, ...).
327685 CORE_DESERIALIZE Failed to decode data from a specific format (XML, JSON, CSV, ...).
393217 SQL_SYNTAX_ERROR Unable to parse a SQL query.
393218 SQL_MISSING_COLUMNS Query did not include required columns.
393219 SQL_MISSING_PARAMS Stored procedure call did not include required parameters.
393220 SQL_QUERY_NOT_SUPPORTED A part of the query is not allowed in the current context.
458753 SSH_SERVER_UNTRUSTED Could not verify SSH server.
524289 STORAGE_LIST_EXCEPTION Issue listing storage resources.
524290 STORAGE_RESOURCE_NOT_FOUND Issue finding storage resources.
524291 STORAGE_ROOT_RESOURCE_NOT_FOUND The root resource (bucket/share/drive) was not found; cannot create it in flat file drivers.
524292 STORAGE_RESOURCE_NOT_A_DIRECTORY Storage resource is not a directory.
524293 STORAGE_RESOURCE_NOT_A_FILE Storage resource is not a file.
524294 STORAGE_PERMISSIONS_DENIED Storage permissions denied.

SQL State

The SQL state is used when throwing generic provider errors to the wrapper and indicates the success or failure of a call.

Some of the common SQL states are listed below:

07007 REQUIRED_CLAUSE Class Code 07: Dynamic SQL Error.
08001 OPEN_CONNECTION Class Code 08: Connection Exception. The connection was unable to be established to the application server or other server.
08004 REJECT_CONNECTION The application server rejected establishment of the connection.
42501 PRIVILEGE_IDENTIFIED_OBJECT Class Code 42: Syntax Error or Access Rule Violation. The authorization ID does not have the privilege to perform the specified operation on the identified object.
42506 AUTH_FAILED Owner authorization failure occurred.
42601 SQL_SYNTAX A character, token, or clause is invalid or missing.

Error Message

The error message provides more detailed reasoning about why the error occurred. It provides an explanation of the issue, and may include steps on how to resolve it.

CData Python Connector for QuickBooks Online

SQL Compliance

The CData Python Connector for QuickBooks Online supports several operations on data, including querying, deleting, modifying, and inserting.

SELECT Statements

See SELECT Statements for a syntax reference and examples.

See Data Model for information on the capabilities of the QuickBooks Online API.

INSERT Statements

See INSERT Statements for a syntax reference and examples, as well as retrieving the new records' Ids.

UPDATE Statements

The primary key Id is required to update a record. See UPDATE Statements for a syntax reference and examples.

DELETE Statements

The primary key Id is required to delete a record. See DELETE Statements for a syntax reference and examples.

GETDELETED Statements

GETDELETED statements return the Ids of deleted records. See GETDELETED Statements for a syntax reference and examples.

CACHE Statements

CACHE statements allow granular control over the connector's caching functionality. For a syntax reference and examples, see CACHE Statements.

For more information on the caching feature, see Caching Data.

EXECUTE Statements

Use EXECUTE or EXEC statements to execute stored procedures. See EXECUTE Statements for a syntax reference and examples.

Names and Quoting

  • Table and column names are considered identifier names; as such, they are restricted to the following characters: [A-Z, a-z, 0-9, _:@].
  • To use a table or column name with characters not listed above, the name must be quoted using square brackets ([name]) in any SQL statement.
  • Parameter names can optionally start with the @ symbol (e.g., @p1 or @CustomerName) and cannot be quoted.
  • Strings must be quoted using single quotes (e.g., 'John Doe').

CData Python Connector for QuickBooks Online

SQL Functions

The connector provides functions that are similar to those that are available with most standard databases. These functions are implemented in the CData provider engine and thus are available across all data sources with the same consistent API. Three categories of functions are available: string, date, and math.

The connector interprets all SQL function inputs as either strings or column identifiers, so you need to escape all literals as strings, with single quotes. For example, contrast the SQL Server syntax and connector syntax for the DATENAME function:

  • SQL Server:
    SELECT DATENAME(yy,GETDATE())
  • connector:
    SELECT DATENAME('yy',GETDATE())

String Functions

These functions perform string manipulations and return a string value. See STRING Functions for more details.

Date Functions

These functions perform date and date time manipulations. See DATE Functions for more details.

Math Functions

These functions provide mathematical operations. See MATH Functions for more details.

CData Python Connector for QuickBooks Online

STRING Functions

ASCII(character_expression)

Returns the ASCII code value of the left-most character of the character expression.

  • character_expression: The character expression.

                      SELECT ASCII('0');
                      --  Result: 48
                    

BASE64_ENCODE(input_binary)

Returns the Base64-encoded string form of a binary input.

  • input_binary: The binary value to encode.

                        SELECT BASE64_ENCODE(BinaryData);
                    -- Result: 'QmFzZTY0RW5jb2RlZA=='
                    

BASE64_DECODE(input_string)

Returns the binary result of decoding a Base64-encoded string.

  • input_string: The Base64-encoded string.

                        SELECT BASE64_DECODE('QmFzZTY0RW5jb2RlZA==');
                    -- Result: (binary output)
                    

CHAR(integer_expression)

Converts the integer ASCII code to the corresponding character.

  • integer_expression: The integer from 0 through 255.

                      SELECT CHAR(48);
                      -- Result: '0'
                    

CHARINDEX(expressionToFind ,expressionToSearch [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT CHARINDEX('456', '0123456');
                      -- Result: 4

                      SELECT CHARINDEX('456', '0123456', 5);
                      -- Result: -1
                    

CHAR_LENGTH(character_expression),

Returns the number of UTF-8 characters present in the expression.

  • character_expression: The set of characters to be evaluated for length.

				 SELECT CHAR_LENGTH('sample text') FROM Account LIMIT 1
				 -- Result: 11			
				

CONCAT(string_value1, string_value2, ..., string_valueN)

Returns the string that is the concatenation of two or more string values.

  • string_value1: The first string to be concatenated.
  • string_value2: The second string to be concatenated.
  • string_valueN: (optional) Any additional strings to be concatenated.

                      SELECT CONCAT('Hello, ', 'world!');
                      -- Result: 'Hello, world!'
                    

CONTAINS(expressionToSearch, expressionToFind)

Returns 1 if expressionToFind is found within expressionToSearch; otherwise, 0.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.

                      SELECT CONTAINS('0123456', '456');
                      -- Result: 1

                      SELECT CONTAINS('0123456', 'Not a number');
                      -- Result: 0
                    

ENDSWITH(character_expression, character_suffix)

Returns 1 if character_expression ends with character_suffix; otherwise, 0.

  • character_expression: The character expression.
  • character_suffix: The character suffix to search for.

                      SELECT ENDSWITH('0123456', '456');
                      -- Result: 1

                      SELECT ENDSWITH('0123456', '012');
                      -- Result: 0
                    

FILESIZE(uri)

Returns the number of bytes present in the file at the specified file path.

  • uri: The path of the file from which to read the size.

				SELECT FILESIZE('C:/Users/User1/Desktop/myfile.txt');
				-- Result: 23684
				

FORMAT(value [, parseFormat], format )

Returns the value formatted with the specified format.

  • value: The string to format.
  • format: The string specifying the output syntax of the date or numeric format.
  • parseFormat: The string specifying the input syntax of the date value. Not applicable to numeric types.

                      SELECT FORMAT(12.34, '#');
                      -- Result: 12

                      SELECT FORMAT(12.34, '#.###');
                      -- Result: 12.34

                      SELECT FORMAT(1234, '0.000E0');
                      -- Result: 1.234E3
                      
                      SELECT FORMAT('2019/01/01', 'yyyy-MM-dd');
                      -- Result: 2019-01-01
                      
                      SELECT FORMAT('20190101', 'yyyyMMdd', 'yyyy-MM-dd');
                      -- Result: '2019-01-01'
                    

HASHBYTES(algorithm, value)

Returns the hash of the input value as a byte array using the given algorithm. The supported algorithms are MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, and SHA3_512.

  • algorithm: The algorithm to use for hashing. Must be one of MD5, SHA1, SHA2_256, SHA2_512, SHA3_224, SHA3_256, SHA3_384, or SHA3_512.
  • value: The value to hash. Must be either a string or byte array.

                      SELECT HASHBYTES('MD5', 'Test');
                      -- Result (byte array): 0x0CBC6611F5540BD0809A388DC95A615B
                    

INDEXOF(expressionToSearch, expressionToFind [,start_location ])

Returns the starting position of the specified expression in the character string.

  • expressionToSearch: The character expression, typically a column, to search.
  • expressionToFind: The character expression to find.
  • start_location: An optional character position to start searching for expressionToFind in expressionToSearch.

                      SELECT INDEXOF('0123456', '456');
                      -- Result: 4

                      SELECT INDEXOF('0123456', '456', 5);
                      -- Result: -1
                    

ISALPHABETIC(character_expression)

Returns 1 if the character expression consists only of alphabetic characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHABETIC('Hello');
                      -- Result: 1

                      SELECT ISALPHABETIC('Hello123');
                      -- Result: 0

                      SELECT ISALPHABETIC('Hello!');
                      -- Result: 0
                    

ISALPHANUMERIC(character_expression)

Returns 1 if the character expression consists only of alphabetic and numeric characters; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISALPHANUMERIC('Hello123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('123');
                      -- Result: 1

                      SELECT ISALPHANUMERIC('Hello.123');
                      -- Result: 0
                    

ISNUMERIC(character_expression)

Returns 1 if the character expression consists only of numeric digits and up to one decimal point; otherwise, 0.

  • character_expression: The string expression to evaluate.

                      SELECT ISNUMERIC('123');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45');
                      -- Result: 1

                      SELECT ISNUMERIC('123.45.67');
                      -- Result: 0

                      SELECT ISNUMERIC('12a3');
                      -- Result: 0
                    

JSON_EXTRACT(json, jsonpath)

Selects any value in a JSON array or object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to extract.
  • jsonpath: The XPath used to select the nodes. The JSONPath must be a string constant. The values of the nodes selected will be returned in a token-separated list.

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test');
                      -- Result: '{"data":1}'

                      SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test.data');
                      -- Result: 1

                      SELECT JSON_EXTRACT('{"test": {"data": [1, 2, 3]}}', '$.test.data[1]');
                      -- Result: 2
                    

LEFT ( character_expression , integer_expression )

Returns the specified number of characters counting from the left of the specified string.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters will be returned counting from the left of character_expression.

                      SELECT LEFT('1234567890', 3);
                      -- Result: '123'
                    

LEN(string_expression)

Returns the number of characters of the specified string expression.

  • string_expression: The string expression.

                      SELECT LEN('12345');
                      -- Result: 5
                    

LOCATE(substring,string)

Returns an integer representing how many characters into the string the substring appears.

  • substring: The substring to find inside larger string.
  • string: The larger string that is searched for the substring.
  • start locations: An optional integer that sets the character position (offset) from which to start searching.

				SELECT LOCATE('sample','XXXXXsampleXXXXX');
				-- Result: 6

                SELECT LOCATE('sample', 'XXXXXsampleXXXXX', 7)
                -- Result: 0
				

LOWER ( character_expression )

Returns the character expression with the uppercase character data converted to lowercase.

  • character_expression: The character expression.

                      SELECT LOWER('MIXED case');
                      -- Result: 'mixed case'
                    

LTRIM(character_expression)

Returns the character expression with leading blanks removed.

  • character_expression: The character expression.

                      SELECT LTRIM('     trimmed');
                      -- Result: 'trimmed'
                    

MASK(string_expression, mask_character [, start_index [, end_index ]])

Replaces the characters between start_index and end_index with the mask_character within the string.

  • string_expression: The string expression to be searched.
  • mask_character: The character to mask with.
  • start_index: The optional number of characters to leave unmasked at beginning of string. Defaults to 0.
  • end_index: The optional number of characters to leave unmasked at end of string. Defaults to 0.

                        SELECT MASK('1234567890','*',);
                        -- Result: '**********'
                        SELECT MASK('1234567890','*', 4);
                        -- Result: '1234******'
                        SELECT MASK('1234567890','*', 4, 2);
                        -- Result: '1234****90'  
                    

NCHAR(integer_expression)

Returns the Unicode character with the specified integer code as defined by the Unicode standard.

  • integer_expression: The integer from 0 through 65535 (0 through xFFFF).

OCTET_LENGTH(character_expression),

Returns the number of bytes present in the expression.

  • character_expression: The set of characters to be be evaluated.

				 SELECT OCTET_LENGTH('text') FROM Account LIMIT 1
				 -- Result: 4
				

PATINDEX(pattern, expression)

Returns the starting position of the first occurrence of the pattern in the expression. Returns 0 if the pattern is not found.

  • pattern: The character expression that contains the sequence to be found. The wild-card character % can be used only at the start or end of the expression.
  • expression: The expression, typically a column, to search for the pattern.

                      SELECT PATINDEX('123%', '1234567890');
                      -- Result: 1

                      SELECT PATINDEX('%890', '1234567890');
                      -- Result: 8

                      SELECT PATINDEX('%456%', '1234567890');
                      -- Result: 4
                    

POSITION(expressionToFind IN expressionToSearch)

Returns the starting position of the specified expression in the character string.

  • expressionToFind: The character expression to find.
  • expressionToSearch: The character expression, typically a column, to search.

                      SELECT POSITION('456' IN '123456');
                      -- Result: 4

                      SELECT POSITION('x' IN '123456');
                      -- Result: 0
                    

QUOTENAME(character_string [, quote_character])

Returns a valid SQL Server-delimited identifier by adding the necessary delimiters to the specified Unicode string.

  • character_string: The string of Unicode character data. The string is limited to 128 characters. Inputs greater than 128 characters return null.
  • quote_character: An optional single character to be used as the delimiter. These include:
    • a single quotation mark (')
    • a left or right bracket ([])
    • a double quotation mark (")
    • a left or right parenthesis ( () )
    • a greater or less than sign (><)
    • a left or right brace ({})
    • a backtick (`)

    If quote_character is not specified brackets are used. If an unacceptable character is supplied, it returns NULL.


                      SELECT QUOTENAME('table_name');
                      -- Result: '[table_name]'

                      SELECT QUOTENAME('table_name', '"');
                      -- Result: '"table_name"'

                      SELECT QUOTENAME('table_name', '[');
                      -- Result: '[table_name]'
                    

REGEXP_REPLACE(expr, pattern [, replacement [, position [, occurrence [, match_type]]]])

Replaces occurrences of a regular expression pattern in the input string with a specified value and returns the resulting string.

  • expr: The string expression to be searched.
  • pattern: The regular expression pattern to match.
  • replacement: (optional) The string to replace each matched occurrence of pattern with. Supports backreferences \1 through \9 and escape sequences \n, \r, \t, and \\. By default, this argument is an empty string, meaning matched portions are removed from the output string.
  • position: (optional) The 1-based starting position used when searching for regular expression matches in expr. The default is 1. All characters prior to the starting position are included in the output string unaltered. Skipped characters are ignored when calculating regular expression matches, even if they match pattern.
  • occurrence: (optional) Specifies whether all occurrences of pattern,, or only a specific occurrence of pattern are replaced. The default is 0, which means all occurrences of pattern are replaced with replacement. Set to 1 to only replace the first instance of the pattern; 2 to replace the second; etc.
  • match_type: (optional) Modifiers used to customize matching behavior. Supported values are: 'c' (case-sensitive, default), 'i' (case-insensitive), 'm' (multiline), 'n' (dot matches newline), 'x' (extended mode). These can be freely combined by including the letters back to back. For example, 'im' applies the functionality of both 'i' and 'm'. The regular expression syntax used is that of the Extended mode ('x') ignores whitespace and allows inline comments. If the pattern needs to match a literal space, it must be explicitly escaped.

                      SELECT REGEXP_REPLACE('abc123def456', '\d+', 'NUM');
                      -- Result: 'abcNUMdefNUM'

                      SELECT REGEXP_REPLACE('Hello\nHELLO\nhello', '^hello', 'X', 1, 0, 'im');
                      -- Result: 'X\nX\nX'
                    

REPLACE(string_expression, string_pattern, string_replacement)

Replaces all occurrences of a string with another string.

  • string_expression: The string expression to be searched. This can be a character or binary data type.
  • string_pattern: The substring to be found. Cannot be an empty string.
  • string_replacement: The replacement string.

                      SELECT REPLACE('1234567890', '456', '|');
                      -- Result: '123|7890'

                      SELECT REPLACE('123123123', '123', '.');
                      -- Result: '...'

                      SELECT REPLACE('1234567890', 'a', 'b');
                      -- Result: '1234567890'
                    

REPLICATE ( string_expression ,integer_expression )

Repeats the string value the specified number of times.

  • string_expression: The string to replicate.
  • integer_expression: The repeat count.

                      SELECT REPLACE('x', 5);
                      -- Result: 'xxxxx'
                    

REVERSE ( string_expression )

Returns the reverse order of the string expression.

  • string_expression: The string.

                      SELECT REVERSE('1234567890');
                      -- Result: '0987654321'
                    

RIGHT ( character_expression , integer_expression )

Returns the right part of the string with the specified number of characters.

  • character_expression: The character expression.
  • integer_expression: The positive integer that specifies how many characters of the character expression will be returned.

                      SELECT RIGHT('1234567890', 3);
                      -- Result: '890'
                    

RTRIM(character_expression)

Returns the character expression after it removes trailing blanks.

  • character_expression: The character expression.

                      SELECT RTRIM('trimmed     ');
                      -- Result: 'trimmed'
                    

SOUNDEX(character_expression)

Returns the four-character Soundex code, based on how the string sounds when spoken.

  • character_expression: The alphanumeric expression of character data.

                      SELECT SOUNDEX('smith');
                      -- Result: 'S530'
                    

SPACE(repeatcount)

Returns the string that consists of repeated spaces.

  • repeatcount: The number of spaces.

                      SELECT SPACE(5);
                      -- Result: '     '
                    

SPLIT(string, delimiter, offset)

Returns a section of the string between to delimiters.

  • string: The string to split.
  • delimiter: The character to split the string with.
  • offset: The number of the split to return. Positive numbers are treated as offsets from the left, and negative numbers are treated as offsets from the right.

                      SELECT SPLIT('a/b/c/d', '/', 1);
                      -- Result: 'a'
                      SELECT SPLIT('a/b/c/d', '/', -2);
                      -- Result: 'c'
                    

STARTSWITH(character_expression, character_prefix)

Returns 1 if character_expression starts with character_prefix; otherwise, 0.

  • character_expression: The character expression.
  • character_prefix: The character prefix to search for.

                      SELECT STARTSWITH('0123456', '012');
                      -- Result: 1

                      SELECT STARTSWITH('0123456', '456');
                      -- Result: 0
                    

STR ( float_expression [ , integer_length [ , integer_decimal ] ] )

Returns the character data converted from the numeric data. For example, STR(123.45, 6, 1) returns 123.5.

  • float_expression: The float expression.
  • length: The optional total length to return. This includes decimal point, sign, digits, and spaces. The default is 10.
  • decimal: The optional number of places to the right of the decimal point. The decimal must be less than or equal to 16.

                      SELECT STR('123.456');
                      -- Result: '123'

                      SELECT STR('123.456', 2);
                      -- Result: '**'

                      SELECT STR('123.456', 10, 2);
                      -- Result: '123.46'
                    

STUFF(character_expression , integer_start , integer_length , replaceWith_expression)

Inserts a string into another string. It deletes the specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.

  • character_expression: The string expression.
  • start: The integer value that specifies the location to start deletion and insertion. If start or length is negative, null is returned. If start is longer than the string to be modified, character_expression, null is returned.
  • length: The integer that specifies the number of characters to delete. If length is longer than character_expression, deletion occurs up to the last character in replaceWith_expression.
  • replaceWith_expression: The expression of character data that will replace length characters of character_expression beginning at the start value.

                      SELECT STUFF('1234567890', 3, 2, 'xx');
                      -- Result: '12xx567890'
                    

SUBSTRING(string_value FROM start FOR length)

Returns the part of the string with the specified length; starts at the specified index.

  • string_value: The character string.
  • start: The positive integer that specifies the start index of characters to return.
  • length: Optional. The positive integer that specifies how many characters will be returned.

                      SELECT SUBSTRING('1234567890' FROM 3 FOR 2);
                      -- Result: '34'

                      SELECT SUBSTRING('1234567890' FROM 3);
                      -- Result: '34567890'
                    
You can also drop the FROM and FOR clauses:
                    SELECT SUBSTRING('1234567890', 3, 2)
                    --Result: '34'
                    SELECT SUBSTRING('1234567890', 3)
                    --Result: '34567890'
                    

TEXT_ENCODE(input_string, charset)

Returns binary output by encoding a string using the specified character set.

  • input_string: The plain text string.
  • charset: The character set to use, such as 'UTF-8', 'ISO-8859-1'.

                    SELECT TEXT_ENCODE('Café', 'UTF-8');
                    -- Result: (binary output)
                    

TEXT_DECODE(input_binary, charset)

Returns a string decoded from binary data using the specified character set.

  • input_binary: The binary value to decode.
  • charset: The character set used for decoding.

                    SELECT TEXT_DECODE(BinaryData, 'UTF-8');
                    -- Result: 'Café'
                    

TOSTRING(string_value1)

Converts the value of this instance to its equivalent string representation.

  • string_value1: The string to be converted.

                      SELECT TOSTRING(123);
                      -- Result: '123'

                      SELECT TOSTRING(123.456);
                      -- Result: '123.456'

                      SELECT TOSTRING(null);
                      -- Result: ''
                    

TRIM(trimspec trimchar FROM string_value)

Returns the character expression with leading and/or trailing blanks removed.

  • trimspec: Optional. If included must be one of the keywords BOTH, LEADING or TRAILING.
  • trimchar: Optional. If included should be a one-character string value.
  • string_value: The string value to trim.

                      SELECT TRIM('     trimmed     ');
                      -- Result: 'trimmed'

                      SELECT TRIM(LEADING FROM '     trimmed     ');
                      -- Result: 'trimmed     '

                      SELECT TRIM('-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(BOTH '-' FROM '-----trimmed-----');
                      -- Result: 'trimmed'

                      SELECT TRIM(TRAILING '-' FROM '-----trimmed-----');
                      -- Result: '-----trimmed'
                    

UNICODE(ncharacter_expression)

Returns the integer value defined by the Unicode standard of the first character of the input expression.

  • ncharacter_expression: The Unicode character expression.

UPPER ( character_expression )

Returns the character expression with lowercase character data converted to uppercase.

  • character_expression: The character expression.

                      SELECT UPPER('MIXED case');
                      -- Result: 'MIXED CASE'
                    

XML_EXTRACT(xml, xpath [, separator])

Extracts an XML document using the specified XPath to flatten the XML. A comma is used to separate the outputs by default, but this can be changed by specifying the third parameter.

  • xml: The XML document to extract.
  • xpath: The XPath used to select the nodes. The nodes selected will be returned in a token-separated list.
  • separator: The optional token used to separate the items in the flattened response. If this is not specified, the separator will be a comma.

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch');
                      -- Result: 'a,e,i,o,u'

                      SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch', ';');
                      -- Result: 'a;e;i;o;u'
                    

CData Python Connector for QuickBooks Online

MATH Functions

ABS ( numeric_expression )

Returns the absolute (positive) value of the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT ABS(15);
                      -- Result: 15

                      SELECT ABS(-15);
                      -- Result: 15
                    

ACOS ( float_expression )

Returns the arc cosine, the angle in radians whose cosine is the specified float expression.

  • float_expression: The float expression that specifies the cosine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ACOS(0.5);
                      -- Result: 1.0471975511966
                    

ASIN ( float_expression )

Returns the arc sine, the angle in radians whose sine is the specified float expression.

  • float_expression: The float expression that specifies the sine of the angle to be returned. Values outside the range from -1 to 1 return null.

                      SELECT ASIN(0.5);
                      -- Result: 0.523598775598299
                    

ATAN ( float_expression )

Returns the arc tangent, the angle in radians whose tangent is the specified float expression.

  • float_expression: The float expression that specifies the tangent of the angle to be returned.

                      SELECT ATAN(10);
                      -- Result: 1.47112767430373
                    

ATN2 ( float_expression1 , float_expression2 )

Returns the angle in radians between the positive x-axis and the ray from the origin to the point (y, x) where x and y are the values of the two specified float expressions.

  • float_expression1: The float expression that is the y-coordinate.
  • float_expression2: The float expression that is the x-coordinate.

                      SELECT ATN2(1, 1);
                      -- Result: 0.785398163397448
                    

CEILING ( numeric_expression ) or CEIL( numeric_expression )

Returns the smallest integer greater than or equal to the specified numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT CEILING(1.3);
                      -- Result: 2

                      SELECT CEILING(1.5);
                      -- Result: 2

                      SELECT CEILING(1.7);
                      -- Result: 2
                    

COS ( float_expression )

Returns the trigonometric cosine of the specified angle in radians in the specified expression.

  • float_expression: The float expression of the specified angle in radians.

                      SELECT COS(1);
                      -- Result: 0.54030230586814
                    

COT ( float_expression )

Returns the trigonometric cotangent of the angle in radians specified by float_expression.

  • float_expression: The float expression of the angle in radians.

                      SELECT COT(1);
                      -- Result: 0.642092615934331
                    

DEGREES ( numeric_expression )

Returns the angle in degrees for the angle specified in radians.

  • numeric_expression: The angle in radians, an expression of an indeterminate numeric data type except for the bit data type.

                      SELECT DEGREES(3.1415926);
                      -- Result: 179.999996929531
                    

EXP ( float_expression )

Returns the exponential value of the specified float expression. For example, EXP(LOG(20)) is 20.

  • float_expression: The float expression.

                      SELECT EXP(2);
                      -- Result: 7.38905609893065
                    

EXPR ( expression )

Evaluates the expression.

  • expression: The expression. Operators allowed are +, -, *, /, ==, !=, >, <, >=, and <=.

                      SELECT EXPR('1 + 2 * 3');
                      -- Result: 7

                      SELECT EXPR('1 + 2 * 3 == 7');
                      -- Result: true
                    

FLOOR ( numeric_expression )

Returns the largest integer less than or equal to the numeric expression.

  • numeric_expression: The expression of an indeterminate numeric data type except for the bit data type.

                      SELECT FLOOR(1.3);
                      -- Result: 1

                      SELECT FLOOR(1.5);
                      -- Result: 1

                      SELECT FLOOR(1.7);
                      -- Result: 1
                    

GREATEST(int1,int2,....)

Returns the greatest of the supplied integers.

				SELECT GREATEST(3,5,8,10,1)
				-- Result: 10			
				

HEX(value)

Returns a the equivalent hex for the input value.

  • value: A string or numerical value to be converted into hex.

				SELECT HEX(866849198);
				-- Result: 33AB11AE
				
				SELECT HEX('Sample Text');
				-- Result: 53616D706C652054657874
				

JSON_AVG(json, jsonpath)

Computes the average value of a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_AVG('[1,2,3,4,5]', '$[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 3

                      SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4.5
                    

JSON_COUNT(json, jsonpath)

Returns the number of elements in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_COUNT('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 2
                    

JSON_MAX(json, jsonpath)

Gets the maximum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MAX('[1,2,3,4,5]', '$[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 5

                      SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[..3]');
                      -- Result: 4
                    

JSON_MIN(json, jsonpath)

Gets the minimum value in a JSON array within a JSON object. The path to the array is specified in the jsonpath argument. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_MIN('[1,2,3,4,5]', '$[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 1

                      SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 4
                    

JSON_SUM(json, jsonpath)

Computes the summary value in JSON according to the JSONPath expression. Return value is numeric or null.

  • json: The JSON document to compute.
  • jsonpath: The JSONPath used to select the nodes. [x], [2..], [..8], or [1..12] are accepted. [x] selects all nodes.

                      SELECT JSON_SUM('[1,2,3,4,5]', '$[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]');
                      -- Result: 15

                      SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]');
                      -- Result: 9
                    

LEAST(int1,int2,....)

Returns the least of the supplied integers.

				SELECT LEAST(3,5,8,10,1)
				-- Result: 1			
				

LOG ( float_expression [, base ] )

Returns the natural logarithm of the specified float expression.

  • float_expression: The float expression.
  • base: The optional integer argument that sets the base for the logarithm.

                      SELECT LOG(7.3890560);
                      -- Result: 1.99999998661119
                    

LOG10 ( float_expression )

Returns the base-10 logarithm of the specified float expression.

  • float_expression: The expression of type float.

                      SELECT LOG10(10000);
                      -- Result: 4
                    

MOD(dividend,divisor)

Returns the integer value associated with the remainder when dividing the dividend by the divisor.

  • dividend: The number to take the modulus of.
  • divisor: The number to divide the dividend by when determining the modulus.

				SELECT MOD(10,3);
				-- Result: 1
				

NEGATE(real_number)

Returns the opposite to the real number input.

  • real_number: The real number to find the opposite of.

				SELECT NEGATE(10);
				-- Result: -10
				
				SELECT NEGATE(-12.4)
				--Result: 12.4
				

PI ( )

Returns the constant value of pi.

                  SELECT PI()
                  -- Result: 3.14159265358979 
                

POWER ( float_expression , y )

Returns the value of the specified expression raised to the specified power.

  • float_expression: The float expression.
  • y: The power to raise float_expression to.

                      SELECT POWER(2, 10);
                      -- Result: 1024

                      SELECT POWER(2, -2);
                      -- Result: 0.25
                    

RADIANS ( float_expression )

Returns the angle in radians of the angle in degrees.

  • float_expression: The degrees of the angle as a float expression.

                      SELECT RADIANS(180);
                      -- Result: 3.14159265358979
                    

RAND ( [ integer_seed ] )

Returns a pseudorandom float value from 0 through 1, exclusive.

  • seed: The optional integer expression that specifies the seed value. If seed is not specified, a seed value at random will be assigned.

                      SELECT RAND();
                      -- This result may be different, since the seed is randomized
                      -- Result: 0.873159630165044

                      SELECT RAND(1);
                      -- This result will always be the same, since the seed is constant
                      -- Result: 0.248668584157093
                    

ROUND ( numeric_expression [ ,integer_length] [ ,function ] )

Returns the numeric value rounded to the specified length or precision.

  • numeric_expression: The expression of a numeric data type.
  • length: The optional precision to round the numeric expression to. When this is omitted, the default behavior will be to round to the nearest whole number.
  • function: The optional type of operation to perform. When the function parameter is omitted or has a value of 0 (default), numeric_expression is rounded. When a value other than 0 is specified, numeric_expression is truncated.

                      SELECT ROUND(1.3, 0);
                      -- Result: 1

                      SELECT ROUND(1.55, 1);
                      -- Result: 1.6

                      SELECT ROUND(1.7, 0, 0);
                      -- Result: 2

                      SELECT ROUND(1.7, 0, 1);
                      -- Result: 1
                      
                      SELECT ROUND (1.24);
                      -- Result: 1.0
                    

SIGN ( numeric_expression )

Returns the positive sign (1), 0, or negative sign (-1) of the specified expression.

  • numeric_expression: The expression of an indeterminate data type except for the bit data type.

                      SELECT SIGN(0);
                      -- Result: 0

                      SELECT SIGN(10);
                      -- Result: 1

                      SELECT SIGN(-10);
                      -- Result: -1
                    

SIN ( float_expression )

Returns the trigonometric sine of the angle in radians.

  • float_expression: The float expression specifying the angle in radians.

                     SELECT SIN(1);
                     -- Result: 0.841470984807897
                    

SQRT ( float_expression )

Returns the square root of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQRT(100);
                      -- Result: 10
                    

SQUARE ( float_expression )

Returns the square of the specified float value.

  • float_expression: The expression of type float.

                      SELECT SQUARE(10);
                      -- Result: 100

                      SELECT SQUARE(-10);
                      -- Result: 100
                    

TAN ( float_expression )

Returns the tangent of the input expression.

  • float_expression: The expression of type float.

                      SELECT TAN(1);
                      -- Result: 1.5574077246549
                    

TRUNC(decimal_number,precision)

Returns the supplied decimal number truncated to have the supplied decimal precision.

  • decimal_number: The decimal value to truncate.
  • precision: The number of decimal places to truncate the decimal number to.

				SELECT TRUNC(10.3423,2);
				-- Result: 10.34
				

_ROW_NUMBER_()

Returns a row index as an additional column.

				SELECT ColumnName, _ROW_NUMBER_() FROM TableName
				-- Result: ColumnData, 0
				ColumnData2, 1
				ColumnData3, 2
				

CData Python Connector for QuickBooks Online

DATE Functions

CURRENT_DATE()

Returns the current date value.

                  SELECT CURRENT_DATE();
                  -- Result: 2018-02-01
                

CURRENT_TIMESTAMP()

Returns the current time stamp of the database system as a datetime value. This value is equal to GETDATE and SYSDATETIME, and is always in the local timezone.

                  SELECT CURRENT_TIMESTAMP();
                  -- Result: 2018-02-01 03:04:05
                

DATEADD (datepart , integer_number , date [, dateformat])

Returns the datetime value that results from adding the specified number (a signed integer) to the specified date part of the date.

  • datepart: The part of the date to add the specified number to. The valid values and abbreviations are
    • year (yy, yyyy)
    • quarter (qq, q)
    • month (mm, m)
    • week (wk, ww)
    • weekday (dw)
    • dayofyear (dy, y)
    • day (dd, d)
    • hour (hh)
    • minute (mi, n)
    • second (ss, s)
    • millisecond (ms)
  • number: The number to be added.
  • date: The expression of the datetime data type.
  • dateformat: The optional output date format.

                  SELECT DATEADD('d', 5, '2018-02-01');
                  -- Result: 2018-02-06

                  SELECT DATEADD('hh', 5, '2018-02-01 00:00:00');
                  -- Result: 2018-02-01 05:00:00
                

DATEDIFF ( datepart , startdate , enddate )

Returns the difference (a signed integer) of the specified time interval between the specified start date and end date.

  • datepart: The part of the date that is the time interval of the difference between the start date and end date. The valid values and abbreviations are:
    • Year (year, yyyy, yy)
    • Quarter (quarter, qq, q)
    • Month (month, mm, m)
    • Week (week, wk, ww)
    • Weekday (weekday, dw)
    • Dayofyear (dayofyear, dy, y)
    • Day (day, dd, d)
    • Hour (hour, hh)
    • Minute (minute, mi, n)
    • Second (second, ss, s)
    • Millisecond (millisecond, ms)
  • startdate: The datetime expression of the start date.
  • enddate: The datetime expression of the end date.

                  SELECT DATEDIFF('d', '2018-02-01', '2018-02-10');
                  -- Result: 9

                  SELECT DATEDIFF('hh', '2018-02-01 00:00:00', '2018-02-01 12:00:00');
                  -- Result: 12
                

DATE_FORMAT(date,format)

Returns the date or timestamp in the format specified. This function mirrors the MySQL DATE_FORMAT function.

  • date: A date or timestamp string.
  • format: The specifier string of the desired output format. The list of supported format specifiers comes from the MySQL DATE_FORMAT function (see link to MySQL documentation above).

					SELECT DATE_FORMAT('9/4/2021 3:11:53 AM','%h')
					-- Result: 03
				  

DATEFROMPARTS(integer_year, integer_month, integer_day)

Returns the datetime value for the specified year, month, and day.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.

                    SELECT DATEFROMPARTS(2018, 2, 1);
                    -- Result: 2018-02-01
                  

DATENAME(datepart , date)

Returns the character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), and nanosecond (ns).
  • date: The datetime expression.

                     SELECT DATENAME('yy', '2018-02-01');
                     -- Result: '2018'

                     SELECT DATENAME('dw', '2018-02-01');
                     -- Result: 'Thursday'
                   

DATEPART(datepart, date [,integer_datefirst])

Returns a character string that represents the specified date part of the specified date.

  • datepart: The part of the date to return. The valid values and abbreviations are year (yy, yyyy), quarter (qq, q), month (mm, m), dayofyear (dy, y), day (dd, d), week (wk, ww), weekday (dw), hour (hh), minute (mi, n), second (ss, s), millisecond (ms), microsecond (mcs), nanosecond (ns), ISODOW, ISO_WEEK (isoweek, isowk,isoww), and ISOYEAR.
  • date: The datetime string.
  • datefirst: The optional integer representing the first day of the week. The default is 7, Sunday.

                    SELECT DATEPART('yy', '2018-02-01');
                    -- Result: 2018

                    SELECT DATEPART('dw', '2018-02-01');
                    -- Result: 5
                  

DATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_milliseconds)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • milliseconds: The integer expression specifying the milliseconds.

                    SELECT DATETIMEFROMPARTS(2018, 2, 1, 1, 2, 3, 456);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATETIME2FROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the datetime value for the specified date parts.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision: The integer expression specifying the precision of the fraction.

				    SELECT DATETIME2FROMPARTS(2018, 2, 1, 1, 2, 3, 456, 3);
                    -- Result: 2018-02-01 01:02:03.456
                  

DATE_TRUNC(date, datepart)

Truncates the date to the precision of the given date part. Modeled after the Oracle TRUNC function.

  • date: The datetime string that specifies the date.
  • datepart: Refer to the Oracle documentation for valid datepart syntax.

				    SELECT DATE_TRUNC('05-04-2005', 'YY');
                    -- Result: '1/1/2005'
					
                    SELECT DATE_TRUNC('05-04-2005', 'MM');
                    -- Result: '5/1/2005'                    
                  

DATE_TRUNC2(datepart, date, [weekday])

Truncates the date to the precision of the given date part. Modeled after the PostgreSQL date_trunc function.

  • datepart: One of 'millennium', 'century', 'decade', 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute' or 'second'.
  • date: The datetime string that specifies the date.
  • weekday: The optional day of the week to use as the first day for 'week'. One of 'sunday', 'monday', etc.

                    SELECT DATE_TRUNC2('year', '2020-02-04');
                    -- Result: '2020-01-01'

                    SELECT DATE_TRUNC2('week', '2020-02-04', 'monday');
                    -- Result: '2020-02-02', which is the previous Monday
                  

DAY(date)

Returns the integer that specifies the day component of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAY('2018-02-01');
                    -- Result: 1
                  

DAYNAME(date)

Returns the name of the day of the week of the specified date.

  • date: The datetime string that specifies the date.

                    SELECT DAYNAME('8/18/2021');
                    -- Result: Wednesday
                  

DAYOFMONTH(date)

Returns the day of the month of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFMONTH('04/15/2000');
				  -- Result: 15
				  

DAYOFWEEK(date)

Returns the day of the week of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFWEEK('04/15/2000');
				  -- Result: 7
				  

DAYOFYEAR(date)

Returns the day of the year of the given date part.
  • date: The datetime string that specifies the date.

				  SELECT DAYOFYEAR('04/15/2000');
				  -- Result: 106
				  

EOMONTH(date [, integer_month_to_add ]) or LAST_DAY(date)

Returns the last day of the month that contains the specified date with an optional offset.

  • date: The datetime expression specifying the date for which to return the last day of the month.
  • integer_month_to_add: The optional integer expression specifying the number of months to add to the date before calculating the end of the month.

                  SELECT EOMONTH('2018-02-01');
                  -- Result: 2018-02-28
                  
                  SELECT LAST_DAY('2018-02-01');
                  -- Result: 2018-02-28

                  SELECT EOMONTH('2018-02-01', 2);
                  -- Result: 2018-04-30
                

EXTRACT(date_part FROM date_column_name)

Returns the last day of the month that contains the specified date with an optional offset.

  • date_part: One of the following date components: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.
  • date_column_name: The name of a date column in a table.

                  SELECT EXTRACT(YEAR FROM DateColumn)
                  -- Result: 2021
                

FDWEEK(date)

Returns the first day of the week of the given date part.
  • date: The datetime string that specifies the date.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the week.

				  SELECT FDWEEK('02-08-2018');
				  -- Result: 2/4/2018

          SELECT FDWEEK('02-08-2018', 1)
          --Result: 02/11/2018
				  

FDMONTH(date)

Returns the first day of the month of the given date part.
  • date: The datetime string that specifies the date.
  • month to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the month.

				  SELECT FDMONTH('02-08-2018');
				  -- Result: 2/1/2018

          SELECT FDMONTH('02-08-2018', 1) 
          --Result: 03/01/2018
				  

FDQUARTER(date)

Returns the first day of the quarter of the given date part.
  • date: The datetime string that specifies the date.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the first day of the quarter.

				  SELECT FDQUARTER('05-08-2018');
				  -- Result: 4/1/2018

          SELECT FDQUARTER('05-08-2018',1)
          --Result: 07/01/2018
				  

FILEMODIFIEDTIME(uri)

Returns the time stamp associated with the Date Modified of the relevant file.

  • uri: An absolute path pointing to a file on the local file system.

				 SELECT FILEMODIFIEDTIME('C:/Documents/myfile.txt');
				 -- Result: 6/25/2019 10:06:58 AM
				 

FROM_DAYS(datevalue)

Returns a date derived from the number of days after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL FROM_DAYS function.

  • datevalue: A integer value representing the number of days since 1582-10-15.

				SELECT FROM_DAYS(736000);
				-- Result: 2/6/2015
				

FROM_UNIXTIME(time, issecond)

Returns a representation of the unix_timestamp argument as a value in YYYY-MM-DD HH:MM:SS expressed in the current time zone.

  • time: The time stamp value from epoch time. Milliseconds are accepted.
  • issecond: Indicates the time stamp value is milliseconds to epoch time.

                      SELECT FROM_UNIXTIME(1540495231, 1);
                      -- Result: 2018-10-25 19:20:31

                      SELECT FROM_UNIXTIME(1540495357385, 0);
                      -- Result: 2018-10-25 19:22:37
                    

GETDATE()

Returns the current time stamp of the database system as a datetime value. This value is equal to CURRENT_TIMESTAMP and SYSDATETIME, and is always in the local timezone.

                  SELECT GETDATE();
                  -- Result: 2018-02-01 03:04:05
                

GETUTCDATE()

Returns the current time stamp of the database system formatted as a UTC datetime value. This value is equal to SYSUTCDATETIME.

In addition, GETUTCDATE can take an optional second parameter, a date and time that are converted to UTC.

                  SELECT GETUTCDATE();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05

                  SELECT GETUTCDATE('2020/08/31 13:56:00')
                  --Result: '2020-08-31 17:56:00'
                

HOUR(date)

Returns the hour component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT HOUR('02-02-2020 11:30:00');
				-- Result: 11
				

ISDATE(date, [date_format])

Returns 1 if the value is a valid date, time, or datetime value; otherwise, 0.

  • date: The datetime string.
  • date_format: The optional datetime format.

                      SELECT ISDATE('2018-02-01', 'yyyy-MM-dd');
                      -- Result: 1

                      SELECT ISDATE('Not a date');
                      -- Result: 0
                    

LAST_WEEK()

Returns a time stamp equivalent to exactly one week before the current date.

				SELECT LAST_WEEK();	//Assume the date is 3/17/2020	
			 -- Result: 3/10/2020 00:00:00
				

LAST_MONTH()

Returns a time stamp equivalent to exactly one month before the current date.

	
				SELECT LAST_MONTH(); //Assume the date is 3/17/2020
				-- Result: 2/17/2020 00:00:00
				

LAST_YEAR()

Returns a time stamp equivalent to exactly one year before the current date.

				SELECT LAST_YEAR();	//Assume the date is 3/17/2020	
				-- Result: 3/10/2019 00:00:00
				

LDWEEK(date)

Returns the last day of the provided week.

  • date: The datetime string.
  • weeks to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the week.

				SELECT LDWEEK('02-02-2020');
				-- Result: 2/8/2020
				

LDMONTH(date)

Returns the last day of the provided month.

  • date: The datetime string.
  • months to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the month.

				SELECT LDMONTH('02-02-2020');
				-- Result: 2/29/2020

        SELECT LDMONTH('02-08-2020', 1)
        --Result: 03/31/2020
				

LDQUARTER(date)

Returns the last day of the provided quarter.

  • date: The datetime string.
  • quarters to add: An optional integer expression specifying the number of months to add to the date before calculating the last day of the quarter.

				SELECT LDQUARTER('02-02-2020');
				-- Result: 3/31/2020

        SELECT LDQUARTER('02-02-2020',1)
        --Result: 06/30/2020
				

MAKEDATE(year, days)

Returns a date value from a year and a number of days.

  • year: The year
  • days: The number of days into the year. Value must be greater than 0.

          SELECT MAKEDATE(2020, 1);
          -- Result: 2020-01-01
        

MINUTE(date)

Returns the minute component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MINUTE('02-02-2020 11:15:00');
				-- Result: 15
				

MONTH(date)

Returns the month component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT MONTH('02-02-2020');
				-- Result: 2
				

QUARTER(date)

Returns the quarter associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT QUARTER('02-02-2020');
				-- Result: 1
				

SECOND(date)

Returns the second component from the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT SECOND('02-02-2020 11:15:23');
				-- Result: 23
				

SMALLDATETIMEFROMPARTS(integer_year, integer_month, integer_day, integer_hour, integer_minute)

Returns the datetime value for the specified date and time.

  • year: The integer expression specifying the year.
  • month: The integer expression specifying the month.
  • day: The integer expression specifying the day.
  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.

                      SELECT SMALLDATETIMEFROMPARTS(2018, 2, 1, 1, 2);
                      -- Result: 2018-02-01 01:02:00
                    

STRTODATE(string,format)

Parses the provided string value and returns the corresponding datetime.

  • string: The string value to be converted to datetime format.
  • format: A format string which describes how to interpret the first string input. A few special formats are available as well, including UNIX, UNIXMILIS, TICKS, and FILETICKS.

				SELECT STRTODATE('03*04*2020','dd*MM*yyyy');
				-- Result: 4/3/2020
				

SYSDATETIME()

Returns the current time stamp as a datetime value of the database system. It is equal to GETDATE and CURRENT_TIMESTAMP, and is always in the local timezone.

                  SELECT SYSDATETIME();
                  -- Result: 2018-02-01 03:04:05
                

SYSUTCDATETIME()

Returns the current system date and time as a UTC datetime value. It is equal to GETUTCDATE.

                  SELECT SYSUTCDATETIME();
                  -- For example, if the local timezone is Eastern European Time (GMT+2)
                  -- Result: 2018-02-01 05:04:05
                

TIMEFROMPARTS(integer_hour, integer_minute, integer_seconds, integer_fractions, integer_precision)

Returns the time value for the specified time and with the specified precision.

  • hour: The integer expression specifying the hour.
  • minute: The integer expression specifying the minute.
  • seconds: The integer expression specifying the seconds.
  • fractions: The integer expression specifying the fractions of the second.
  • precision : The integer expression specifying the precision of the fraction.

                      SELECT TIMEFROMPARTS(1, 2, 3, 456, 3);
                      -- Result: 01:02:03.456
                    

TO_DAYS(date)

Returns the number of days since 0000-00-01. This will only return a value for dates on or after 1582-10-15 (based upon the Gregorian calendar). This will be equivalent to the MYSQL TO_DAYS function.

  • date: The datetime string that specifies the date.

				SELECT TO_DAYS('02-06-2015');
				-- Result: 736000
				

WEEK(date)

Returns the week (of the year) associated with the provided datetime.

  • date: The datetime string that specifies the date.

				SELECT WEEK('02-17-2020 11:15:23');
				-- Result: 8
				

YEAR(date)

Returns the integer that specifies the year of the specified date.

  • date: The datetime string.

                      SELECT YEAR('2018-02-01');
                      -- Result: 2018
                    

CData Python Connector for QuickBooks Online

Date Literal Functions

The following date literal functions can be used to filter date fields using relative intervals. Note that while the <, >, and = operators are supported for these functions, <= and >= are not.

L_TODAY()

The current day.

  SELECT * FROM MyTable WHERE MyDateField = L_TODAY()

L_YESTERDAY()

The previous day.

  SELECT * FROM MyTable WHERE MyDateField = L_YESTERDAY()

L_TOMORROW()

The following day.

  SELECT * FROM MyTable WHERE MyDateField = L_TOMORROW()

L_LAST_WEEK()

Every day in the preceding week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_WEEK()

L_THIS_WEEK()

Every day in the current week.

  SELECT * FROM MyTable WHERE MyDateField = L_THIS_WEEK()

L_NEXT_WEEK()

Every day in the following week.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_WEEK()
Also available:
  • L_LAST/L_THIS/L_NEXT MONTH
  • L_LAST/L_THIS/L_NEXT QUARTER
  • L_LAST/L_THIS/L_NEXT YEAR

L_LAST_N_DAYS(n)

The previous n days, excluding the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_DAYS(3)

L_NEXT_N_DAYS(n)

The following n days, including the current day.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_DAYS(3)
Also available:
  • L_LAST/L_NEXT_90_DAYS

L_LAST_N_WEEKS(n)

Every day in every week, starting n weeks before current week, and ending in the previous week.

  SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_WEEKS(3)

L_NEXT_N_WEEKS(n)

Every day in every week, starting the following week, and ending n weeks in the future.

  SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_WEEKS(3)
Also available:
  • L_LAST/L_NEXT_N_MONTHS(n)
  • L_LAST/L_NEXT_N_QUARTERS(n)
  • L_LAST/L_NEXT_N_YEARS(n)

CData Python Connector for QuickBooks Online

SELECT Statements

A SELECT statement can consist of the following basic clauses.

  • SELECT
  • INTO
  • FROM
  • JOIN
  • WHERE
  • GROUP BY
  • HAVING
  • UNION
  • ORDER BY
  • LIMIT

SELECT Syntax

The following syntax diagram outlines the syntax supported by the SQL engine of the connector:

SELECT {
  [ TOP <numeric_literal> | DISTINCT ]
  { 
    * 
    | { 
        <expression> [ [ AS ] <column_reference> ] 
        | { <table_name> | <correlation_name> } .* 
      } [ , ... ] 
  }
  { 
    FROM <table_reference> [ [ AS ] <identifier> ] 
  } [ , ... ]
  [ [  
      INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } 
    ] JOIN <table_reference> [ ON <search_condition> ] [ [ AS ] <identifier> ] 
  ] [ ... ] 
  [ WHERE <search_condition> ]
  [ GROUP BY <column_reference> [ , ... ]
  [ HAVING <search_condition> ]
  [ UNION [ ALL ] <select_statement> ]
  [ 
    ORDER BY 
    <column_reference> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]
  ]
  [ 
    LIMIT <expression>
    [ 
      { OFFSET | , }
      <expression> 
    ]
  ] 
} | SCOPE_IDENTITY() 

<expression> ::=
  | <column_reference>
  | @ <parameter> 
  | ?
  | COUNT( * | { [ DISTINCT ] <expression> } )
  | { AVG | MAX | MIN | SUM | COUNT } ( <expression> ) 
  | NULLIF ( <expression> , <expression> ) 
  | COALESCE ( <expression> , ... ) 
  | CASE <expression>
      WHEN { <expression> | <search_condition> } THEN { <expression> | NULL } [ ... ]
    [ ELSE { <expression> | NULL } ]
    END 
  | {RANK() | DENSE_RANK()} OVER ([PARTITION BY <column_reference>] {ORDER BY <column_reference>})
  | <literal>
  | <sql_function> 

<search_condition> ::= 
  {
    <expression> { = | > | < | >= | <= | <> | != | LIKE | NOT LIKE | IN | NOT IN | IS NULL | IS NOT NULL | AND | OR | CONTAINS | BETWEEN | IS DISTINCT FROM | IS NOT DISTINCT FROM } [ <expression> ]
  } [ { AND | OR } ... ] 

Examples

  1. Return all columns:
    SELECT * FROM Customers
  2. Rename a column:
    SELECT [GivenName] AS MY_GivenName FROM Customers
  3. Cast a column's data as a different data type:
    SELECT CAST(AnnualRevenue AS VARCHAR) AS Str_AnnualRevenue FROM Customers
  4. Search data:
    SELECT * FROM Customers WHERE GivenName = 'Cook, Brian'
  5. Return the number of items matching the query criteria:
    SELECT COUNT(*) AS MyCount FROM Customers 
  6. Return the number of unique items matching the query criteria:
    SELECT COUNT(DISTINCT GivenName) FROM Customers 
  7. Return the unique items matching the query criteria:
    SELECT DISTINCT GivenName FROM Customers 
  8. Sort a result set in ascending order:
    SELECT Id, GivenName FROM Customers  ORDER BY GivenName ASC
  9. Restrict a result set to the specified number of rows:
    SELECT Id, GivenName FROM Customers LIMIT 10 
  10. Parameterize a query to pass in inputs at execution time. This enables you to create prepared statements and mitigate SQL injection attacks.
    SELECT * FROM Customers WHERE GivenName = @param
See Explicitly Caching Data for information on using the SELECT statement in offline mode.

Pseudo Columns

Some input-only fields are available in SELECT statements. These fields, called pseudo columns, do not appear as regular columns in the results, yet may be specified as part of the WHERE clause. You can use pseudo columns to access additional features from QuickBooks Online.

    SELECT * FROM Customers WHERE IncludeJobs = 'TRUE'
    

Aggregate Functions

For SELECT examples using aggregate functions, see Aggregate Functions.

JOIN Queries

See JOIN Queries for SELECT query examples using JOINs.

Date Literal Functions

Date Literal Functions contains SELECT examples with date literal functions.

Window Functions

See Window Functions for SELECT examples containing window functions.

Table-Valued Functions

See Table-Valued Functions for SELECT examples with table-valued functions.

CData Python Connector for QuickBooks Online

Aggregate Functions

COUNT

Returns the number of rows matching the query criteria.

SELECT COUNT(*) FROM Customers WHERE GivenName = 'Cook, Brian'

COUNT(DISTINCT)

Returns the number of distinct, non-null field values matching the query criteria.

SELECT COUNT(DISTINCT Id) AS DistinctValues FROM Customers WHERE GivenName = 'Cook, Brian'

AVG

Returns the average of the column values.

SELECT GivenName, AVG(AnnualRevenue) FROM Customers WHERE GivenName = 'Cook, Brian'  GROUP BY GivenName

MIN

Returns the minimum column value.

SELECT MIN(AnnualRevenue), GivenName FROM Customers WHERE GivenName = 'Cook, Brian' GROUP BY GivenName

MAX

Returns the maximum column value.

SELECT GivenName, MAX(AnnualRevenue) FROM Customers WHERE GivenName = 'Cook, Brian' GROUP BY GivenName

SUM

Returns the total sum of the column values.

SELECT SUM(AnnualRevenue) FROM Customers WHERE GivenName = 'Cook, Brian'

CData Python Connector for QuickBooks Online

JOIN Queries

The CData Python Connector for QuickBooks Online supports standard SQL joins like the following examples.

Inner Join

An inner join selects only rows from both tables that match the join condition:

SELECT i.DocNumber, c.CompanyName FROM Invoices i INNER JOIN Customers c ON i.CustomerRef=c.Id

Left Join

A left join selects all rows in the FROM table and only matching rows in the JOIN table:

SELECT i.DocNumber, c.CompanyName FROM Invoices i LEFT JOIN Customers c ON i.CustomerRef=c.Id

CData Python Connector for QuickBooks Online

Window Functions

Window functions allow you to create computed fields from a group of rows (a window) that return a result for each row, as opposed to one computed result for a set of rows, as is the case with aggregate functions. The connector supports the following window function syntax.

Note: Window function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with window functions may not be optimal.

Window Function Clauses

OVER

The OVER clause defines the window over which window functions are performed.

SELECT A, B, <window function> OVER (<window frame>) FROM TableName

The <window function> refers to any supported window function clause, and the <window frame> refers to one or more clauses that specify the logic by which the window is defined.

PARTITION BY

The PARTITION BY clause subdivides a window into sub-windows called partitions. For each unique value in the column specified in the PARTITION BY clause, every record with that value collectively forms an individual partition.

SELECT A, B, <window function> OVER (PARTITION BY A ORDER BY B) From Customers

The <window function> refers to any supported window function clause.

Window Functions

The connector supports math, ranking, and analytic window functions.

Math

These window functions perform mathematical operations on the records within the window.

COUNT()

Calculates the number of records in each partition. The calculated column is of the data type "int".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT() OVER (PARTITION BY Role) FROM Employees

COUNT_BIG()

Calculates the number of records in each partition. The calculated column is of the data type "bigint".

In each partition, every record will display the total number of records in that partition.

SELECT Name, Role, Earnings, COUNT_BIG() OVER (PARTITION BY Role) FROM Employees

MIN(numeric_column)

Calculates the minimum value of a numerical column per partition.

In each partition, every record will display the minimum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MIN(Earnings) OVER (PARTITION BY Role) FROM Employees

MAX(numeric_column)

Calculates the maximum value of a numerical column per partition.

In each partition, every record will display the maximum value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MAX(Earnings) OVER (PARTITION BY Role) FROM Employees

SUM(numeric_column)

Calculates the sum of a numerical column per partition.

In each partition, every record will display the sum of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, SUM(Earnings) OVER (PARTITION BY Role) FROM Employees

AVG(numeric_column)

Calculates the average value of a numerical column per partition.

In each partition, every record will display the average value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, AVG(Earnings) OVER (PARTITION BY Role) FROM Employees

MEDIAN(numeric_column)

Calculates the median value of a numerical column per partition.

In each partition, every record will display the median value of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, MEDIAN(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEV(numeric_column)

Calculates the standard deviation of a numerical column per partition.

In each partition, every record will display the standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEV(Earnings) OVER (PARTITION BY Role) FROM Employees

STDEVP(numeric_column)

Calculates the population standard deviation of a numerical column per partition.

In each partition, every record will display the population standard deviation of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, STDEVP(Earnings) OVER (PARTITION BY Role) FROM Employees

VAR(numeric_column)

Calculates the statistical standard variance of a numerical column per partition.

In each partition, every record will display the statistical standard variance of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VAR(Earnings) OVER (PARTITION BY Role) FROM Employees

VARP(numeric_column)

Calculates the variance population of a numerical column per partition.

In each partition, every record will display the variance population of numeric_column across the records in that partition.

SELECT Name, Role, Earnings, VARP(Earnings) OVER (PARTITION BY Role) FROM Employees

Ranking

These window functions rank records that fall within the window and its partitions.

RANK()

Assigns a rank number to each record in a window based on the value of the column specified in the required ORDER BY clause.

If two or more records have an equal value in the in ranked column, they all receive the same rank number and the rank count increments internally, skipping ahead one rank number for each record with a duplicate value in the ORDER BY column.

SELECT Id, GivenName, RANK() OVER (ORDER BY GivenName) AS Rank FROM Customers

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Id, GivenName, RANK() OVER (PARTITION BY Id ORDER BY GivenName) AS Rank FROM Customers

DENSE_RANK()

Operates like the RANK() function, but it doesn't increment the internal rank counter for each record with a duplicate value in the ranked column.

This means that, while records with identical values in the ORDER BY column still share a rank number, the function never skips a rank number.

SELECT Id, GivenName, DENSE_RANK() OVER (PARTITION BY Id ORDER BY GivenName) AS Rank FROM Customers

If you add a PARTITION BY clause, a separate set of ranks is calculated for each partition.

SELECT Id, GivenName, DENSE_RANK() OVER (PARTITION BY Id ORDER BY GivenName) AS Rank FROM Customers

ROW_NUMBER()

Calculates a row number for each record. An ORDER BY clause in the OVER clause is required.

SELECT Name, Role, Earnings, ROW_NUMBER() OVER (ORDER BY Role) FROM Employees
If you define multiple partitions with PARTITION BY, a new set of row numbers are calculated for each partition.
SELECT Name, Role, Earnings, ROW_NUMBER() OVER (PARTITION BY Role ORDER BY Earnings) FROM Employees

NTILE()

Distributes rows of an ordered partition into a specified number of approximately equal groups, or buckets. It assigns each group a bucket number starting from one. For each row in a group, the NTILE() function assigns a bucket number representing the group to which the row belongs.

The syntax of NTILE() is:

NTILE(buckets) OVER (
    [PARTITION BY partition_expression, ... ]
    ORDER BY sort_expression [ASC | DESC], ...
)
The following are paramaters that NTILE() supports:

  • buckets: The number of buckets into which the rows are divided. The buckets can be an expression or subquery that evaluates to a positive integer. It cannot be a window function.
  • PARTITION BY: distributes rows of a result set into partitions to which the NTILE() function is applied.
  • ORDER BY is clause that specifies the logical order of rows in each partition to which the NTILE() is applied.

If the number of rows is not divisible by the buckets, the NTILE() function returns groups of two sizes with the difference by one. The larger groups always precede the smaller group in the order set by ORDER BY in the OVER() clause.

If the total of rows is divisible by the number of buckets, the function divides the rows evenly among buckets. The following statement creates a new table named ntile_demo that stores 10 integers:

CREATE TABLE sales.ntile_demo (
	v INT NOT NULL
);
	
INSERT INTO sales.ntile_demo(v) 
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);	
	
SELECT * FROM sales.ntile_demo;
This statement uses the NTILE() function to divide ten rows into three groups:
SELECT 
	v, 
	NTILE (3) OVER (
		ORDER BY v
	) buckets
FROM 
	sales.ntile_demo;

Analytical

These window functions perform analytical operations on the records within the window.

PERCENT_RANK()

Calculates the relative rank SQL Percentile of each row. It returns values greater than zero, but the maximum value is one. It does not count any NULL values. This function is nondeterministic.

The syntax of PERCENT_RANK() is:

PERCENT_RANK() OVER (
      [PARTITION BY partition_expression, ... ]
      ORDER BY sort_expression [ASC | DESC], ...
  )
  
This syntax uses the following parameters.

  • PARTITION BY: By default, SQL Server treats the whole data set as a single set. You can specify the PARTITION BY clause to divide data into multiple sets. The Percent_Rank function performs the analytical calculations on each set. This parameter is optional.
  • ORDER BY: Sorts the data in either ascending or descending order. This parameter is required.

CData Python Connector for QuickBooks Online

Table-Valued Functions

Table-valued functions are functions that return a table (rowset).

Note: Table-valued function support is an experimental feature of the connector. This functionality extends beyond the connector's core scope of being SQL-92 compliant. As such, performance with these functions may not be optimal.

Table-Valued Function Clauses

CROSS APPLY

The CROSS APPLY operator is used to perform a subquery on each row of a table or resultset produced by a preceding table expression.

<table_expression_1> CROSS APPLY <table_expression_2>

The second table expression can reference results from the first table expression to create derived columns or an altered recordset via a table-valued function.

Each resulting record is an instance of the record it's splitting, with all the same column values, except for the column(s) containing the value split by the function.

WITH

The WITH clause is used alongside certain table-valued functions to match against constructs within the structure being split (keys, element names, attribute names, etc.) and/or to specify metadata for the columns generated from the function.
SELECT A.ColumnName, X.DerivedColumnName FROM TableName A CROSS APPLY <table-valued function> WITH (DerivedColumnName varchar(255)) AS X

Table-Valued Functions

STRING_SPLIT(input_text,delimiter)

Takes each record in the recordset of the preceding table expression, splits the column containing delimiters (input_text) into substrings separated by the delimiter, and returns one record per substring.

  • input_text: A column whose value you want to parse.
  • delimiter: The character used to split the value of the column specified in input_text.

Suppose there is a column called "SplitColumn" with the following content:

One-Two-Three
To unpack this value across multiple records:
SELECT A.ID, X.Value FROM [TableWithDelimitedStringField] A CROSS APPLY STRING_SPLIT(A.SplitColumn,'-') WITH (Value VARCHAR(255)) AS X

-- Results:
-----------
|ID|Value|
|1|One|
|1|Two|
|1|Three|

JSONTABLE(json_content,[jsonpath])

For each record in the recordset of the preceding table expression, returns one record for each instance of a key in a JSON array (json_content) that matches the key(s) specified in the WITH clause, at the scope specified by the "jsonpath" input.

  • json_content: A JSON "table" (array of objects). The contents can nest, but this must be a single JSON array, not any other JSON structure, at the root level.
    • The values of every instance of the key(s) provided in the WITH clause are retrievable only for substructures which are immediate children of the root-level JSON array.
  • jsonpath: An optional JSONPath query defining the scope, within the json_content array, that you want to pull content from. The JSON key(s) identified in the WITH clause must exist at the scope defined in this parameter. This defaults to the JSON root ($).

Consider a sample table with a single record, including an ID column and column with JSON content called "JSONColumn" with the following content:

[
	{
		"name": "Samuel",
		"email": "sam@gmail.com",
		"extrainfo": {
			"city": "Seattle"
		}
	},
	{
		"name": "Katherine",
		"email": "kat@gmail.com",
	},
	{
		"name": "George",
		"email": "george23@gmail.com",
	},
	{
		"name": "Carlos",
		"email": "carlos32@gmail.com",
	}
]

To extract all values for a certain key, specify the scope in the JSONTABLE function and provide the desired key(s) in the WITH clause.

SELECT A.ID, X.name FROM [TableWithJSONField] A CROSS APPLY JSONTABLE(A.JSONColumn) WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1 |Samuel|
|1 |Katherine|
|1 |George|
|1 |Carlos|

XMLTABLE(xml_content,[xpath,child_type])

For each record in the resultset of the preceding table expression, returns one record for each of the elements and/or attributes in an XML structure (xml_content) that match the tag name(s) and/or attribute name(s) specified in the WITH clause, at the scope specified in the "xpath" input.

  • xml_content: A column containing an XML structure.
  • xpath: An optional XPath that specifies the scope within the XML structure at which the connector extracts content matching the tag/attribute name(s) specified in the WITH clause.
    • When extracting the content of sub-elements, the connector can retrieve all content from tags at the root level, (depth 0) immediate children of the root (depth 1), and children of those children (depth 2).
    • When extracting element attribute content, the connector can retrieve all content from tags containing the specified attribute at the root level (depth 0) and from immediate children of root-level elements (depth 1).
  • child_type: An optional parameter that specifies the part(s) of the parent element (specified in the xpath input) that the column(s) provided in the WITH clause are checked against to identify content.
    • You can supply the following values:
      • 0: The column(s) in the WITH clause are checked for matches against the parent element's attribute names and sub-element tag names.
      • 1: The column(s) in the WITH clause are checked for matches against the parent element's attribute names.
      • 2: The column(s) in the WITH clause are checked for matches against the parent element's sub-element tag names.
    • When not supplied, this defaults to 0.

Extracting Sub-Element Values

Consider a sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:
<shoppingList>
    <item>
        <name>Apples</name>
        <quantity>3</quantity>
        <unit>Kg</unit>
    </item>
    <item>
        <name>Bread</name>
        <quantity>2</quantity>
        <unit>Loaf</unit>
		<extrainfo>
			<Type>Whole-Grain</Type>
		</extrainfo>
    </item>
    <item>
        <name>Milk</name>
        <quantity>1</quantity>
        <unit>Carton</unit>
    </item>
    <item>
        <name>Eggs</name>
        <quantity>12</quantity>
        <unit></unit>
    </item>
</shoppingList>

To extract sub-element content, specify the scope in the XMLTABLE function and provide the desired element name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 1.

SELECT A.ID, X.name FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/item') WITH (name VARCHAR(255)) AS X

-- Results: 
|ID|name|
---------
|1|Apples|
|1|Bread|
|1|Milk|
|1|Eggs|

Extracting Values Using Element Tag Attributes

Suppose you have this sample table with a single record, including an ID column and a column with XML content called "XMLContent" with the following content:

<restaurant>
  <dish type="appetizer">
    <name lang="en">Caprese Salad</name>
    <chef>Chef Giovanni</chef>
    <price currency="USD">9.99</price>
  </dish>
  <dish type="main-course">
    <name lang="fr">Boeuf Bourguignon</name>
    <chef>Chef Marie</chef>
    <price currency="EUR">19.99</price>
  </dish>
  <dish type="dessert">
    <name lang="es">Tres Leches Cake</name>
    <chef>Chef Alejandro</chef>
    <price currency="MXN">89.99</price>
  </dish>
</restaurant>

To extract attribute content, specify the scope in the XMLTABLE function and provide the desired attribute name(s) in the WITH clause. Note that this will not work if the XMLTABLE function's child_type input is set to 2.

SELECT A.ID, X.type FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/dish') WITH (type VARCHAR(255)) AS X

-- Results: 
|ID|type|
---------
|1|appetizer|
|1|main-course|
|1|dessert|

CSVTABLE(csv_content,[delimiter])

For each record in the resultset of the preceding table expression, reads from a column that contains a CSV table (csv_content) and for each record in that CSV table, returns one record containing the value of the CSV column(s) specified in the WITH clause.

  • csv_content: A column containing a CSV table.
  • delimiter: An optional custom delimiter (instead of a comma) which splits the CSV content contained in the csv_content input.

Consider a sample table with a single record, including an ID column and a column containing CSV table called "CSVContent" with the following content:

Name;Category;Price
Apple;Fruit;0.99
Spaghetti;Pasta;5.49
Chicken Breast;Meat;8.99
Broccoli;Vegetable;2.49

To select every value in the "Name" column and account for the custom delimiter (;):

SELECT A.ID, X.Name FROM [TableWithCSVField] A CROSS APPLY CSVTABLE(A.CSVContent,';') WITH (Name VARCHAR(255)) AS X

-- Results:
|ID|Name|
-----------
|1|Apple|
|1|Spaghetti|
|1|Chicken Breast|
|1|Broccoli|

CData Python Connector for QuickBooks Online

INSERT Statements

To create new records, use INSERT statements.

INSERT Syntax

The INSERT statement specifies the columns to be inserted and the new column values. You can specify the column values in a comma-separated list in the VALUES clause, as shown in the following example:

INSERT INTO <table_name> 
( <column_reference> [ , ... ] )
VALUES 
( { <expression> | NULL } [ , ... ] ) 
  

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>
The following is an example query:
INSERT INTO Customers (GivenName) VALUES ('Hook, Captain')

CData Python Connector for QuickBooks Online

UPDATE Statements

To modify existing records, use UPDATE statements.

Update Syntax

The UPDATE statement takes as input a comma-separated list of columns and new column values as name-value pairs in the SET clause, as shown in the following example:

UPDATE <table_name> SET <select_statement> | {<column_reference> = <expression> [ , ... ]} WHERE { Id = <expression>  } [ { AND | OR } ... ] 

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

UPDATE Customers SET GivenName='Hook, Captain' WHERE Id = @myId

CData Python Connector for QuickBooks Online

DELETE Statements

To delete information from a table, use DELETE statements.

DELETE Syntax

The DELETE statement requires the table name in the FROM clause and the row's primary key in the WHERE clause, as shown in the following example:

<delete_statement> ::= DELETE FROM <table_name> WHERE { Id = <expression> } [ { AND | OR } ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

The following is an example query:

DELETE FROM Customers WHERE Id = @myId

CData Python Connector for QuickBooks Online

GETDELETED Statements

You can issue the GETDELETED query to retrieve all records deleted from the live data for the time range specified. This query accepts a datetime value as a filter. You can also use the statement without a filter.

When used on LineItem tables or other 'child entities', GETDELETED instead returns the parent records that have been modified rather than information about deleted child records. This is a limitation of the QuickBooks Online api.

GETDELETED FROM <table_name>
GETDELETED FROM <table_name> WHERE <search_condition>


<search_condition> ::= 
  {
    <expression> { = | < | <= | > | >= } [ <expression> ] 
  } [ { AND | OR } ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>
  
Example Query:
GETDELETED FROM Customers WHERE [MetaData_LastUpdatedTime]>'2018-06-08T06:53:38-07:00'
Note: By putting a CACHE command in front of the query, you can update the cache to remove all values that have been deleted from the data source. This is shown in the query below:
CACHE GETDELETED FROM [TableName]

CData Python Connector for QuickBooks Online

CACHE Statements

When caching is enabled, CACHE statements provide complete control over the data that is cached and the table to which it is cached. The CACHE statement executes the SELECT statement specified and caches its results to a table with the same name in the cache database or to table specified in <cached_table_name>. The connector updates or inserts rows to the cache depending on whether or not they already exist in the cache, so the primary key, which is used to identify existing rows, must be included in the selected columns.

See Caching Data for more information on different caching strategies.

CACHE Statement Syntax

The cache statement may include the following options that alter its behavior:

CACHE [ <cached_table_name> ] [ WITH TRUNCATE | AUTOCOMMIT | SCHEMA ONLY | DROP EXISTING | ALTER SCHEMA ] <select_statement> 

WITH TRUNCATE

If this option is set, the connector removes existing rows in the cache table before adding the selected rows. Use this option if you want to refresh the entire cache table but keep its existing schema.

AUTOCOMMIT

If this option is set, the connector commits each row individually. Use this option if you want to ignore the rows that could not be cached due to some reason. By default, the entire result set is cached as a single transaction.

DROP EXISTING

If this option is set, the connector drops the existing cache table before caching the new results. Use this option if you want to refresh the entire cache table, including its schema.

SCHEMA ONLY

If this option is set, the connector creates the cache table based on the SELECT statement without executing the query.

ALTER SCHEMA

If this option is set, the connector alters the schema of the existing table in the cache if it does not match the schema of the SELECT statement. This option results in new columns or dropped columns, if the schema of the SELECT statement does not match the cached table.

Common Queries

Use the following cache statement to cache all rows of a table:

CACHE SELECT * FROM Customers

Use the following cache statement to cache all rows of a table into the cache table CachedCustomers:

CACHE CachedCustomers SELECT * FROM Customers

Use the following cache statement for incremental caching. The DateModified column may not exist in all tables. The cache statement shows how incremental caching would work if there were such a column. Also, notice that, in this case, the WITH TRUNCATE and DROP EXISTING options are specifically omitted, which would have deleted all existing rows.

CACHE CachedCustomers SELECT * FROM Customers WHERE DateModified > '2013-04-04'

Use the following cache statements to create a table with all available columns that will then cache only a few of them. The sequence of statements cache only Id and GivenName even though the cache table CachedCustomers has all the columns in Customers.

CACHE CachedCustomers SCHEMA ONLY SELECT * FROM Customers
CACHE CachedCustomers SELECT Id, GivenName FROM Customers

CData Python Connector for QuickBooks Online

EXECUTE Statements

To execute stored procedures, you can use EXECUTE or EXEC statements.

EXEC and EXECUTE assign stored procedure inputs, referenced by name, to values or parameter names.

Stored Procedure Syntax

To execute a stored procedure as an SQL statement, use the following syntax:

 
{ EXECUTE | EXEC } <stored_proc_name> 
{
  [ @ ] <input_name> = <expression>
} [ , ... ]

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

Example Statements

Reference stored procedure inputs by name:

EXECUTE my_proc @second = 2, @first = 1, @third = 3;

Execute a parameterized stored procedure statement:

EXECUTE my_proc second = @p1, first = @p2, third = @p3; 

CData Python Connector for QuickBooks Online

PIVOT and UNPIVOT

PIVOT and UNPIVOT can be used to change a table-valued expression into another table.

PIVOT

PIVOT rotates a table-value expression by turning unique values from one column into multiple columns in the output. PIVOT can run aggregations where required on any column value.
PIVOT Synax

 
"SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4]
FROM
(
SELECT DaysToManufacture, StandardCost
FROM Production.Product
) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;"

UNPIVOT

UNPIVOT carries out nearly the opposite to PIVOT by rotating columns of a table-valued expressions into column values.
UNPIVOT Sytax

 
"SELECT VendorID, Employee, Orders
FROM
(SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
FROM pvt) p
UNPIVOT
(Orders FOR Employee IN
(Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt;"

For further information on PIVOT and UNPIVOT, see FROM clause plus JOIN, APPLY, PIVOT (Transact-SQL)

CData Python Connector for QuickBooks Online

INSERT INTO SELECT Statements

Use INSERT INTO SELECT queries to select a list of records from one table and insert those same records into another table as a group. Inserting batches of records in this way may result in improved query performance compared to using many individual INSERT INTO queries.

The table whose records are selected for insertion into another table can be either a real table or a user-defined temporary table.

Inserting Records from Real Tables

To insert a group of records from one real, non-temporary, source table into another destination table, you can use an INSERT INTO SELECT query. This type of query is formatted similarly to a standard INSERT INTO query, except the VALUES clause is substituted with a SELECT query targeting the source table. All records matched by the embedded SELECT query are inserted into the destination table.

If the source table and destination tables have different column names, you must map columns from the source table to the corresponding columns in the destination table you want to insert them into. Perform this mapping by specifying the destination table columns in the same order as the source table columns you want to match them with. For example:

INSERT INTO DestinationTable (A,B,C,D) SELECT Q,R,S,T FROM SourceTable

In this example, the first source column (Q) is inserted into the first destination column (A), the second source column (R) is inserted into the second destination column (B), and so on.

If the source table and destination table both have the same column list with the same names, you can use a streamlined query.

INSERT INTO DestinationTableWithSameColumns SELECT * FROM SourceTable

In this example, there is no need to specify a list of columns for either the source or destination table, because their metadata already matches.

Inserting Records from Temporary Tables

You can manually define and populate temporary tables to hold a list of records for later bulk insertion.

Populate the Temporary Table

To create a temporary table, you must give it a name ending in "#TEMP" and execute an INSERT INTO query using that name, as if that table already existed in the database. After executing the first INSERT INTO, the temporary table exists and can receive subsequent INSERTs. For example:

INSERT INTO Customers#TEMP (GivenName, MyCustomField__c) VALUES ('New Customers', '9000');
INSERT INTO Customers#TEMP (GivenName, MyCustomField__c) VALUES ('New Customers 2', '9001');
INSERT INTO Customers#TEMP (GivenName, MyCustomField__c) VALUES ('New Customers 3', '9002');

This creates a temporary table called Customers#TEMP with two columns and three rows of data. Since type cannot be determined on the temporary table itself, all values are considered strings and later converted to the proper type when they are inserted together into the real (non-temporary) table of interest.

Insert Temporary Table Contents into Real Tables

Once your temporary table is populated, execute an INSERT INTO SELECT query targeting the real (non-temporary) table you want to insert the temporary table's records into. This is formatted similarly to a standard INSERT INTO query, except the VALUES clause is substituted with a SELECT query targeting the matching columns in the temporary table. For example:

INSERT INTO Customers (GivenName, MyCustomField__c) SELECT GivenName, MyCustomField__c FROM Customers#TEMP
In this example, the full contents of Customers#TEMP are inserted into the Customers.

Results

The LastResultInfo#TEMP temporary table contains details about the most recently executed query that uses the contents of a temporary table in an embedded SELECT clause, as is the case for INSERT INTO SELECT queries that use a temporary table as the source of records. This table is cleared and repopulated each time such a query is executed. LastResultInfo#TEMP includes information such as whether the query in question succeeded, and how many rows were affected by the query.

Temporary Table Lifespan

Temporary tables only last as long as the connection remains open. When the connection to QuickBooks Online is closed, all temporary tables are cleared, including the LastResultInfo#TEMP table.

CData Python Connector for QuickBooks Online

DELETE SELECT Statements

To perform multiple deletes in a single request to QuickBooks Online, first use the INSERT INTO syntax to create an in-memory temporary table of data to be deleted. Once you have all of the data you want to delete added to temporary table, use DELETE FROM syntax to delete data from the live table in QuickBooks Online. This functionality is also available via the standard Batch Processing API available in JDBC.

Populate the Temporary Table

The temporary table you are populating is dynamic and is created at run time the first time you insert to it. Temporary tables are denoted by a # appearing in their name. When using a temporary table to delete, the temporary table must be named in the format [TableName]#TEMP, where TableName is the name of the table you are inserting to. For example:

INSERT INTO Customers#TEMP (Id) VALUES ('AX1000001');
INSERT INTO Customers#TEMP (Id) VALUES ('AX1000002');
INSERT INTO Customers#TEMP (Id) VALUES ('AX1000003');

This creates a temporary table called Customers#TEMP with one column and three rows of data. Since type cannot be determined on the temporary table itself, all values are stored in memory as strings. They are later converted to the proper type when they are submitted to the Customers table.

Delete from the Actual Table

Once your temporary table is populated, it is now time to insert to the actual table in QuickBooks Online. You can do this by performing a DELETE from the actual table and selecting the input data from the temporary table. For example:

DELETE FROM Customers WHERE EXISTS SELECT Id FROM Customers#TEMP

In this example, the full contents of the Customers#TEMP table are passed into the Customers table. This results in fewer requests being submitted to QuickBooks Online since multiple deletes may be submitted with each request, which is much better for performance if you have many records to delete.

Results

The results of the query are stored in the LastResultInfo#TEMP temporary table. This table is cleared and repopulated the next time data is modified by passing in a temporary table. Please be aware that the LastResultInfo#TEMP table has no predefined schema. You need to check its metadata at run time before reading data.

Temporary Table Life Span

Temporary tables only last as long as the connection remains opened. When the connection to QuickBooks Online is closed, all temporary tables are cleared, including the LastResultInfo#TEMP table.

CData Python Connector for QuickBooks Online

Data Model

The CData Python Connector for QuickBooks Online models data in the QuickBooks Online API as tables, views, and stored procedures. Each table, view, and stored procedure is defined in a schema file, which is a simple, text-based configuration file.

The connector uses the QuickBooks Online API to process supported filters. Filters that are not supported by the API are processed client-side within the connector.

Tables

The Tables section, which describes standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have in your QuickBooks Online account. Common tables include those that are listed below.

Table Description
Accounts Holds the chart of accounts in QuickBooks Online, enabling the creation, modification, deletion, and retrieval of financial account records that are used for categorizing transactions and reporting.
BalanceSheetSummaryReport Exposes the Balance Sheet summary report from QuickBooks Online, aggregating assets, liabilities, and equity to give a snapshot of company financial health over a selected time period.
BillLineItems Contains detailed line-item data for vendor bills, including products or services purchased, amounts, tax details, and associated accounts for expense tracking and reporting.
BillPayments Maintains records of vendor bill payments, including payment methods, amounts, dates, and vendor details, to manage cash outflows and reconcile accounts payable.
Bills Represents vendor bills in QuickBooks Online, enabling you to create, modify, delete, and retrieve obligations that are owed to suppliers for goods or services received.
CreditCardPayments Displays a view of credit card payment transactions, summarizing payments made to credit card accounts for easier reconciliation and expense management.
CreditMemoLineItems Captures line-level details of customer credit memos, including products or services credited, amounts, and tax information for accurate revenue adjustments.
CreditMemos Maintains records of customer credit memos that are issued to adjust invoices, apply customer credits, or refund amounts for returned goods or overpayments.
CustomerBalanceDetail Presents the Customer Balance Detail report from QuickBooks Online, showing outstanding invoices, payments, and credits per customer with running balances.
Customers Contains all customer profiles in QuickBooks Online, enabling you to create, update, delete, and retrieve customer contact information, billing preferences, and tax settings.
EstimateLineItems Contains line-item details for customer estimates or quotes, including products, services, quantities, prices, and tax information for potential sales.
Estimates Stores header-level information of customer estimates or quotes, such as customer details, dates, and total amounts, supporting the sales pipeline.
InvoiceLineItems Captures line-level details of customer invoices, including products or services sold, quantities, prices, discounts, and taxes, forming the granular data behind each invoice.
Invoices Stores header-level information for customer invoices, including customer details, invoice dates, terms, due dates, and balances, supporting accounts-receivable tracking and reporting.
Items Maintains the catalog of products and services that are offered by the business, including inventory and non-inventory items, used for sales, purchases, and expense tracking across QuickBooks Online.
JournalEntries Stores journal entries that record double-entry accounting adjustments, including debits and credits applied to accounts, used for financial corrections and accruals.
PaymentLineItems Captures the line-level allocations of customer payments, showing how each payment applies to invoices, credit memos, or other receivables.
TaxRates Maintains sales-tax rate definitions that are applied to transactions, including jurisdiction, rate percentage, and effective dates.
Vendors Stores vendor records including contact details, payment terms, and tax information, forming the master list of suppliers for QuickBooks Online.
VendorCredits Represents vendor credits at the header level, used to apply credits to bills or reimburse the company for returns or overpayments.

Stored Procedures

Stored Procedures are actions that are invoked via SQL queries. They perform tasks that are beyond standard CRUD operations, including posting transactions, sending invoices, recording payments, and managing attachments in QuickBooks Online.

CData Python Connector for QuickBooks Online

Tables

The connector models the data in QuickBooks Online as a list of tables in a relational database that can be queried using standard SQL statements.

CData Python Connector for QuickBooks Online Tables

Name Description
Accounts Holds the chart of accounts in QuickBooks Online, enabling the creation, modification, deletion, and retrieval of financial account records that are used for categorizing transactions and reporting.
AttachableRefs Provides references linking transactions or entities to attached files or documents, helping you trace how uploaded attachments relate to bills, invoices, or other QuickBooks objects.
Attachables Stores the actual files or metadata of attachments that are uploaded to QuickBooks Online, such as receipts, contracts, or images that support financial transactions or customer/vendor records.
BillLineItems Contains detailed line-item data for vendor bills, including products or services purchased, amounts, tax details, and associated accounts for expense tracking and reporting.
BillLinkedTransactions Tracks relationships between vendor bills and linked transactions, such as purchase orders or payments, allowing you to see how bills relate to other financial activities.
BillPaymentLineItems Captures line-level details of bill payments, showing how each payment applies to one or multiple bills and reflecting discounts or credits used.
BillPayments Maintains records of vendor bill payments, including payment methods, amounts, dates, and vendor details, to manage cash outflows and reconcile accounts payable.
Bills Represents vendor bills in QuickBooks Online, enabling you to create, modify, delete, and retrieve obligations that are owed to suppliers for goods or services received.
BudgetDetails Provides detailed budget line items, including amounts per account, class, or department, supporting budget-to-actual analysis within QuickBooks Online.
Budgets Contains the header-level information of company budgets, including fiscal year, budget type, and tracking segments that are used for financial planning and analysis.
Class Stores QuickBooks Classes that are used to categorize transactions across multiple business segments or projects, supporting more granular reporting and profit/loss tracking.
CompanyCurrency Defines each active currency configured for a QuickBooks Online company with multicurrency enabled, including currency codes, exchange rates, and activation status as seen in the Currency Center.
CompanyInfo Retrieves core company information such as legal name, address, industry type, fiscal year start, and contact details, which underpin company-wide settings in QuickBooks Online.
CreditMemoLineItems Captures line-level details of customer credit memos, including products or services credited, amounts, and tax information for accurate revenue adjustments.
CreditMemos Maintains records of customer credit memos that are issued to adjust invoices, apply customer credits, or refund amounts for returned goods or overpayments.
Customers Contains all customer profiles in QuickBooks Online, enabling you to create, update, delete, and retrieve customer contact information, billing preferences, and tax settings.
Departments Holds department or location records that are used to track income, expenses, and profitability by business unit or physical location.
DepositLineItems Contains individual line items of bank deposits, detailing the source payments, amounts, and linked transactions that are consolidated into each deposit.
Deposits Maintains bank-deposit records that show lump-sum deposits, associated line items, and account allocations for accurate bank reconciliation.
Employees Stores employee records for payroll and HR functions, including contact details, hire dates, and status that are used in time tracking and expense reporting.
EstimateLineItems Contains line-item details for customer estimates or quotes, including products, services, quantities, prices, and tax information for potential sales.
EstimateLinkedTransactions Tracks how customer estimates link to other transactions such as invoices or sales orders, helping follow a deal from quote to billing.
Estimates Stores header-level information of customer estimates or quotes, such as customer details, dates, and total amounts, supporting the sales pipeline.
ExchangeRates Provides daily or periodic exchange rate data used by QuickBooks Online to convert multicurrency transactions into the home currency for reporting and compliance.
InventoryAdjustmentLineItems Contains detailed line-item data for vendor bills, including products or services purchased, amounts, tax details, and associated accounts for expense tracking and reporting.
InventoryAdjustments Represents inventory adjustments in QuickBooks Online, enabling you to create, modify, delete, and retrieve quantity adjustments for inventory items.
InvoiceLineItems Captures line-level details of customer invoices, including products or services sold, quantities, prices, discounts, and taxes, forming the granular data behind each invoice.
InvoiceLinkedTransactions Tracks relationships between invoices and related transactions, such as payments or sales receipts, to help trace how invoices are settled and linked within the sales process.
Invoices Stores header-level information for customer invoices, including customer details, invoice dates, terms, due dates, and balances, supporting accounts-receivable tracking and reporting.
Items Maintains the catalog of products and services that are offered by the business, including inventory and non-inventory items, used for sales, purchases, and expense tracking across QuickBooks Online.
JournalCode Contains journal codes that are used for classification or statutory reporting in certain regions, enabling businesses to meet country-specific accounting requirements.
JournalEntries Stores journal entries that record double-entry accounting adjustments, including debits and credits applied to accounts, used for financial corrections and accruals.
JournalEntryLineItems Contains the line-level debit and credit details of each journal entry, showing how accounts are affected within a balanced accounting transaction.
PaymentLineItems Captures the line-level allocations of customer payments, showing how each payment applies to invoices, credit memos, or other receivables.
PaymentMethods Stores available payment-method definitions such as cash, check, credit card, or bank transfer, used when recording customer payments or vendor bill settlements.
Payments Represents payments that are received from customers, including amount, date, payment method, and linked invoices, forming the basis for accounts-receivable settlement.
Preferences Contains company-wide preference settings that define QuickBooks Online behavior, such as sales-form defaults, accounting methods, tax preferences, and user-access configurations.
PurchaseLineItems Captures the line-level details of purchase transactions, including vendor items, quantities, unit costs, and expense accounts for accurate expense and cost tracking.
PurchaseOrderLineItems Contains detailed line items for purchase orders, specifying products or services requested, quantities, expected costs, and vendor references.
PurchaseOrderLinkedTransactions Tracks relationships between purchase orders and linked transactions, such as bills or item receipts, allowing visibility into the purchasing and fulfillment lifecycle.
PurchaseOrders Stores header-level purchase order information, including vendor, order date, expected delivery, and total value, supporting procurement and vendor management.
Purchases Represents general purchase transactions, including credit-card charges, checks, or cash purchases, capturing spending outside of standard vendor bills.
RecurringCreditMemoTransactions Contains recurring transaction templates for customer credit memos, allowing automated issuance of credits to customers on a predefined schedule.
RecurringCreditMemoTransactionsLineItems Captures line-level details of recurring credit memos, including products or services credited, amounts, and taxes applied automatically.
RecurringDepositTransactions Stores recurring templates for deposit transactions, enabling businesses to automate repetitive deposits into bank accounts.
RecurringDepositTransactionsLineItems Contains line-level details of recurring deposits, such as payment sources and amounts, supporting automation of regular income deposits.
RecurringEstimateTransactions Maintains recurring estimate templates, automating the generation of customer quotes on a set schedule for recurring sales opportunities.
RecurringEstimateTransactionsLineItems Captures the line-level details of recurring estimates, such as products, services, and pricing, ensuring consistent quote creation over time.
RecurringInvoiceTransactions Stores recurring invoice templates that automate billing for subscriptions, retainers, or repeat sales, improving cash-flow management.
RecurringInvoiceTransactionsLineItems Contains the line-level detail of recurring invoices, specifying products, services, amounts, and taxes that are applied each billing cycle.
RecurringJournalEntryTransactions Holds recurring journal entry templates, enabling automated posting of routine accounting adjustments like depreciation or accruals.
RecurringJournalEntryTransactionsLineItems Captures the debit and credit line items for recurring journal entries, ensuring accurate and consistent automated accounting adjustments.
RecurringPurchaseTransactions Represents recurring purchase templates for expenses, allowing businesses to schedule automatic entry of regular vendor purchases.
RecurringPurchaseTransactionsLineItems Contains the detailed line items of recurring purchase templates, including items, costs, and accounts for automated expense tracking.
RecurringRefundReceiptTransactions Stores recurring templates for customer refund receipts, enabling businesses to automate returning funds to customers on a scheduled basis.
RecurringRefundReceiptTransactionsLineItems Contains the line-level details of recurring refund receipts, including refunded products, services, amounts, and taxes for consistent automated processing.
RecurringSalesReceiptTransactions Holds recurring templates for sales receipts, automating the recording of repeat customer sales that are paid at the point of sale.
RecurringSalesReceiptTransactionsLineItems Captures line-level details of recurring sales receipts, specifying items sold, quantities, and amounts for each automated sales entry.
RecurringTransferTransactions Maintains recurring templates for fund transfers between accounts, automating routine internal transfers within QuickBooks Online.
RecurringVendorCreditTransactions Stores recurring templates for vendor credits, allowing automated application of credits or refunds from vendors on a scheduled basis.
RecurringVendorCreditTransactionsLineItems Contains line-level details of recurring vendor credits, specifying items, amounts, and accounts for automated vendor-credit processing.
RefundReceiptLineItems Captures the line-level details of customer refund receipts, including refunded items, quantities, and amounts to accurately track returns and reimbursements.
RefundReceipts Represents customer refund receipts at the header level, including customer information, refund method, and total amount refunded.
SalesReceiptLineItems Contains line-level details of sales receipts for immediate sales transactions, including items sold, quantities, discounts, and taxes.
SalesReceipts Represents sales receipts at the header level, recording point-of-sale transactions where payment is received immediately.
TaxAgency Stores tax-agency records that are used in QuickBooks Online to define the government authorities to which sales tax is remitted.
TaxCodes Contains sales tax codes and rules that determine how taxes are calculated on transactions, supporting multi-jurisdiction compliance.
TaxRates Maintains sales-tax rate definitions that are applied to transactions, including jurisdiction, rate percentage, and effective dates.
Terms Stores payment terms such as Net 30 or Due on Receipt, used to define invoice due dates and early payment discounts.
TimeActivities Contains time entry records for employees or vendors, capturing billable and non-billable hours linked to customers, projects, or payroll.
Transfers Represents transfers of funds between bank, credit card, or other accounts, recording movement of money within the business.
VendorCreditLineItems Captures line-level details of vendor credits, including items or expenses credited, amounts, and accounts to properly offset vendor balances.
VendorCredits Represents vendor credits at the header level, used to apply credits to bills or reimburse the company for returns or overpayments.
Vendors Stores vendor records including contact details, payment terms, and tax information, forming the master list of suppliers for QuickBooks Online.

CData Python Connector for QuickBooks Online

Accounts

Holds the chart of accounts in QuickBooks Online, enabling the creation, modification, deletion, and retrieval of financial account records that are used for categorizing transactions and reporting.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned to the account within QuickBooks Online. This value is required when you reference or update the account through the API.

SyncToken String True False False

The version control token for the account record. This token increments each time the account is modified, ensuring that only the most current version of the account can be updated and preventing conflicting changes from multiple applications.

MetaData_CreateTime Datetime True True True

The date and time when the account record was originally created in QuickBooks Online, reflecting the system's creation timestamp.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the account record was most recently updated, allowing you to track modifications over time.

Name String False True True

The user-defined name of the account as it appears in the chart of accounts. This name must be unique and is required when you create a new account.

SubAccount Boolean False True True

Indicates whether the account is a subaccount of another account (true) or a top-level account (false or null). This field affects how balances roll up in reporting.

ParentRef String False

Accounts.Id

True True

The unique Id of the parent account when this account is designated as a subaccount, used to build hierarchical account structures.

ParentRef_Name String True

Accounts.Name

False False

The name of the parent account when this account is a subaccount, helping users recognize the parent-child relationship.

FullyQualifiedName String True True True

The complete hierarchical path of the account starting from the topmost parent down to this account, with each level separated by colons (for example, Parent:Account1:SubAccount1:SubAccount2).

Description String False True True

A detailed explanation of the account's purpose or usage, including notes about the types of transactions or journal entries that should be posted to it.

Active Boolean False True False

Indicates whether the account is currently active (true) or inactive (false). Inactive accounts cannot be posted to and are hidden from searches, although historical references remain.

Classification String False True False

The high-level classification of the account (such as Asset, Liability, Equity, Income, or Expense) that is used for reporting and grouping purposes.

The allowed values are Asset, Equity, Expense, Liability, Revenue.

AccountType String False True False

The account type or subclassification within the classification that determines how the account is used and displayed on financial reports.

The allowed values are Bank, Other Current Asset, Fixed Asset, Other Asset, Accounts Receivable, Equity, Expense, Other Expense, Cost of Goods Sold, Accounts Payable, Credit Card, Long Term Liability, Other Current Liability, Income, Other Income.

AccountSubType String False True False

The specific subtype of the account that provides an additional layer of categorization under the account type.

The allowed values are CashOnHand, Checking, MoneyMarket, RentsHeldInTrust, Savings, TrustAccounts, AllowanceForBadDebts, DevelopmentCosts, EmployeeCashAdvances, OtherCurrentAssets, Inventory, Investment_MortgageRealEstateLoans, Investment_Other, Investment_TaxExemptSecurities, Investment_USGovernmentObligations, LoansToOfficers, LoansToOthers, LoansToStockholders, PrepaidExpenses, Retainage, UndepositedFunds, AccumulatedDepletion, AccumulatedDepreciation, DepletableAssets, FixedAssetComputers, FixedAssetCopiers, FixedAssetFurniture, FixedAssetPhone, FixedAssetPhotoVideo, FixedAssetSoftware, FixedAssetOtherToolsEquipment, FurnitureAndFixtures, Land, LeaseholdImprovements, OtherFixedAssets, AccumulatedAmortization, Buildings, IntangibleAssets, MachineryAndEquipment, Vehicles, LeaseBuyout, OtherLongTermAssets, SecurityDeposits, AccumulatedAmortizationOfOtherAssets, Goodwill, Licenses, OrganizationalCosts, AccountsReceivable, OpeningBalanceEquity, PartnersEquity, RetainedEarnings, AccumulatedAdjustment, OwnersEquity, PaidInCapitalOrSurplus, PartnerContributions, PartnerDistributions, PreferredStock, CommonStock, TreasuryStock, EstimatedTaxes, Healthcare, PersonalIncome, PersonalExpense, AdvertisingPromotional, BadDebts, BankCharges, CharitableContributions, CommissionsAndFees, Entertainment, EntertainmentMeals, EquipmentRental, FinanceCosts, GlobalTaxExpense, Insurance, InterestPaid, LegalProfessionalFees, OfficeExpenses, OfficeGeneralAdministrativeExpenses, OtherBusinessExpenses, OtherMiscellaneousServiceCost, PromotionalMeals, RentOrLeaseOfBuildings, RepairMaintenance, ShippingFreightDelivery, SuppliesMaterials, Travel, TravelMeals, Utilities, Auto, CostOfLabor, DuesSubscriptions, PayrollExpenses, TaxesPaid, UnappliedCashBillPaymentExpense, Depreciation, ExchangeGainOrLoss, OtherMiscellaneousExpense, PenaltiesSettlements, Amortization, GasAndFuel, HomeOffice, HomeOwnerRentalInsurance, OtherHomeOfficeExpenses, MortgageInterest, RentAndLease, RepairsAndMaintenance, ParkingAndTolls, Vehicle, VehicleInsurance, VehicleLease, VehicleLoanInterest, VehicleLoan, VehicleRegistration, VehicleRepairs, OtherVehicleExpenses, Utilities, WashAndRoadServices, EquipmentRentalCos, OtherCostsOfServiceCos, ShippingFreightDeliveryCos, SuppliesMaterialsCogs, CostOfLaborCos, AccountsPayable, CreditCard, NotesPayable, OtherLongTermLiabilities, ShareholderNotesPayable, DirectDepositPayable, LineOfCredit, LoanPayable, GlobalTaxPayable, GlobalTaxSuspense, OtherCurrentLiabilities, PayrollClearing, PayrollTaxPayable, PrepaidExpensesPayable, RentsInTrustLiability, TrustAccountsLiabilities, FederalIncomeTaxPayable, InsurancePayable, SalesTaxPayable, StateLocalIncomeTaxPayable, NonProfitIncome, OtherPrimaryIncome, SalesOfProductIncome, ServiceFeeIncome, DiscountsRefundsGiven, UnappliedCashPaymentIncome, DividendIncome, InterestEarned, OtherInvestmentIncome, OtherMiscellaneousIncome, TaxExemptInterest, PayrollWageExpenses, PayrollTaxExpenses, CashAndCashEquivalents, OtherEarMarkedBankAccounts, AssetsAvailableForSale, BalWithGovtAuthorities, CalledUpShareCapitalNotPaid, ExpenditureAuthorisationsAndLettersOfCredit, GlobalTaxDeferred, GlobalTaxRefund, InternalTransfers, OtherConsumables, ProvisionsCurrentAssets, ShortTermInvestmentsInRelatedParties, ShortTermLoansAndAdvancesToRelatedParties, TradeAndOtherReceivables, AssetsInCourseOfConstruction, CapitalWip, CumulativeDepreciationOnIntangibleAssets, IntangibleAssetsUnderDevelopment, LandAsset, NonCurrentAssets, ParticipatingInterests, ProvisionsFixedAssets, AssetsHeldForSale, AvailableForSaleFinancialAssets, DeferredTax, Investments, LongTermInvestments, LongTermLoansAndAdvancesToRelatedParties, OtherIntangibleAssets, OtherLongTermInvestments, OtherLongTermLoansAndAdvances, PrepaymentsAndAccruedIncome, ProvisionsNonCurrentAssets, AccumulatedOtherComprehensiveIncome, CalledUpShareCapital, CapitalReserves, DividendDisbursed, EquityInEarningsOfSubsiduaries, InvestmentGrants, MoneyReceivedAgainstShareWarrants, OtherFreeReserves, ShareApplicationMoneyPendingAllotment, ShareCapital, Funds, AmortizationExpense, AppropriationsToDepreciation, BorrowingCost, CommissionsAndFees, DistributionCosts, ExternalServices, ExtraordinaryCharges, IncomeTaxExpense, LossOnDiscontinuedOperationsNetOfTax, ManagementCompensation, OtherCurrentOperatingCharges, OtherExternalServices, OtherRentalCosts, OtherSellingExpenses, ProjectStudiesSurveysAssessments, PurchasesRebates, ShippingAndDeliveryExpense, StaffCosts, Sundry, TravelExpensesGeneralAndAdminExpenses, TravelExpensesSellingExpense, DeferredTaxExpense, Depletion, ExceptionalItems, ExtraordinaryItems, IncomeTaxOtherExpense, MatCredit, PriorPeriodItems, TaxRoundoffGainOrLoss, CostOfSales, FreightAndDeliveryCost, OutstandingDuesMicroSmallEnterprise, OutstandingDuesOtherThanMicroSmallEnterprise, AccrualsAndDeferredIncome, AccruedLongLermLiabilities, AccruedVacationPayable, BankLoans, DebtsRelatedToParticipatingInterests, DeferredTaxLiabilities, GovernmentAndOtherPublicAuthorities, GroupAndAssociates, LiabilitiesRelatedToAssetsHeldForSale, LongTermBorrowings, LongTermDebit, LongTermEmployeeBenefitObligations, ObligationsUnderFinanceLeases, OtherLongTermProvisions, ProvisionForLiabilities, ProvisionsNonCurrentLiabilities, StaffAndRelatedLongTermLiabilityAccounts, AccruedLiabilities, CurrentLiabilities, CurrentPortionEmployeeBenefitsObligations, CurrentPortionOfObligationsUnderFinanceLeases, CurrentTaxLiability, DividendsPayable, DutiesAndTaxes, InterestPayables, ProvisionForWarrantyObligations, ProvisionsCurrentLiabilities, ShortTermBorrowings, SocialSecurityAgencies, StaffAndRelatedLiabilityAccounts, SundryDebtorsAndCreditors, TradeAndOtherPayables, CashReceiptIncome, OperatingGrants, OtherCurrentOperatingIncome, OwnWorkCapitalized, RevenueGeneral, SalesRetail, SalesWholesale, SavingsByTaxScheme, GainLossOnSaleOfFixedAssets, GainLossOnSaleOfInvestments, LossOnDisposalOfAssets, OtherOperatingIncome, UnrealisedLossOnSecuritiesNetOfTax.

AcctNum String False False False

A user-assigned account number that uniquely identifies the account within the chart of accounts, often aligned with internal accounting policies or reporting requirements.

CurrentBalance Decimal True True True

The current monetary balance of the account. This field is available only for balance sheet accounts where a running total is maintained.

CurrentBalanceWithSubAccounts Decimal True True True

The combined current balance of the account plus all of its subaccounts, reflecting the full roll-up total in reporting.

CurrencyRef String False False False

The unique identifier of the currency in which the account is denominated, used for multicurrency transactions and reporting.

CurrencyRef_Name String True False False

The descriptive name of the currency in which the account is denominated, such as US Dollar or Euro.

TaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is associated with the account. This Id links to the TaxCodes view for more details about applicable taxes (available in International versions of QuickBooks Online).

CData Python Connector for QuickBooks Online

AttachableRefs

Provides references linking transactions or entities to attached files or documents, helping you trace how uploaded attachments relate to bills, invoices, or other QuickBooks objects.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
EntityRefId [KEY] String True True False

The unique identifier (Id) of the entity (such as an invoice, bill, or customer record) to which the attachment is linked in QuickBooks Online.

AttachableId [KEY] String True

Attachables.ID

True False

The unique Id that is assigned to the attachment itself, used to reference or update the attachable record.

SyncToken String True False False

The version control token for the attachable record. This token must be included when the record is updated or deleted to ensure that you are working with the most recent version.

MetaData_CreateTime Datetime True True True

The date and time when the attachment record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the attachment record was last updated, enabling change tracking.

FileName String False True True

The name of the attached file as stored in QuickBooks Online, including its original filename if provided.

Size Integer False True True

The file size of the attachment in bytes, which can help with upload limits and storage considerations.

ContentType String False True True

The content type of the attached file (such as image/png, application/pdf) that indicates its format.

Category String False True True

The user-defined category of the attachment (for example, receipt, contract, or image) to help classify supporting documents.

Latitude String False True True

The latitude coordinate where the attachment was uploaded or noted, if location data is available.

Longitude String False True True

The longitude coordinate where the attachment was uploaded or noted, if location data is available.

Note String False True True

A free-text note stored either alongside the attachment or as a standalone comment, providing additional context or instructions.

PlaceName String False True True

The descriptive place name or location string that is associated with the upload, offering a human-readable location for the attachment.

Tag String False True True

A tag or label that is applied to the attachment to make searching and grouping easier.

AttachableRef_EntityRef String False True False

The reference value of the entity (such as an invoice Id) to which the attachment is linked, establishing the relationship between the attachment and a QuickBooks record.

AttachableRef_EntityRef_type String False True False

The type of entity that is referenced (such as Invoice, Bill, or Customer). For insert and update operations, this value is ignored when the AttachableRef_EntityRef column is null.

AttachableRef_EntityRef_name String False False False

The display name of the entity that is referenced. For insert and update operations, this value is ignored when the AttachableRef_EntityRef column is null.

AttachableRef_IncludeOnSend Boolean False True False

Indicates whether the attachment should be included when QuickBooks Online sends an email to a customer along with a transaction.

AttachableRef_LineInfo String False True False

If the entity is a transaction, this field specifies the transaction detail line (such as a specific invoice line) to which the attachment relates.

FileAccessUri String False False False

The complete Uniform Resource Identifier (URI) that can be used to access the attachment file within QuickBooks Online.

TempDownloadUri String False False False

The temporary URI that can be used by clients to directly download the attachment file without additional authentication.

AttachableRef_NoRefOnly Boolean False False False

Indicates whether to return only attachments that are not linked to any entity. This field can be combined with the AttachableRef.Inactive filter to return hidden or orphaned attachments.

AttachableRef_Inactive Boolean False False False

Indicates whether to include references to hidden entities when filtering. When this field is set to true, hidden references are included, and it works in combination with the AttachableRef.EntityRef.Type, AttachableRef.EntityRef.Value, and AttachableRef.NoRefOnly filters.

AttachableRef_CustomFieldAggregate String False False False

An XML aggregate that contains any custom field data that is associated with the attachment, enabling retrieval of extended metadata.

CData Python Connector for QuickBooks Online

Attachables

Stores the actual files or metadata of attachments that are uploaded to QuickBooks Online, such as receipts, contracts, or images that support financial transactions or customer/vendor records.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned to the attachable record. This Id is used to reference the specific attachment in QuickBooks Online transactions and API operations.

SyncToken String True False False

The version number that is assigned to the attachable entity. This value must be provided when you perform update or delete operations to ensure data consistency and prevent concurrency conflicts.

MetaData_CreateTime Datetime True True True

The date and time when the attachable record was originally created in QuickBooks Online. This timestamp helps track the origin of the attachment in audit or integration scenarios.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the attachable record was last modified in QuickBooks Online. This timestamp is useful for synchronization, auditing, and identifying the most recent version of the attachment.

FileName String False True False

The name of the attached file, including its original filename as provided by the user or source system.

Size Integer False True True

The size of the attached file in bytes. This information allows applications and users to verify file size before download or processing.

ContentType String False True False

The content type of the attached file (for example, image/jpeg or application/pdf). This value informs QuickBooks Online and client applications how to handle the attachment.

Category String False True True

The category that is assigned to the attachment, indicating its functional type or purpose (for example, receipt, invoice backup, or supporting document).

Latitude String False True True

The latitude coordinate that indicates where the attachment was uploaded or associated, if location information is available. Useful for geotagging or location-based reporting.

Longitude String False True True

The longitude coordinate indicating where the attachment was uploaded or associated, if location information is available. Useful for geotagging or location-based reporting.

Note String False True False

A free-form note that is provided by the user. This note can describe the context of the attachment or stand alone as a note record that is linked to the company file.

PlaceName String False True False

The name of the place where the attachment was uploaded or associated, if provided. This name can correspond to a business location or event name.

Tag String False True False

A tag or label that is applied to the attachment to facilitate organization, filtering, or grouping of related files within QuickBooks Online.

AttachableRefAggregate String False False False

The aggregate reference that specifies the QuickBooks transaction or entity (for example, Invoice, Bill, or Customer) to which this attachable file is linked. This reference establishes the attachment's relationship within the company file.

FileAccessUri String False False False

The full path Uniform Resource Identifier (URI) that allows secure access to the attachment file in QuickBooks Online. Applications use this URI to retrieve the attachment programmatically.

TempDownloadUri String False False False

The temporary download URI that allows clients to directly download the attachment file within a limited time window. Typically, this URI is used for one-time or short-lived download operations.

CData Python Connector for QuickBooks Online

BillLineItems

Contains detailed line-item data for vendor bills, including products or services purchased, amounts, tax details, and associated accounts for expense tracking and reporting.

Table Specific Information

Bills may be inserted, updated, or queried via the Bills or BillLineItems tables. Bills may be deleted by using the Bills table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a Bill, specify the Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_AccountRef, VendorRef.For example, the following will insert a new Bill with two Line Items:

INSERT INTO BillLineItems (Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_AccountRef, VendorRef) VALUES ('4.04', 'AccountBasedExpenseLineDetail', '7', '36')

INSERT INTO BillLineItems#TEMP (Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_AccountRef, VendorRef) VALUES ('4.04', 'AccountBasedExpenseLineDetail', '7', '36')
      INSERT INTO Bills ( VendorRef, Id, DocNumber, TxnDate, PrivateNote, LineAggregate) VALUES ('36', '6704', '66', '1/1/2040', 'AccountBasedExpenseLineDetail', BillLineItems#TEMP)

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

The unique identifier (Id) that is assigned to the individual line item within the bill. This links each line item to its parent bill and allows tracking of specific expenses or items.

BillId [KEY] String False

Bills.ID

True False

The unique Id of the bill to which the line item belongs. This connects the line detail to its parent bill transaction.

SyncToken String True False False

The version number that is assigned to the bill object. QuickBooks Online increments this token each time the object is modified to prevent conflicting updates. You must supply the current SyncToken when you update or delete a bill to ensure data integrity.

MetaData_CreateTime Datetime True True True

The date and time when the bill record was originally created in QuickBooks Online. This timestamp is useful for auditing and synchronization processes.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the bill record was last updated in QuickBooks Online. This timestamp helps track changes and identify the most recent version of the record.

DocNumber String False True True

The reference number that is associated with the bill transaction, such as a supplier invoice number or other identifying code.

TxnDate Date False True True

The date of the bill transaction. Typically, this value is the date that is entered by the user or the posting date that affects financial statements. If the date is omitted, QuickBooks Online uses the server's current date.

PrivateNote String False False False

A private, internal note attached to the bill transaction. By default, this note is not visible on printed or shared transaction records.

LinkedTxnAggregate String False False False

An XML aggregate that contains details of transactions that are linked to this bill, such as purchase orders or payments. This column allows you to see related documents connected to the bill.

Line_Id String False False False

The unique Id that is assigned to the line item itself, enabling differentiation of multiple lines within the same bill.

Line_Amount Decimal False False False

The total monetary amount of the line item, including charges and discounts but excluding taxes. This amount reflects the net amount before any tax is applied.

Line_Description String False False False

A descriptive text for the line item, such as the purpose of the expense or details of goods or services received.

Line_DetailType String False False False

The type of detail that is represented by the line item (for example, Account-based expense detail or Item-based expense detail). This column determines how QuickBooks Online processes and reports the line item.

Line_LineNum String False False False

The sequential number of the line item within the bill. This column helps preserve the order of multiple line entries.

Line_LinkedTxnAggregate String False False False

An XML aggregate of transactions linked to this specific line item, such as related purchase orders or vendor credits.

Line_AccountBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The Id of the class entity that is assigned to this expense line. Classes allow tracking of expenses by category or segment in the company file.

Line_AccountBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class entity that is assigned to this expense line. This name is the human-readable counterpart to the ClassRef Id.

Line_AccountBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The Id of the customer that is associated with this expense line. This Id supports job costing and billable expense tracking.

Line_AccountBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with this expense line. This name is the human-readable counterpart to the CustomerRef Id.

Line_AccountBasedExpenseLineDetail_AccountRef String False

Accounts.Id

False False

The Id of the expense account to which this line item is posted in the chart of accounts.

Line_AccountBasedExpenseLineDetail_AccountRef_Name String True

Accounts.Name

False False

The name of the expense account to which this line item is posted. This name is the human-readable counterpart to the AccountRef Id.

Line_AccountBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The sales tax code that is applied to this expense line, indicating how QuickBooks Online should calculate tax for this line item.

Line_AccountBasedExpenseLineDetail_TaxAmount Decimal False False False

The amount of sales tax that is applied to this expense line. This value shows the tax portion only, separate from the line amount.

Line_AccountBasedExpenseLineDetail_TaxInclusiveAmt Decimal False False False

The total amount of the line item, including sales tax. This amount represents the gross cost of the expense line.

Line_AccountBasedExpenseLineDetail_BillableStatus String False False False

The billable status of the expense line (for example, Billable, NotBillable). This status indicates whether the cost can be passed on to a customer.

The allowed values are Billable, NotBillable, HasBeenBilled.

Line_AccountBasedExpenseLineDetail_MarkupInfo_Value Decimal True False False

The absolute markup amount added to this expense line when it is billed to a customer.

Line_AccountBasedExpenseLineDetail_MarkupInfo_Percent Double False False False

The markup rate that is applied to this expense line expressed as a percentage (for example, enter 10.0 for a 10-percent markup).

Line_AccountBasedExpenseLineDetail_MarkupInfo_PriceLevelRef String False False False

The Id of the price level entity that is used to determine markup on this expense line.

Line_ItemBasedExpenseLineDetail_ItemRef String False

Items.Id

False False

The Id of the item that is associated with this expense line. This Id links the expense to a specific inventory, non-inventory, or service item in the company file.

Line_ItemBasedExpenseLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item that is associated with this expense line. This is the human-readable counterpart to the ItemRef Id and helps identify the goods or services purchased.

Line_ItemBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The Id of the class entity that is assigned to this item-based expense line. Classes allow tracking of expenses by category or segment in the company file.

Line_ItemBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class entity that is assigned to this item-based expense line. This name is the human-readable counterpart to the ClassRef Id.

Line_ItemBasedExpenseLineDetail_UnitPrice Decimal False False False

The unit price of the item on this expense line as recorded in QuickBooks Online. This unit price represents the cost per single unit of the item.

Line_ItemBasedExpenseLineDetail_Qty Double False False False

The quantity of items that are recorded for this line. This number multiplied by the unit price forms the base amount before taxes and markups.

Line_ItemBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The Id of the customer that is associated with this item-based expense line. This Id supports job costing and billable expense tracking.

Line_ItemBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with this item-based expense line. This name is the human-readable counterpart to the CustomerRef Id.

Line_ItemBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The sales tax code that is applied to this item-based expense line. This code determines how QuickBooks Online calculates tax for the line.

Line_ItemBasedExpenseLineDetail_BillableStatus String False False False

The billable status of the item-based expense line (for example, Billable, NotBillable). This status indicates whether the cost can be passed on to a customer.

The allowed values are Billable, NotBillable, HasBeenBill.

Line_ItemBasedExpenseLineDetail_MarkupInfo_Value Double True False False

The absolute markup amount that is added to this item-based expense line when it is billed to a customer.

Line_ItemBasedExpenseLineDetail_MarkupInfo_Percent Double False False False

The markup rate that is applied to this item-based expense line expressed as a percentage (for example, enter 10.0 for a 10 percent markup).

Line_ItemBasedExpenseLineDetail_MarkupInfo_PriceLevelRef String False False False

The Id of the price-level entity that is used to determine markup on this item-based expense line.

Line_ItemBasedExpenseLineDetail_MarkupInfo_PriceLevelRef_Name String True False False

The name of the price level that is associated with this markup. This name is the human-readable counterpart to the PriceLevelRef Id.

Line_ItemBasedExpenseLineDetail_TaxInclusiveAmt Decimal False False False

The total amount of the item-based expense line, including sales tax. This total represents the gross cost of the line.

Line_ItemBasedExpenseLineDetail_MarkUpInfo_MarkUpIncomeAccountRef String False False False

The Id of the income account in which markup revenue for this item-based expense line is recorded. This Id is found in the Id field of the referenced account object.

Line_ItemBasedExpenseLineDetail_PriceLevelRef String False False False

The Id of the price level that is referenced by this item-based expense line as found in the Id field of the referenced price-level object.

VendorRef String False

Vendors.Id

True True

The Id of the vendor that is associated with the bill. This Id links the bill to the supplier providing the goods or services.

VendorRef_Name String True

Vendors.DisplayName

False False

The name of the vendor that is associated with the bill. This name is the human-readable counterpart to the VendorRef Id.

APAccountRef String False

Accounts.Id

True True

The Id of the accounts payable account that is used to record this bill. This Id links the bill to the appropriate liability account in the chart of accounts.

APAccountRef_Name String True

Accounts.Name

False False

The name of the accounts-payable account that is used to record this bill. This account name is the human-readable counterpart to the APAccountRef Id.

TotalAmt Decimal False True True

The total monetary amount of the bill, calculated as the sum of all line items including taxes, discounts, and markups.

SalesTermRef String False

Terms.Id

True True

The Id of the payment terms that are applied to this bill (for example, Net 30 or Due on Receipt). This Id determines how QuickBooks Online calculates due dates and discounts.

SalesTermRef_Name String True

Terms.Name

False False

The name of the payment terms that are applied to this bill. This name is the human-readable counterpart to the SalesTermRef Id.

DueDate Date False True True

The date by which the bill must be paid according to its payment terms. This date excludes early-payment discounts or late-payment penalties.

Balance Decimal True True False

The unpaid balance of the bill at the time of retrieval. When the bill is fully paid, this value becomes zero.

DepartmentRef String False

Departments.Id

False False

The Id of the department that is associated with this bill. Departments can be used to track location or division for reporting.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with this bill. This name is the human-readable counterpart to the DepartmentRef Id.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied at the transaction level for this bill. This tax code determines the overall tax treatment for the bill.

TxnTaxDetail_TotalTax String False False False

The total amount of tax that is calculated for the bill at the transaction level. This total excludes any tax line items that are manually inserted into the transaction.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that contains the details of each tax line item that is included in this bill.

CurrencyRef String False False False

The Id of the currency that is used for this bill transaction. This Id is relevant if the multicurrency feature is enabled in the company file.

CurrencyRef_Name String True False False

The name of the currency that is used for this bill transaction. This name is the human-readable counterpart to the CurrencyRef Id.

ExchangeRate Decimal False False False

The exchange rate that is applied to convert one unit of the bill's currency into the home currency. This column is available only if the multicurrency feature is enabled and only in the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method that is used to apply taxes to this bill (for example, TaxInclusive, TaxExcluded). This column is available only in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

BillLinkedTransactions

Tracks relationships between vendor bills and linked transactions, such as purchase orders or payments, allowing you to see how bills relate to other financial activities.

Columns

Name Type ReadOnly References Filterable Sortable Description
LinkedTxnId [KEY] String True False False

The identifier (Id) of the linked transaction line item within the bill. The Id uniquely links this transaction line to its parent bill.

BillId [KEY] String False

Bills.Id

True False

The Id of the bill that is associated with the linked transaction line item. This Id connects the linked transaction to the correct bill.

SyncToken String True False False

The version number that is assigned to the bill-linked transaction object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete using an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the linked transaction record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the linked transaction record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

DocNumber String False True True

The reference number that is associated with the transaction. This reference number allows users to match QuickBooks transactions to external documents such as vendor invoices.

TxnDate Date False True True

The date that is entered by the user for when this transaction occurred. This date determines the posting date used in reports and financial statements.

PrivateNote String False False False

A private, internal note for the transaction. The private note does not appear on printed or shared transaction records.

LinkedTxn_TxnId String False False False

The Id of the transaction that is linked to this bill. This Id provides the connection between related QuickBooks transactions such as bills, credits, or payments.

LinkedTxn_TxnType String False False False

The type of the transaction that is linked to this bill (for example, BillPayment or VendorCredit). The transaction type identifies how the linked transaction relates to the bill.

LinkedTxn_TxnLineId String False False False

The Id of the line item within the linked transaction. ThisId uniquely identifies which line from the linked transaction is connected to the bill.

LineAggregate String False False False

An XML aggregate that contains the details of all line items that are associated with the linked transaction. This column enables applications to retrieve related lines in a structured format.

VendorRef String False

Vendors.Id

True True

The Id of the vendor that is associated with this linked transaction. This Id links the transaction to the supplier providing the goods or services.

VendorRef_Name String True

Vendors.DisplayName

False False

The name of the vendor that is associated with this linked transaction. This name is the human-readable counterpart to the VendorRef Id.

APAccountRef String False

Accounts.Id

True True

The Id of the accounts-payable account that is used for this linked transaction. This Id connects the transaction to the correct liability account in the chart of accounts.

APAccountRef_Name String True

Accounts.Name

False False

The name of the accounts-payable account that is used for this linked transaction. This name is the human-readable counterpart to the APAccountRef Id.

SalesTermRef String False

Terms.Id

True True

The Id of the sales-terms entity that is applied to this bill. This Id identifies the payment terms such as Net 30 or Due on Receipt.

SalesTermRef_Name String True

Terms.Name

False False

The name of the sales-terms entity that is applied to this bill. This name is the human-readable counterpart to the SalesTermRef Id.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to this transaction at the transaction level. The tax code determines how QuickBooks Online calculates tax for the bill.

TxnTaxDetail_TotalTax String False False False

The total amount of tax that is calculated for the transaction, excluding any tax lines that are manually inserted into the transaction line list. This total shows the full tax impact of the transaction.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing the details of each tax line item included in this transaction. The column enables applications to retrieve related tax lines in a structured format.

DueDate Date False True False

The date by which the bill must be paid according to its payment terms. The due date excludes early-payment discount incentives and late-payment penalties. If the date is not supplied, QuickBooks Online uses the server's current date.

TotalAmt Decimal True True True

The total monetary amount of the transaction. This total includes the sum of all charges, allowances, and taxes applied to the bill.

Balance Decimal False False False

The unpaid balance of the transaction at the time of retrieval. The balance shows the remaining amount due and becomes zero when fully paid.

DepartmentRef String False

Departments.Id

False False

The Id of the department that is associated with this transaction. The department stores the location or division of the transaction as defined by using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with this transaction. This name is the human-readable counterpart to the DepartmentRef Id.

CurrencyRef String False False False

The Id of the currency that is used in this transaction. This currency reference is relevant when the multicurrency feature is enabled in the company file.

CurrencyRef_Name String True False False

The name of the currency that is used in this transaction. This name is the human-readable counterpart to the CurrencyRef Id.

ExchangeRate Decimal False False False

The exchange rate that is applied to convert one unit of the bill's currency into the home currency. The exchange rate is valid only when the multicurrency feature is enabled. In QuickBooks Online, exchange rates are recorded as the number of home currency units that are required to equal one foreign currency unit. This field is available only in the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method that is used used to apply taxes to this transaction (for example, TaxInclusive or TaxExcluded). This field is valid only in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

BillPaymentLineItems

Captures line-level details of bill payments, showing how each payment applies to one or multiple bills and reflecting discounts or credits used.

Table Specific Information

BillPayments may be inserted or queried via the BillPayments or BillPaymentLineItems tables. BillPayments may be deleted by using the BillPayments table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a BillPayment, specify the Vendor, PayType, TxnDate (transaction date), and TotalAmt columns and at least one Line Item, as well as either CreditCardPayment or CheckPayment. You must enter an amount for each Line Item up to but not exceeding the total amount remaining to be paid for each Bill. The following shows an example of inserting multiple Bills, each with a single line. To insert a BillPayment with multiple lines, see the example on the BillPayments table.

INSERT INTO BillPaymentLineItems#TEMP (VendorRef, PayType, TxnDate, CheckPayment_BankAccountRef, CheckPayment_PrintStatus, Line_Amount, Line_LinkedTxn_TxnId, Line_LinkedTxn_TxnType, TotalAmt) VALUES ('21', 'Check', '1/1/2011', '41', 'NotSet', 0.01, '313', 'Bill', 0.03)
INSERT INTO BillPaymentLineItems#TEMP (VendorRef, PayType, TxnDate, CheckPayment_BankAccountRef, CheckPayment_PrintStatus, Line_Amount, Line_LinkedTxn_TxnId, Line_LinkedTxn_TxnType, TotalAmt) VALUES ('21', 'Check', '1/1/2011', '41', 'NotSet', 0.02, '312', 'Bill', 0.03)
 INSERT INTO BillPaymentLineItems (VendorRef, PayType, TxnDate, CheckPayment_BankAccountRef, CheckPayment_PrintStatus, Line_Amount, Line_LinkedTxn_TxnId, Line_LinkedTxn_TxnType, TotalAmt) SELECT VendorRef, PayType, TxnDate, CheckPayment_BankAccountRef, CheckPayment_PrintStatus, Line_Amount, Line_LinkedTxn_TxnId, Line_LinkedTxn_TxnType, TotalAmt FROM BillPaymentLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

The identifier (Id) of the line item within the bill payment. This Id uniquely links the line item to its parent bill payment.

BillPaymentId [KEY] String False

BillPayments.Id

True False

The Id of the bill payment that is associated with the line item. This Id connects the line item to the correct bill payment transaction.

SyncToken String True False False

The version number that is assigned to the bill payment line-item object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation using an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the bill payment line-item record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the bill payment line-item record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

DocNumber String False True True

The document number that is associated with this transaction. If this document number is not provided when a line is created, QuickBooks business logic assigns the next sequential number automatically.

TxnDate Date False True True

The date that is entered by the user for when this transaction occurred. This date determines the posting date that is used in reports and financial statements.

PrivateNote String False False False

A private, internal note about the transaction. This private note does not appear on printed or shared transaction records.

DepartmentRef String False

Departments.Id

False False

The Id of the department that is associated with this transaction. The department stores the location or division of the transaction as defined by using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with this transaction. This name is the human-readable counterpart to the DepartmentRef Id.

Line_LinkedTxn_TxnId String False

Bills.Id

False False

The Id of the transaction that is linked to this line item. This Id connects the line item to related QuickBooks transactions such as bills, credits, or payments.

Line_Amount Decimal False False False

The monetary amount of this line item. This column shows the portion of the total bill payment applied to this line.

Line_LinkedTxn_TxnType String False False False

The type of the transaction that is linked to this line item (for example, BillPayment or VendorCredit). The transaction type identifies how the linked transaction relates to the bill payment.

Line_LinkedTxn_TxnLineId String False False False

The Id of the line within the linked transaction that is required for Deposit and Bill entities. This Id uniquely identifies which line from the linked transaction is connected to the bill payment.

VendorRef String False

Vendors.Id

True True

The Id of the vendor that is associated with this transaction. This Id links the bill payment to the supplier providing the goods or services.

VendorRef_Name String True

Vendors.DisplayName

False False

The name of the vendor that is associated with this transaction. This name is the human-readable counterpart to the VendorRef Id.

APAccountRef String False

Accounts.Id

True True

The Id of the accounts-payable account that the vendor credit is credited to. This Id must point to a Liability account whose subtype is Payables. If the company has a single accounts-payable account, this account is implied.

APAccountRef_Name String True

Accounts.Name

False False

The name of the accounts-payable account to which the vendor credit is credited. This name is the human-readable counterpart to the APAccountRef Id and must be a Liability-type account whose subtype is Payables.

PayType String False False False

The payment type that is used for this bill payment. The payment type identifies whether the payment was made by check, credit card, or another method.

The allowed values are Check, CreditCard.

CheckPayment_BankAccountRef String False

Accounts.Id

False False

The Id of the bank account that is used to issue the check. This Id links the bill payment to the source bank account.

CheckPayment_BankAccountRef_Name String True

Accounts.Name

False False

The name of the bank account that is used to issue the check. This name is the human-readable counterpart to the CheckPayment_BankAccountRef Id.

CheckPayment_PrintStatus String False False False

The print status of the check payment. The print status applies only to checks and is ignored for credit-card charges and refunds.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NeedToPrint.

CreditCardPayment_CCAccountRef String False

Accounts.Id

False False

The Id of the credit-card account that is used for this bill payment. This Id links the payment to the credit card account on file.

CreditCardPayment_CCAccountRef_Name String True

Accounts.Name

False False

The name of the credit-card account that is used for this bill payment. This name is the human-readable counterpart to the CreditCardPayment_CCAccountRef Id.

TotalAmt Decimal False True True

The total monetary amount of the bill payment. This total is determined by summing all line items in the bill payment.

ProcessBillPayment Boolean False False False

Indicates that the payment should be processed by the merchant account service. The ProcessBillPayment flag is available only for companies with credit-card processing that is enabled in QuickBooks Online.

CurrencyRef String False False False

The Id of the currency that is used in this transaction. This currency reference is relevant when the multicurrency feature is enabled in the company file.

CurrencyRef_Name String True False False

The name of the currency that is used in this transaction. This name is the human-readable counterpart to the CurrencyRef Id.

ExchangeRate Decimal False False False

The exchange rate that is applied to convert one unit of the bill payment's currency into the home currency. The exchange rate is valid only when the multicurrency feature is enabled. In QuickBooks Online, exchange rates are recorded as the number of home currency units that are required to equal one foreign currency unit. This field is available only in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

BillPayments

Maintains records of vendor bill payments, including payment methods, amounts, dates, and vendor details, to manage cash outflows and reconcile accounts payable.

Table Specific Information

BillPayments may be inserted or queried via the BillPayments or BillPaymentLineItems tables. They may be deleted by using the BillPayments table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a BillPayment, specify the Vendor, PayType, TxnDate, and TotalAmt columns, as well as at least one Line Item and either CreditCardPayment or CheckPayment. You must enter an amount for each Line Item up to but not exceeding the total amount remaining to be paid for each Bill. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz).The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which BillPayments. For example:

INSERT INTO BillPayments (VendorRef, PayType, TxnDate, CheckPayment_BankAccountRef, CheckPayment_PrintStatus, TotalAmt, LineAggregate) 
VALUES ('21', 'Check', '1/1/2011', '41', 'NotSet', 0.03 '
<Line><Amount>Repairs</Amount><LinkedTxn><TxnId>312</TxnId><TxnType>Bill</TxnType></LinkedTxn></Line>
<Line><Amount>Removal</Amount><LinkedTxn><TxnId>313</TxnId><TxnType>Bill</TxnType></LinkedTxn></LinkedTxn></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The identifier (Id) of the bill payment. This Id uniquely identifies the bill payment record within QuickBooks Online.

SyncToken String True False False

The version number that is assigned to the bill payment object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete using an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the bill payment record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the bill payment record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

DocNumber String False True True

The document number that is associated with this transaction. If the document number is not provided during a create operation, QuickBooks business logic assigns the next sequential number automatically.

TxnDate Date False True True

The date that is entered by the user for when this transaction occurred. This date is used as the posting date in financial statements.

PrivateNote String False False False

A private, internal note about the transaction. This private note does not appear on printed or shared transaction records by default.

DepartmentRef String False

Departments.Id

False False

The Id of the department entity that is associated with this transaction. The department stores the location or division of the transaction as defined by using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with this transaction. This name is the human-readable counterpart to the DepartmentRef Id.

LineAggregate String False False False

An XML aggregate that contains the line items that are associated with the bill payment. This column enables applications to retrieve related lines in a structured format.

VendorRef String False

Vendors.Id

True True

The Id of the vendor that is associated with this bill payment. This Id links the bill payment to the supplier that provides the goods or services.

VendorRef_Name String True

Vendors.DisplayName

False False

The name of the vendor that is associated with this bill payment. This name is the human-readable counterpart to the VendorRef Id.

APAccountRef String False

Accounts.Id

True True

The Id of the accounts-payable account to which the vendor credit is credited. This Id must point to a Liability account whose subtype is Payables. If the company uses a single accounts-payable account, this account is implied.

APAccountRef_Name String True

Accounts.Name

False False

The name of the accounts-payable account to which the vendor credit is credited. This name is the human-readable counterpart to the APAccountRef Id and must be a Liability account whose subtype is Payables.

PayType String False False False

The payment type that is used for this bill payment. The payment type identifies whether the payment was made by check, credit card, or another method.

The allowed values are Check, CreditCard.

CheckPayment_BankAccountRef String False

Accounts.Id

False False

The Id of the bank account that is used to issue the check. This Id links the bill payment to the source bank account.

CheckPayment_BankAccountRef_Name String True

Accounts.Name

False False

The name of the bank account that is used to issue the check. This name is the human-readable counterpart to the CheckPayment_BankAccountRef Id.

CheckPayment_PrintStatus String False False False

The print status of the check payment. The print status applies only to checks and is ignored for credit card charges and refunds.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NeedToPrint.

CreditCardPayment_CCAccountRef String False

Accounts.Id

False False

The Id of the credit-card account that is used for this bill payment. This Id links the payment to the credit-card account on file.

CreditCardPayment_CCAccountRef_Name String True

Accounts.Name

False False

The name of the credit-card account that is used for this bill payment. This name is the human-readable counterpart to the CreditCardPayment_CCAccountRef Id.

TotalAmt Decimal False True True

The total monetary amount of the bill payment. This total is determined by summing all payments from the line items of the bill payment.

ProcessBillPayment Boolean False False False

Indicates whether the payment is processed by the merchant account service. The ProcessBillPayment flag is valid only for QuickBooks Online companies with credit-card processing enabled.

CurrencyRef String False False False

The Id of the currency that is used in this transaction. This currency reference is relevant when the multicurrency feature is enabled in the company file.

CurrencyRef_Name String True False False

The name of the currency that is used in this transaction. This name is the human-readable counterpart to the CurrencyRef Id.

ExchangeRate Decimal False False False

The exchange rate that is applied to convert one unit of the bill payment's currency into the home currency. The exchange rate is valid only when the multicurrency feature is enabled. In QuickBooks Online, exchange rates are recorded as the number of home currency units that are required to equal one foreign currency unit. This field is available only in the UK, AU, and CA editions.

TransactionLocationType String False False False

The account location type that is used in this transaction. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

CData Python Connector for QuickBooks Online

Bills

Represents vendor bills in QuickBooks Online, enabling you to create, modify, delete, and retrieve obligations that are owed to suppliers for goods or services received.

Table Specific Information

Bills may be inserted, deleted, updated, or queried via the Bills or BillLineItems tables. Bills may be deleted by using the Bills table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a Bill, specify the Vendor, APAccountRef, and TxnDate columns and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which Bills. For example:

INSERT INTO Bills (VendorRef, APAccountRef, TxnDate, LineAggregate) 
VALUES ('21', '66', '1/1/2011', '
<Line><Amount>4.04</Amount><DetailType>AccountBasedExpenseLineDetail</DetailType><AccountBasedExpenseLineDetail><AccountRef>7</AccountRef></AccountBasedExpenseLineDetail></Line>
<Line><Amount>6.06</Amount><DetailType>AccountBasedExpenseLineDetail</DetailType><AccountBasedExpenseLineDetail><AccountRef>8</AccountRef></AccountBasedExpenseLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The identifier (Id) of the bill. This Id uniquely identifies the bill record within QuickBooks Online.

SyncToken String True False False

The version number that is assigned to the bill object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation that uses an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the bill record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the bill record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

DocNumber String False True True

The document reference number that is associated with the transaction. This document number allows users to match QuickBooks transactions to external documents such as vendor invoices.

TxnDate Date False True True

The date that is entered by the user for when this transaction occurred. This date is used as the posting date in financial statements.

PrivateNote String False False False

A private, internal note about the transaction. The private note does not appear on printed or shared transaction records by default.

LinkedTxnAggregate String False False False

An XML aggregate that contains the transactions that are linked to the bill. This column enables applications to retrieve related transactions in a structured format.

LineAggregate String False False False

An XML aggregate that contains the line items that are associated with the bill. This column enables applications to retrieve related lines in a structured format.

VendorRef String False

Vendors.Id

True True

The Id of the vendor that is associated with this bill. This Id links the bill to the supplier providing the goods or services.

VendorRef_Name String True

Vendors.DisplayName

False False

The name of the vendor that is associated with this bill. This name is the human-readable counterpart to the VendorRef Id.

APAccountRef String False

Accounts.Id

True True

The Id of the accounts-payable account that is used for this bill. This Id connects the bill to the correct liability account in the chart of accounts.

APAccountRef_Name String True

Accounts.Name

False False

The name of the accounts-payable account that is used for this bill. This name is the human-readable counterpart to the APAccountRef Id.

TotalAmt Decimal False True True

The total monetary amount due on the bill. This total is determined by summing all line items associated with the bill.

SalesTermRef String False

Terms.Id

True True

The Id of the sales-terms entity that is applied to this bill. This Id identifies the payment terms such as Net 30 or Due on Receipt.

SalesTermRef_Name String True

Terms.Name

False False

The name of the sales-terms entity that is applied to this bill. This name is the human-readable counterpart to the SalesTermRef Id.

DueDate Date False True True

The date by which the bill must be paid according to its payment terms. This date excludes early-payment discount incentives and late-payment penalties.

Balance Decimal True True False

The unpaid balance of the bill at the time of retrieval. This balance shows the remaining amount due and becomes zero when fully paid.

DepartmentRef String False

Departments.Id

False False

The Id of the department that is associated with this transaction. The department stores the location or division of the transaction as defined by using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with this transaction. This name is the human-readable counterpart to the DepartmentRef Id.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to this transaction at the transaction level. The tax code determines how QuickBooks Online calculates tax for the bill.

TxnTaxDetail_TotalTax String False False False

The total amount of tax that is calculated for the transaction, excluding any tax lines that are manually inserted into the transaction line list. This total shows the full tax impact of the transaction.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that contains the details of each tax line item that is included in this transaction. This column enables applications to retrieve related tax lines in a structured format.

CurrencyRef String False False False

The Id of the currency that is used in this transaction. This currency reference is relevant when the multicurrency feature is enabled in the company file.

CurrencyRef_Name String True False False

The name of the currency that is used in this transaction. This name is the human-readable counterpart to the CurrencyRef Id.

ExchangeRate Decimal False False False

The exchange rate that is applied to convert one unit of the bill's currency into the home currency. The exchange rate is valid only when the multicurrency feature is enabled. In QuickBooks Online, exchange rates are recorded as the number of home currency units that are required to equal one foreign currency unit. This field is available only in the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method that is used to apply taxes to this transaction (for example, TaxInclusive or TaxExcluded). This column is valid only in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

TransactionLocationType String False False False

The account location type that is used in this transaction. This column is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

IncludeInAnnualTPAR Boolean False False False

Indicates whether the supplier is included in the annual Taxable Payments Annual Report (TPAR). The TPAR is mandated by the Australian Taxation Office (ATO) to report payments that businesses make to contractors for providing services. Some government entities also need to report grants they have paid in a TPAR.

RecurDataRef String True False False

The Id for the referenced object as found in the Id field of the object payload. The context is set by the type of reference and is specific to the QuickBooks company file.

CData Python Connector for QuickBooks Online

BudgetDetails

Provides detailed budget line items, including amounts per account, class, or department, supporting budget-to-actual analysis within QuickBooks Online.

Columns

Name Type ReadOnly References Filterable Sortable Description
BudgetId [KEY] String True True False

The identifier (Id) of the budget record. This Id uniquely identifies the budget in QuickBooks Online.

DetailId [KEY] String True False False

The Id of the individual budget-detail record. This Id uniquely identifies each detail entry within the budget.

SyncToken String True False False

The version number that is assigned to the budget-detail object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation that uses an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the budget-detail record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the budget-detail record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

Name String True True True

A user-recognizable name for the account that is associated with this budget detail. The Name column allows users to quickly identify the related account.

StartDate Datetime True False False

The starting date for when the budget period becomes effective.

EndDate Datetime True False False

The ending date for when the budget period expires or ends.

BudgetType String True False True

The type of budget that is defined (for example, Profit and Loss or Balance Sheet). The budget type determines how QuickBooks Online classifies the budget.

The allowed values are ProfitAndLoss, Balance Sheet.

BudgetEntryType String True False False

The reporting period that the budget covers (for example, Monthly, Quarterly, or Yearly).

The allowed values are Monthly, Quarterly, Annually.

Active Boolean True True False

Indicates whether the budget is active. This column allows filtering of current versus inactive budgets.

BudgetDetail_BudgetDate Datetime True False False

The date of the individual budget-detail line. This date identifies the point in time for which the amount applies.

BudgetDetail_Amount Decimal True False False

The monetary amount that is assigned to this budget-detail line. This value specifies the planned amount for the given budget date.

BudgetDetail_AccountRef String True

Accounts.Id

False False

The Id of the account that is associated with this budget detail. This Id links the budget detail to the correct Chart of Accounts entry.

BudgetDetail_AccountRef_Name String True

Accounts.Name

False False

The name of the account that is associated with this budget detail. This name is the human-readable counterpart to the BudgetDetail_AccountRef Id.

BudgetDetail_CustomerRef String True

Customers.Id

False False

The Id of the customer that is associated with this budget detail. This Id links the budget detail to the correct customer record.

BudgetDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with this budget detail. This name is the human-readable counterpart to the BudgetDetail_CustomerRef Id.

BudgetDetail_ClassRef String True

Class.Id

False False

The Id of the class that is associated with this budget detail. This Id links the budget detail to the correct class category.

BudgetDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with this budget detail. This name is the human-readable counterpart to the BudgetDetail_ClassRef Id.

BudgetDetail_DepartmentRef String True

Departments.Id

False False

The Id of the department that is associated with this budget detail. This Id links the budget detail to the correct department record.

BudgetDetail_DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with this budget detail. This name is the human-readable counterpart to the BudgetDetail_DepartmentRef Id.

CData Python Connector for QuickBooks Online

Budgets

Contains the header-level information of company budgets, including fiscal year, budget type, and tracking segments that are used for financial planning and analysis.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The identifier (Id) of the budget. This Id uniquely identifies the budget record within QuickBooks Online.

SyncToken String True False False

The version number that is assigned to the budget object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation that uses an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the budget record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the budget record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

Name String True True True

A user-recognizable name for the account that is associated with this budget. This name allows users to quickly identify the related account.

StartDate Datetime True False False

The starting date of the budget period when the budget becomes effective.

EndDate Datetime True False False

The ending date of the budget period when the budget expires or ends.

BudgetType String True False True

The type of budget that is defined (for example, Profit and Loss or Balance Sheet). The budget type determines how QuickBooks Online classifies the budget.

The allowed values are ProfitAndLoss, Balance Sheet.

BudgetEntryType String True False False

The reporting period that the budget covers (for example, Monthly, Quarterly, or Yearly). The budget entry type defines how amounts are divided across time.

The allowed values are Monthly, Quarterly, Annually.

Active Boolean True True False

Indicates whether the budget is active. This column allows filtering of current versus inactive budgets.

CData Python Connector for QuickBooks Online

Class

Stores QuickBooks Classes that are used to categorize transactions across multiple business segments or projects, supporting more granular reporting and profit/loss tracking.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The identifier (Id) of the class. This Id uniquely identifies the class record within QuickBooks Online.

SyncToken String True False False

The version number that is assigned to the class object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation that uses an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the class record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the class record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

Name String False True True

The name of the class. This name allows users to identify and select the correct class in QuickBooks Online.

SubClass Boolean True False False

Indicates whether the class is a subclass. The SubClass field shows whether the class is nested under another class for reporting or organizational purposes.

ParentRef String False

Class.Id

False False

The Id of the parent record that is associated with this class. This Id links the class to its parent class in the hierarchy.

ParentRef_Name String True

Class.Name

False False

The name of the parent record that is associated with this class. This name is the human-readable counterpart to the ParentRef Id.

Active Boolean False True False

Indicates whether the class is active. Inactive classes might be hidden from display and excluded from financial transactions.

FullyQualifiedName String True True True

The fully qualified name of the class. This name consists of the topmost parent element followed by each subelement separated by colons (for example, Parent:Account1:SubAccount1:SubAccount). This field shows the full hierarchy of the class.

CData Python Connector for QuickBooks Online

CompanyCurrency

Defines each active currency configured for a QuickBooks Online company with multicurrency enabled, including currency codes, exchange rates, and activation status as seen in the Currency Center.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The identifier (Id) of the currency object. This Id uniquely identifies the currency record within QuickBooks Online.

SyncToken String True False False

The version number that is assigned to the currency object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation by using an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True False False

The date and time when the currency record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True False False

The date and time when the currency record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

Code String False True False

The three-letter string that represents the ISO 4217 code for the currency (for example, USD or EUR). This code enables QuickBooks Online to apply the correct currency standards in multicurrency transactions.

Name String False False False

The full name of the currency object. This name allows users to identify the currency in reports and transactions.

CustomFieldAggregate String False False False

An XML aggregate that contains custom field information for the currency object. This column enables applications to retrieve or populate additional user-defined attributes in a structured format.

Active Boolean False True False

Indicates whether the currency is active. Inactive currencies cannot be posted to and are excluded from search results, although references to them are preserved for historical integrity.

CData Python Connector for QuickBooks Online

CompanyInfo

Retrieves core company information such as legal name, address, industry type, fiscal year start, and contact details, which underpin company-wide settings in QuickBooks Online.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True False False

The identifier (Id) of the company. This Id uniquely identifies the company record within QuickBooks Online.

SyncToken String True False False

The version number that is assigned to the company object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation that uses an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True False False

The date and time when the company record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastUpdatedTime Datetime True False False

The date and time when the company record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

CompanyName String True False False

The name of the company. This name appears in QuickBooks Online reports and on customer-facing documents.

LegalName String True False False

The legal name of the company. The name might differ from the CompanyName and is used for regulatory or tax purposes.

CompanyAddr_Id String True False False

The Id of the Intuit entity for the company address that is mainly used for modifying the address. This Id is assigned by the data service.

CompanyAddr_Line1 String True False False

The first line of the company address.

CompanyAddr_Line2 String True False False

The second line of the company address.

CompanyAddr_Line3 String True False False

The third line of the company address.

CompanyAddr_Line4 String True False False

The fourth line of the company address.

CompanyAddr_Line5 String True False False

The fifth line of the company address.

CompanyAddr_City String True False False

The city name in the company address.

CompanyAddr_Country String True False False

The country name in the company address.

CompanyAddr_CountrySubDivisionCode String True False False

The country region in the company address. This is the state name for the USA or the province name for Canada.

CompanyAddr_PostalCode String True False False

The postal code in the company address. This is the ZIP code for the USA and Canada.

CompanyAddr_Note String True False False

A note about the company address. This note can be used for internal comments or directions.

CustomerCommunicationAddr_Id String True False False

The Id of the customer communication address that is assigned by the data service. The customer uses this address to contact the company, and this Id is also used to modify the address.

CustomerCommunicationAddr_Line1 String True False False

The first line of the customer communication address.

CustomerCommunicationAddr_Line2 String True False False

The second line of the customer communication address.

CustomerCommunicationAddr_Line3 String True False False

The third line of the customer communication address.

CustomerCommunicationAddr_Line4 String True False False

The fourth line of the customer communication address.

CustomerCommunicationAddr_Line5 String True False False

The fifth line of the customer communication address.

CustomerCommunicationAddr_City String True False False

The city name in the customer communication address.

CustomerCommunicationAddr_Country String True False False

The country name in the customer communication address.

CustomerCommunicationAddr_CountrySubDivisionCode String True False False

The country region in the customer communication address. This is the state name for the USA or the province name for Canada.

CustomerCommunicationAddr_PostalCode String True False False

The postal code in the customer communication address. This is the ZIP code for the USA and Canada.

CustomerCommunicationAddr_Note String True False False

An optional note that is associated with the customer communication address. This note can provide instructions or clarifications for customers when contacting the company.

LegalAddr_Id String True False False

The unique Id of the company's legal address record. This address is used in official government and tax communications. The Id is system-assigned by the data service and is primarily used for updates.

LegalAddr_Line1 String True False False

The first line of the company's legal address, typically containing the street address or P.O. Box.

LegalAddr_Line2 String True False False

The second line of the company's legal address, often used for suite numbers, building names, or additional address details.

LegalAddr_Line3 String True False False

The third line of the company's legal address, available if additional information is required.

LegalAddr_Line4 String True False False

The fourth line of the company's legal address.

LegalAddr_Line5 String True False False

The fifth line of the company's legal address.

LegalAddr_City String True False False

The city portion of the company's legal address.

LegalAddr_Country String True False False

The country portion of the company's legal address.

LegalAddr_CountrySubDivisionCode String True False False

The regional subdivision of the country for the company's legal address. For example, this value is the state name for the USA and the province name for Canada.

LegalAddr_PostalCode String True False False

The postal code that is associated with the company's legal address. For example, this value is the ZIP code for the USA and the postal code for Canada.

LegalAddr_Note String True False False

An optional note that is associated with the company's legal address. This note can provide additional context or internal comments about the address.

Email_Address String True False False

The default email address that is associated with the company record in QuickBooks Online. This address is the one most often used for customer communications.

PrimaryPhone_FreeFormNumber String True False False

The company's primary phone number in free-form entry format. This phone number is the default number that is displayed to customers and vendors.

EmployerId String True False False

The employer identification number (EIN) that uniquely identifies the company for tax reporting purposes. In the USA, the EIN is issued by the Internal Revenue Service (IRS).

Country String True False False

The country that is associated with the company file. This field drives region-specific financial calculations, compliance requirements, and localized QuickBooks features.

SupportedLanguages String True False False

A comma-separated list of languages that are supported by the company file. For readability, each value is separated by a comma and a space (for example, English, French, Spanish).

WebAddr_URI String True False False

The default company website address (URL) that is stored in the company profile.

CompanyStartDate Date True False False

The official start date of the company file in QuickBooks Online. This value is the same as the MetaData_CreateTime field and marks when the company record was first created.

FiscalYearStartMonth String True False False

The month that marks the beginning of the company's fiscal year for accounting and reporting purposes. For example, a company migh have a fiscal year starting in January or July.

NameValue String True False False

A set of key-value pairs that store additional company attributes or configuration settings. Each entry consists of a name and its corresponding value.

CData Python Connector for QuickBooks Online

CreditMemoLineItems

Captures line-level details of customer credit memos, including products or services credited, amounts, and tax information for accurate revenue adjustments.

Table Specific Information

CreditMemos may be inserted, updated, or queried via the CreditMemos or CreditMemoLineItems tables. CreditMemos may be deleted by using the CreditMemos table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a CreditMemo, specify a Customer and at least one Line Item. The following shows an example of inserting multiple CreditMemos, each with a single line. To insert a CreditMemo with multiple lines, see the example on the CreditMemos table.

 INSERT INTO CreditMemoLineItems#TEMP (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', 'SalesItemLineDetail', '2', 0.01)
INSERT INTO CreditMemoLineItems#TEMP (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', 'SalesItemLineDetail', '3', 0.02) 
 INSERT INTO CreditMemoLineItems (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) SELECT CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount FROM CreditMemoLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

Specifies the unique identifier (Id) of the credit-memo line item.

CreditMemoId [KEY] String False

CreditMemos.Id

True False

Specifies the unique Id of the credit memo to which the line item belongs.

SyncToken String True False False

Specifies the version number that is used to lock the credit-memo line item object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the credit-memo line item record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the credit-memo line item record was last updated in the source domain.

CustomFieldAggregate String False False False

Specifies an XML aggregate of custom fields that are associated with the credit-memo line item.

DocNumber String False True True

Specifies the reference number for the credit-memo transaction.

TxnDate Date False True True

Specifies the date when the credit-memo transaction occurred.

PrivateNote String False False False

Specifies a private note about the credit-memo transaction. By default, this field does not appear on transaction records.

Line_Id String False False False

Specifies the unique Id of the line item within the credit memo.

Line_Description String False False False

Specifies the description of the line item that appears in the printed record.

Line_Amount Decimal False False False

Specifies the total amount of the charges or discounts for the line item, excluding tax amounts.

Line_DetailType String False False False

Specifies the detail type of the line item. Different detail types indicate different types of line items.

Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

Specifies the unique Id of the item referenced by the line. When a line item lacks an ItemRef it is treated as documentation and the Line_Amount attribute is ignored.

Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

Specifies the name of the item referenced by the line. When a line item lacks an item reference, it is treated as documentation and the Line_Amount attribute is ignored.

Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

Specifies the unique Id of the class entity that is assigned to the line item.

Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class entity that is assigned to the line item.

Line_SalesItemLineDetail_UnitPrice Decimal False False False

Specifies the unit price of the item on the line.

Line_SalesItemLineDetail_Qty Double False False False

Specifies the quantity of items in the line item.

Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code that is applied to this line item.

Line_SalesItemLineDetail_ServiceDate Date False False False

Specifies the date when the service for the line item was performed.

Line_GroupLineDetail_GroupItemRef String True False False

Specifies the unique Id of the group item object that is referenced by the line.

Line_GroupLineDetail_GroupItemRef_Name String True False False

Specifies the name of the group item object that is referenced by the line.

Line_GroupLineDetail_Quantity Integer True False False

Specifies the quantity of the group item on the line.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the credit-memo transaction.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the credit-memo transaction, excluding any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that are associated with the credit-memo transaction.

CustomerRef String False

Customers.Id

True False

Specifies the unique Id of the customer that is associated with the credit-memo transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer that is associated with the credit-memo transaction.

CustomerMemo String False False False

Specifies the message to the customer that is visible on the credit-memo transaction.

BillAddr_Id String False False False

Specifies the unique Id of the entity for the billing address, mainly used for modifying the address.

BillAddr_Line1 String False False False

Specifies the first line of the billing address.

BillAddr_Line2 String False False False

Specifies the second line of the billing address.

BillAddr_Line3 String False False False

Specifies the third line of the billing address.

BillAddr_Line4 String False False False

Specifies the fourth line of the billing address.

BillAddr_Line5 String False False False

Specifies the fifth line of the billing address.

BillAddr_City String False False False

Specifies the city name in the billing address.

BillAddr_Country String False False False

Specifies the country name in the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within the country. This field represents the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code in the billing address. This field represents the ZIP code for the USA and Canada.

BillAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded billing address.

BillAddr_Long String False False False

Specifies the longitude coordinate of the geocoded billing address.

ShipAddr_Line1 String False False False

Specifies the first line of the shipping address.

ShipAddr_Line2 String False False False

Specifies the second line of the shipping address.

ShipAddr_Line3 String False False False

Specifies the third line of the shipping address.

ShipAddr_Line4 String False False False

Specifies the fourth line of the shipping address.

ShipAddr_Line5 String False False False

Specifies the fifth line of the shipping address.

ShipAddr_City String False False False

Specifies the city name in the shipping address.

ShipAddr_Country String False False False

Specifies the country name in the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within the country in the shipping address.

ShipAddr_PostalCode String False False False

Specifies the postal code in the shipping address.

ShipAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded shipping address.

ShipAddr_Long String False False False

Specifies the longitude coordinate of the geocoded shipping address.

ClassRef String False

Class.Id

True False

Specifies the unique Id of the class assigned to the credit-memo transaction.

ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class assigned to the credit-memo transaction.

SalesTermRef String False

Terms.Id

True False

Specifies the unique Id of the sales term associated with the credit-memo transaction.

SalesTermRef_Name String True

Terms.Name

False False

Specifies the name of the sales term associated with the credit-memo transaction.

TotalAmt Decimal False True True

Specifies the total amount of the credit-memo transaction, including all charges, allowances, and taxes.

PrintStatus String False False False

Specifies the print status of the credit memo.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

Specifies the email status of the credit-memo transaction.

The allowed values are NotSent, NeedToSend, EmailSent.

The default value is NotSet.

RemainingCredit Decimal False False False

Specifies the total credit amount still available to apply towards payment.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department that stores the location of the credit-memo transaction.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that stores the location of the credit-memo transaction.

BillEmail_Address String False False False

Specifies the email address where the credit memo is sent. If the value of EmailStatus is NeedToSend, this field is a required input.

ApplyTaxAfterDiscount Boolean False False False

Specifies whether the discount is applied before or after taxes are calculated.

CurrencyRef String False False False

Specifies the unique Id of the currency used for all amounts of the credit-memo transaction. This field is available only in the UK, AU, and CA editions.

CurrencyRef_Name String True False False

Specifies the name of the currency used for all amounts of the credit-memo transaction. This field is available only in the UK, AU, and CA editions.

ExchangeRate Decimal False False False

Specifies the currency exchange rate that is applied when the credit-memo transaction occurred. This field is valid only if the company file is set up to use the multicurrency feature and is available only in the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method in which tax is applied. This field is valid only in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

Specifies the total amount of the credit-memo transaction in the home currency, including all charges, allowances, and taxes. This field is valid only in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

CreditMemos

Maintains records of customer credit memos that are issued to adjust invoices, apply customer credits, or refund amounts for returned goods or overpayments.

Table Specific Information

CreditMemos may be inserted, queried, or updated via the CreditMemos or CreditMemoLineItems tables. CreditMemos may be deleted by using the CreditMemos table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a CreditMemo, specify a Customer and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which CreditMemos. For example:

INSERT INTO CreditMemos (CustomerRef, LineAggregate) 
VALUES ('4', '
<Line><Amount>0.01</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>2</ItemRef></SalesItemLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>3</ItemRef></SalesItemLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True False False

Specifies the unique identifier (Id) of the credit memo.

SyncToken String True False False

Specifies the version number that is used to lock the credit memo object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the credit-memo record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the credit-memo record was last updated in the source domain.

CustomFieldAggregate String False False False

Specifies an XML aggregate of custom fields that are associated with the credit memo.

DocNumber String False True True

Specifies the reference number for the credit-memo transaction.

TxnDate Date False True True

Specifies the date when the credit-memo transaction occurred.

PrivateNote String False False False

Specifies a private note about the credit-memo transaction.

LineAggregate String False False False

Specifies an XML aggregate of line items on the credit memo.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the credit-memo transaction.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the credit-memo transaction, excluding any tax lines manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that is associated with the credit-memo transaction.

CustomerRef String False

Customers.Id

True False

Specifies the unique Id of the customer that is associated with the credit-memo transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer or job that is associated with the credit-memo transaction.

CustomerMemo String False False False

Specifies the message to the customer that is visible on the credit-memo transaction.

BillAddr_Id String False False False

Specifies the unique Id of the entity for the billing address, mainly used for modifying the address.

BillAddr_Line1 String False False False

Specifies the first line of the billing address.

BillAddr_Line2 String False False False

Specifies the second line of the billing address.

BillAddr_Line3 String False False False

Specifies the third line of the billing address.

BillAddr_Line4 String False False False

Specifies the fourth line of the billing address.

BillAddr_Line5 String False False False

Specifies the fifth line of the billing address.

BillAddr_City String False False False

Specifies the city name in the billing address.

BillAddr_Country String False False False

Specifies the country name in the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within the country. This field represents the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code in the billing address. This field represents the ZIP code for the USA and Canada.

BillAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded billing address.

BillAddr_Long String False False False

Specifies the longitude coordinate of the geocoded billing address.

ShipAddr_Id String False False False

Specifies the unique Id of the entity for the shipping address.

ShipAddr_Line1 String False False False

Specifies the first line of the shipping address.

ShipAddr_Line2 String False False False

Specifies the second line of the shipping address.

ShipAddr_Line3 String False False False

Specifies the third line of the shipping address.

ShipAddr_Line4 String False False False

Specifies the fourth line of the shipping address.

ShipAddr_Line5 String False False False

Specifies the fifth line of the shipping address.

ShipAddr_City String False False False

Specifies the city name in the shipping address.

ShipAddr_Country String False False False

Specifies the country name in the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within the country in the shipping address.

ShipAddr_PostalCode String False False False

Specifies the postal code in the shipping address.

ShipAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded shipping address.

ShipAddr_Long String False False False

Specifies the longitude coordinate of the geocoded shipping address.

ClassRef String False

Class.Id

True False

Specifies the unique Id of the class that is associated with the credit-memo transaction.

ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is associated with the credit-memo transaction.

SalesTermRef String False

Terms.Id

True False

Specifies the unique Id of the sales term that is associated with the credit-memo transaction.

SalesTermRef_Name String True

Terms.Name

False False

Specifies the name of the sales term that is associated with the credit-memo transaction.

TotalAmt Decimal False True True

Specifies the total amount of the credit-memo transaction, including all charges, allowances, and taxes.

PrintStatus String False False False

Specifies the print status of the credit memo.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

Specifies the email status of the credit-memo transaction.

The allowed values are NotSent, NeedToSend, EmailSent.

The default value is NotSet.

RemainingCredit Decimal False False False

Specifies the total credit amount that is still available to be applied towards payment.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the location that is associated with the credit-memo transaction.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the location that is associated with the credit-memo transaction.

BillEmail_Address String False False False

Specifies the email address where the credit memo is sent. If the value of the EmailStatus parameter is NeedToSend, this field is a required input.

ApplyTaxAfterDiscount Boolean False False False

Specifies whether discounts are applied before taxes are calculated.

CurrencyRef String False False False

Specifies the unique Id of the currency that is used in the credit-memo transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency that is used in the credit-memo transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate that is applied when the credit-memo transaction occurred. This field is valid only if the company file is set up to use the multicurrency feature and is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method used to apply tax. This field is valid only in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

Specifies the total amount of the credit-memo transaction expressed in the home currency, including all charges, allowances, and taxes. This field is valid only in the UK, AU, and CA editions.

TransactionLocationType String False False False

Specifies the account location for the credit-memo transaction. This field is valid only in the FR edition.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

InvoiceRef String False

Invoices.Id

False False

Specifies the unique Id of the invoice that is associated with the credit-memo transaction.

InvoiceRef_Name String True

Invoices.Name

False False

Specifies the name of the invoice that is associated with the credit-memo transaction.

ProjectRef String False True False

Specifies the unique Id of the project that is associated with the credit-memo transaction.

PaymentMethodRef String True

PaymentMethods.Id

False False

Specifies the unique Id of the payment method that is associated with the credit-memo transaction.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

Specifies the name of the payment method that is associated with the credit-memo transaction.

HomeBalance Decimal True False False

Specifies the amount of the credit memo balance that is expressed in the home currency.

RecurDataRef String True False False

Specifies the unique Id of the recurring transaction template from which the credit memo was created.

TaxExemptionRef String True False False

Specifies the tax exemption Id for the customer that is associated with the credit-memo transaction. This identifier is typically issued by the state.

Balance Decimal True True False

Specifies the balance reflecting any payments made against the credit-memo transaction. This field is initially set to the total amount.

CData Python Connector for QuickBooks Online

Customers

Contains all customer profiles in QuickBooks Online, enabling you to create, update, delete, and retrieve customer contact information, billing preferences, and tax settings.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Delete

Hard deletes are not supported for this table. A soft delete can be executed by setting the customer as active or inactive.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the customer.

SyncToken String True False False

Specifies the version number that is used to lock the customer object for use by one application at a time. When an application modifies an object, its SyncToken is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the customer record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the customer record was last updated in the source domain.

Title String False False False

Specifies the title of the customer. This field supports all international locales. At least one of the following name elements is required: Title, GivenName, MiddleName, or FamilyName.

GivenName String False True True

Specifies the given name or first name of the customer. At least one of the following elements is required: Title, GivenName, MiddleName, or FamilyName.

MiddleName String False True True

Specifies the middle name of the customer. A customer can have zero or more middle names. At least one of the elements is required: Title, GivenName, MiddleName, or FamilyName.

FamilyName String False True True

Specifies the family name or last name of the customer. At least one of the following name elements is required: Title, GivenName, MiddleName, or FamilyName.

Suffix String False False False

Specifies the suffix of the customer's name.

FullyQualifiedName String True True True

Specifies the fully qualified name of the customer. The fully qualified name consists of the topmost parent element followed by each subelement separated by colons. For example: Parent:Account1:SubAccount1:SubAccount2.

CompanyName String False True True

Specifies the name of the company associated with the customer.

DisplayName String False True True

Specifies the name of the customer to be displayed. This value must be unique.

PrintOnCheckName String False True True

Specifies the name of the customer as printed on a check. If this field is not provided, it is populated from the DisplayName attribute.

Active Boolean False True False

Indicates whether the customer is currently enabled for use by QuickBooks Online.

IsProject Boolean True False False

Indicates whether the customer record is a project.

PrimaryPhone_FreeFormNumber String False False False

Specifies the primary phone number of the customer.

AlternatePhone_FreeFormNumber String False False False

Specifies the alternate phone number of the customer.

Mobile_FreeFormNumber String False False False

Specifies the mobile phone number of the customer.

Fax_FreeFormNumber String False False False

Specifies the fax number of the customer.

PrimaryEmailAddr_Address String False False False

Specifies the primary email address of the customer.

WebAddr_URI String False False False

Specifies the website address of the customer.

DefaultTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code that is assigned to the customer.

Taxable Boolean False False False

Indicates whether the customer is taxable.

CustomerTypeRef String False

CustomerTypes.Id

False False

Specifies the unique Id of the customer type.

BillAddr_Id String True False False

Specifies the unique Id of the entity for the billing address, mainly used for modifying the address.

BillAddr_Line1 String False False False

Specifies the first line of the billing address.

BillAddr_Line2 String False False False

Specifies the second line of the billing address.

BillAddr_Line3 String False False False

Specifies the third line of the billing address.

BillAddr_Line4 String False False False

Specifies the fourth line of the billing address.

BillAddr_Line5 String False False False

Specifies the fifth line of the billing address.

BillAddr_City String False False False

Specifies the city name in the billing address.

BillAddr_Country String False False False

Specifies the country name in the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within the country in the billing address. This field represents the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code in the billing address. This field represents the ZIP code for the USA and Canada.

BillAddr_Lat String True False False

Specifies the latitude coordinate of the geocoded billing address.

BillAddr_Long String True False False

Specifies the longitude coordinate of the geocoded billing address.

ShipAddr_Id String True False False

Specifies the unique Id of the entity for the shipping address, mainly used for modifying the address.

ShipAddr_Line1 String False False False

Specifies the first line of the shipping address.

ShipAddr_Line2 String False False False

Specifies the second line of the shipping address.

ShipAddr_Line3 String False False False

Specifies the third line of the shipping address.

ShipAddr_Line4 String False False False

Specifies the fourth line of the shipping address.

ShipAddr_Line5 String False False False

Specifies the fifth line of the shipping address.

ShipAddr_City String False False False

Specifies the city name in the shipping address.

ShipAddr_Country String False False False

Specifies the country name in the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within the country in the shipping address. This field represents the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code in the shipping address. This field represents the ZIP code for the USA and Canada.

ShipAddr_Lat String True False False

Specifies the latitude coordinate of the geocoded shipping address.

ShipAddr_Long String True False False

Specifies the longitude coordinate of the geocoded shipping address.

Notes String False False False

Specifies any notes about the customer.

Job Boolean False True False

Indicates whether the customer is a job or subcustomer. If this flag is false or null, this record is a top-level customer.

BillWithParent Boolean False False False

Specifies whether the customer is to be billed together with its parent entity. This field is valid only when the customer is a job or subcustomer.

ParentRef String False

Customers.Id

False False

Specifies the unique Id of the immediate parent of the subcustomer or job in the hierarchical 'Customer:Job' list. This field is required for the create operation if the customer is a subcustomer or a job.

ParentRef_Name String True

Customers.DisplayName

False False

Specifies the name of the immediate parent of the subcustomer or job in the hierarchical 'Customer:Job' list.

Level Integer True False False

Specifies the level of the hierarchy where the customer record is located. A value of 0 specifies the top level of the hierarchy. The hierarchy is implicit when the parent is specified in an insert command.

SalesTermRef String False

Terms.Id

False False

Specifies the unique Id of the sales term that is associated with the customer.

SalesTermRef_Name String True

Terms.Name

False False

Specifies the name of the sales term that is associated with the customer.

PaymentMethodRef String False

PaymentMethods.Id

False False

Specifies the unique Id of the payment method that is associated with the customer.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

Specifies the name of the payment method that isassociated with the customer.

Balance Decimal False True True

Specifies the open balance amount or the amount unpaid by the customer. For the create operation, this represents the opening balance for the customer. When this balance is returned in a query response, it represents the current open balance for that customer.

OpenBalanceDate Date False False False

Specifies the date of the open balance. This field is used in the create operation.

BalanceWithJobs Decimal True False False

Specifies the cumulative open-balance amount for the customer and all its subcustomers.

PreferredDeliveryMethod String False False False

Specifies the preferred delivery method for the customer.

The allowed values are Print, Email, None.

ResaleNum String False False False

Specifies the resale number or additional information about the customer.

CurrencyRef String False False False

Specifies the unique Id of the currency used for transactions with the customer.

CurrencyRef_Name String True False False

Specifies the name of the currency that is used for transactions with the customer.

TaxExemptionReasonId Integer False False False

Specifies the tax-exemption-reason Id that is associated with the customer object.

GSTIN String False False False

Specifies the Goods and Services tax identification number (GSTIN) that is assigned to every GST-registered business. This field is applicable only for the India region.

BusinessNumber String False False False

Specifies the Permanent Account Number (PAN) code (in India) that acts as an identification for individuals, families, and corporates, especially for those who pay taxes on their income.

GSTRegistrationType String False False False

Specifies the GST registration type used for filing Goods and Services tax returns (GSTR), classifying the type of customer to whom the sale is done.

The allowed values are GST_REG_REG, GST_REG_COMP, GST_UNREG, CONSUMER, OVERSEAS, SEZ, DEEMED.

CData Python Connector for QuickBooks Online

Departments

Holds department or location records that are used to track income, expenses, and profitability by business unit or physical location.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the department.

SyncToken String True False False

Specifies the version number that is used to lock the department object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the department record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the department record was last updated in the source domain.

Name String False True True

Specifies the name of the department.

SubDepartment Boolean True False False

Indicates whether the department is a subdepartment.

ParentRef String False

Departments.Id

False False

Specifies the unique Id of the parent class entity for the department.

ParentRef_Name String True

Departments.Name

False False

Specifies the name of the parent class entity for the department.

FullyQualifiedName String True False False

Specifies the fully qualified name of the department. The fully qualified name consists of the topmost parent element followed by each subelement separated by colons. For example: Parent:Account1:SubAccount1:SubAccount2.

Active Boolean False False False

Indicates whether the department is active. Inactive records are hidden from most display purposes and financial transactions.

CData Python Connector for QuickBooks Online

DepositLineItems

Contains individual line items of bank deposits, detailing the source payments, amounts, and linked transactions that are consolidated into each deposit.

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

Specifies the unique identifier (Id) of the deposit line item.

DepositId [KEY] String False

Deposits.Id

True False

Specifies the unique Id of the deposit.

SyncToken String True False False

Specifies the version number that is used to lock the deposit line-item object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the deposit line item record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the deposit line item record was last updated in the source domain.

TxnDate Date False True True

Specifies the date entered by the user when the deposit transaction occurred.

PrivateNote String False False False

Specifies a private note that does not appear on the deposit transaction records.

Line_Id String False False False

Specifies the unique Id of the line item within the deposit.

Line_Description String False False False

Specifies the description of the deposit line item.

Line_Amount Decimal False False False

Specifies the amount of the deposit line item.

Line_DetailType String False False False

Specifies the detail type of the deposit line item. Different detail types indicate different types of line items.

Line_DepositLineDetail_PaymentMethodRef String False

PaymentMethods.Id

False False

Specifies the unique Id of the payment method that is used for the deposit line item.

Line_DepositLineDetail_PaymentMethodRef_Name String False

PaymentMethods.Name

False False

Specifies the name of the payment method that is used for the deposit line item.

Line_DepositLineDetail_AccountRef String False

Accounts.Id

False False

Specifies the unique Id of the account where the funds are deposited.

Line_DepositLineDetail_AccountRef_Name String False

Accounts.Name

False False

Specifies the name of the account where the funds are deposited.

Line_DepositLineDetail_Entity String False

Customers.Id

False False

Specifies the unique Id of the customer from which the deposit was received.

Line_DepositLineDetail_Entity_Name String False

Customers.DisplayName

False False

Specifies the name of the customer from which the deposit was received.

Line_DepositLineDetail_ClassRef String False

Class.Id

False False

Specifies the unique Id of the class that is associated with the deposit transaction.

Line_DepositLineDetail_ClassRef_Name String False

Class.FullyQualifiedName

False False

Specifies the name of the class that is associated with the deposit transaction.

Line_DepositLineDetail_CheckNum String False False False

Specifies the check number for the deposit.

Line_DepositLineDetail_TxnType String False False False

Specifies the type of the payment transaction. Different types indicate different types of line items.

Line_DepositLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the sales or purchase tax code that is associated with the deposit line item. This field is valid in the UK, AU, and CA editions.

Line_DepositLineDetail_TaxApplicableOn String False False False

Indicates whether the tax that is applicable on the deposit line item is sales or purchase. This field is valid in the UK, AU, and CA editions.

Line_LinkedTxn_TxnId String True False False

Specifies the unique Id of the linked transaction.

Line_LinkedTxn_TxnType String True False False

Specifies the type of the linked transaction. Different types indicate different types of line items.

Line_LinkedTxn_TxnLineId String True False False

Specifies the unique Id of the linked transaction line item.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the deposit transaction. This field is valid in the UK, AU, and CA editions.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the deposit transaction, excluding any tax lines manually inserted into the transaction line list. This field is valid in the UK, AU, and CA editions.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that are associated with the deposit transaction. This field is valid in the UK, AU, and CA editions.

DepositToAccountRef String False

Accounts.Id

False False

Specifies the unique Id of the asset account that is used for this deposit.

DepositToAccountRef_Name String False

Accounts.Name

False False

Specifies the name of the asset account that is used for this deposit.

TotalAmt Decimal True False False

Specifies the total amount of the deposit transaction, including all charges, allowances, and taxes.

CashBack_AccountRef String True False False

Specifies the unique Id of the asset account (bank account) that is used for this cash back transaction.

CashBack_AccountRef_Name String False False False

Specifies the name of the asset account (bank account) that is used for this cash back transaction.

CashBack_Amount Decimal False False False

Specifies the amount of the cash back transaction.

CashBack_Memo String True False False

Specifies the memo that is associated with this cash back transaction.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department that stores the location of the deposit transaction as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that stores the location of the deposit transaction as defined using location tracking in QuickBooks Online.

CurrencyRef String False False False

Specifies the unique Id of the currency used in the deposit transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the deposit transaction.

GlobalTaxCalculation String False False False

Specifies the method in which tax is applied. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

DocNumber String False True True

Specifies the reference number for the deposit transaction.

CData Python Connector for QuickBooks Online

Deposits

Maintains bank-deposit records that show lump-sum deposits, associated line items, and account allocations for accurate bank reconciliation.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the deposit transaction.

SyncToken String True False False

Specifies the version number that is used to lock the deposit transaction object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the deposit transaction record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the deposit transaction record was last updated in the source domain.

TxnDate Date False True True

Specifies the date entered by the user when the deposit transaction occurred.

PrivateNote String False False False

Specifies a private note that does not appear on the deposit transaction records.

LineAggregate String False False False

Specifies an XML aggregate of line items that are associated with the deposit transaction.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the deposit transaction. This field is valid in the UK, AU, and CA editions.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the deposit transaction, excluding any tax lines manually inserted into the transaction line list. This field is valid in the UK, AU, and CA editions.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that are associated with the deposit transaction. This field is valid in the UK, AU, and CA editions.

DepositToAccountRef String False

Accounts.Id

False False

Specifies the unique Id of the asset account that is used for this deposit.

DepositToAccountRef_Name String False

Accounts.Name

False False

Specifies the name of the asset account that is used for this deposit.

TotalAmt Decimal True False False

Specifies the total amount of the deposit transaction, including all charges, allowances, and taxes.

CashBack_AccountRef String True

Accounts.Id

False False

Specifies the unique Id of the asset account (bank account) that is used for this cash-back transaction.

CashBack_AccountRef_Name String False

Accounts.Name

False False

Specifies the name of the asset account (bank account) that is used for this cash-back transaction.

CashBack_Amount Decimal False False False

Specifies the amount of the cash-back transaction.

CashBack_Memo String True False False

Specifies the memo that is associated with this cash-back transaction.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department that stores the location of the deposit transaction as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that stores the location of the deposit transaction as defined using location tracking in QuickBooks Online.

ExchangeRate Decimal False False False

Specifies the number of home currency units it takes to equal one unit of the currency specified by the CurrencyRef attribute. This field is applicable if multicurrency is enabled for the company.

CurrencyRef String False False False

Specifies the unique Id of the currency used in the deposit transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the deposit transaction.

GlobalTaxCalculation String False False False

Specifies the method in which tax is applied. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

TransactionLocationType String False False False

Specifies the account location for the deposit transaction. This field is valid only in the FR edition.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

TxnSource String False False False

Specifies the originating source of a credit card transaction. This field is used internally.

RecurDataRef String True False False

Specifies the unique Id of the reference to the recurring transaction template from which the deposit was created.

HomeTotalAmt Decimal True False False

Specifies the total amount of the deposit transaction in the home currency, including all charges, allowances, and taxes.

DocNumber String False True True

Specifies the reference number for the deposit transaction.

CData Python Connector for QuickBooks Online

Employees

Stores employee records for payroll and HR functions, including contact details, hire dates, and status that are used in time tracking and expense reporting.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the employee.

SyncToken String True False False

Specifies the version number that is used to lock the employee object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the employee record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the employee record was last updated in the source domain.

Organization Boolean False False False

Indicates whether the entity represents an organization or a person.

Title String False False False

Specifies the title of the employee. The employee can have zero or more titles. This field supports all international locales.

EmployeeNumber String False False False

Specifies the employee number in the employer's directory.

GivenName String False True True

Specifies the given name or first name of the employee.

MiddleName String False True True

Specifies the middle name of the employee. The employee can have zero or more middle names.

FamilyName String False True True

Specifies the family name or last name of the employee.

Suffix String False False False

Specifies the suffix of the employee's name.

DisplayName String False True False

Specifies the name of the person or organization as displayed. This field is required.

PrintOnCheckName String False False False

Specifies the name of the employee as it should appear on a check.

Active Boolean False True False

Indicates whether the employee entity is currently enabled for use.

Mobile_FreeFormNumber String False False False

Specifies the mobile phone number of the employee.

PrimaryEmailAddr_Address String False False False

Specifies the primary email address of the employee.

PrimaryAddr_Id String False False False

Specifies the unique Id of the entity for the primary address, mainly used for modifying the address.

PrimaryAddr_Line1 String False False False

Specifies the first line of the primary address.

PrimaryAddr_Line2 String False False False

Specifies the second line of the primary address.

PrimaryAddr_Line3 String False False False

Specifies the third line of the primary address.

PrimaryAddr_Line4 String False False False

Specifies the fourth line of the primary address.

PrimaryAddr_Line5 String False False False

Specifies the fifth line of the primary address.

PrimaryAddr_City String False False False

Specifies the city name of the primary address.

PrimaryAddr_Country String False False False

Specifies the country name of the primary address.

PrimaryAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the primary address. This field represents the state name for the USA or the province name for Canada.

PrimaryAddr_PostalCode String False False False

Specifies the postal code of the primary address. This field represents the ZIP code for the USA and the postal code for Canada.

PrimaryAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded primary address.

PrimaryAddr_Long String False False False

Specifies the longitude coordinate of the geocoded primary address.

SSN String False False False

Specifies the Social Security Number (SSN) of the employee. When returned in a response, the SSN is masked with XXX-XX-XXXX. If XXX-XX-XXXX is sent in a create or update request, it is ignored and the old value is preserved.

BillableTime Boolean False False False

Indicates whether the employee is eligible for billable time.

BillRate Double False False False

Specifies the employee's billing rate. This field is available only when the BillableTime attribute is true and is not required, even when BillableTime is true.

HiredDate Date False False False

Specifies the hire date of the employee.

ReleasedDate Date False False False

Specifies the release date of the employee.

BirthDate Date False False False

Specifies the birth date of the employee.

Gender String False False False

Specifies the gender of the employee. To clear the gender value, set this field to Null in a full update request.

The allowed values are Male, Female.

CostRate Decimal False False False

Specifies the pay rate of the employee.

PrimaryPhoneFreeFormNumber String False False False

Specifies the primary telephone number of the employee in free form.

V4IDPseudonym String True False False

Specifies the internal employee reference number. This field is for internal use only.

CData Python Connector for QuickBooks Online

EstimateLineItems

Contains line-item details for customer estimates or quotes, including products, services, quantities, prices, and tax information for potential sales.

Table Specific Information

Estimates may be inserted, queried, or updated via the Estimates or EstimateLineItems tables. Estimates may be deleted by using the Estimates table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add an Estimate, specify a Customer and at least one Line Item. The following shows an example of inserting multiple Estimates, each with a single line. To insert an Estimate with multiple lines, see the example on the Estimates table.

INSERT INTO EstimateLineItems#TEMP (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', 'SalesItemLineDetail', '2', 0.01)
INSERT INTO EstimateLineItems#TEMP (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', 'SalesItemLineDetail', '3', 0.02) 
 INSERT INTO EstimateLineItems (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) SELECT CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount FROM EstimateLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

Specifies the unique identifier (Id) of the line item in the estimate.

EstimateId [KEY] String False

Estimates.Id

True False

Specifies the unique Id of the estimate.

SyncToken String True False False

Specifies the version number that is used to lock the estimate line-item object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the estimate line-item record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the estimate line-item record was last updated in the source domain.

CustomFieldAggregate String False False False

Specifies an XML aggregate of custom field information for the estimate line item.

DocNumber String False True True

Specifies the reference number for the estimate transaction.

TxnDate Date False True True

Specifies the date entered by the user when the estimate transaction occurred.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department that stores the location of the estimate transaction as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that stores the location of the estimate transaction as defined using location tracking in QuickBooks Online.

PrivateNote String False False False

Specifies a private note that does not appear on the estimate transaction records.

TxnStatus String False False False

Specifies the status of the estimate transaction.

The allowed values are Accepted, Closed, Pending, Rejected.

LinkedTxnAggregate String False False False

Specifies an XML aggregate of transactions that are linked to the estimate.

Line_Id String False False False

Specifies the unique Id of the individual line item in the estimate.

Line_LineNum String False False False

Specifies the line number of the individual line item in the estimate.

Line_Description String False False False

Specifies the description of the individual line item in the estimate.

Line_Amount Decimal False False False

Specifies the amount of the individual line item in the estimate.

Line_DetailType String False False False

Specifies the detail type of the individual line item. Different detail types indicate different types of line items.

Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

Specifies the unique Id of the item that is used in the estimate line item.

Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

Specifies the name of the item that is used in the estimate line item.

Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

Specifies the unique Id of the class that is used in the estimate line item.

Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is used in the estimate line item.

Line_SalesItemLineDetail_UnitPrice Decimal False False False

Specifies the unit price of the item that is used in the estimate line item.

Line_SalesItemLineDetail_Qty Double False False False

Specifies the number of items for the estimate line item.

Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the item that is used in the estimate line item.

Line_SalesItemLineDetail_ServiceDate Date False False False

Specifies the service date for the item that is used in the estimate line item.

Line_SalesItemLineDetail_DiscountAmt Decimal False False False

Specifies the discount amount that is applied to the estimate line item.

Line_SalesItemLineDetail_DiscountRate Decimal False False False

Specifies the discount rate that is applied to the estimate line item.

Line_GroupLineDetail_GroupItemRef String True False False

Specifies the unique Id of the group item object that is used in the estimate line item.

Line_GroupLineDetail_GroupItemRef_Name String True False False

Specifies the name of the group item object that is used in the estimate line item.

Line_GroupLineDetail_Quantity Integer True False False

Specifies the quantity of the group item in the estimate line item.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the estimate transaction.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the estimate transaction, excluding any tax lines manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that are associated with the estimate transaction.

CustomerRef String False

Customers.Id

True False

Specifies the unique Id of the customer for the estimate transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer for the estimate transaction.

CustomerMemo String False False False

Specifies the message to the customer that appears in the invoice and the printed invoice for the estimate transaction.

BillAddr_Id String False False False

Specifies the unique Id of the entity for the billing address, mainly used for modifying the address.

BillAddr_Line1 String False False False

Specifies the first line of the billing address.

BillAddr_Line2 String False False False

Specifies the second line of the billing address.

BillAddr_Line3 String False False False

Specifies the third line of the billing address.

BillAddr_Line4 String False False False

Specifies the fourth line of the billing address.

BillAddr_Line5 String False False False

Specifies the fifth line of the billing address.

BillAddr_City String False False False

Specifies the city name of the billing address.

BillAddr_Country String False False False

Specifies the country name of the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the billing address. This field represents the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code of the billing address. This field represents the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded billing address.

BillAddr_Long String False False False

Specifies the longitude coordinate of the geocoded billing address.

ShipAddr_Id String False False False

Specifies the unique Id of the entity for the shipping address, mainly used for modifying the address.

ShipAddr_Line1 String False False False

Specifies the first line of the shipping address.

ShipAddr_Line2 String False False False

Specifies the second line of the shipping address.

ShipAddr_Line3 String False False False

Specifies the third line of the shipping address.

ShipAddr_Line4 String False False False

Specifies the fourth line of the shipping address.

ShipAddr_Line5 String False False False

Specifies the fifth line of the shipping address.

ShipAddr_City String False False False

Specifies the city name of the shipping address.

ShipAddr_Country String False False False

Specifies the country name of the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the shipping address. This field represents the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code of the shipping address. This field represents the ZIP code for the USA and the postal code for Canada.

ShipAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded shipping address.

ShipAddr_Long String False False False

Specifies the longitude coordinate of the geocoded shipping address.

ClassRef String False

Class.Id

True False

Specifies the unique Id of the class that is associated with the estimate transaction.

ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is associated with the estimate transaction.

SalesTermRef String False

Terms.Id

False False

Specifies the unique Id of the sales term that is associated with the estimate transaction.

SalesTermRef_Name String True

Terms.Name

False False

Specifies the name of the sales term that is associated with the estimate transaction.

DueDate Date False True False

Specifies the due date for the estimate transaction, not including any early payment discount incentives or late payment penalties. If the date is not supplied, the current date on the server is used.

ShipMethodRef String False False False

Specifies the unique Id of the shipping method that is associated with the estimate transaction.

ShipMethodRef_Name String True False False

Specifies the name of the shipping method that is associated with the estimate transaction.

ShipDate Date False False False

Specifies the date for the delivery of goods or services related to the estimate transaction.

TrackingNum String False False False

Specifies the tracking number from the shipping provider for the delivery of goods associated with the estimate transaction.

TotalAmt Decimal True True True

Specifies the total amount of the estimate transaction, including all charges, allowances, and taxes.

PrintStatus String False False False

Specifies the print status of the estimate transaction.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

Specifies the email status of the estimate transaction.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

Specifies the email address where the estimate transaction is sent. If the value of EmailStatus is NeedToSend, this field is required.

ExpirationDate Date False False False

Specifies the date when the estimate becomes invalid.

AcceptedBy String False False False

Specifies the name of the customer who accepted the estimate.

AcceptedDate Date False False False

Specifies the date when the estimate was accepted.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether any discounts are applied before taxes are calculated for the estimate transaction.

CurrencyRef String False False False

Specifies the unique Id of the currency used in the estimate transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the estimate transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method that is used to apply taxes. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

Specifies the total amount of the estimate transaction expressed in the home currency. This total includes all charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

EstimateLinkedTransactions

Tracks how customer estimates link to other transactions such as invoices or sales orders, helping follow a deal from quote to billing.

Columns

Name Type ReadOnly References Filterable Sortable Description
LinkedTxnId [KEY] String True False False

Specifies the unique identifier (Id) of the linked transaction associated with the estimate.

EstimateId [KEY] String False

Estimates.Id

True False

Specifies the unique Id of the estimate that is linked to the transaction.

SyncToken String True False False

Specifies the version number that is used to lock the linked transaction object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the linked transaction record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the linked transaction record was last updated in the source domain.

CustomFieldAggregate String False False False

Specifies an XML aggregate of custom field information for the linked transaction.

DocNumber String False True True

Specifies the reference number for the linked transaction.

TxnDate Date False True True

Specifies the date entered by the user when the linked transaction occurred.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department that stores the location of the linked transaction as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that stores the location of the linked transaction as defined using location tracking in QuickBooks Online.

PrivateNote String False False False

Specifies a private note that does not appear on the linked transaction records.

TxnStatus String False False False

Specifies the status of the linked transaction.

The allowed values are Accepted, Closed, Pending, Rejected.

LinkedTxn_TxnId String False False False

Specifies the unique Id of the individual linked transaction.

LinkedTxn_TxnType String False False False

Specifies the type of the individual linked transaction.

LinkedTxn_TxnLineId String False False False

Specifies the unique Id of the line item within the linked transaction.

LineAggregate String False False False

Specifies an XML aggregate of line items associated with the linked transaction.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the linked transaction.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the linked transaction, excluding any tax lines manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that are associated with the linked transaction.

CustomerRef String False

Customers.Id

True False

Specifies the unique Id of the customer associated with the linked transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer associated with the linked transaction.

CustomerMemo String False False False

Specifies the message to the customer that appears in the invoice and the printed invoice.

BillAddr_Id String False False False

Specifies the unique Id of the entity for the billing address, mainly used for modifying the address.

BillAddr_Line1 String False False False

Specifies the first line of the billing address.

BillAddr_Line2 String False False False

Specifies the second line of the billing address.

BillAddr_Line3 String False False False

Specifies the third line of the billing address.

BillAddr_Line4 String False False False

Specifies the fourth line of the billing address.

BillAddr_Line5 String False False False

Specifies the fifth line of the billing address.

BillAddr_City String False False False

Specifies the city name of the billing address.

BillAddr_Country String False False False

Specifies the country name of the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the billing address. This field represents the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code of the billing address. This field represents the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded billing address.

BillAddr_Long String False False False

Specifies the longitude coordinate of the geocoded billing address.

ShipAddr_Id String False False False

Specifies the unique Id of the entity for the shipping address, mainly used for modifying the address.

ShipAddr_Line1 String False False False

Specifies the first line of the shipping address.

ShipAddr_Line2 String False False False

Specifies the second line of the shipping address.

ShipAddr_Line3 String False False False

Specifies the third line of the shipping address.

ShipAddr_Line4 String False False False

Specifies the fourth line of the shipping address.

ShipAddr_Line5 String False False False

Specifies the fifth line of the shipping address.

ShipAddr_City String False False False

Specifies the city name of the shipping address.

ShipAddr_Country String False False False

Specifies the country name of the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the shipping address. This field represents the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code of the shipping address. This field represents the ZIP code for the USA and the postal code for Canada.

ShipAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded shipping address.

ShipAddr_Long String False False False

Specifies the longitude coordinate of the geocoded shipping address.

ClassRef String False

Class.Id

True False

Specifies the unique Id of the class that is associated with the linked transaction.

ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is associated with the linked transaction.

SalesTermRef String False

Terms.Id

False False

Specifies the unique Id of the sales term that is associated with the linked transaction.

SalesTermRef_Name String True

Terms.Name

False False

Specifies the name of the sales term that is associated with the linked transaction.

DueDate Date False True False

Specifies the due date for the linked transaction, not including any early payment discount incentives or late payment penalties. If the date is not supplied, the current date on the server is used.

ShipMethodRef String False False False

Specifies the unique Id of the shipping method that is associated with the linked transaction.

ShipMethodRef_Name String True False False

Specifies the name of the shipping method that is associated with the linked transaction.

ShipDate Date False False False

Specifies the date for delivery of goods or services related to the linked transaction.

TrackingNum String False False False

Specifies the tracking number from the shipping provider for the delivery of goods associated with the linked transaction.

TotalAmt Decimal True True True

Specifies the total amount of the linked transaction, including all charges, allowances, and taxes.

PrintStatus String False False False

Specifies the print status of the linked transaction.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

Specifies the email status of the linked transaction.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

Specifies the email address where the linked transaction is sent. If the value of EmailStatus is NeedToSend, this field is required.

ExpirationDate Date False False False

Specifies the date when the estimate becomes invalid.

AcceptedBy String False False False

Specifies the name of the customer who accepted the estimate.

AcceptedDate Date False False False

Specifies the date when the estimate was accepted.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether any discounts are applied before taxes are calculated for the linked transaction.

CurrencyRef String False False False

Specifies the unique Id of the currency used in the linked transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the linked transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method that is used to apply taxes. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

Specifies the total amount of the linked transaction expressed in the home currency. This total includes all charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

Estimates

Stores header-level information of customer estimates or quotes, such as customer details, dates, and total amounts, supporting the sales pipeline.

Table Specific Information

Estimates may be inserted, queried, or updated via the Estimates or EstimateLineItems tables. Estimates may be deleted by using the Estimates table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add an Estimate, specify a Customer and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which Estimates. For example:

INSERT INTO Estimates (CustomerRef, LineAggregate) 
VALUES ('4', '
<Line><Amount>0.01</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>2</ItemRef></SalesItemLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>3</ItemRef></SalesItemLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the estimate transaction.

SyncToken String True False False

Specifies the version number that is used to lock the estimate transaction object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the estimate record was created in the source domain.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the estimate record was last updated in the source domain.

CustomFieldAggregate String False False False

Specifies an XML aggregate of custom field information for the estimate transaction.

DocNumber String False True True

Specifies the reference number for the estimate transaction.

TxnDate Date False True True

Specifies the date when the estimate transaction occurred.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department that stores the location of the estimate transaction as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that stores the location of the estimate transaction as defined using location tracking in QuickBooks Online.

PrivateNote String False False False

Specifies a private note that does not appear on the estimate transaction records.

TxnStatus String False False False

Specifies the status of the estimate transaction.

The allowed values are Accepted, Closed, Pending, Rejected.

LinkedTxnAggregate String False False False

Specifies an XML aggregate of transactions linked to the estimate transaction.

LineAggregate String False False False

Specifies an XML aggregate of line items associated with the estimate transaction.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the estimate transaction.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the estimate transaction, excluding any tax lines manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that are associated with the estimate transaction.

CustomerRef String False

Customers.Id

True False

Specifies the unique Id of the customer associated with the estimate transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer associated with the estimate transaction.

CustomerMemo String False False False

Specifies the message to the customer that appears in the invoice and in the printed invoice for the estimate transaction.

BillAddr_Id String False False False

Specifies the unique Id of the entity for the billing address, mainly used for modifying the address.

BillAddr_Line1 String False False False

Specifies the first line of the billing address.

BillAddr_Line2 String False False False

Specifies the second line of the billing address.

BillAddr_Line3 String False False False

Specifies the third line of the billing address.

BillAddr_Line4 String False False False

Specifies the fourth line of the billing address.

BillAddr_Line5 String False False False

Specifies the fifth line of the billing address.

BillAddr_City String False False False

Specifies the city name of the billing address.

BillAddr_Country String False False False

Specifies the country name of the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the billing address. This field represents the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code of the billing address. This field represents the ZIP code for the USA and the postal code Canada.

BillAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded billing address.

BillAddr_Long String False False False

Specifies the longitude coordinate of the geocoded billing address.

ShipAddr_Id String False False False

Specifies the unique Id of the entity for the shipping address, mainly used for modifying the address.

ShipAddr_Line1 String False False False

Specifies the first line of the shipping address.

ShipAddr_Line2 String False False False

Specifies the second line of the shipping address.

ShipAddr_Line3 String False False False

Specifies the third line of the shipping address.

ShipAddr_Line4 String False False False

Specifies the fourth line of the shipping address.

ShipAddr_Line5 String False False False

Specifies the fifth line of the shipping address.

ShipAddr_City String False False False

Specifies the city name of the shipping address.

ShipAddr_Country String False False False

Specifies the country name of the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the shipping address. This field represents the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code of the shipping address. This field represents the ZIP code for the USA and the postal code for Canada.

ShipAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded shipping address.

ShipAddr_Long String False False False

Specifies the longitude coordinate of the geocoded shipping address.

ClassRef String False

Class.Id

True False

Specifies the unique Id of the class that is associated with the estimate transaction.

ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is associated with the estimate transaction.

SalesTermRef String False

Terms.Id

False False

Specifies the unique Id of the sales term that is associated with the estimate transaction.

SalesTermRef_Name String True

Terms.Name

False False

Specifies the name of the sales term that is associated with the estimate transaction.

DueDate Date False True False

Specifies the due date for the estimate transaction, not including any early payment discount incentives or late payment penalties. If the date is not supplied, the current date on the server is used.

ShipMethodRef String False False False

Specifies the unique Id of the shipping method that is associated with the estimate transaction.

ShipMethodRef_Name String True False False

Specifies the name of the shipping method that is associated with the estimate transaction.

ShipDate Date False False False

Specifies the date for delivery of goods or services related to the estimate transaction.

TrackingNum String False False False

Specifies the tracking number from the shipping provider for the delivery of goods associated with the estimate transaction.

TotalAmt Decimal True True True

Specifies the total amount of the estimate transaction. This total includes all charges, allowances, and taxes.

PrintStatus String False False False

Specifies the print status of the estimate transaction.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

Specifies the email status of the estimate transaction.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

Specifies the email address where the estimate transaction is sent. If the value of EmailStatus is NeedToSend, this field is required.

ExpirationDate Date False False False

Specifies the date when the estimate becomes invalid.

AcceptedBy String False False False

Specifies the name of the customer who accepted the estimate.

AcceptedDate Date False False False

Specifies the date when the estimate was accepted.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether discounts are applied before the tax is calculated for the estimate transaction.

CurrencyRef String False False False

Specifies the unique Id of the currency used in the estimate transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the estimate transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method that is used to apply taxes. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

Specifies the total amount of the estimate transaction expressed in the home currency. This total includes all charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

TransactionLocationType String False False False

Specifies the account location. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

ProjectRef String False True False

Specifies the unique Id of the project that is associated with the estimate transaction.

RecurDataRef String True False False

Specifies the unique Id of the recurring transaction template from which the estimate transaction was created.

TaxExemptionRef String True False False

Specifies the tax exemption Id for the customer to which this estimate transaction is associated. This Id is typically issued by the state.

FreeFormAddress Boolean False False False

Indicates whether the ShipAddr is stored as a formatted or unformatted (free form) address. This value is system-defined based on the format of the shipping address at the time the object is created.

CData Python Connector for QuickBooks Online

ExchangeRates

Provides daily or periodic exchange rate data used by QuickBooks Online to convert multicurrency transactions into the home currency for reporting and compliance.

View Specific Information

Select

By default this view will only list rates about today's exchange rates. You can change the date by specifying a valid date for the column AsOfDate.

SELECT * FROM ExchangeRates WHERE AsOfDate = '2018/01/01'

SELECT * FROM ExchangeRates WHERE SourceCurrencyCode = 'USD'

Columns

Name Type ReadOnly References Filterable Sortable Description
SourceCurrencyCode String False True False

Specifies the source currency from which the exchange rate is defined. Provide this value as a three-letter string that represents the ISO 4217 currency code.

TargetCurrencyCode String False False False

Specifies the target currency against which the exchange rate is defined. Provide this value as a three-letter string that represents the ISO 4217 currency code.

Rate Double False False False

Specifies the exchange rate between the source currency and the target currency on the AsOfDate value.

AsOfDate Date False True False

Specifies the date on which this exchange rate was set.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the exchange-rate record was last updated.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the exchange-rate record was created.

SyncToken String True False False

Specifies the version number that is used to lock the exchange-rate object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

CustomFieldAggregate String False False False

Specifies an XML aggregate of custom field information for the exchange-rate record. This field groups all user-defined or application-defined custom fields that are associated with the exchange rate into a single XML payload so that you can retrieve, parse, and process the custom data programmatically.

CData Python Connector for QuickBooks Online

InventoryAdjustmentLineItems

Contains detailed line-item data for vendor bills, including products or services purchased, amounts, tax details, and associated accounts for expense tracking and reporting.

Table Specific Information

Inventory Adjustments may be inserted, updated, or queried via the InventoryAdjustments or InventoryAdjustmentLineItems tables. Inventory Adjustments may be deleted by using the InventoryAdjustments table.

Select

All filterable columns support the following operators:

  • =
  • >=
  • <=
  • >
  • <

The driver processes other filters client-side within the driver.

Select

For example, the following queries are processed server-side:

    select * from InventoryAdjustmentLineItems where MetaData_CreateTime = '2024-10-15 15:44:40.0'
    select * from InventoryAdjustmentLineItems where MetaData_CreateTime >= '2024-10-15 15:44:40.0'
    select * from InventoryAdjustmentLineItems where MetaData_CreateTime <= '2024-10-15 15:44:40.0'
    select * from InventoryAdjustmentLineItems where MetaData_CreateTime < '2024-10-15 15:44:40.0'
    select * from InventoryAdjustmentLineItems where MetaData_CreateTime > '2024-10-15 15:44:40.0'

Insert

To add an Inventory Adjustment, specify the Line_DetailType, Line_ItemAdjustmentLineDetail_QtyDiff, Line_ItemAdjustmentLineDetail_ItemRef, and InventoryAdjustmentId columns. For example, the following will insert a new Inventory Adjustment with two Line Items:

INSERT INTO InventoryAdjustmentLineItems (InventoryAdjustmentId, Line_DetailType, Line_ItemAdjustmentLineDetail_QtyDiff, Line_ItemAdjustmentLineDetail_ItemRef) VALUES ('148', 'ItemAdjustmentLineDetail', -100, '17')

INSERT INTO InventoryAdjustmentLineItems#TEMP (Line_DetailType, Line_ItemAdjustmentLineDetail_QtyDiff, Line_ItemAdjustmentLineDetail_ItemRef) VALUES ('ItemAdjustmentLineDetail', -5, '11')
      INSERT INTO InventoryAdjustments (TxnDate, DocNumber, PrivateNote, AdjustAccountRef, LineAggregate) VALUES ('2024-12-03', 'ADJ-001', 'Inventory adjustment for damaged goods', '34', InventoryAdjustmentLineItems#TEMP)

Update


	UPDATE InventoryAdjustmentLineItems SET Line_ItemAdjustmentLineDetail_QtyDiff = -250 WHERE InventoryAdjustmentId = '148' AND LineId = 5

Delete


	DELETE FROM InventoryAdjustmentLineItems WHERE LineId=1 and InventoryAdjustmentId = '148'

GetDeleted


	GETDELETED FROM InventoryAdjustmentLineItems

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

The unique identifier (Id) that is assigned to the individual line item within the inventory adjustment. This links each line item to its parent adjustment and allows tracking of specific item adjustments.

InventoryAdjustmentId [KEY] String False

InventoryAdjustments.Id

True False

The unique Id of the inventory adjustment to which the line item belongs. This connects the line detail to its parent adjustment transaction.

SyncToken String True False False

The version number that is assigned to the bill object. QuickBooks Online increments this token each time the object is modified to prevent conflicting updates. You must supply the current SyncToken when you update or delete a bill to ensure data integrity.

Line_Id String False False False

The unique Id that is assigned to the line item itself, enabling differentiation of multiple lines within the same inventory adjustment.

Line_DetailType String False False False

Specifies the type of line detail for this inventory adjustment line item. For inventory adjustments, this is always 'ItemAdjustmentLineDetail'.

The allowed values are ItemAdjustmentLineDetail.

Line_ItemAdjustmentLineDetail_QtyDiff String False False False

The quantity difference for this inventory adjustment line. This value can be positive (for inventory found or added) or negative (for inventory shrinkage or removed). This is the core adjustment value for the line item.

Line_ItemAdjustmentLineDetail_ItemRef String False

Items.Id

False False

The Id of the inventory item that is being adjusted in this line. This Id links the adjustment to a specific inventory item in the company file.

Line_ItemAdjustmentLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the inventory item that is being adjusted in this line. This is the human-readable counterpart to the ItemRef Id and helps identify the item being adjusted.

MetaData_CreateTime Datetime True True True

The date and time when the inventory adjustment record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastModifiedByRef Long True False False

The identifier of the user who last modified the inventory adjustment record. This reference tracks who made the most recent changes to the record for auditing purposes.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the inventory adjustment record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

DocNumber String False False False

The document reference number that is associated with the transaction. This document number allows users to match QuickBooks transactions to external documents such as inventory adjustment forms.

TxnDate Date False False False

The date that is entered by the user for when this transaction occurred. This date is used as the posting date in financial statements.

PrivateNote String False False False

A private, internal note about the transaction. The private note does not appear on printed or shared transaction records by default.

AdjustAccountRef String False

Accounts.Id

False False

The Id of the account that is used for this inventory adjustment. This Id connects the adjustment to the correct account in the chart of accounts for recording inventory changes.

AdjustAccountRef_Name String False

Accounts.Name

False False

The name of the account that is used for this inventory adjustment. This name is the human-readable counterpart to the AdjustAccountRef Id.

CData Python Connector for QuickBooks Online

InventoryAdjustments

Represents inventory adjustments in QuickBooks Online, enabling you to create, modify, delete, and retrieve quantity adjustments for inventory items.

Table Specific Information

Inventory Adjustments may be inserted, deleted, updated, or queried via the InventoryAdjustments or InventoryAdjustmentLineItems tables. Inventory Adjustments may be deleted by using the InventoryAdjustments table.

Select

All filterable columns support the following operators:

  • =
  • >=
  • <=
  • >
  • <

The driver processes other filters client-side within the driver.

Select

For example, the following queries are processed server-side:

	select * from InventoryAdjustments where Id='110'
    select * from InventoryAdjustments where MetaData_CreateTime = '2024-10-15 15:44:40.0'
    select * from InventoryAdjustments where MetaData_CreateTime >= '2024-10-15 15:44:40.0'
    select * from InventoryAdjustments where MetaData_CreateTime <= '2024-10-15 15:44:40.0'
    select * from InventoryAdjustments where MetaData_CreateTime < '2024-10-15 15:44:40.0'
    select * from InventoryAdjustments where MetaData_CreateTime > '2024-10-15 15:44:40.0'
    select * from InventoryAdjustments where Id IN ('112','148')

Insert

To add an Inventory Adjustment, specify the TxnDate, AdjustAccountRef columns and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which Inventory Adjustments. For example:

INSERT INTO InventoryAdjustments (TxnDate, DocNumber, PrivateNote, AdjustAccountRef, LineAggregate)
VALUES ('2024-12-03', 'ADJ-001', 'Inventory adjustment for damaged goods', '34', '
<Line><DetailType>ItemAdjustmentLineDetail</DetailType><ItemAdjustmentLineDetail><ItemRef>11</ItemRef><QtyDiff>-5</QtyDiff></ItemAdjustmentLineDetail></Line>
<Line><DetailType>ItemAdjustmentLineDetail</DetailType><ItemAdjustmentLineDetail><ItemRef>17</ItemRef><QtyDiff>-100</QtyDiff></ItemAdjustmentLineDetail></Line>
')

Update


	UPDATE InventoryAdjustments SET DocNumber = 'CORRECTED-145', PrivateNote = 'Corrected inventory count' WHERE Id = '145'

Delete


	DELETE FROM InventoryAdjustments WHERE Id='149'

GetDeleted


	GETDELETED FROM InventoryAdjustments

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The identifier (Id) of the inventory adjustment. This Id uniquely identifies the inventory adjustment record within QuickBooks Online.

SyncToken String True False False

The version number that is assigned to the inventory adjustment object. The sync token locks the object for one application at a time, and QuickBooks Online increments it after each modification. An update or delete operation that uses an older sync token fails, ensuring that only the latest version of the object is maintained.

MetaData_CreateTime Datetime True True True

The date and time when the inventory adjustment record was originally created in QuickBooks Online. The CreateTime value provides a reference point for auditing and synchronization.

MetaData_LastModifiedByRef Long True False False

The identifier of the user who last modified the inventory adjustment record. This reference tracks who made the most recent changes to the record for auditing purposes.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the inventory adjustment record was last updated in QuickBooks Online. The LastUpdatedTime value helps track changes and identify the most recent version of the record.

DocNumber String False False False

The document reference number that is associated with the transaction. This document number allows users to match QuickBooks transactions to external documents such as inventory adjustment forms.

TxnDate Date False False False

The date that is entered by the user for when this transaction occurred. This date is used as the posting date in financial statements.

PrivateNote String False False False

A private, internal note about the transaction. The private note does not appear on printed or shared transaction records by default.

LineAggregate String False False False

An XML aggregate that contains the line items that are associated with the inventory adjustment. This column enables applications to retrieve related lines in a structured format.

AdjustAccountRef String False

Accounts.Id

False False

The Id of the account that is used for this inventory adjustment. This Id connects the adjustment to the correct account in the chart of accounts for recording inventory changes.

AdjustAccountRef_Name String False

Accounts.Name

False False

The name of the account that is used for this inventory adjustment. This name is the human-readable counterpart to the AdjustAccountRef Id.

CData Python Connector for QuickBooks Online

InvoiceLineItems

Captures line-level details of customer invoices, including products or services sold, quantities, prices, discounts, and taxes, forming the granular data behind each invoice.

Table Specific Information

Invoices may be inserted, queried, or updated via the Invoices or InvoiceLineItems tables. Invoices may be deleted by using the Invoices table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add an Invoice, specify a Customer and at least one Line Item. For example, the following will insert a new Invoice with two Line Items:

INSERT INTO InvoiceLineItems#TEMP (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', 'SalesItemLineDetail', '2', 0.01)
INSERT INTO InvoiceLineItems#TEMP (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', 'SalesItemLineDetail', '3', 0.02) 
INSERT INTO InvoiceLineItems (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) SELECT CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount FROM InvoiceLineItems#TEMP

To add lines to an existing Invoice, You'll need to specify the InvoiceId in the WHERE clause for the INSERT command. For example:

INSERT INTO InvoiceLineItems#TEMP (InvoiceId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('1234', 'SalesItemLineDetail', '2', 0.01)
INSERT INTO InvoiceLineItems#TEMP (InvoiceId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('1234', 'SalesItemLineDetail', '3', 0.02) 
INSERT INTO InvoiceLineItems (InvoiceId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) SELECT InvoiceId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount FROM InvoiceLineItems#TEMP

Update

To update an existing Line Item, you'll need to specify the LineId. You can only update Line Items which have a Detail Type of SalesItemLineDetail.

UPDATE InvoiceLineItems SET Line_SalesItemLineDetail_Qty = 20 WHERE LineId = '5656'

Delete

To delete existing Line Items, you'll need to set the LineId and InvoiceId:

DELETE FROM InvoiceLineItems WHERE LineId = '5656' AND InvoiceId = '1'

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

Specifies the unique identifier (Id) of the invoice line item. This value distinguishes each line item on the invoice for reference or updates.

InvoiceId [KEY] String False

Invoices.Id

True False

Specifies the unique Id of the invoice that the line item belongs to. This links each line item back to its parent invoice.

SyncToken String True False False

Specifies the version number that is used to lock the invoice line item for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail, ensuring that only the latest version is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the invoice line-item record was created.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the invoice line-item record was last updated.

CustomFieldAggregate String False False False

Specifies an XML aggregate of custom field information for the invoice line item. This field groups all user-defined or application-defined custom fields that are associated with the line item into a single XML payload so that you can retrieve, parse, and process the custom data programmatically.

DocNumber String False True True

Specifies the reference number for the transaction that is associated with this line item.

TxnDate Date False True True

Specifies the date entered by the user when the transaction occurred. This parameter defines when the invoice line item was recorded.

PrivateNote String False False False

Specifies a private note for the transaction. This note does not appear on the transaction records and is intended for internal use.

LinkedTxnAggregate String False False False

Specifies an XML aggregate of transactions linked to the invoice. This field allows you to see related transactions that are associated with the invoice line item.

Line_Id String False False False

Specifies the unique Id of the line item within the invoice.

Line_LineNum String False False False

Specifies the line number of the line item within the invoice. This number indicates the position of the line item.

Line_Description String False False False

Specifies the description of the line item. This text appears on the invoice and in printed or emailed forms.

Line_Amount Decimal False False False

Specifies the amount of the line item. This amount includes the charges or allowances but excludes applicable taxes unless otherwise stated.

Line_DetailType String False False False

Specifies the detail type of the line item. Different detail types indicate different kinds of line items, such as products, services, or discounts.

Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

Specifies the unique Id of the item used in the line item. This Id links the line item to a product or service record.

Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

Specifies the name of the item that is used in the line item. This name identifies the product or service for the customer.

Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

Specifies the unique Id of the class that is used in the line item. This Id links the line item to a class category in QuickBooks Online.

Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is used in the line item. This name helps classify and group transactions for reporting.

Line_SalesItemLineDetail_UnitPrice Decimal False False False

Specifies the unit price of the item that is used in the line item. This value is the price per single unit of product or service.

Line_SalesItemLineDetail_Qty Double False False False

Specifies the number of items for the line item. This quantity multiplies with the unit price to compute the total amount.

Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the item that is used in the line item. This code determines how taxes are applied.

Line_SalesItemLineDetail_DiscountAmt Decimal False False False

Specifies the discount amount that is applied to an individual line item. If both the discount amount and the discount rate are supplied, the discount rate takes precedence and the discount amount is recalculated by QuickBooks Online based on the discount rate.

Line_SalesItemLineDetail_ServiceDate Date False False False

Specifies the service date for the item in the line item. This date indicates when the product or service was provided.

Line_GroupLineDetail_GroupItemRef String True False False

Specifies the unique Id of the group item object. This Id links the line item to a group of products or services.

Line_GroupLineDetail_GroupItemRef_Name String True False False

Specifies the name of the group item object. This name identifies the group of products or services on the invoice.

Line_GroupLineDetail_Quantity Integer True False False

Specifies the quantity of the group item in the line item.

Line_DiscountLineDetail_ClassRef String False

Class.Id

False False

Specifies the unique Id of the class that is used in the discount line item. This Id links the discount to a class category.

Line_DiscountLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is used in the discount line item.

Line_DiscountLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the item that is used in the discount line item. This code determines how taxes are applied.

Line_DiscountLineDetail_TaxCodeRef_Name String True

TaxCodes.Name

False False

Specifies the name of the tax sales code that is used in the discount line item.

Line_DiscountLineDetail_PercentBased Boolean False False False

Indicates whether the discount in the line item is percentage-based. It is true if the discount is a percentage and null or false if the discount is based on a fixed amount.

Line_DiscountLineDetail_DiscountAccountRef String False False False

Specifies the discount code for the item that is used in the discount line item.

Line_DiscountLineDetail_DiscountAccountRef_Name String True False False

Specifies the name of the discount account that is used in the discount line item.

Line_DiscountLineDetail_DiscountPercent Decimal False False False

Specifies the percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5%, use 8.5, not 0.085.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the transaction that is associated with the invoice line item.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax that is calculated for the transaction, excluding any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of tax line items that are associated with the invoice line item. This field allows you to retrieve all tax lines as one structured payload.

CustomerRef String False

Customers.Id

True False

Specifies the unique Id of the customer linked to the invoice. This value links the invoice to the customer record for reporting and tracking.

CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer linked to the invoice. This name identifies the customer in user-facing reports and forms.

CustomerMemo String False False False

Specifies a message to the customer that appears on the invoice and in the printed or emailed version. Use this field to communicate special notes or instructions.

BillAddr_Id String False False False

Specifies the unique Id of the billing address entity, mainly used for modifying the address. This field is assigned by the data service.

BillAddr_Line1 String False False False

Specifies the first line of the billing address.

BillAddr_Line2 String False False False

Specifies the second line of the billing address.

BillAddr_Line3 String False False False

Specifies the third line of the billing address.

BillAddr_Line4 String False False False

Specifies the fourth line of the billing address.

BillAddr_Line5 String False False False

Specifies the fifth line of the billing address.

BillAddr_City String False False False

Specifies the city name of the billing address.

BillAddr_Country String False False False

Specifies the country name of the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within a country in the billing address. For example, this value is the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code of the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded billing address.

BillAddr_Long String False False False

Specifies the longitude coordinate of the geocoded billing address.

ShipAddr_Id String False False False

Specifies the unique Id of the shipping address entity, mainly used for modifying the address. This field is assigned by the data service.

ShipAddr_Line1 String False False False

Specifies the first line of the shipping address.

ShipAddr_Line2 String False False False

Specifies the second line of the shipping address.

ShipAddr_Line3 String False False False

Specifies the third line of the shipping address.

ShipAddr_Line4 String False False False

Specifies the fourth line of the shipping address.

ShipAddr_Line5 String False False False

Specifies the fifth line of the shipping address.

ShipAddr_City String False False False

Specifies the city name of the shipping address.

ShipAddr_Country String False False False

Specifies the country name of the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within a country in the shipping address. For example, this value is the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code of the shipping address. For example, this value is the zip code for the USA and Canada.

ShipAddr_Lat String False False False

Specifies the latitude coordinate of the geocoded shipping address.

ShipAddr_Long String False False False

Specifies the longitude coordinate of the geocoded shipping address.

ClassRef String False

Class.Id

True False

Specifies the unique Id of the class that is associated with the transaction. This Id links the invoice to a class category in QuickBooks Online.

ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is associated with the transaction.

SalesTermRef String False

Terms.Id

False False

Specifies the unique Id of the sales terms that are associated with the transaction. This Id links the invoice to the agreed payment terms.

SalesTermRef_Name String True

Terms.Name

False False

Specifies the name of the sales terms that are associated with the transaction.

DueDate Date False True False

Specifies the date when the invoice is due for payment, not including any early payment discount incentives or late payment penalties. If this date is not supplied, the current server date is used.

ShipMethodRef String False False False

Specifies the unique Id of the shipping method that is associated with the transaction.

ShipMethodRef_Name String True False False

Specifies the name of the shipping method that is associated with the transaction.

ShipDate Date False False False

Specifies the date for delivery of goods or services that are associated with the invoice.

TrackingNum String False False False

Specifies the tracking number from the shipping provider for the delivery of goods that are associated with the transaction.

TotalAmt Decimal True True True

Specifies the total amount of the transaction. This amount includes the total of all charges, allowances, and taxes.

PrintStatus String False False False

Specifies the print status of the invoice, indicating whether it has been printed.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

Specifies the email status of the invoice, indicating whether it has been sent or is pending delivery.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

Specifies the email address where the invoice is sent. If the value of the EmailStatus attribute is NeedToSend, this field becomes a required input.

Balance Decimal True True True

Specifies the remaining balance on the invoice after applying payments or credits.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department where the transaction is stored as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department where the transaction is stored as defined using location tracking in QuickBooks Online.

AllowOnlineCreditCardPayment Boolean False False False

Indicates whether online credit-card payments are allowed for this invoice. This information corresponds to the Cards online-payment check box in the QuickBooks Online interface.

ApplyTaxAfterDiscount Boolean False False False

Specifies whether discounts are applied before tax is calculated.

CurrencyRef String False False False

Specifies the unique Id of the currency used in the transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available only for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method in which tax is applied. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

Specifies the total amount of the transaction in the home currency. This includes the total of all the charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

InvoiceLinkedTransactions

Tracks relationships between invoices and related transactions, such as payments or sales receipts, to help trace how invoices are settled and linked within the sales process.

Columns

Name Type ReadOnly References Filterable Sortable Description
LinkedTxnId [KEY] String True False False

The identifier (Id) of the linked transaction line item on the invoice.

InvoiceId [KEY] String False

Invoices.Id

True False

The Id of the invoice.

SyncToken String True False False

Specifies the version number of the object. It is used to lock an object for use by one app at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The time when the record was created.

MetaData_LastUpdatedTime Datetime True True True

The time when the record was last updated.

CustomFieldAggregate String False False False

An XML aggregate of custom field information related to the invoice.

DocNumber String False True True

The reference number for the transaction.

TxnDate Date False True True

The date entered by the user when this transaction occurred.

PrivateNote String False False False

A private note for the transaction, which does not appear on the transaction records.

LinkedTxn_TxnId String False False False

The Id of the linked transaction.

LinkedTxn_TxnType String False False False

The type of the linked transaction.

LinkedTxn_TxnLineId String False False False

The line item Id of the linked transaction line item.

LineAggregate String False False False

An XML aggregate of all line items that are associated with the transaction. This value contains detailed information for each line item, including item references, descriptions, quantities, amounts, and tax codes, which can be parsed programmatically to reconstruct the full list of lines in the transaction.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code that is applied to the entire transaction. This value determines which tax rules, rates, and reporting categories QuickBooks Online uses to calculate taxes for the transaction and to classify it correctly on tax reports.

TxnTaxDetail_TotalTax String False False False

The total tax that is calculated for the transaction, excluding any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that contains all individual tax line items that are associated with the transaction. Each tax line item can include the specific tax type, rate, amount, and jurisdiction. This value allows developers to parse or reconstruct the complete tax breakdown applied to the transaction for reporting or auditing purposes.

CustomerRef String False

Customers.Id

True False

The unique Id of the customer linked to the transaction. This value is used to associate the transaction with the correct customer record in QuickBooks Online for reporting, history, and follow-up actions.

CustomerRef_Name String True

Customers.DisplayName

False False

The full name of the customer that is linked to the transaction. This value reflects the name stored in QuickBooks Online for the referenced customer record and is displayed in reports and the UI for easy identification.

CustomerMemo String False False False

The message to the customer, which appears in the invoice and the printed invoice.

BillAddr_Id String False False False

The Id of the entity for the billing address, mainly used for modifying the address. This field is assigned by the data service.

BillAddr_Line1 String False False False

The first line of the billing address.

BillAddr_Line2 String False False False

The second line of the billing address.

BillAddr_Line3 String False False False

The third line of the billing address.

BillAddr_Line4 String False False False

The fourth line of the billing address.

BillAddr_Line5 String False False False

The fifth line of the billing address.

BillAddr_City String False False False

The city name of the billing address.

BillAddr_Country String False False False

The country name of the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within a country in the billing address. For example, this value is the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code of the billing address. For example, this value is the ZIP code for the USA or postal code Canada.

BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address.

BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address.

ShipAddr_Id String False False False

The Id of the entity for the shipping address, mainly used for modifying the address. This field is assigned by the data service.

ShipAddr_Line1 String False False False

The first line of the shipping address.

ShipAddr_Line2 String False False False

The second line of the shipping address.

ShipAddr_Line3 String False False False

The third line of the shipping address.

ShipAddr_Line4 String False False False

The fourth line of the shipping address.

ShipAddr_Line5 String False False False

The fifth line of the shipping address.

ShipAddr_City String False False False

The city name of the shipping address.

ShipAddr_Country String False False False

The country name of the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within a country in the shipping address. For example, this value is the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code of the shipping address. For example, this value is the ZIP code for the USA or postal code Canada.

ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address.

ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address.

ClassRef String False

Class.Id

True False

The Id of the class that is associated with the transaction.

ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the transaction.

SalesTermRef String False

Terms.Id

False False

The Id of the sales terms that are associated with the transaction.

SalesTermRef_Name String True

Terms.Name

False False

The name of the sales terms that are associated with the transaction.

DueDate Date False True False

Specifies the date when the invoice is to be paid, not including any early payment discount incentives or late payment penalties. If the date is not supplied, the current date on the server is used.

ShipMethodRef String False False False

The Id of the shipping method that is associated with the transaction.

ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the transaction.

ShipDate Date False False False

The scheduled date on which the goods or services in the transaction are to be shipped or delivered to the customer. This value is used by QuickBooks Online to track fulfillment timelines, manage delivery commitments, and align invoices or estimates with the actual delivery date for reporting and audit purposes.

TrackingNum String False False False

The tracking number for the shipping provider for the delivery of the goods that are associated with the transaction.

TotalAmt Decimal True True True

Specifies the total amount of the transaction. This includes the total of all the charges, allowances, and taxes.

PrintStatus String False False False

The print status of the invoice.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

The email status of the invoice.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

Specifies the email address where the invoice is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address (BillEmail) is required.

Balance Decimal False True True

Indicates whether the transaction is a finance charge.

DepartmentRef String False

Departments.Id

False False

The Id of the department that is used to store the location of the transaction as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is used to store the location of the transaction as defined using location tracking in QuickBooks Online.

AllowOnlineCreditCardPayment Boolean False False False

Specifies whether online credit-card payments are allowed for this invoice and corresponds to the Cards online-payment check box on the QuickBooks user interface.

ApplyTaxAfterDiscount Boolean False False False

Specifies whether discounts are applied before the tax is calculated.

CurrencyRef String False False False

The Id of the currency that is used in the transaction.

CurrencyRef_Name String True False False

The name of the currency that is used in the transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for only the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method in which tax is applied. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

Specifies the total amount of the transaction in the home currency. This includes the total of all the charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

Invoices

Stores header-level information for customer invoices, including customer details, invoice dates, terms, due dates, and balances, supporting accounts-receivable tracking and reporting.

Table Specific Information

Invoices can be inserted, queried, or updated through the Invoices or InvoiceLineItems tables. Invoices can be deleted using the Invoices table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To create an invoice, specify a Customer and at least one Line Item. Use the LineAggregate column to provide an XML aggregate of line item data. The structure of the XML aggregate is as follows:

  • Use <Line> at the base level.
  • Each underscore (_) character denotes a hierarchy within the XML structure.
  • The LineAggregate content is passed directly to the API.

Ensure that all values in each field match the API's required format, such as:

  • Dates in yyyy-MM-dd
  • Date-times in yyyy-MM-dd'T'HH:mm:sszzz

The prefix Line_ identifies columns in the aggregates that are part of the line item. Use Line_ columns along with the DocNumber to link specific lines to their corresponding invoices.

Note: When inserting an inventory item, you must also include a quantity using the <Qty> tag. Inventory items can be identified by the Type column in the Items table.

INSERT INTO Invoices (CustomerRef, LineAggregate) 
VALUES ('4', '
<Line><Amount>0.01</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>2</ItemRef></SalesItemLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>3</ItemRef></SalesItemLineDetail></Line>
<Line><Amount>0.03</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>4</ItemRef><Qty>2</Qty></SalesItemLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) of the invoice record. This value is assigned by QuickBooks Online and used to reference or update the invoice in API operations.

SyncToken String True False False

Specifies the version number of the invoice object that is used to lock the record for use by one application at a time. When an application modifies an invoice, its sync token is incremented. Attempts to modify an invoice with an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The date and time when the invoice record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the invoice record was last updated in QuickBooks Online.

CustomFieldAggregate String False False False

An XML-formatted aggregate of custom field information linked to this invoice. This structure allows you to retrieve all custom field names and values in a single field for downstream processing or display.

DocNumber String False True True

The reference number that is assigned to the invoice transaction. This number often appears on customer-facing documents and can be used to match the invoice with external systems.

TxnDate Date False True True

The date the user entered when the invoice transaction occurred. This is the effective transaction date used in reporting and aging.

PrivateNote String False False False

A private note attached to the invoice that does not appear on the printed or emailed transaction sent to the customer.

LinkedTxnAggregate String False False False

An XML-formatted aggregate of transactions linked to the invoice, such as payments or credit memos. This field allows you to see all related transactions without querying each individually.

LineAggregate String False False False

An XML-formatted aggregate of all line items associated with the invoice, including product or service items, discounts, and subtotals. This field lets you access every line item and its attributes in a single read for reporting or data export.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code that is applied to the overall invoice. This tax code determines which tax rules and rates are used to calculate taxes on all applicable line items.

TxnTaxDetail_TotalTax String False False False

The total tax that is calculated for the invoice. This amount excludes any manually inserted tax lines in the transaction line list, making it easier to separate system-calculated taxes from manual adjustments.

TxnTaxDetail_TaxLineAggregate String False False False

An XML-formatted aggregate of the individual tax line items associated with the invoice. This structure provides details for each tax component�such as jurisdiction and rate�used to calculate the total tax.

CustomerRef String False

Customers.Id

True False

The unique identifier of the customer linked to this invoice. This value maps the invoice back to the customer's record in QuickBooks Online.

CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer linked to this invoice. This value is retrieved from the Customer record for easier human-readable display and reporting.

CustomerMemo String False False False

A message or note intended for the customer that appears on the invoice itself and in any printed or emailed copies.

BillAddr_Id String False False False

The unique identifier of the entity for the billing address, mainly used for modifying the address on this invoice. This identifier is assigned by the QuickBooks Online data service.

BillAddr_Line1 String False False False

The first line of the billing address that is associated with the invoice.

BillAddr_Line2 String False False False

The second line of the billing address that is associated with the invoice.

BillAddr_Line3 String False False False

The third line of the billing address that is associated with the invoice.

BillAddr_Line4 String False False False

The fourth line of the billing address that is associated with the invoice.

BillAddr_Line5 String False False False

The fifth line of the billing address that is associated with the invoice.

BillAddr_City String False False False

The city name in the billing address.

BillAddr_Country String False False False

The country name in the billing address.

BillAddr_CountrySubDivisionCode String False False False

Specifies the region within a country in the billing address. For example, this value is the state name for the USA or the province name for Canada.

BillAddr_PostalCode String False False False

Specifies the postal code in the billing address. For example, this value is the ZIP code for the USA or the postal code for Canada.

BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address for mapping or validation purposes.

BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address for mapping or validation purposes.

ShipAddr_Id String False False False

The unique Id of the entity for the shipping address, mainly used for modifying the address. This Id is assigned by the QuickBooks Online data service.

ShipAddr_Line1 String False False False

The first line of the shipping address that is associated with the invoice.

ShipAddr_Line2 String False False False

The second line of the shipping address that is associated with the invoice.

ShipAddr_Line3 String False False False

The third line of the shipping address that is associated with the invoice.

ShipAddr_Line4 String False False False

The fourth line of the shipping address that is associated with the invoice.

ShipAddr_Line5 String False False False

The fifth line of the shipping address that is associated with the invoice.

ShipAddr_City String False False False

The city name in the shipping address.

ShipAddr_Country String False False False

The country name in the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within a country in the shipping address. For example, this value is the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code in the shipping address. For example, this value is the ZIP code for the USA or the postal code for Canada.

ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address. This value helps pinpoint the exact location of the shipping address for logistics or reporting.

ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address. This value works with the latitude coordinate to define the precise location.

ClassRef String False

Class.Id

True False

The unique Id of the class that is linked to this invoice transaction. Classes allow you to categorize transactions for reporting or tracking purposes.

ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is linked to this invoice transaction. This name helps users identify which category or class is applied.

SalesTermRef String False

Terms.Id

False False

The unique Id of the sales term that is linked to this invoice transaction. Sales terms define payment expectations or conditions.

SalesTermRef_Name String True

Terms.Name

False False

The name of the sales term that is linked to this invoice transaction. This value helps confirm which payment term is applied.

DueDate Date False True False

The date when the invoice is due for payment, not including any early payment discounts or late payment penalties. If no date is supplied, the current server date is used.

ShipMethodRef String False False False

The unique Id of the shipping method that is linked to this invoice transaction. Shipping methods represent carriers or delivery options.

ShipMethodRef_Name String True False False

The name of the shipping method that is linked to this invoice transaction. This name helps identify which carrier or delivery option is chosen.

ShipDate Date False False False

The date scheduled for delivery of goods or services. This value can be used for scheduling fulfillment and tracking.

TrackingNum String False False False

The tracking number that is assigned by the shipping provider to monitor the delivery status of the goods associated with this invoice.

TotalAmt Decimal True True True

The total amount of the invoice. This includes the sum of all charges, allowances, discounts, and taxes applied.

PrintStatus String False False False

Indicates the print status of the invoice. This value shows whether the invoice has been printed or not.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

Indicates the email status of the invoice. This value shows whether the invoice has been emailed, is pending to be emailed, or has another status.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

The primary email address where the invoice is sent. If the EmailStatus attribute is set to NeedToSend, this field is required.

BillEmailCc_Address String False False False

The email address where the invoice is sent as a carbon copy (CC). This field allows additional recipients to be copied on the invoice email.

BillEmailBcc_Address String False False False

The email address where the invoice is sent as a blind carbon copy (BCC). This field allows additional recipients to receive the invoice email without being visible to other recipients.

Balance Decimal True True True

Indicates the current outstanding balance or finance charge for the invoice transaction.

PaymentRefNum String False False False

The reference number that is assigned to the payment applied to this invoice. This number helps cross-reference related payment records.

PaymentMethodRef String False

PaymentMethods.Id

False False

The unique Id of the payment method that is linked to this invoice. This identifies how the payment was or will be made.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The name of the payment method that is linked to this invoice. This name helps users recognize which payment option is selected.

DepositToAccountRef String False

Accounts.Id

False False

The unique Id of the asset account where the payment money for this invoice is deposited. If you do not specify this account, QuickBooks Online defaults to the Undeposited Funds account.

DepositToAccountRef_Name String True

Accounts.Name

False False

The name of the asset account where the payment money for this invoice is deposited. If you do not specify this account, QuickBooks Online defaults to the Undeposited Funds account.

DeliveryInfo_DeliveryType String False False False

Specifies the type of delivery used for the invoice, such as email or postal mail. This field is used to confirm that the email has been sent via the send operation.

DeliveryInfo_DeliveryTime Datetime False False False

The date and time when the invoice was delivered. This timestamp confirms when the send operation occurred.

Deposit Decimal False False False

The deposit amount already applied toward this invoice. This value reduces the total due.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department where the transaction is recorded, as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department where the transaction is recorded, as defined using location tracking in QuickBooks Online.

AllowOnlineCreditCardPayment Boolean False False False

Specifies whether online credit card payments are allowed for this invoice. This corresponds to the 'Cards' online payment checkbox on the QuickBooks UI.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether discounts are applied before tax is calculated. Set this to true to apply discounts before tax.

CurrencyRef String False False False

The unique Id of the currency used in this invoice transaction.

CurrencyRef_Name String True False False

The name of the currency used in this invoice transaction. This name helps identify which currency values are denominated in.

ExchangeRate Decimal False False False

The currency exchange rate that is used for this invoice transaction. This field is valid only when the company file is set up for multicurrency. QuickBooks records exchange rates as the number of home currency units equal to one foreign currency unit. This field is available in the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method used to apply tax for this invoice. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

The total amount of the invoice expressed in the home currency. This includes the sum of all charges, allowances, discounts, and taxes. This field is valid in the UK, AU, and CA editions.

AllowOnlineACHPayment Boolean False False False

Specifies whether this invoice can be paid with online bank transfers (ACH). This corresponds to the Free bank transfer online-payment checkbox on the QuickBooks UI.

TransactionLocationType String False False False

The location or branch of the account where the transaction is recorded. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

InvoiceLink String True False False

A shareable link for the invoice sent to external customers. This link allows recipients to view and pay the invoice online.

ProjectRef String False True False

The unique Id of the project that is linked to this invoice transaction. Linking a project helps track costs and revenue.

RecurDataRef String True False False

The unique Id of the recurring transaction template that this invoice was created from. This links the invoice back to its recurring template.

TaxExemptionRef String True False False

The tax exemption Id for the customer that is associated with this invoice. This Id is typically issued by the state or tax authority.

FreeFormAddress Boolean False False False

Indicates how the shipping address is stored�formatted or unformatted. The value is system-defined based on the format of the shipping address at the time the object was created.

HomeBalance Decimal True False False

The outstanding balance for this invoice expressed in the home currency. This provides a convenience view of what is still due in the home currency.

CData Python Connector for QuickBooks Online

Items

Maintains the catalog of products and services that are offered by the business, including inventory and non-inventory items, used for sales, purchases, and expense tracking across QuickBooks Online.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) of the item. This value distinguishes the item record from all other items in QuickBooks Online.

SyncToken String True False False

The version number of the item record. It is used to lock the item for use by one app at a time. When an application modifies an item, its sync token is incremented. Attempts to modify an item specifying an older sync token fail. Only the latest version of the item is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The date and time when the item record was created.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the item record was last updated.

Name String False True True

The name of the item as it appears in QuickBooks Online forms and reports.

FullyQualifiedName String False False False

The fully qualified name of the item. The fully qualified name consists of the topmost parent element followed by each subelement and separated by colons. For example, Parent:Account1:SubAccount1:SubAccount2.

Description String False False False

A detailed description for the item that explains the service or product offered. This value appears on invoices, sales receipts, or purchase forms that include the item.

Active Boolean False True False

This field indicates whether the item is currently active. Inactive items that are set to false may be hidden from display and are not used in new financial transactions.

ParentRef String False

Items.Id

False False

The Id of the parent entity of the item that is referenced when the item is a subitem. If SubItem is true, then ParentRef is required.

ParentRef_Name String True

Items.Name

False False

The name of the parent entity of the item that is referenced when the item is a subitem. If SubItem is true, then ParentRef is required.

PrefVendorRef String False

Vendors.Id

False False

The Id of the preferred vendor entity that is linked to the item for purchase purposes.

PrefVendorRef_Name String False

Vendors.Name

False False

The name of the preferred vendor entity that is linked to the item for purchase purposes.

SubItem Boolean False False False

This field indicates whether the item is a subitem. A value of false or null indicates the item is a top-level item.

UnitPrice Decimal False False False

The monetary value of the service or product that is expressed in the home currency. This value is used when the item is added to a sales form.

Type String False True True

The classification that specifies how the item is used (for example, Inventory, Service, Non-inventory, or Other Charge).

The allowed values are Inventory, NonInventory, Service, Category, Group.

Taxable Boolean False False False

This field indicates whether the item is subject to tax when it is sold.

AssetAccountRef String False

Accounts.Id

False False

The Id of the inventory asset account that is assigned to this item. If the same inventory asset account is assigned for multiple items, the current balance of that account shows the combined total value of the inventory.

AssetAccountRef_Name String True

Accounts.Name

False False

The name of the inventory asset account that is assigned to this item. If the same inventory asset account is assigned for multiple items, the current balance of that account shows the combined total value of the inventory.

IncomeAccountRef String False

Accounts.Id

False False

The Id of the income account that records the proceeds from the sale of this item.

IncomeAccountRef_Name String True

Accounts.Name

False False

The name of the income account that records the proceeds from the sale of this item.

PurchaseDesc String False False False

The purchase description for the item that appears on bills and purchase orders.

PurchaseCost Decimal False False False

The amount paid when buying or ordering the item that is expressed in the home currency.

ExpenseAccountRef String False

Accounts.Id

False False

The Id of the expense account that is associated with the purchase of the item.

ExpenseAccountRef_Name String True

Accounts.Name

False False

The name of the expense account that is associated with the purchase of the item.

QtyOnHand Double False False False

The current quantity of the inventory item that is available for sale.

ReorderPoint Double False False False

The minimum quantity of the item that should be kept on hand before reordering.

InvStartDate Date False False False

The date to start tracking inventory for the item. This value is required if the TrackQtyOnHand attribute is set to true.

SalesTaxCodeRef String False

TaxCodes.Id

False False

The sales tax code that is applied when selling this item.

PurchaseTaxCodeRef String False

TaxCodes.Id

False False

The purchase tax code that is applied when purchasing this item.

TrackQtyOnHand Boolean False False False

Specifies whether the system tracks the quantity on hand for this item. This setting determines if inventory levels are monitored and updated automatically when transactions occur.

Level Integer True False False

Indicates the hierarchical level of the item within a parent-child structure. This value is 0 for top-level items. Any other value specifies the depth of the item from its top parent in the hierarchy.

Sku String False True False

Specifies the stock keeping unit (SKU) for this item. This value is a company-defined identifier that is used to track and manage inventory.

SalesTaxIncluded Boolean False False False

Indicates whether sales tax is included in the item amount. When this flag is set to true, the system does not calculate additional tax for transactions involving this item.

PurchaseTaxIncluded Boolean False False False

Indicates whether purchase tax is included in the item amount. When this flag is set to true, the system does not calculate additional tax on purchases involving this item.

ItemGroupDetail_ItemGroupLineAggregate String True False False

Contains one or more Item objects that are grouped together to form a bundle. This aggregate defines the composition of bundled or grouped items within QuickBooks Online.

ClassRef String False

Class.Id

False False

The unique Id for the class object that is linked to this item as found in the Id field of the class payload. This unique Id allows you to categorize the item under a specific class for reporting and tracking.

ClassRef_Name String False

Class.Name

False False

The identifying name for the class object that is linked to this item. This name provides a human-readable reference to the class that is applied.

ItemCategoryType String False False False

Specifies the classification that defines how this item is used. This field is applicable only for companies in France and helps categorize items according to local reporting requirements.

The allowed values are Product, Service.

Source String False False False

Specifies the source type for transactions that are created by QuickBooks Commerce. This value identifies where the item originated from within the system.

The allowed values are QBCommerce.

AbatementRate Decimal False False False

Specifies the sales tax abatement rate that is applied to this item. This field is used for transactions in Indian locales to comply with regional tax rules.

UQCDisplayText String False False False

Specifies the text that is displayed on a customer's invoice to denote the Unit of Measure instead of the standard code. This text provides clarity to customers on how quantities are measured.

UQCId String False False False

Specifies the identifier of the Standard Unit of Measure (UQC: Unique Quantity Code) for the item according to GST rules. This field ensures compliance with Indian GST requirements.

ReverseChargeRate Decimal False False False

Specifies the sales tax reverse charge rate that is applied to this item. This field is used for transactions in Indian locales to comply with reverse charge tax rules.

ServiceType String False False False

Specifies the sales tax service type that is applied to this item. This field is used for transactions in Indian locales to classify services according to regional tax categories.

TaxClassificationRef String False

TaxClassification.Id

False False

Specifies the unique identifier for the tax classification object that is linked to this item as found in the Id field of the tax classification payload. This field determines the tax treatment of the item.

TaxClassificationRef_Name String False

TaxClassification.Name

False False

Specifies the identifying name for the tax classification object that is linked to this item. This provides a human-readable reference for the tax classification that is applied.

CData Python Connector for QuickBooks Online

JournalCode

Contains journal codes that are used for classification or statutory reporting in certain regions, enabling businesses to meet country-specific accounting requirements.

Table Specific Information

Applicable only for France-locale companies (FR locale). JournalCodes may be inserted, queried, or updated via the JournalCode table.

Select

You can retrieve all JournalCode items from the table or a specific one specifying ID. Other filters processed server side are Name, MetaData_CreateTime, MetaData_LastUpdatedTime. You can also order the results by the same fields.

SELECT * FROM JournalCode WHERE Id = 4

SELECT * FROM JournalCode WHERE MetaData_LastUpdatedTime = '2018-07-26 08:29:22'

SELECT * FROM JournalCode ORDER BY Name ASC

SELECT * FROM JournalCode ORDER BY Id ASC

SELECT * FROM JournalCode ORDER BY MetaData_CreateTime DESC

Insert

To add a JournalCode, there must be at least Name field specified, which must be unique. All the fields of JournalCode which are not readonly can be inserted as well.

INSERT INTO JournalCode (Name) VALUES ('New inserted') 

Update

All the fields of JournalCode which are not readonly can be updated.

UPDATE JournalCode SET Description = 'New Desc' WHERE Id = 4 

Delete

Delete is not supported for the table.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) for the journal code entity. This value is assigned by QuickBooks Online and used to reference the journal code in other records and operations.

Name String False True True

Specifies the name representing the journal code. This value is used to identify the journal code in reports, postings, and configuration settings.

Type String False False False

Specifies the type of this journal code. This classification defines how the journal code behaves. The value cannot be changed once the object is created to ensure data consistency.

The allowed values are Expenses, Sales, Bank, Nouveaux, Wages, Cash, Others.

Description String False True False

Provides a free-form description of the journal code. Use this field to describe the purpose, scope, or usage notes of the journal code for easier identification and management.

Active Boolean True False False

Indicates whether the journal code entity is currently active. Inactive journal codes are hidden from normal selection lists and excluded from most new financial transactions.

Domain String True False False

Specifies the domain where the journal code is used. This value distinguishes between company files or environments (such as QuickBooks Online or QuickBooks Online Accountant) that are linked to different operational or data boundaries.

Sparse Boolean True False False

Indicates whether the journal code entity is sparse. A sparse entity contains only the fields that have changed since the last update, which optimizes data synchronization and reduces payload size during incremental updates. This behavior is especially useful for large data sets that are updated frequently.

SyncToken String True False False

Specifies the version number of the journal code entity. This version number is used to lock the object for use by one app at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the journal code entity was created in the source domain. This value is assigned by the system and is useful for auditing and tracking.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the journal code entity was last updated in the source domain. This value is assigned by the system and is useful for auditing and tracking changes.

CustomFieldAggregate String False False False

Contains an XML aggregate of custom field information that is associated with the journal code entity. This aggregate allows extensions and additional attributes to be stored with the journal code.

CData Python Connector for QuickBooks Online

JournalEntries

Stores journal entries that record double-entry accounting adjustments, including debits and credits applied to accounts, used for financial corrections and accruals.

Table Specific Information

JournalEntries may be inserted, queried, or updated via the JournalEntries or JournalEntryLineItems tables. JournalEntries may be deleted by using the JournalEntries table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a JournalEntry, there must be at least one credit line and at least one debit line where the total of the debit and credit Lines are equal to each other. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz).The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which JournalEntries. For example:

INSERT INTO JournalEntries (LineAggregate) 
VALUES ('
<Line><Amount>0.02</Amount><DetailType>JournalEntryLineDetail</DetailType><JournalEntryLineDetail><PostingType>Debit</PostingType><Entity><Type>Customer</Type><EntityRef>24</EntityRef></Entity><AccountRef>33</AccountRef></JournalEntryLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>JournalEntryLineDetail</DetailType><JournalEntryLineDetail><PostingType>Credit</PostingType><AccountRef>14</AccountRef></JournalEntryLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the journal entry. This value is assigned by QuickBooks Online and is used to reference the journal entry in other operations.

SyncToken String True False False

Specifies the version number of the journal entry. This version number is used to lock the object for use by one app at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the journal entry record was created. This value is system-generated and is useful for auditing and tracking changes.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the journal entry record was last updated. This value is system-generated and is useful for auditing and tracking changes.

DocNumber String False True True

Specifies the reference number for the transaction. This value can be used to cross-reference this journal entry with external documents or internal control numbers.

TxnDate Date False True True

Specifies the date entered by the user when this transaction occurred. This date determines the posting period for the journal entry.

PrivateNote String False False False

Specifies a private note about the transaction. This note does not appear on the transaction records by default and can be used for internal remarks or workflow tracking.

Adjustment Boolean False False False

Indicates whether the journal entry is an adjustment entry. Adjustment entries are typically used for year-end or period-end corrections and can affect how amounts are displayed in financial reports.

LineAggregate String False False False

Contains an XML aggregate of the line items that are part of the journal entry transaction. Each line item represents a debit or credit posting with account references, classes, customers, or other applicable metadata.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code that is applied to the transaction. This code determines how tax is calculated on the journal entry lines and links to the tax agency and rules configured in QuickBooks Online.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the transaction, excluding any tax lines that are manually inserted into the transaction line list. This value is computed based on the assigned tax code.

TxnTaxDetail_TaxLineAggregate String False False False

Contains an XML aggregate of tax line items that are applied to the journal entry transaction. This aggregate includes each tax component or jurisdictional tax line that is calculated from the tax code rules.

TotalAmt Decimal True False False

Specifies the total amount of the transaction. This value is calculated by QuickBooks Online business logic, and any value you supply is overwritten by QuickBooks to ensure consistency.

CurrencyRef String False False False

Specifies the Id of the currency used in the transaction. This field links to the currency configuration that is used to value amounts in the journal entry.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the transaction. This is the readable name that is associated with the currency Id.

ExchangeRate Decimal False False False

Specifies the currency exchange rate for the transaction. This field is valid only when the company file uses the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available in only the UK, AU, and CA editions.

TransactionLocationType String False False False

Specifies the account location that is associated with the transaction. This field is valid in only the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

TaxRateRef String False

TaxRates.Id

False False

Specifies the Id of the tax adjustment rate that is applied to this journal entry. This Id links to the TaxRate entity in QuickBooks Online, which defines the tax rate percentage, tax agency, and jurisdiction details used to compute taxes.

TaxRateRef_Name String True False False

Specifies the name that is associated with the tax adjustment rate identifier for this journal entry.

HomeTotalAmt Decimal True False False

Specifies the total amount of the transaction, expressed in the home currency. This includes the total of all the charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

RecurDataRef String True False False

Specifies the identifier of the reference to the recurring transaction. It captures which recurring transaction template the journal entry was created from.

GlobalTaxCalculation String True False False

Specifies the method in which tax is applied to the journal entry transaction.

The allowed values are TaxExcluded, TaxInclusive.

CData Python Connector for QuickBooks Online

JournalEntryLineItems

Contains the line-level debit and credit details of each journal entry, showing how accounts are affected within a balanced accounting transaction.

Table Specific Information

JournalEntries may be inserted, queried, or updated via the JournalEntries or JournalEntryLineItems tables. JournalEntries may be deleted by using the JournalEntries table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a JournalEntry, there must be at least one credit line and at least one debit line where the total of the debit and credit lines are equal to each other. The following shows an example of inserting multiple JournalEntries, each with a single line. To insert a JournalEntry with multiple lines, see the example on the JournalEntries table.

INSERT INTO JournalEntryLineItems#TEMP (Line_DetailType, Line_JournalEntryLineDetail_PostingType, Line_JournalEntryLineDetail_Entity_Type, Line_JournalEntryLineDetail_Entity_EntityRef, Line_JournalEntryLineDetail_AccountRef, Line_Amount) VALUES ('JournalEntryLineDetail', 'Debit', 'Customer', '24', '33', 0.02)
INSERT INTO JournalEntryLineItems#TEMP (Line_DetailType, Line_JournalEntryLineDetail_PostingType, Line_JournalEntryLineDetail_AccountRef, Line_Amount) VALUES ('JournalEntryLineDetail', 'Credit', '14', 0.02)
INSERT INTO JournalEntryLineItems (Line_DetailType, Line_JournalEntryLineDetail_PostingType, Line_JournalEntryLineDetail_Entity_Type, Line_JournalEntryLineDetail_Entity_EntityRef, Line_JournalEntryLineDetail_AccountRef, Line_Amount, Line_JournalEntryLineDetail_AccountRef) SELECT Line_DetailType, Line_JournalEntryLineDetail_PostingType, Line_JournalEntryLineDetail_Entity_Type, Line_JournalEntryLineDetail_Entity_EntityRef, Line_JournalEntryLineDetail_AccountRef, Line_Amount, Line_JournalEntryLineDetail_AccountRef FROM JournalEntryLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

Specifies the unique identifier (Id) of the line item in the journal entry. This value is assigned by QuickBooks Online and is used to reference the specific journal entry line.

JournalEntryId [KEY] String False

JournalEntries.Id

True False

Specifies the unique Id of the journal entry that this line item belongs to. This value links the line to its parent journal entry record.

SyncToken String True False False

Specifies the version number of the journal entry line item. This version number is used to lock the object for use by one app at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the journal-entry line record was created. This value is system-generated and is useful for auditing and tracking changes.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the journal-entry line record was last updated. This value is system-generated and is useful for auditing and tracking changes.

DocNumber String False True True

Specifies the reference number for the transaction. This number can be used to cross-reference this journal-entry line with external documents or internal control numbers.

TxnDate Date False True True

Specifies the date entered by the user when this transaction occurred. This date determines the posting period for the journal entry line item.

PrivateNote String False False False

Specifies a private note about the transaction. This note dose not appear on the transaction records by default and can be used for internal remarks or workflow tracking.

Adjustment Boolean False False False

Indicates whether the journal-entry line item is an adjustment entry. Adjustment entries are typically used for year-end or period-end corrections and can affect how amounts are displayed in financial reports.

Line_Id String False False False

Specifies the unique Id of the journal-entry line item within the transaction.

Line_Description String False False False

Specifies a descriptive text for the line item that appears in the printed record.

Line_Amount Decimal False False False

Specifies the monetary amount of the line item. This value represents the total extended amount for that line, which can include unit price multiplied by quantity, less any discounts, and is used by QuickBooks Online to calculate the transaction's total and related taxes.

Line_DetailType String False False False

Specifies the detail type of the line item. Different detail types indicate different types of line items, such as standard postings, billable items, or tax lines.

Line_JournalEntryLineDetail_PostingType String False False False

Indicates the posting type of the journal entry line item detail. This type identifies whether the line posts as a debit or credit entry.

The allowed values are Credit, Debit.

Line_JournalEntryLineDetail_Entity_Type String False False False

Specifies the type of the entity that is referenced by this line item. Entities can include customers, vendors, employees, or other QuickBooks objects.

Line_JournalEntryLineDetail_Entity_EntityRef String False False False

Specifies the unique Id of the entity that is referenced by this line item.

Line_JournalEntryLineDetail_Entity_EntityRef_Name String True False False

Specifies the name of the entity that is referenced by this line item.

Line_JournalEntryLineDetail_AccountRef String False

Accounts.Id

False False

Specifies the Id of the account that is associated with the journal entry line item.

Line_JournalEntryLineDetail_AccountRef_Name String True

Accounts.Name

False False

Specifies the name of the account that is associated with the journal entry line item.

Line_JournalEntryLineDetail_ClassRef String False

Class.Id

False False

Specifies the Id of the class that is associated with the journal entry line item.

Line_JournalEntryLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

Specifies the name of the class that is associated with the journal entry line item.

Line_JournalEntryLineDetail_DepartmentRef String False

Departments.Id

False False

Specifies the Id of the department that is associated with the journal entry line item.

Line_JournalEntryLineDetail_DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that is associated with the journal entry line item.

Line_JournalEntryLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the sales or purchase tax code that is associated with the journal entry line. This field is used for non-U.S., non-Canadian companies and is valid for the UK edition.

Line_JournalEntryLineDetail_TaxApplicableOn String False False False

Indicates whether the tax applicable to the line item is sales tax or purchase tax. This field is valid for the UK edition.

Line_JournalEntryLineDetail_TaxAmount Decimal False False False

Specifies the tax amount that is applicable for this line item. This field is valid for the UK and AU editions.

Line_JournalEntryLineDetail_BillableStatus String False False False

Specifies the billable status of the journal-entry line. The line is billed to a customer when the account is an expense account and the entity reference specifies a customer or a job.

The allowed values are Billable, NotBillable, HasBeenBilled.

Line_JournalEntryLineDetail_TaxInclusiveAmt Decimal False False False

Specifies the total amount of the line item, including tax.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the transaction-level tax code that is applied to the journal entry lines.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax that is calculated for the transaction. This value excludes any tax lines that are manually inserted into the transaction line list and reflects the system-calculated tax total.

TxnTaxDetail_TaxLineAggregate String False False False

Provides an XML aggregate of the individual tax line items that are part of the journal entry line. This collection contains the details of each tax line that is applied at the transaction level. For example, this value can include multiple tax lines with separate tax rates and amounts, all combined in one XML structure.

TotalAmt Decimal True False False

Specifies the total amount of the transaction. This amount is calculated by QuickBooks business logic, and any value you that you supply is overwritten by QuickBooks.

CurrencyRef String False False False

Specifies the Id of the currency that is used in the transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency that is used in the transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate. This field is only valid when the company file uses the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available only in the UK, AU, and CA editions.

ProjectRef String False True False

Specifies the Id of the project that is associated with the transaction.

CData Python Connector for QuickBooks Online

PaymentLineItems

Captures the line-level allocations of customer payments, showing how each payment applies to invoices, credit memos, or other receivables.

Table Specific Information

Payments may be inserted, queried, or updated via the Payments or PaymentLineItems tables. Payments may be deleted by using the Payments table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a Payment, specify a Customer, TotalAmt, and optionally Line Items. The following shows an example of inserting multiple Payments, each with a single line. To insert a Payment with multiple lines, see the example on the Payments table.

INSERT INTO PaymentLineItems#TEMP (CustomerRef, Line_Amount, Line_LinkedTxn_TxnType, Line_LinkedTxn_TxnId, TotalAmt) VALUES ('4', 0.01, 'Invoice', '116', 0.03)
INSERT INTO PaymentLineItems#TEMP (CustomerRef, Line_Amount, Line_LinkedTxn_TxnType, Line_LinkedTxn_TxnId, TotalAmt) VALUES ('4', 0.02, 'Invoice', '117', 0.03)
INSERT INTO PaymentLineItems (CustomerRef, Line_Amount, Line_LinkedTxn_TxnType, Line_LinkedTxn_TxnId, TotalAmt) SELECT CustomerRef, Line_Amount, Line_LinkedTxn_TxnType, Line_LinkedTxn_TxnId, TotalAmt FROM PaymentLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

The unique identifier (Id) of the line item on the payment.

PaymentId [KEY] String False

Payments.Id

True False

The unique Id of the payment that is linked to this line item.

SyncToken String True False False

Specifies the version number of the object. It is used to lock an object for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The date and time when the record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the record was last updated in QuickBooks Online.

TxnDate Date False True False

The date that was entered by the user when this transaction occurred.

PrivateNote String False False False

A private note about the transaction. This note does not appear on the transaction records by default.

Line_LinkedTxn_TxnId String False False False

The unique Id of a transaction that is linked to this line item, such as an invoice or sales receipt.

Line_Amount Decimal False False False

Specifies the monetary amount of the line item. This value represents the portion of the payment that is applied to the linked transaction or unapplied payment held in this line.

Line_LinkedTxn_TxnType String False False False

The type of the transaction that is linked to the line item, such as an invoice or credit memo.

Line_LinkedTxn_TxnLineId String False False False

The Id of the specific line item on the linked transaction.

CustomerRef String False

Customers.Id

True False

The unique Id of the customer that is linked to this payment line item.

CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is linked to this payment line item.

DepositToAccountRef String False

Accounts.Id

False False

An optional asset account specification that designates the account to which the payment money is deposited.

DepositToAccountRef_Name String True

Accounts.Name

False False

The name of the optional asset account that designates the account to which the payment money is deposited.

PaymentMethodRef String False

PaymentMethods.Id

False False

The unique Id of the payment method that is used for this payment line item.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The name of the payment method that is used for this payment line item, such as cash, check, or credit card.

The allowed values are Cash, Check, CreditCard, Other.

PaymentRefNum String False True True

The reference number for the payment received, such as a check number or transaction reference.

CreditCardPayment_CreditChargeInfo String False False False

Holds the credit card information that is used to request a credit-card payment from a merchant account service. It does not contain any response or authorization information from the merchant account service provider.

CreditCardPayment_NameOnAcct String False False False

The name of the credit-card account holder, as printed on the card.

CreditCardPayment_CcExpiryMonth Integer False False False

The expiration month on the credit card.

CreditCardPayment_CcExpiryYear Integer False False False

The four-digit expiration year on the credit card.

CreditCardPayment_BillAddrStreet String False False False

The street portion of the billing address for the credit card account.

CreditCardPayment_PostalCode String False False False

The postal code portion of the billing address for the credit card account.

TotalAmt Decimal False True True

Specifies the total monetary amount of the payment entity. This value includes all line items and reflects the full sum of the payment that is recorded in QuickBooks Online.

UnappliedAmt Decimal False False False

Specifies the portion of the payment that has not yet been applied to outstanding sales transactions. This value represents unapplied credit that can be allocated to invoices or other receivables later.

ProcessPayment Boolean False False False

Indicates that the payment should be processed by the merchant account service. This field is valid only for QuickBooks Online companies with credit card processing enabled.

CurrencyRef String False False False

The unique Id of the currency that is used in the transaction.

CurrencyRef_Name String True False False

The name of the currency that is used in the transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

PaymentMethods

Stores available payment-method definitions such as cash, check, credit card, or bank transfer, used when recording customer payments or vendor bill settlements.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the payment method that is stored in QuickBooks Online.

SyncToken String True False False

Specifies the version number of the payment-method object that is used to lock the object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the payment-method record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the payment-method record was last updated in QuickBooks Online.

Name String False True True

Specifies the name of the payment method that is used to identify it in QuickBooks Online.

Active Boolean False True False

Specifies whether the payment method is active. Inactive payment methods can be hidden from display and cannot be used in financial transactions.

Type String False False False

Specifies the type of the payment method that defines the way the payment was made, such as Cash, Check, or Credit Card.

CData Python Connector for QuickBooks Online

Payments

Represents payments that are received from customers, including amount, date, payment method, and linked invoices, forming the basis for accounts-receivable settlement.

Table Specific Information

Payments may be inserted, queried, or updated via the Payments or PaymentLineItems tables. Payments may be deleted by using the Payments table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a Payment, specify a Customer and at least one item Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which Payments. For example

INSERT INTO Payments (CustomerRef, TotalAmt, LineAggregate) 
VALUES ('4', '0.03', '
<Line><Amount>0.01</Amount><LinkedTxn><TxnId>116</TxnId><TxnType>Invoice</TxnType></LinkedTxn></Line>
<Line><Amount>0.02</Amount><LinkedTxn><TxnId>117</TxnId><TxnType>Invoice</TxnType></LinkedTxn></Line>
')

To automatically add payments for invoices up to a specific total amount, set AutoInvoice to true. You must also supply a Customer and a positive TotalAmt. Your unpaid invoices will be paid from the soonest due to the oldest one.

INSERT INTO Payments (CustomerRef, TotalAmt, AutoInvoice) VALUES ('4', 27.5, true)

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the payment that is stored in QuickBooks Online.

SyncToken String True False False

Specifies the version number of the payment object that is used to lock the object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the payment record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the payment record was last updated in QuickBooks Online.

TxnDate Date False True False

Specifies the date when this payment transaction occurred as entered by the user.

PrivateNote String False False False

Specifies a private note about the payment transaction. This note does not appear on the transaction records by default.

LineAggregate String False False False

Specifies an XML aggregate of the payment line items that are included in this payment transaction. Each line item represents a detailed component of the overall payment, such as amounts applied to invoices or other receivables. For example, a payment might include a line applied to Invoice 12345 for 100.00 USD and another line applied to Invoice 12346 for 50.00 USD.

CustomerRef String False

Customers.Id

True False

Specifies the unique identifier of the customer that is linked to this payment.

CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer that is linked to this payment.

DepositToAccountRef String False

Accounts.Id

False False

Specifies the unique Id of the asset account that designates the account where the payment money needs to be deposited. This field is optional and overrides the default Undeposited Funds account if provided.

DepositToAccountRef_Name String True

Accounts.Name

False False

Specifies the name of the asset account where the payment money needs to be deposited. This field is optional and overrides the default Undeposited Funds account if provided.

PaymentMethodRef String False

PaymentMethods.Id

False False

Specifies the unique Id of the payment method that is used for this payment.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

Specifies the name of the payment method that is used for this payment.

The allowed values are Cash, Check, CreditCard, Other.

PaymentRefNum String False True True

Specifies the reference number that is assigned to the payment received, such as a check number or transaction Id.

CreditCardPayment_CreditChargeInfo String False False False

Specifies credit-card information that is used to request a credit card payment from a merchant account service but does not include any response or authorization information returned from the merchant-account service provider.

CreditCardPayment_NameOnAcct String False False False

Specifies the name of the account holder as printed on the credit card.

CreditCardPayment_CcExpiryMonth Integer False False False

Specifies the expiration month printed on the credit card.

CreditCardPayment_CcExpiryYear Integer False False False

Specifies the four-digit expiration year printed on the credit card.

CreditCardPayment_BillAddrStreet String False False False

Specifies the street portion of the billing address for the credit card account holder.

CreditCardPayment_PostalCode String False False False

Specifies the postal code portion of the billing address for the credit card account holder.

TotalAmt Decimal False True True

Specifies the total monetary amount of the payment transaction. This value includes the sum of all payments from the payment details.

UnappliedAmt Decimal False False False

Specifies the monetary amount from the payment that has not yet been applied to pay amounts owed for sales transactions.

ProcessPayment Boolean False False False

Specifies whether the payment should be processed by the merchant account service. This field is valid for QuickBooks Online companies that have credit-card processing enabled.

CurrencyRef String False False False

Specifies the unique Id of the currency that is used in this payment transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency that is used in this payment transaction.

ExchangeRate Decimal False False False

Specifies the currency exchange rate that is applied to this payment. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

TransactionLocationType String False False False

Specifies the account location for the payment. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

ProjectRef String False True False

Specifies the unique Id of the project that is linked to this payment transaction.

TaxExemptionRef String True False False

Specifies the tax exemption Id for the customer that is linked to this payment. This Id is typically issued by the state.

TxnSource String True False False

Specifies the originating source of a credit-card transaction for internal use by QuickBooks Online.

Pseudocolumns

Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AutoInvoice Boolean

Set to true to apply payments to invoices automatically (starting from oldest to newest).

CData Python Connector for QuickBooks Online

Preferences

Contains company-wide preference settings that define QuickBooks Online behavior, such as sales-form defaults, accounting methods, tax preferences, and user-access configurations.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True False False

Specifies the unique identifier (Id) of the preference record that stores the company-level configuration in QuickBooks Online.

SyncToken String True False False

Specifies the version number of the preference object that is used to lock the object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True False False

Specifies the date and time when the preference record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True False False

Specifies the date and time when the preference record was last updated in QuickBooks Online.

AccountingInfoPrefs_TrackDepartments Boolean False False False

Specifies whether the Track Locations preference is turned on in QuickBooks Online Company Settings under Categories. This setting allows transactions to be tracked by location or department.

AccountingInfoPrefs_DepartmentTerminology String False False False

Specifies the term that is used by the company for department or location. This value becomes the label on transaction forms (for example, 'Department,' 'Location,' or 'Branch').

AccountingInfoPrefs_ClassTrackingPerTxnLine Boolean False False False

Specifies whether classes are tracked at the line-item level when Track Classes in QuickBooks Online Company Settings under Categories is turned on. This flag determines whether every line of a transaction can have a different class.

AccountingInfoPrefs_ClassTrackingPerTxn Boolean False False False

Specifies whether classes are tracked at the transaction-header level when Track Classes in QuickBooks Online Company Settings under Categories is turned on. This flag determines whether one class applies to the entire transaction.

AccountingInfoPrefs_CustomerTerminology String True False False

Specifies the custom label that the company uses to refer to its customers in the QuickBooks Online UI (for example, 'Clients' instead of 'Customers').

AccountingInfoPrefs_BookCloseDate Date True False False

Specifies the Closing Date preference in QuickBooks Online Company Settings. This date is the date after which income and expense accounts are closed and net profit or loss is rolled up into the retained earnings account. Transactions dated before this date are protected from changes.

AccountingInfoPrefs_UseAccountNumbers Boolean True False False

Specifies whether the Enable Account Numbers preference is turned on in QuickBooks Online Company Settings so that accounts are identified by numbers in addition to names.

AccountingInfoPrefs_FirstMonthOfFiscalYear String True False False

Specifies the first month of the fiscal year as configured in QuickBooks Online Company Settings.

AccountingInfoPrefs_TaxYearMonth String True False False

Specifies the first month of the income tax year as configured in QuickBooks Online Company Settings.

AccountingInfoPrefs_TaxForm String True False False

Specifies the tax form that your company files as configured in QuickBooks Online Company Settings (for example, 'Form 1120' or 'Form 1065').

TaxPrefs_UsingSalesTax Boolean False False False

Specifies whether sales tax tracking is enabled in QuickBooks Online.

TaxPrefs_TaxGroupCodeRef String False False False

Specifies the default tax group code that is used on a sales form after a new Sales Tax Center is enabled.

TaxPrefs_PartnerTaxEnabled Boolean False False False

Specifies whether Partner Tax, the automated sales tax engine that provides sales tax compliance, is enabled for the company.

CurrencyPrefs_MultiCurrencyEnabled String False False False

Specifies whether multicurrency is enabled for this company. When multicurrency is enabled, transactions can be created in multiple currencies and exchange rates are maintained.

CurrencyPrefs_HomeCurrency String False False False

Specifies the currency code of the home country where the business is located (for example, 'USD' for US dollars).

ProductAndServicesPrefs_ForSales Boolean False False False

Specifies whether the Product and Services for Sales preference is enabled so that items can be used on sales forms.

ProductAndServicesPrefs_ForPurchase Boolean False False False

Specifies whether the Product and Services for Purchase preference is enabled so that items can be used on purchase forms.

ProductAndServicesPrefs_QuantityWithPriceAndRate Boolean False False False

Specifies whether quantity with price and rate is enabled on forms so that quantities, rates, and totals can be automatically calculated.

ProductAndServicesPrefs_QuantityOnHand Boolean True False False

Specifies whether the quantity on hand for inventory items is tracked and displayed.

ProductAndServicesPrefs_RevenueRecognitionEnabled Boolean False False False

Specifies whether revenue recognition is enabled. This feature is available only in QuickBooks Online Advanced.

ProductAndServicesPrefs_RecognitionFrequencyType String False False False

Specifies how frequently revenue is recognized when revenue recognition is enabled. This feature is available only in QuickBooks Online Advanced.

The allowed values are Daily, Weekly, Monthly.

SalesFormsPrefs_AllowDiscount Boolean False False False

Specifies whether discounts can be entered on sales forms.

SalesFormsPrefs_AllowDeposit Boolean False False False

Specifies whether deposits can be entered on sales forms.

SalesFormsPrefs_AllowShipping Boolean False False False

Specifies whether shipping information fields can be used on sales forms.

SalesFormsPrefs_AllowServiceDate Boolean False False False

Specifies whether service date fields can be used on sales forms.

SalesFormsPrefs_AllowEstimates Boolean False False False

Specifies whether Estimate entities are allowed to be created and used on sales forms in QuickBooks Online.

SalesFormsPrefs_CustomTxnNumbers Boolean False False False

Specifies whether custom transaction numbers can be specified on sales forms instead of automatically assigned numbers.

SalesFormsPrefs_DefaultTerms Integer False False False

Specifies the default sales terms that are applied to new sales transactions if a specific term is not provided.

SalesFormsPrefs_EstimateMessage String False False False

Specifies the default message to customers that appears on estimate forms.

SalesFormsPrefs_DefaultDiscountAccount String False False False

Specifies the default discount account that is used to record discounts applied on sales forms.

SalesFormsPrefs_DefaultShippingAccount String False False False

Specifies the default shipping account that is used to record shipping charges on sales forms.

SalesFormsPrefs_DefaultCustomerMessage String False False False

Specifies the default message to customers that appears on new sales forms.

SalesFormsPrefs_IPNSupportEnabled Boolean False False False

Specifies whether Instant Payment Notification (IPN) support is enabled for the company.

SalesFormsPrefs_ETransactionEnabledStatus String False False False

Specifies the ETransaction status that is enabled for sales forms, allowing transactions to be sent and managed electronically.

SalesFormsPrefs_ETransactionAttachPDF Boolean False False False

Specifies whether PDFs are attached automatically to ETransactions sent to customers.

SalesFormsPrefs_ETransactionPaymentEnabled Boolean False False False

Specifies whether payment entities can be used with ETransactions, enabling customers to pay electronically.

SalesFormsPrefs_CustomFieldAggregate String False False False

Specifies an XML aggregate of the custom fields for sales form entities.

SalesFormsPrefs_SalesEmailBccAddress String False False False

Specifies the default blind carbon copy (BCC) email address where sales forms such as invoices are sent.

SalesFormsPrefs_SalesEmailCcAddress String False False False

Specifies the default carbon copy (CC) email address where sales forms such as invoices are sent.

SalesFormsPrefs_UsingProgressInvoicing Boolean False False False

Specifies whether progress invoicing is enabled, allowing invoices to be sent incrementally against an estimate.

SalesFormsPrefs_EmailCopyToCompany Boolean False False False

Specifies whether the QuickBooks company is CC'd automatically on all email sent to customers for sales transactions.

SalesFormsPrefs_UsingPriceLevels Boolean True False False

Specifies whether price levels are enabled for sales transactions, allowing customized pricing for customers.

SalesFormsPrefs_AutoApplyCredit Boolean True False False

Specifies whether credits are applied automatically to the next invoice created for the same customer. Most companies turn on this setting to streamline credit usage.

VendorAndPurchasesPrefs_TrackingByPreferences Boolean False False False

Specifies whether tracking of vendor and purchase data is enabled by using company preference settings.

VendorAndPurchasesPrefs_TrackingByCustomer Boolean False False False

Specifies whether vendor and purchase data tracking is enabled by customer information.

VendorAndPurchasesPrefs_BillableExpenseTracking Boolean False False False

Specifies whether billable expense tracking fields are enabled so that expenses can be marked as billable to a customer or job.

VendorAndPurchasesPrefs_WorkWeekStartDate Date False False False

Specifies the starting day of the work week for vendor and purchase tracking preferences.

VendorAndPurchasesPrefs_POCustomFieldAggregate String False False False

Specifies an XML aggregate that defines purchase order (PO) custom fields.

VendorAndPurchasesPrefs_DefaultMarkupAccount String False False False

Specifies the Id of the default markup account that is used to record markup amounts on transactions.

VendorAndPurchasesPrefs_DefaultTerms String False False False

Specifies the Id of the default terms that are applied to vendor and purchase transactions if no specific term is provided.

VendorAndPurchasesPrefs_DefaultMarkup Decimal False False False

Specifies the default markup rate that is used to calculate the markup amount on transactions. For example, to enter a markup rate of 8.5%, use 8.5, not 0.085.

VendorAndPurchasesPrefs_TPAREnabled Boolean False False False

Specifies whether TPAR (Taxable Payments Annual Report) is enabled for the company's customers.

TimeTrackingPrefs_UseServices Boolean False False False

Specifies whether time tracking services are enabled so that time can be recorded against services or items.

TimeTrackingPrefs_BillPreferences Boolean False False False

Specifies whether billing preferences for time tracking entries are enabled.

TimeTrackingPrefs_BillCustomers Boolean False False False

Specifies whether time tracking services are enabled for the customer in a bill.

TimeTrackingPrefs_ShowBillRateToAll Boolean False False False

Specifies whether the billing rate is visible to all employees when entering time tracking entries.

TimeTrackingPrefs_WorkWeekStartDate String False False False

Specifies the starting day of the work week for time tracking preferences.

TimeTrackingPrefs_MarkTimeEntriesBillable Boolean False False False

Specifies whether time entries are marked as billable by default when recorded.

TimeTrackingPrefs_UsingSalesTax Boolean False False False

Specifies whether services for time tracking are enabled to support sales tax reporting.

EmailMessagesPrefs_InvoiceMessage_Subject String False False False

Specifies the subject portion of the default invoice email message sent to customers.

EmailMessagesPrefs_InvoiceMessage_Message String False False False

Specifies the message portion of the default invoice email message sent to customers.

EmailMessagesPrefs_EstimateMessage_Subject String False False False

Specifies the subject portion of the default estimate email message sent to customers.

EmailMessagesPrefs_EstimateMessage_Message String False False False

Specifies the message portion of the default estimate email message sent to customers.

EmailMessagesPrefs_SalesReceiptMessage_Subject String False False False

Specifies the subject portion of the default sales-receipt email message sent to customers.

EmailMessagesPrefs_SalesReceiptMessage_Message String False False False

Specifies the message portion of the default sales-receipt email message sent to customers.

EmailMessagesPrefs_StatementMessage_Subject String False False False

Specifies the subject portion of the default statement email message sent to customers.

EmailMessagesPrefs_StatementMessage_Message String False False False

Specifies the message portion of the default statement email message sent to customers.

OtherPrefs_NameValueAggregate String False False False

Specifies an extension of the preference entity that allows name-value pairs to be stored in custom fields at the top level.

ReportPrefs_ReportBasis String False False False

Specifies the accounting method for summary reports. Possible values include Cash and Accrual.

ReportPrefs_CalcAgingReportFromTxnDate Boolean False False False

Specifies whether to calculate report aging from the transaction date rather than from the due date.

CData Python Connector for QuickBooks Online

PurchaseLineItems

Captures the line-level details of purchase transactions, including vendor items, quantities, unit costs, and expense accounts for accurate expense and cost tracking.

Table Specific Information

Note: A Purchase object represents an expense, such as a purchase made from a vendor.

Purchases may be inserted, queried, or updated via the Purchases or PurchaseLineItems tables. Purchases may be deleted by using the Purchases table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a Purchase, specify the AccountRef, PaymentType, and at least one Line Item. The following shows an example of inserting multiple Purchases, each with a single line. To insert a Purchase with multiple lines, see the example on the Purchases table.

INSERT INTO PurchaseLineItems#TEMP (AccountRef, PaymentType, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_AccountRef) VALUES ('41',  'Cash', 0.01, 'ItemBasedExpenseLineDetail', '8')
INSERT INTO PurchaseLineItems#TEMP (AccountRef, PaymentType, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_AccountRef) VALUES ('41',  'Cash', 0.02, 'ItemBasedExpenseLineDetail', '8')
INSERT INTO PurchaseLineItems (AccountRef, PaymentType, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_AccountRef) SELECT AccountRef, PaymentType, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_AccountRef FROM PurchaseLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

Specifies the unique identifier (Id) of the line item of the purchase transaction.

PurchaseId [KEY] String False

Purchases.Id

True False

Specifies the unique Id of the purchase transaction to which this line item belongs.

SyncToken String True False False

Specifies the version number of the object that is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

Specifies the date and time when the record was created.

MetaData_LastUpdatedTime Datetime True True True

Specifies the date and time when the record was last updated.

DocNumber String False True True

Specifies the reference number for the transaction.

TxnDate Date False True True

Specifies the date when this transaction occurred.

PrivateNote String False False False

Specifies a private note about the transaction that does not appear on the transaction records by default. This field maps to the Memo field on the Check and CreditCard form.

Line_Id String False False False

Specifies the unique Id of the line item.

Line_Description String False False False

Specifies the description of the line item that appears in the printed record.

Line_Amount Decimal False False False

Specifies the total amount of the charges or discounts for the given line. This field includes the charges and allowances but excludes the tax amount.

Line_DetailType String False False False

Specifies the type of line in the transaction.

Line_ItemBasedExpenseLineDetail_ItemRef String False

Items.Id

False False

Specifies the unique Id of the item in the line item. When a line item lacks an ItemRef it is treated as documentation and the Line_Amount field is ignored.

Line_ItemBasedExpenseLineDetail_ItemRef_Name String True

Items.Name

False False

Specifies the name of the item. When a line item lacks an ItemRef it is treated as documentation and the Line_Amount field is ignored.

Line_ItemBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

Specifies the unique Id of the class for the line item.

Line_ItemBasedExpenseLineDetail_ClassRef_Name String True

Class.Name

False False

Specifies the name of the class for the line item.

Line_ItemBasedExpenseLineDetail_UnitPrice Decimal False False False

Specifies the unit price of the item as referenced by ItemRef.

Line_ItemBasedExpenseLineDetail_Qty Double False False False

Specifies the number of items for the line.

Line_ItemBasedExpenseLineDetail_MarkupInfo_Value Double False False False

Specifies the markup value applied to the line item.

Line_ItemBasedExpenseLineDetail_MarkupInfo_Percent Double False False False

Specifies the markup amount expressed as a percent of charges already entered in the current transaction. For example, to enter a rate of 10%, use 10.0, not 0.01.

Line_ItemBasedExpenseLineDetail_MarkupInfo_PriceLevelRef String False False False

Specifies the unique Id of the price level for the markup.

Line_ItemBasedExpenseLineDetail_MarkupInfo_PriceLevelRef_Name String True False False

Specifies the name of the price level for the markup.

Line_ItemBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the sales tax code for this item.

Line_ItemBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

Specifies the unique Id of the customer that is associated with the expense.

Line_ItemBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer that is associated with the expense.

Line_ItemBasedExpenseLineDetail_BillableStatus String False False False

Specifies the billable status of the expense line item.

The allowed values are Billable, NotBillable, HasBeenBilled.

Line_AccountBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

Specifies the unique Id of the class entity of the expense.

Line_AccountBasedExpenseLineDetail_ClassRef_Name String True

Class.Name

False False

Specifies the name of the class entity of the expense.

Line_AccountBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

Specifies the unique Id of the customer that is associated with the expense.

Line_AccountBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

Specifies the name of the customer that is associated with the expense.

Line_AccountBasedExpenseLineDetail_AccountRef String False

Accounts.Id

False False

Specifies the unique Id of the expense account that is associated with the expense.

Line_AccountBasedExpenseLineDetail_AccountRef_Name String True

Accounts.Name

False False

Specifies the name of the expense account that is associated with the expense. Checks should reference a bank account and CreditCard should reference a credit card account.

Line_AccountBasedExpenseLineDetail_BillableStatus String False False False

Specifies the billable status of the expense line item.

The allowed values are Billable, NotBillable, HasBeenBilled.

Line_AccountBasedExpenseLineDetail_MarkupInfo_Value Double False False False

Specifies the markup value applied to the line item.

Line_AccountBasedExpenseLineDetail_MarkupInfo_Percent Double False False False

Specifies the markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.

Line_AccountBasedExpenseLineDetail_MarkupInfo_PriceLevelRef String False False False

Specifies the unique Id of the price level for the markup.

Line_AccountBasedExpenseLineDetail_MarkupInfo_PriceLevelRef_Name String True False False

Specifies the name of the price level for the markup.

Line_AccountBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code for the account-based expense line detail.

AccountRef String False

Accounts.Id

False False

Specifies the unique Id of the account that is associated with the transaction.

AccountRef_Name String True

Accounts.Name

False False

Specifies the name of the account that is associated with the transaction. Checks should reference a bank account and CreditCard should reference a credit card account.

PaymentType String False False False

Specifies the expense type for the line item.

The allowed values are Cash, Check, CreditCard.

EntityRef String False False False

Specifies the unique Id of the party with whom an expense is associated.

EntityRef_Name String True False False

Specifies the name of the party with whom an expense is associated.

Credit Boolean False False False

Specifies whether the transaction is a credit. This field is valid only for the CreditCard payment type.

TotalAmt Decimal True True True

Specifies the total amount due as determined by the sum of the line items. This includes all charges, allowances, taxes, discounts, and other applicable amounts.

PrintStatus String False False False

Specifies the print status of the payment. This field is applicable only for checks and is ignored for credit card charges or refunds.

DepartmentRef String False

Departments.Id

False False

Specifies the unique Id of the department that is used to store the location of the transaction.

DepartmentRef_Name String True

Departments.Name

False False

Specifies the name of the department that is used to store the location of the transaction.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the transaction tax code that is applied to the entire purchase.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the transaction, excluding any tax lines manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

Specifies an XML aggregate of all tax line items that are applied to the transaction.

CurrencyRef String False False False

Specifies the unique Id of the currency that is used in the transaction.

CurrencyRef_Name String True False False

Specifies the name of the currency that is used in the transaction.

ExchangeRate Double False False False

Specifies the currency exchange rate. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method in which tax is applied. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

PurchaseOrderLineItems

Contains detailed line items for purchase orders, specifying products or services requested, quantities, expected costs, and vendor references.

Table Specific Information

PurchaseOrders may be inserted, queried, or updated via the PurchaseOrders or PurchaseOrderLineItems tables. PurchaseOrders may be deleted by using the PurchaseOrders table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a PurchaseOrder, specify the Vendor, TotalAmt, and at least one Line Item. The following shows an example of inserting multiple PurchaseOrders, each with a single line. To insert a PurchaseOrder with multiple lines, see the example on the PurchaseOrders table.

INSERT INTO PurchaseOrderLineItems#TEMP (VendorRef, Line_Amount, Line_DetailType, Line_ItemBasedExpenseLineDetail_ItemRef, TotalAmt) VALUES ('21', 0.01, 'ItemBasedExpenseLineDetail', '2',  0.03)
INSERT INTO PurchaseOrderLineItems#TEMP (VendorRef, Line_Amount, Line_DetailType, Line_ItemBasedExpenseLineDetail_ItemRef, TotalAmt) VALUES ('21', 0.02, 'ItemBasedExpenseLineDetail', '3', 0.03)
INSERT INTO PurchaseOrderLineItems (VendorRef, Line_Amount, Line_DetailType, Line_ItemBasedExpenseLineDetail_ItemRef, TotalAmt) SELECT VendorRef, Line_Amount, Line_DetailType, Line_ItemBasedExpenseLineDetail_ItemRef, TotalAmt FROM PurchaseOrderLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

The unique Id (Id) of the line item of the purchase order.

PurchaseOrderId [KEY] String False

PurchaseOrders.Id

True False

The unique Id of the purchase order that is linked to this line item.

SyncToken String True False False

The version number of the purchase-order object. This number is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The date and time when the record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the record was last updated in QuickBooks Online.

DocNumber String False True True

The reference number for the purchase-order transaction as entered by the user or generated by QuickBooks Online.

TxnDate Date False True True

The date when this purchase-order transaction occurred as entered by the user.

PrivateNote String False False False

A private note about the purchase-order transaction that does not appear on the transaction records by default. This field maps to the Memo field on the Check and CreditCard forms.

LinkedTxnAggregate String False False False

An XML aggregate of transactions that are linked to the purchase order, such as bills or vendor credits applied to it.

Line_Id String False False False

The unique Id of the individual line item within the purchase order.

Line_Description String False False False

A description of the line item that appears in the printed or displayed record for the purchase order.

Line_Amount Decimal False False False

The monetary amount of the line item. It represents the discount amount, charge amount, tax amount, or subtotal amount based on the value of the Line_DetailType field.

Line_DetailType String False False False

The type of line in the transaction that is used to classify whether the line represents an item, an expense, a group, or other details.

Line_ItemBasedExpenseLineDetail_ItemRef String False

Items.Id

False False

The unique Id of the item of the line item that is referenced. When a line lacks an item reference, it is treated as documentation and the Line_Amount field is ignored.

Line_ItemBasedExpenseLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item of the line item that is referenced. When a line lacks an item reference, it is treated as documentation and the Line_Amount field is ignored.

Line_ItemBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class for the line item that is used for tracking and reporting.

Line_ItemBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class for the line item that is used for tracking and reporting.

Line_ItemBasedExpenseLineDetail_UnitPrice Decimal False False False

The unit price of the referenced item as specified on the purchase order.

Line_ItemBasedExpenseLineDetail_Qty Double False False False

The number of items for the line that is being purchased.

Line_ItemBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The sales tax code for this item that is used to calculate the tax amount for the purchase order.

Line_ItemBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with the expense for job costing or billable tracking purposes.

Line_ItemBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with the expense for job costing or billable tracking purposes.

Line_ItemBasedExpenseLineDetail_BillableStatus String False False False

The billable status of the expense that indicates whether the amount can be billed to a customer.

The allowed values are Billable, NotBillable, HasBeenBilled.

Line_AccountBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class entity of the expense line that is used for tracking and reporting.

Line_AccountBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class entity of the expense line that is used for tracking and reporting.

Line_AccountBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with the expense line for job costing or billable tracking purposes.

Line_AccountBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with the expense line for job costing or billable tracking purposes.

Line_AccountBasedExpenseLineDetail_AccountRef String False

Accounts.Id

False False

The unique Id of the expense account of the expense line that records the purchase-order amount.

Line_AccountBasedExpenseLineDetail_AccountRef_Name String True

Accounts.Name

False False

The name of the expense account of the expense line that records the purchase-order amount.

Line_AccountBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The sales tax code for the expense line that is used to calculate the tax amount.

Line_AccountBasedExpenseLineDetail_BillableStatus String False False False

The billable status of the expense line that indicates whether the amount can be billed to a customer.

The allowed values are Billable, NotBillable, HasBeenBilled.

Line_AccountBasedExpenseLineDetail_MarkupInfo_Value Double False False False

The markup value applied to the expense line item to increase the price over the base cost.

Line_AccountBasedExpenseLineDetail_MarkupInfo_Percent Double False False False

The markup amount expressed as a percent of charges already entered in the current transaction. For example, to enter a rate of 10%, use 10.0, not 0.01.

VendorRef String False

Vendors.Id

False False

The unique Id of the vendor for this purchase-order transaction.

VendorRef_Name String True

Vendors.DisplayName

False False

The name of the vendor that is associated with this purchase-order transaction.

APAccountRef String False

Accounts.Id

False False

The unique Id of the accounts-payable account that is credited for the bill. Many or most small businesses have a single accounts-payable account, so the account can be implied. When specified, the account must be a Liability account and the subtype must be of type Payables.

APAccountRef_Name String True

Accounts.Name

False False

The name of the accounts-payable account that is credited for the bill. Many or most small businesses have a single accounts-payable account, so the account can be implied. When specified, the account must be a Liability account and the subtype must be of type Payables.

TotalAmt Decimal True True True

The total monetary amount due for the purchase order that is determined by the sum of the line item amounts. This total includes all charges, allowances, taxes, and discounts.

VendorAddr_Id String True False False

The unique Id of the entity for the vendor address that is mainly used for modifying the address. This field is assigned by the data service.

VendorAddr_Line1 String True False False

The first line of the vendor address.

VendorAddr_Line2 String True False False

The second line of the vendor address.

VendorAddr_Line3 String True False False

The third line of the vendor address.

VendorAddr_Line4 String True False False

The fourth line of the vendor address.

VendorAddr_Line5 String True False False

The fifth line of the vendor address.

VendorAddr_City String True False False

The name of the city in the vendor address.

VendorAddr_Country String True False False

The name of the country in the vendor address.

VendorAddr_CountrySubDivisionCode String True False False

The region within a country in the vendor address. For example, this value is the state name for the USA or the province name for Canada.

VendorAddr_PostalCode String True False False

The postal code in the vendor address. For example, this value is the ZIP code for the USA or the postal code for Canada.

VendorAddr_Lat String True False False

The latitude coordinate of the geocoded vendor address that is stored in QuickBooks Online.

VendorAddr_Long String True False False

The longitude coordinate of the geocoded vendor address that is stored in QuickBooks Online.

ShipAddr_Id String False False False

The unique Id of the Intuit entity for the shipping address that is mainly used for modifying the address. This field is assigned by the data service.

ShipAddr_Line1 String False False False

The first line of the shipping address.

ShipAddr_Line2 String False False False

The second line of the shipping address.

ShipAddr_Line3 String False False False

The third line of the shipping address.

ShipAddr_Line4 String False False False

The fourth line of the shipping address.

ShipAddr_Line5 String False False False

The fifth line of the shipping address.

ShipAddr_City String False False False

The name of the city in the shipping address.

ShipAddr_Country String False False False

The name of the country in the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

The region within a country in the shipping address. For example, this value is the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

The postal code in the shipping address. For example, this value is the ZIP code for the USA or the postal code for Canada.

ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address that is stored in QuickBooks Online.

ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address that is stored in QuickBooks Online.

ShipMethodRef String False False False

The unique Id of the entity for the shipping method that is used for this purchase order. This entity is a reference type of all Ids that are taken as input or output.

ShipMethodRef_Name String True False False

The name of the entity for the shipping method that is used for this purchase order. This entity is a reference type of all Ids that are taken as input or output.

POStatus String False False False

An enumeration that represents the current status of the purchase order, such as Open, Closed, or Void.

The allowed values are Open, Closed.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The transaction tax code that is applied to the purchase order.

TxnTaxDetail_TotalTax String False False False

The total tax that is calculated for the purchase order transaction, excluding any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of all tax line items that are associated with the purchase order.

CurrencyRef String False False False

The unique Id of the currency that is used in the purchase order transaction.

CurrencyRef_Name String True False False

The name of the currency that is used in the purchase-order transaction.

ExchangeRate Decimal False False False

The currency exchange rate. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method in which tax is applied to the purchase order. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

PurchaseOrderLinkedTransactions

Tracks relationships between purchase orders and linked transactions, such as bills or item receipts, allowing visibility into the purchasing and fulfillment lifecycle.

Columns

Name Type ReadOnly References Filterable Sortable Description
LinkedTxnId [KEY] String True False False

The unique identifier (Id) of the linked transaction line item that is associated with the purchase order.

PurchaseOrderId [KEY] String False

PurchaseOrders.Id

True False

The unique Id of the purchase order that is associated with the linked transaction.

SyncToken String True False False

The version number of the object that is used to lock the object for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The date and time when the record was created.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the record was last updated.

CustomFieldAggregate String False False False

Am XML aggregate of custom field information.

DocNumber String False True True

The reference number for the transaction that is associated with the linked purchase order.

TxnDate Date False True True

The date that is entered by the user when this transaction occurred.

PrivateNote String False False False

A private note for the transaction that does not appear on the transaction records.

LinkedTxn_TxnId String False False False

The unique Id of the linked transaction line item.

LinkedTxn_TxnType String False False False

The transaction type or category of the linked transaction line item.

LinkedTxn_TxnLineId String False False False

The Id of the specific line item within the linked transaction.

LineAggregate String False False False

An XML aggregate of all line items that are associated with the linked transaction for the purchase order.

TotalAmt Decimal True True True

The total monetary amount of the linked transaction that includes all charges, allowances, and taxes.

VendorRef String False

Vendors.Id

False False

The unique Id of the vendor that is associated with the linked transaction.

VendorRef_Name String True

Vendors.DisplayName

False False

The name of the vendor that is associated with the linked transaction.

APAccountRef String False

Accounts.Id

False False

The unique Id of the accounts-payable account to which the bill is credited. This account is implied when a company has a single accounts-payable account. When specified, the account must be a Liability account and the subtype must be of type Payables.

APAccountRef_Name String True

Accounts.Name

False False

The name of the accounts-payable account to which the bill is credited. This account is implied when a company has a single accounts-payable account. When this column is specified, the account must be a Liability account and the subtype must be of type Payables.

CData Python Connector for QuickBooks Online

PurchaseOrders

Stores header-level purchase order information, including vendor, order date, expected delivery, and total value, supporting procurement and vendor management.

Table Specific Information

PurchaseOrders may be inserted, queried, or updated via the PurchaseOrders or PurchaseOrderLineItems tables. PurchaseOrders may be deleted by using the PurchaseOrders table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

The driver processes other filters client-side within the driver.

Insert

To add a PurchaseOrder, specify the Vendor, TotalAmt, and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which PurchaseOrders. For example:

INSERT INTO PurchaseOrders (VendorRef, TotalAmt, LineAggregate) 
VALUES ('21', '0.03', '
<Line><Amount>0.01</Amount><DetailType>ItemBasedExpenseLineDetail</DetailType><ItemBasedExpenseLineDetail><ItemRef>2</ItemRef></ItemBasedExpenseLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>ItemBasedExpenseLineDetail</DetailType><ItemBasedExpenseLineDetail><ItemRef>3</ItemRef></ItemBasedExpenseLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

Specifies the unique identifier (Id) of the purchase order. This Id is used to retrieve, update, or reconcile this purchase order in QuickBooks Online.

SyncToken String True False False

The version number of the object that is used to lock the object for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The date and time when the purchase order record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the purchase order record was last updated in QuickBooks Online. This information is useful for synchronizing or auditing changes.

DocNumber String False True True

Specifies the reference number for the purchase-order transaction. This is often used by businesses to match purchase orders to vendor invoices.

TxnDate Date False True True

The date entered by the user when this purchase-order transaction occurred. This date is used for reporting, approvals, and audit tracking.

PrivateNote String False False False

A private internal note about the purchase-order transaction. This note does not appear on vendor-facing documents.

LinkedTxnAggregate String False False False

An XML aggregate containing all transactions that are linked to this purchase order, such as bills or payments. This collection enables QuickBooks Online to show the full lifecycle of a purchase order.

LineAggregate String False False False

An XML aggregate containing all line items included in this purchase order. This allows the full details of the order to be stored in a structured format for reporting or integration.

CustomFieldAggregate String False False False

An XML aggregate containing custom field information that is defined by the company for this purchase order. This collection can be used for tracking additional attributes like internal codes, job numbers, or custom classifications.

VendorRef String False

Vendors.Id

False False

Specifies the unique Id of the vendor that is associated with the purchase order. This Id ties the purchase order back to a specific vendor record in QuickBooks Online.

VendorRef_Name String True

Vendors.DisplayName

False False

Specifies the name of the vendor that is associated with the purchase order. This name is a human-readable reference to the vendor Id.

APAccountRef String False

Accounts.Id

False False

Specifies the unique Id of the accounts-payable account to which the vendor's bill for this purchase order is credited. This account is implied when a company has a single accounts-payable account. When this column is specified, the account must be a Liability account and the subtype must be of type Payables.

APAccountRef_Name String True

Accounts.Name

False False

Specifies the name of the accounts-payable account to which the vendor's bill for this purchase order is credited. This account is implied when a company has a single accounts-payable account. When specified, the account must be a Liability account and the subtype must be of type Payables.

TotalAmt Decimal True True True

Specifies the total amount due on the purchase order, determined by summing the amounts of all line items. This total includes all charges, allowances, taxes, and discounts.

VendorAddr_Id String True False False

Specifies the Id of the Intuit entity for the vendor address. This Id is mainly used for modifying the address and is assigned by the data service.

VendorAddr_Line1 String True False False

The first line of the vendor address, typically containing a street address or P.O. box.

VendorAddr_Line2 String True False False

The second line of the vendor address, typically used for additional street information or suite numbers.

VendorAddr_Line3 String True False False

The third line of the vendor address, often used for secondary address details.

VendorAddr_Line4 String True False False

The fourth line of the vendor address, available for further detail if needed.

VendorAddr_Line5 String True False False

The fifth line of the vendor address, available for further detail if needed.

VendorAddr_City String True False False

Specifies the city name of the vendor address.

VendorAddr_Country String True False False

Specifies the country name of the vendor address.

VendorAddr_CountrySubDivisionCode String True False False

Specifies the region within the country of the vendor address. For example, this value is the state name for the USA or the province name for Canada.

VendorAddr_PostalCode String True False False

Specifies the postal code of the vendor address. For example, this value is the ZIP code for the USA or the postal code for Canada.

VendorAddr_Lat String True False False

The latitude coordinate of the geocoded vendor address for location mapping.

VendorAddr_Long String True False False

The longitude coordinate of the geocoded vendor address for location mapping.

ShipAddr_Id String False False False

Specifies the Id of the Intuit entity for the shipping address. This Id is mainly used for modifying the address and is assigned by the data service.

ShipAddr_Line1 String False False False

The first line of the shipping address, typically containing a street address or P.O. box.

ShipAddr_Line2 String False False False

The second line of the shipping address, typically used for additional street information or suite numbers.

ShipAddr_Line3 String False False False

The third line of the shipping address, often used for secondary address details.

ShipAddr_Line4 String False False False

The fourth line of the shipping address, available for further detail if needed.

ShipAddr_Line5 String False False False

The fifth line of the shipping address, available for further detail if needed.

ShipAddr_City String False False False

Specifies the city name of the shipping address.

ShipAddr_Country String False False False

Specifies the country name of the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

Specifies the region within the country of the shipping address. For example, this value is the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

Specifies the postal code of the shipping address. For example, this value is the ZIP code for the USA or the postal code for Canada.

ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address for location mapping. This can be used for routing, logistics, or verification.

ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address for location mapping. This can be used for routing, logistics, or verification.

ShipMethodRef String False False False

Specifies the unique Id of the shipping method that is associated with the purchase order. This field references a list of all shipping methods that are available as input or output.

ShipMethodRef_Name String True False False

Specifies the name of the shipping method that is associated with the purchase order. This field references a list of all shipping methods that are available as input or output.

POStatus String False False False

Indicates the current status of the purchase order as an enumerated value (for example, Open, Closed, Pending). This status helps track the purchase order lifecycle.

The allowed values are Open, Closed.

POEmail_Address String False False False

Specifies the e-mail address that is associated with the purchase order for vendor communication. This is the destination address where purchase order notifications are sent.

The allowed values are Open, Closed.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code that is applied to the purchase-order transaction. This determines which tax rates are used when calculating the total tax.

TxnTaxDetail_TotalTax String False False False

Specifies the total tax calculated for the purchase-order transaction. This amount excludes any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing all individual tax line items associated with the purchase order. This provides a structured breakdown of applied taxes.

CurrencyRef String False False False

Specifies the unique Id of the currency used in the purchase-order transaction. This field supports multicurrency operations in QuickBooks Online.

CurrencyRef_Name String True False False

Specifies the name of the currency used in the purchase-order transaction. This is a human-readable reference to the CurrencyRef field.

ExchangeRate Decimal False False False

Specifies the currency exchange rate used for the purchase-order transaction. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method used to apply taxes to the purchase-order transaction (for example, TaxInclusive, TaxExclusive). This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

TransactionLocationType String False False False

Specifies the account location used for reporting and tax purposes. This field is valid only in the FR editions of QuickBooks Online.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

EmailStatus String False False False

Indicates the current e-mail status of the purchase order (for example, NotSent, Sent, Viewed). This is used to track whether the purchase order has been communicated to the vendor.

The allowed values are NotSet, NeedToSend, EmailSent.

POEmailAddress String False False False

Specifies the vendor's e-mail address where the purchase order request is sent. This ensures that the purchase order is delivered to the correct recipient for processing.

CData Python Connector for QuickBooks Online

Purchases

Represents general purchase transactions, including credit-card charges, checks, or cash purchases, capturing spending outside of standard vendor bills.

Table Specific Information

Note: A Purchase object represents an expense, such as a purchase made from a vendor.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) of the purchase transaction that is recorded in QuickBooks Online.

SyncToken String True False False

The version number of the object that is used to lock the object for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

MetaData_CreateTime Datetime True True True

The date and time when the purchase record was created in QuickBooks Online.

MetaData_LastUpdatedTime Datetime True True True

The date and time when the purchase record was last updated in QuickBooks Online.

DocNumber String False True True

The reference number for the purchase transaction that is used to identify it in reports and on printed documents.

TxnDate Date False True True

The date of the purchase transaction that is entered by the user. This date determines when the transaction posts to accounts.

PrivateNote String False False False

A private note about the purchase transaction that does not appear on printed or shared transaction records. This field maps to the Memo field on the Check and CreditCard forms.

LineAggregate String False False False

An XML aggregate of all line items that are associated with the purchase transaction. This collection provides a structured breakdown of charges, items, or expense lines.

AccountRef String False

Accounts.Id

False False

The unique Id of the account that is associated with the purchase transaction. Check payments must reference a bank account, and credit-card purchases must reference a credit card account.

AccountRef_Name String True

Accounts.Name

False False

The name of the account that is associated with the purchase transaction. Checks must reference a bank account, and credit-card purchases must reference a credit card account.

PaymentType String False False False

The payment type for the purchase transaction (for example, Cash, Check, CreditCard). This determines how QuickBooks processes and categorizes the payment.

The allowed values are Cash, Check, CreditCard.

EntityRef String False False False

The unique Id of the entity for the party that the purchase expense is associated with. This could be a vendor or another payee.

EntityRef_Name String True False False

The name of the party that the purchase expense is associated with. This provides a human-readable label for EntityRef.

Credit Boolean False False False

Indicates whether the transaction represents a credit-card credit. This field is valid only for the credit-card payment type.

TotalAmt Decimal True True True

The total monetary amount of the purchase transaction. This amount is determined by the sum of the line item amounts and includes all charges, allowances, taxes, and discounts.

PrintStatus String False False False

Indicates the print status of the purchase transaction. This field is applicable only for check transactions and is ignored for credit-card charges or refunds.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department that is associated with the purchase transaction. This field stores the location of the transaction as defined using location tracking in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with the purchase transaction. This field stores the location of the transaction as defined using location tracking in QuickBooks Online.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

Specifies the tax code that is applied to the purchase transaction. This code determines which tax rates are used when calculating the total tax.

TxnTaxDetail_TotalTax String False False False

The total tax calculated for the purchase transaction. This amount excludes any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing all individual tax line items associated with the purchase transaction. This collection provides a structured breakdown of applied taxes.

CurrencyRef String False False False

The unique Id of the currency that is used in the purchase transaction. This field supports multicurrency operations in QuickBooks Online.

CurrencyRef_Name String True False False

The name of the currency that is used in the purchase transaction. This is a human-readable reference to the CurrencyRef field.

ExchangeRate Decimal False False False

The currency exchange rate that is applied to the purchase transaction. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

Specifies the method in which tax is applied to the purchase transaction (for example, TaxInclusive, TaxExclusive). This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

TransactionLocationType String False False False

Specifies the account location that is used for reporting and tax purposes. This field is valid only in the FR editions of QuickBooks Online.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

PaymentMethodRef String True

PaymentMethods.Id

False False

The unique Id of the payment method that is associated with the purchase transaction. This Id links to the PaymentMethod entity in QuickBooks Online.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The name of the payment method that is associated with the purchase transaction. This name provides a human-readable reference to the PaymentMethodRef field.

RecurDataRef String True False False

The unique Id of the reference to the Recurring Transaction that is associated with this purchase. It captures what recurring-transaction template the purchase was created from.

LinkedTxnAggregate String False False False

An XML aggregate of transactions that are linked to the purchase transaction. This collection provides a structured list of related transactions for tracking and reconciliation.

TxnSource String True False False

An internal QuickBooks Online field that is used to specify the originating source of a credit card transaction.

IncludeInAnnualTPAR Boolean True False False

Indicates whether the supplier for this purchase is to be included in the annual Taxable Payments Annual Report (TPAR). This flag is required for compliance with Australian reporting rules.

CData Python Connector for QuickBooks Online

RecurringCreditMemoTransactions

Contains recurring transaction templates for customer credit memos, allowing automated issuance of credits to customers on a predefined schedule.

Columns

Name Type ReadOnly References Filterable Sortable Description
CreditMemo_Id [KEY] String True True False

The unique identifier (Id) that is assigned to the recurring credit-memo transaction. This Id is system-generated and used to reference the transaction across QuickBooks Online processes.

CreditMemo_SyncToken String True False False

The version number of the object. It is used to lock the object so only one application can modify it at a time. Each time the credit memo is updated, the sync token increments. Any update request that specifies an outdated sync is rejected, ensuring that only the latest version is maintained in QuickBooks Online.

CreditMemo_MetaData_CreateTime Datetime True True True

The date and time when the recurring credit-memo record was initially created in QuickBooks Online.

CreditMemo_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring credit-memo record was most recently updated.

CreditMemo_CustomFieldAggregate String False False False

An XML aggregate containing all custom fields that are applied to the credit memo. These fields can include business-specific Ids, notes, or tracking values that extend beyond the default schema.

CreditMemo_DocNumber String False False False

The reference number for the credit memo, typically used by accountants or business users to cross-reference internal documents.

CreditMemo_TxnDate Date False False False

The calendar date of the credit-memo transaction. This date represents the official date on which the transaction occurred in QuickBooks Online.

CreditMemo_PrivateNote String False False False

An internal note about the credit-memo transaction. This note is visible only to QuickBooks Online users within the company and does not appear on customer-facing records unless explicitly configured.

CreditMemo_DepartmentRef String False

Departments.Id

False False

The unique Id of the department that is linked to the transaction. In QuickBooks Online, departments are used to store the location of the transaction as defined through location tracking.

CreditMemo_DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with the credit-memo transaction, which reflects the location tracking configuration in QuickBooks Online.

CreditMemo_TxnStatus String False False False

The current status of the credit-memo transaction. Acceptable values vary depending on transaction type. For sales transactions, the values are defined in the PaymentStatusEnum data type. For estimates, the values are defined in the QboEstimateStatusEnum data type.

CreditMemo_LinkedTxnAggregate String False False False

An XML aggregate of zero or more linked transactions. Linked transactions can include invoices, payments, or other records tied to the credit memo.

CreditMemo_RecurDataRef String False False False

The unique Id of the recurrence data object that is associated with the credit-memo schedule.

CreditMemo_RecurDataRef_Name String True False False

The human-readable name that is associated with the recurrence data object linked to the credit memo.

CreditMemo_RecurringInfo_Name String False False False

The name that is assigned to the recurring credit-memo schedule, which helps users distinguish between different recurring templates.

CreditMemo_RecurringInfo_RecurType String False False False

The type of recurrence that is applied to the credit-memo schedule. Examples include Daily, Weekly, Monthly, or Yearly recurrence patterns.

The allowed values are Automated, Reminded, UnScheduled.

CreditMemo_RecurringInfo_Active Boolean False False False

Indicates whether the recurring credit-memo schedule is currently active. If this flag is set to false, the schedule does not generate new transactions.

CreditMemo_RecurringInfo_ScheduleInfo_IntervalType String False False False

The unit of time that is used for the recurrence schedule, such as Day, Week, or Month.

The allowed values are Yearly, Monthly, Weekly, Daily.

CreditMemo_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The numeric interval for the recurrence schedule. For example, a value of 2 with an interval type of Week generates a transaction every two weeks.

CreditMemo_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week when the recurring transaction occurs (for example, Monday or Friday).

CreditMemo_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month when the recurring transaction is scheduled (for example, First, Second, or Last).

CreditMemo_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of recurring credit-memo transactions that can be generated before the schedule ends.

CreditMemo_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the scheduled recurrence date when a reminder notification should be generated.

CreditMemo_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year when the recurring credit memo is generated, applicable to yearly recurrence schedules.

CreditMemo_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled recurrence date when the transaction should be created.

CreditMemo_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The specific day of the month when the recurring credit memo is scheduled to occur.

CreditMemo_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The date when the recurring credit-memo schedule becomes active and begins generating transactions.

CreditMemo_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next date when a credit memo is scheduled to be generated by the recurrence schedule.

CreditMemo_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The date when the recurrence schedule will end, after which no new credit memos are generated.

CreditMemo_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The most recent date when a credit memo was generated by the recurrence schedule.

CreditMemo_LineAggregate String False False False

An XML aggregate that stores detailed line items for the credit memo, including products, services, quantities, and amounts.

CreditMemo_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the credit-memo transaction.

CreditMemo_TxnTaxDetail_TotalTax String False False False

The total amount of tax that is calculated for the credit memo, excluding any tax line items that are manually inserted into the line list.

CreditMemo_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing individual tax line items that are associated with the credit memo.

CreditMemo_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is linked to the credit memo.

CreditMemo_CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer or job that is associated with the credit memo.

CreditMemo_CustomerMemo String False False False

The customer-facing message that is displayed on the credit memo. This message is visible to customers when they receive the transaction.

CreditMemo_BillAddr_Id String False False False

The unique Id for the billing address entity. This Id is primarily used when modifying or updating the address record in QuickBooks Online.

CreditMemo_BillAddr_Line1 String False False False

The first line of the billing address, typically used for street address or company name.

CreditMemo_BillAddr_Line2 String False False False

The second line of the billing address, often used for suite numbers, apartment numbers, or additional address details.

CreditMemo_BillAddr_Line3 String False False False

The third line of the billing address, if provided by the customer or company.

CreditMemo_BillAddr_Line4 String False False False

The fourth line of the billing address, for extended address information.

CreditMemo_BillAddr_Line5 String False False False

The fifth line of the billing address, used only if additional address information is required.

CreditMemo_BillAddr_City String False False False

The city portion of the billing address.

CreditMemo_BillAddr_Country String False False False

The country specified in the billing address.

CreditMemo_BillAddr_CountrySubDivisionCode String False False False

The regional subdivision of the country for the billing address. For example, the value is the state name in the USA or the province name in Canada.

CreditMemo_BillAddr_PostalCode String False False False

The postal code of the billing address. For example, this value represents the ZIP code in the USA and the postal code in Canada.

CreditMemo_BillAddr_Note String False False False

An optional note that is included as part of the billing address record.

CreditMemo_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address, used for mapping and validation purposes.

CreditMemo_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address, used for mapping and validation purposes.

CreditMemo_ShipAddr_Id String False False False

The unique Id of the shipping address entity that is associated with the credit memo.

CreditMemo_ShipAddr_Line1 String False False False

The first line of the shipping address, typically used for street address or recipient name.

CreditMemo_ShipAddr_Line2 String False False False

The second line of the shipping address, often used for suite or unit information.

CreditMemo_ShipAddr_Line3 String False False False

The third line of the shipping address, if applicable.

CreditMemo_ShipAddr_Line4 String False False False

The fourth line of the shipping address, if additional address details are required.

CreditMemo_ShipAddr_Line5 String False False False

The fifth line of the shipping address, used rarely for extended information.

CreditMemo_ShipAddr_City String False False False

The city portion of the shipping address.

CreditMemo_ShipAddr_Country String False False False

The country specified in the shipping address.

CreditMemo_ShipAddr_CountrySubDivisionCode String False False False

The regional subdivision of the country for the shipping address. For example, this value is the state name in the USA or the province name in Canada.

CreditMemo_ShipAddr_PostalCode String False False False

The postal code of the shipping address. For example, this value represents a ZIP code in the USA and the postal code in Canada.

CreditMemo_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address, used for mapping and validation purposes.

CreditMemo_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address, used for mapping and validation purposes.

CreditMemo_ClassRef String False

Class.Id

False False

The unique Id of the class associated with the credit-memo transaction. Classes are used for tracking different segments of a business, such as departments or product lines.

CreditMemo_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the credit-memo transaction.

CreditMemo_SalesTermRef String False

Terms.Id

False False

The unique Id of the sales term that is linked to the credit-memo transaction.

CreditMemo_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales term that is applied to the credit-memo transaction, such as Net 30 or Due on Receipt.

CreditMemo_TotalAmt Decimal False False False

The total monetary amount of the credit memo. This amount includes charges, allowances, and taxes that are applied to the transaction.

CreditMemo_PrintStatus String False False False

The current print status of the credit memo, such as NotSet, NeedToPrint, or PrintComplete.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

CreditMemo_EmailStatus String False False False

The current email delivery status of the credit memo, such as NotSet, NeedToSend, or EmailSent.

The allowed values are NotSent, NeedToSend, EmailSent.

The default value is NotSet.

CreditMemo_DepositToAccountRef String False

Accounts.Id

False False

The unique Id of the asset account where the refunded payment or credit is deposited. If this Id is not specified, QuickBooks Online defaults to the Undeposited Funds account.

CreditMemo_DepositToAccountRef_Name String True

Accounts.Name

False False

The name of the asset account where the refunded payment or credit is deposited. If this name is not specified, QuickBooks Online defaults to the Undeposited Funds account.

CreditMemo_RemainingCredit Decimal False False False

The portion of the credit-memo amount that remains available to be applied against outstanding invoices or payments.

CreditMemo_BillEmail_Address String False False False

The email address where the credit memo will be sent. If the the EmailStatus attribute is set to NeedToSend, the billing email address is required.

CreditMemo_ApplyTaxAfterDiscount Boolean False False False

Indicates whether discounts should be applied before or after taxes are calculated. If this flag is set to true, taxes are applied after discounts.

CreditMemo_CurrencyRef String False False False

The unique Id of the currency that is used in the credit-memo transaction.

CreditMemo_CurrencyRef_Name String True False False

The name of the currency that is used in the credit-memo transaction.

CreditMemo_ExchangeRate Decimal False False False

The currency exchange rate that is applied to the credit-memo. This field is only valid when the company is enabled for multicurrency. Exchange rates are always recorded as the number of home currency units required to equal one unit of the foreign currency. This field is available only in the UK, AU, and CA editions of QuickBooks Online.

CreditMemo_GlobalTaxCalculation String False False False

The method that is used to apply taxes across the transaction, such as TaxExcluded, TaxInclusive, or NotApplicable. This field is available only in the UK, AU, and CA editions of QuickBooks Online.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CreditMemo_HomeTotalAmt Decimal True False False

The total amount of the credit memo that is expressed in the company's home currency. This amount includes all charges, allowances, and taxes. This field is available only in the UK, AU, and CA editions of QuickBooks Online.

CData Python Connector for QuickBooks Online

RecurringCreditMemoTransactionsLineItems

Captures line-level details of recurring credit memos, including products or services credited, amounts, and taxes applied automatically.

Columns

Name Type ReadOnly References Filterable Sortable Description
CreditMemo_LineId [KEY] String True False False

The unique Id of the line item on the recurring credit-memo transaction.

CreditMemo_CreditMemoId [KEY] String False

CreditMemos.Id

True False

The unique Id of the recurring credit-memo transaction that this line item is associated with.

CreditMemo_SyncToken String True False False

The version number of the object that is used to lock the recurring credit memo for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

CreditMemo_MetaData_CreateTime Datetime True True True

The date and time when the recurring credit memo line item record was created in QuickBooks Online.

CreditMemo_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring credit memo line item record was last updated in QuickBooks Online.

CreditMemo_CustomFieldAggregate String False False False

An XML aggregate of all custom fields that are associated with the recurring credit-memo transaction.

CreditMemo_DocNumber String False False False

The reference number that is assigned to the recurring credit-memo transaction.

CreditMemo_TxnDate Date False False False

The date that is entered by the user when the recurring credit-memo transaction occurred.

CreditMemo_PrivateNote String False False False

A private note for the recurring credit-memo transaction that does not appear on the transaction records by default.

CreditMemo_LinkedTxnAggregate String False False False

An XML aggregate of all linked transactions that are associated with the recurring credit-memo transaction.

CreditMemo_Line_Id String False False False

The unique Id of the line item on the recurring credit-memo transaction.

CreditMemo_Line_Description String False False False

The description of the line item that appears on the printed recurring credit memo record.

CreditMemo_Line_Amount Decimal False False False

The total monetary amount of the charges or discounts for the given line. This includes all charges and allowances but excludes any tax amount.

CreditMemo_Line_DetailType String False False False

The detail type of the line item. Different detail types indicate different categories of line items, such as sales, group, or discount lines.

CreditMemo_Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

The unique Id of the item on the line. When a line item lacks an ItemRef it is treated as documentation and the Line_Amount field is ignored.

CreditMemo_Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item on the line. When a line item lacks an ItemRef it is treated as documentation and the Line_Amount field is ignored.

CreditMemo_Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class entity of the line item that is associated with the recurring credit-memo transaction.

CreditMemo_Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class entity of the line item that is associated with the recurring credit-memo transaction.

CreditMemo_Line_SalesItemLineDetail_UnitPrice Decimal False False False

The unit price of the item for this line on the recurring credit memo.

CreditMemo_Line_SalesItemLineDetail_Qty Double False False False

The quantity of items for this line on the recurring credit memo.

CreditMemo_Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to this line item.

CreditMemo_Line_SalesItemLineDetail_ServiceDate Date False False False

The date when the service was performed or delivered for this line item.

CreditMemo_Line_GroupLineDetail_GroupItemRef String True False False

The unique Id of the group item object if the line item is a group line.

CreditMemo_Line_GroupLineDetail_GroupItemRef_Name String True False False

The name of the group item object if the line item is a group line.

CreditMemo_Line_GroupLineDetail_Quantity Integer True False False

The quantity of the group item on the recurring credit memo line.

CreditMemo_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the recurring credit-memo transaction.

CreditMemo_TxnTaxDetail_TotalTax String False False False

The total tax amount calculated for the recurring credit-memo transaction, excluding any tax lines manually inserted into the transaction line list.

CreditMemo_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of all tax line items that are associated with the recurring credit-memo transaction.

CreditMemo_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring credit memo template or schedule.

CreditMemo_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring credit memo template or schedule.

CreditMemo_RecurringInfo_Name String False False False

The descriptive name of the recurring credit-memo schedule or template.

CreditMemo_RecurringInfo_RecurType String False False False

The recurring type of the credit-memo schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

CreditMemo_RecurringInfo_Active Boolean False False False

Indicates whether the recurring credit-memo schedule is active or inactive.

CreditMemo_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring credit-memo schedule that defines how often the credit memo recurs, such as weekly, monthly, or yearly.

The allowed values are Yearly, Monthly, Weekly, Daily.

CreditMemo_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring credit-memo schedule. This value determines how frequently the credit memo recurs based on the interval type.

CreditMemo_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring credit memo is scheduled to occur when the interval type is weekly.

CreditMemo_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring credit memo is scheduled to occur when the interval type is monthly.

CreditMemo_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences allowed for the recurring credit-memo schedule.

CreditMemo_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring credit memo should be sent.

CreditMemo_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring credit memo is scheduled to occur when the interval type is yearly.

CreditMemo_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring credit memo is processed or triggered.

CreditMemo_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring credit memo is scheduled to occur.

CreditMemo_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring credit-memo schedule that is associated with the recurrence template.

CreditMemo_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring credit memo to occur.

CreditMemo_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring credit-memo schedule when no further occurrences are generated.

CreditMemo_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring credit memo occurred.

CreditMemo_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with the recurring credit-memo transaction.

CreditMemo_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with the recurring credit-memo transaction.

CreditMemo_CustomerMemo String False False False

The message to the customer that appears on the recurring credit-memo transaction.

CreditMemo_BillAddr_Id String False False False

The Id of the entity for the billing address, which is mainly used for modifying the address. This field is assigned by the data service.

CreditMemo_BillAddr_Line1 String False False False

The first line of the billing address.

CreditMemo_BillAddr_Line2 String False False False

The second line of the billing address.

CreditMemo_BillAddr_Line3 String False False False

The third line of the billing address.

CreditMemo_BillAddr_Line4 String False False False

The fourth line of the billing address.

CreditMemo_BillAddr_Line5 String False False False

The fifth line of the billing address.

CreditMemo_BillAddr_City String False False False

The city name of the billing address.

CreditMemo_BillAddr_Country String False False False

The country name of the billing address.

CreditMemo_BillAddr_CountrySubDivisionCode String False False False

The region within a country of the billing address. For example, this value is the state name for the USA or the province name for Canada.

CreditMemo_BillAddr_PostalCode String False False False

The postal code of the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

CreditMemo_BillAddr_Note String False False False

A note that is related to the billing address for the customer.

CreditMemo_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address.

CreditMemo_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address.

CreditMemo_ShipAddr_Line1 String False False False

The first line of the shipping address.

CreditMemo_ShipAddr_Line2 String False False False

The second line of the shipping address.

CreditMemo_ShipAddr_Line3 String False False False

The third line of the shipping address.

CreditMemo_ShipAddr_Line4 String False False False

The fourth line of the shipping address.

CreditMemo_ShipAddr_Line5 String False False False

The fifth line of the shipping address.

CreditMemo_ShipAddr_City String False False False

The city name of the shipping address.

CreditMemo_ShipAddr_Country String False False False

The country name of the shipping address.

CreditMemo_ShipAddr_CountrySubDivisionCode String False False False

The region within a country of the shipping address. For example, this value is the state name for the USA or the province name for Canada.

CreditMemo_ShipAddr_PostalCode String False False False

The postal code of the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

CreditMemo_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address.

CreditMemo_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address.

CreditMemo_ClassRef String False

Class.Id

False False

The unique Id of the class that is associated with the credit-memo transaction.

CreditMemo_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the credit-memo transaction.

CreditMemo_SalesTermRef String False

Terms.Id

False False

The Id of the sales term that is associated with the credit-memo transaction.

CreditMemo_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales term that is associated with the credit-memo transaction.

CreditMemo_TotalAmt Decimal False False False

The total monetary amount of the credit-memo transaction. This includes the total of all the charges, allowances, and taxes.

CreditMemo_PrintStatus String False False False

The print status of the credit-memo transaction, which indicates whether the document has been printed.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

CreditMemo_EmailStatus String False False False

The email status of the credit-memo transaction, which indicates whether the document has been emailed.

The allowed values are NotSent, NeedToSend, EmailSent.

The default value is NotSet.

CreditMemo_DepositToAccountRef String False

Accounts.Id

False False

The Id of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

CreditMemo_DepositToAccountRef_Name String True

Accounts.Name

False False

The name of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

CreditMemo_RemainingCredit Decimal False False False

The total credit amount that is still available to apply toward the customer's outstanding payments.

CreditMemo_DepartmentRef String False

Departments.Id

False False

The Id of the department or location that stores the credit-memo transaction in QuickBooks Online.

CreditMemo_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that stores the credit-memo transaction in QuickBooks Online.

CreditMemo_BillEmail_Address String False False False

The email address where the credit memo or related invoice is sent. If the value of the EmailStatus attribute is NeedToSend, this billing email address is required.

CreditMemo_ApplyTaxAfterDiscount Boolean False False False

Sets whether the discount is applied before or after taxes are calculated on the credit-memo transaction.

CreditMemo_CurrencyRef String False False False

The Id of the currency used for all monetary amounts of the credit-memo transaction. This field is available in only the UK, AU, and CA editions.

CreditMemo_CurrencyRef_Name String True False False

The name of the currency used for all monetary amounts of the credit-memo transaction. This field is available in only the UK, AU, and CA editions.

CreditMemo_ExchangeRate Decimal False False False

The currency exchange rate that is applied to the credit-memo transaction. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for only the UK, AU, and CA editions.

CreditMemo_GlobalTaxCalculation String False False False

The method in which tax is applied on the credit-memo transaction. This field is valid in only the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CreditMemo_HomeTotalAmt Decimal True False False

The total amount of the credit-memo transaction expressed in the home currency. This field includes the total of all the charges, allowances, and taxes. This field is valid in only the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringDepositTransactions

Stores recurring templates for deposit transactions, enabling businesses to automate repetitive deposits into bank accounts.

Columns

Name Type ReadOnly References Filterable Sortable Description
Deposit_Id [KEY] String True True False

The unique identifier (Id) of the deposit that is part of the recurring deposit transaction.

Deposit_SyncToken String True False False

The version number of the object that is used to lock the deposit for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Deposit_MetaData_CreateTime Datetime True True True

The date and time when the recurring deposit record was created in QuickBooks Online.

Deposit_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring deposit record was last updated in QuickBooks Online.

Deposit_TxnDate Date False False False

The date that is entered by the user when this recurring deposit transaction occurred.

Deposit_PrivateNote String False False False

A private note for the recurring deposit transaction that does not appear on the transaction records by default.

Deposit_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring deposit template or schedule.

Deposit_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring deposit template or schedule.

Deposit_RecurringInfo_Name String False False False

The descriptive name of the recurring deposit schedule or template.

Deposit_RecurringInfo_RecurType String False False False

The recurring type of the deposit schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Deposit_RecurringInfo_Active Boolean False False False

Indicates whether the recurring deposit schedule is active or inactive.

Deposit_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring deposit schedule that defines how often the deposit recurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Deposit_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring deposit schedule. This value determines how frequently the deposit recurs based on the interval type.

Deposit_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring deposit is scheduled to occur when the interval type is weekly.

Deposit_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring deposit is scheduled to occur when the interval type is monthly.

Deposit_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that are allowed for the recurring deposit schedule.

Deposit_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring deposit should be sent.

Deposit_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring deposit is scheduled to occur when the interval type is yearly.

Deposit_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring deposit is processed or triggered.

Deposit_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring deposit is scheduled to occur.

Deposit_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring deposit schedule that is associated with the recurrence template.

Deposit_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring deposit to occur.

Deposit_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring deposit schedule when no further occurrences are generated.

Deposit_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring deposit occurred.

Deposit_LineAggregate String False False False

An XML aggregate that contains the complete set of line items included in the recurring deposit transaction. This field groups together every individual line detail?such as amounts, account references, and memo information?into one structured XML block so that all the components of the deposit can be transmitted, stored, or retrieved as a single unit.

Deposit_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the recurring deposit transaction. This field is valid in the UK, AU, and CA editions.

Deposit_TxnTaxDetail_TotalTax String False False False

The total tax amount that is calculated for the recurring deposit transaction, excluding any tax lines that are manually inserted into the transaction line list. This field is valid in the UK, AU, and CA editions.

Deposit_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of all tax line items that are associated with the recurring deposit transaction. This field is valid in the UK, AU, and CA editions.

Deposit_DepositToAccountRef String False

Accounts.Id

False False

The Id of the asset account to which the funds from the deposit are recorded.

Deposit_DepositToAccountRef_Name String False

Accounts.Name

False False

The name of the asset account to which the funds from the deposit are recorded.

Deposit_ClassRef String False

Class.Id

False False

The Id of the class that is associated with the recurring deposit transaction.

Deposit_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the recurring deposit transaction.

Deposit_TotalAmt Decimal True False False

The total monetary amount of the recurring deposit transaction. This amount includes the total of all the charges, allowances, and taxes.

Deposit_CashBack_AccountRef String True

Accounts.Id

False False

The Id of the asset account (typically a bank account) to be used for the cash-back portion of the recurring deposit transaction.

Deposit_CashBack_AccountRef_Name String False

Accounts.Name

False False

The name of the asset account (typically a bank account) that is used for the cash-back portion of the recurring deposit transaction.

Deposit_CashBack_Amount Decimal False False False

The monetary amount of the cash-back portion of the recurring deposit transaction.

Deposit_CashBack_Memo String True False False

The memo or note that is associated with the cash back portion of the recurring deposit transaction. This field can be used for internal reference or reporting purposes.

Deposit_DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is associated with the recurring deposit transaction as defined using location tracking in QuickBooks Online.

Deposit_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that is associated with the recurring deposit transaction as defined by using location tracking in QuickBooks Online.

Deposit_ApplyTaxAfterDiscount Boolean False False False

Sets whether discounts are applied before or after taxes are calculated for the recurring deposit transaction.

Deposit_ExchangeRate Decimal False False False

The currency exchange rate that is recorded for the recurring deposit transaction. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is applicable only when multicurrency is enabled for the company.

Deposit_CurrencyRef String False False False

The unique Id of the currency that is used for all amounts of the recurring deposit transaction.

Deposit_CurrencyRef_Name String True False False

The name of the currency that is used for all amounts of the recurring deposit transaction.

Deposit_GlobalTaxCalculation String False False False

The method in which tax is applied to the recurring deposit transaction. This field is valid in only the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

RecurringDepositTransactionsLineItems

Contains line-level details of recurring deposits, such as payment sources and amounts, supporting automation of regular income deposits.

Columns

Name Type ReadOnly References Filterable Sortable Description
Deposit_LineId [KEY] String True False False

The unique identifier (Id) of the line item within the recurring deposit transaction. This identifier ties the line item back to its parent deposit record.

Deposit_DepositId [KEY] String False

Deposits.Id

True False

The Id of the parent recurring deposit transaction to which this line item belongs.

Deposit_SyncToken String True False False

The version number of the object that is used to lock the line item for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Deposit_MetaData_CreateTime Datetime True True True

The date and time when this recurring deposit line-item record was created in QuickBooks Online.

Deposit_MetaData_LastUpdatedTime Datetime True True True

The date and time when this recurring deposit line-item record was last updated in QuickBooks Online.

Deposit_TxnDate Date False False False

The date that is entered by the user when this recurring deposit line-item transaction occurred.

Deposit_PrivateNote String False False False

A private note for the recurring deposit line-item transaction that does not appear on the transaction records.

Deposit_Line_Id String False False False

The Id of the individual line item within the recurring deposit transaction.

Deposit_Line_Description String False False False

A descriptive text for the recurring deposit line item that appears in the printed or displayed record.

Deposit_Line_Amount Decimal False False False

The monetary amount of the recurring deposit line item. This amount includes charges or credits for that line, but excludes tax amounts.

Deposit_Line_DetailType String False False False

The detail type of the recurring deposit line item. Different detail types indicate different kinds of line items, such as payments, adjustments, or credits.

Deposit_Line_DepositLineDetail_PaymentMethodRef String False

PaymentMethods.Id

False False

The Id of the payment method that is associated with this line item.

Deposit_Line_DepositLineDetail_PaymentMethodRef_Name String False

PaymentMethods.Name

False False

The name of the payment method that is associated with this line item.

Deposit_Line_DepositLineDetail_AccountRef String False

Accounts.Id

False False

The Id of the account where the funds from this line item are deposited.

Deposit_Line_DepositLineDetail_AccountRef_Name String False

Accounts.Name

False False

The name of the account where the funds from this line item are deposited.

Deposit_Line_DepositLineDetail_Entity String False

Customers.Id

False False

The Id of the customer or entity from which the deposit was received for this line item.

Deposit_Line_DepositLineDetail_Entity_Name String False

Customers.DisplayName

False False

The name of the customer or entity from which the deposit was received for this line item.

Deposit_Line_DepositLineDetail_ClassRef String False

Class.Id

False False

The Id of the class that is associated with this recurring deposit line item for location or category tracking.

Deposit_Line_DepositLineDetail_ClassRef_Name String False

Class.FullyQualifiedName

False False

The name of the class that is associated with this recurring deposit line item for location or category tracking.

Deposit_Line_DepositLineDetail_CheckNum String False False False

The check number that is associated with this recurring deposit line item, if the payment was made by check.

Deposit_Line_DepositLineDetail_TxnType String False False False

The type of payment transaction for this line item. Different types indicate different kinds of line items.

Deposit_Line_DepositLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The sales or purchase tax code associated with this recurring deposit line item. This field is valid in the UK, AU, and CA editions.

Deposit_Line_DepositLineDetail_TaxApplicableOn String False False False

Indicates whether the tax applicable on this line item is sales tax or purchase tax. This field is valid in the UK, AU, and CA editions.

Deposit_Line_LinkedTxn_TxnId String True False False

The Id of the linked transaction that is connected to this recurring deposit line item.

Deposit_Line_LinkedTxn_TxnType String True False False

The type of the linked transaction that is connected to this recurring deposit line item.

Deposit_Line_LinkedTxn_TxnLineId String True False False

The Id of the specific line item within the linked transaction that is connected to this recurring deposit line item.

Deposit_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to the recurring deposit transaction. This field is valid in the UK, AU, and CA editions.

Deposit_TxnTaxDetail_TotalTax String False False False

The total tax amount that is calculated for the recurring deposit transaction, excluding any tax lines that are manually inserted into the transaction line list. This field is valid in the UK, AU, and CA editions.

Deposit_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that contains all tax line items associated with the recurring deposit transaction. This field is valid in the UK, AU, and CA editions.

Deposit_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the template or schedule driving this recurring deposit transaction line item.

Deposit_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the template or schedule driving this recurring deposit transaction line item.

Deposit_RecurringInfo_Name String False False False

The descriptive name of the recurring deposit schedule or template.

Deposit_RecurringInfo_RecurType String False False False

The recurring type of the deposit schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Deposit_RecurringInfo_Active Boolean False False False

Indicates whether the recurring deposit schedule is active or inactive.

Deposit_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring deposit schedule that defines how often the deposit recurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Deposit_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring deposit schedule. This value determines how frequently the deposit recurs based on the interval type.

Deposit_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring deposit is scheduled to occur when the interval type is weekly.

Deposit_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring deposit is scheduled to occur when the interval type is monthly.

Deposit_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences allowed for the recurring deposit schedule.

Deposit_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring deposit should be sent.

Deposit_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring deposit is scheduled to occur when the interval type is yearly.

Deposit_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring deposit is processed or triggered.

Deposit_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring deposit is scheduled to occur.

Deposit_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring deposit schedule that is associated with the recurrence template.

Deposit_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring deposit to occur.

Deposit_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring deposit schedule when no further occurrences are generated.

Deposit_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring deposit occurred.

Deposit_DepositToAccountRef String False

Accounts.Id

False False

The Id of the asset account where the funds for this recurring deposit are deposited.

Deposit_DepositToAccountRef_Name String False

Accounts.Name

False False

The name of the asset account where the funds for this recurring deposit are deposited.

Deposit_ClassRef String False

Class.Id

False False

The Id of the class that is associated with this recurring deposit transaction for location or category tracking.

Deposit_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with this recurring deposit transaction for location or category tracking.

Deposit_TotalAmt Decimal True False False

The total monetary amount of the recurring deposit transaction. This includes all charges, allowances, and taxes.

Deposit_CashBack_AccountRef String True False False

The Id of the asset account (bank account) to be used for the cash-back portion of this recurring deposit transaction.

Deposit_CashBack_AccountRef_Name String False False False

The name of the asset account (bank account) to be used for the cash-back portion of this recurring deposit transaction.

Deposit_CashBack_Amount Decimal False False False

The amount of the cash-back portion of this recurring deposit transaction.

Deposit_CashBack_Memo String True False False

The memo or descriptive text associated with the cash-back portion of this recurring deposit transaction.

Deposit_DepartmentRef String False

Departments.Id

False False

The Id of the department or location that is associated with this recurring deposit transaction as defined by using location tracking in QuickBooks Online.

Deposit_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that is associated with this recurring deposit transaction as defined by using location tracking in QuickBooks Online.

Deposit_ApplyTaxAfterDiscount Boolean False False False

Sets whether discounts are applied before or after tax is calculated on this recurring deposit transaction.

Deposit_CurrencyRef String False False False

The Id of the currency that is used for all amounts in this recurring deposit transaction.

Deposit_CurrencyRef_Name String True False False

The name of the currency that is used for all amounts in this recurring deposit transaction.

Deposit_GlobalTaxCalculation String False False False

The method in which tax is applied to this recurring deposit transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

RecurringEstimateTransactions

Maintains recurring estimate templates, automating the generation of customer quotes on a set schedule for recurring sales opportunities.

Table Specific Information

We can perform Select and Insert operations on RecurringEstimateTransactions table.

Select

Estimate_Id, Estimate_MetaData_CreateTime, Estimate_MetaData_LastUpdatedTime can be used for server side filter. The driver processes other filters client-side within the driver.

SELECT * FROM RecurringEstimateTransactions WHERE Estimate_Id = 25529
SELECT * FROM RecurringEstimateTransactions WHERE Estimate_Id IN (25528, 25531, 25530)
SELECT * FROM RecurringEstimateTransactions WHERE Estimate_MetaData_CreateTime = '2020-03-19 19:49:51.0'
SELECT * FROM RecurringEstimateTransactions WHERE Estimate_MetaData_LastUpdatedTime = '2021-01-03 14:46:13'

Insert

To add a RecurringEstimateTransactions following fields needs to be added:

  • A RecurringEstimateTransactions object must have at least one line that describes an item.
  • A RecurringEstimateTransactions object must have a RecurringInfo.

INSERT INTO RecurringEstimateTransactions (Estimate_Id, Estimate_CustomerRef, Estimate_RecurringInfo_Name, Estimate_RecurringInfo_RecurType, Estimate_RecurringInfo_Active, Estimate_RecurringInfo_ScheduleInfo_IntervalType, Estimate_RecurringInfo_ScheduleInfo_NumInterval, Estimate_RecurringInfo_ScheduleInfo_DayOfWeek, Estimate_RecurringInfo_ScheduleInfo_WeekOfMonth, Estimate_RecurringInfo_ScheduleInfo_StartDate, Estimate_RecurringInfo_ScheduleInfo_NextDate, Estimate_RecurringInfo_ScheduleInfo_PreviousDate, Estimate_LineAggregate) VALUES (49, 2, 'TestingA11', 'Reminded', false,  'Weekly', 2,  'Tuesday', 3, '2021-12-08', '2021-12-15', '2021-09-01', '<Line><Amount>0.01</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>2</ItemRef></SalesItemLineDetail></Line><Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>3</ItemRef></SalesItemLineDetail></Line>')

Columns

Name Type ReadOnly References Filterable Sortable Description
Estimate_Id [KEY] String True True False

The unique identifier (Id) of the estimate that is part of the recurring estimate transaction.

Estimate_SyncToken String True False False

The version number of the object that is used to lock the estimate for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Estimate_MetaData_CreateTime Datetime True True True

The date and time when the recurring estimate record was created in QuickBooks Online.

Estimate_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring estimate record was last updated in QuickBooks Online.

Estimate_CustomFieldAggregate String False False False

Am XML aggregate of custom field information.

Estimate_DocNumber String False False False

The reference number that is assigned to the recurring estimate transaction.

Estimate_TxnDate Date False False False

The date that is entered by the user when this recurring estimate transaction occurred.

Estimate_DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is associated with the recurring estimate transaction as defined using location tracking in QuickBooks Online.

Estimate_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that is associated with the recurring estimate transaction as defined using location tracking in QuickBooks Online.

Estimate_PrivateNote String False False False

A private note for the recurring estimate transaction that does not appear on the transaction records.

Estimate_TxnStatus String False False False

The status of the recurring estimate transaction. Depending on the transaction type, this field can have different values.

The allowed values are Accepted, Closed, Pending, Rejected.

Estimate_LinkedTxnAggregate String False False False

An XML aggregate of zero or more linked transactions that are associated with the recurring estimate.

Estimate_LineAggregate String False False False

An XML aggregate of all line items that are included in the recurring estimate transaction.

Estimate_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the recurring estimate transaction.

Estimate_TxnTaxDetail_TotalTax String False False False

The total tax amount calculated for the recurring estimate transaction, excluding any tax lines that are manually inserted into the transaction line list.

Estimate_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of all tax line items that are associated with the recurring estimate transaction.

Estimate_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring estimate template or schedule.

Estimate_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring estimate template or schedule.

Estimate_RecurringInfo_Name String False False False

The descriptive name of the recurring estimate schedule or template.

Estimate_RecurringInfo_RecurType String False False False

The recurring type of the estimate schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Estimate_RecurringInfo_Active Boolean False False False

Indicates whether the recurring estimate schedule is active or inactive.

Estimate_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring estimate schedule that defines how often the estimate recurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Estimate_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring estimate schedule. This value determines how frequently the estimate recurs based on the interval type.

Estimate_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring estimate is scheduled to occur when the interval type is weekly.

Estimate_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month in which the recurring estimate is scheduled to occur when the interval type is monthly.

Estimate_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that are allowed for the recurring estimate schedule.

Estimate_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date in which a reminder for the recurring estimate should be sent.

Estimate_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year in which the recurring estimate is scheduled to occur when the interval type is yearly.

Estimate_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring estimate is processed or triggered.

Estimate_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring estimate is scheduled to occur.

Estimate_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring estimate schedule that is associated with the recurrence template.

Estimate_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring estimate to occur.

Estimate_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring estimate schedule when no further occurrences are generated.

Estimate_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring estimate occurred.

Estimate_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with the recurring estimate transaction.

Estimate_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with the recurring estimate transaction.

Estimate_CustomerMemo String False False False

The message to the customer that appears in the estimate and on the printed estimate. This field can be used to communicate additional information about the estimate.

Estimate_BillAddr_Id String False False False

The Id of the entity for the billing address, mainly used for modifying the address. This field is assigned by the data service.

Estimate_BillAddr_Line1 String False False False

The first line of the billing address that is associated with the recurring estimate.

Estimate_BillAddr_Line2 String False False False

The second line of the billing address that is associated with the recurring estimate.

Estimate_BillAddr_Line3 String False False False

The third line of the billing address that is associated with the recurring estimate.

Estimate_BillAddr_Line4 String False False False

The fourth line of the billing address that is associated with the recurring estimate.

Estimate_BillAddr_Line5 String False False False

The fifth line of the billing address that is associated with the recurring estimate.

Estimate_BillAddr_City String False False False

The city name of the billing address.

Estimate_BillAddr_Country String False False False

The country name of the billing address.

Estimate_BillAddr_CountrySubDivisionCode String False False False

The region within the country for the billing address. For example, this value is the state name for the USA or the province name for Canada.

Estimate_BillAddr_PostalCode String False False False

The postal code of the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

Estimate_BillAddr_Note String False False False

A note for the customer that is included with the billing address.

Estimate_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address.

Estimate_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address.

Estimate_ShipAddr_Id String False False False

The Id of the entity for the shipping address, mainly used for modifying the address. This field is assigned by the data service.

Estimate_ShipAddr_Line1 String False False False

The first line of the shipping address that is associated with the recurring estimate.

Estimate_ShipAddr_Line2 String False False False

The second line of the shipping address that is associated with the recurring estimate.

Estimate_ShipAddr_Line3 String False False False

The third line of the shipping address that is associated with the recurring estimate.

Estimate_ShipAddr_Line4 String False False False

The fourth line of the shipping address that is associated with the recurring estimate.

Estimate_ShipAddr_Line5 String False False False

The fifth line of the shipping address that is associated with the recurring estimate.

Estimate_ShipAddr_City String False False False

The city name of the shipping address.

Estimate_ShipAddr_Country String False False False

The country name of the shipping address.

Estimate_ShipAddr_CountrySubDivisionCode String False False False

The region within the country for the shipping address. For example, this value is the state name for the USA or the province name for Canada.

Estimate_ShipAddr_PostalCode String False False False

The postal code of the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

Estimate_ShipAddr_Note String False False False

A note for the customer that is included with the shipping address.

Estimate_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address.

Estimate_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address.

Estimate_ClassRef String False

Class.Id

False False

The Id of the class that is associated with the recurring estimate transaction.

Estimate_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class associated with the recurring estimate transaction.

Estimate_SalesTermRef String False

Terms.Id

False False

The Id of the sales terms that is associated with the recurring estimate transaction.

Estimate_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales terms that is associated with the recurring estimate transaction.

Estimate_DueDate Date False False False

The due date for the estimate. This date excludes any early-payment discount incentives or late-payment penalties. If the date is not supplied, the current date on the server is used.

Estimate_ShipMethodRef String False False False

The Id of the shipping method that is associated with the recurring estimate transaction.

Estimate_ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the recurring estimate transaction.

Estimate_ShipDate Date False False False

The date when the goods or services in the estimate are scheduled for delivery.

Estimate_TrackingNum String False False False

The tracking number from the shipping provider for the delivery of the goods or services associated with the recurring estimate transaction.

Estimate_TotalAmt Decimal True False False

The total amount of the recurring estimate transaction. This amount includes the total of all charges, allowances, and taxes.

Estimate_PrintStatus String False False False

The print status of the estimate.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

Estimate_EmailStatus String False False False

The email status of the estimate.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

Estimate_BillEmail_Address String False False False

The email address where the estimate is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address is required.

Estimate_Balance Decimal False False False

Indicates whether the transaction is a finance charge or displays the outstanding balance of the estimate.

Estimate_ExpirationDate Date False False False

The date when the estimate becomes invalid and can no longer be accepted.

Estimate_AcceptedBy String False False False

The name of the customer who accepted the estimate.

Estimate_AcceptedDate Date False False False

The date on which the estimate was accepted by the customer.

Estimate_ApplyTaxAfterDiscount Boolean False False False

This field sets whether discounts are applied before or after taxes are calculated on the estimate.

Estimate_CurrencyRef String False False False

The Id of the currency used in the recurring estimate transaction.

Estimate_CurrencyRef_Name String True False False

The name of the currency used in the recurring estimate transaction.

Estimate_ExchangeRate Decimal False False False

The currency exchange rate. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available in the UK, AU, and CA editions.

Estimate_GlobalTaxCalculation String False False False

The method used to apply taxes to the recurring estimate transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

Estimate_HomeTotalAmt Decimal True False False

The total amount of the recurring estimate transaction expressed in the home currency. This field includes all charges, allowances, and taxes and is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringEstimateTransactionsLineItems

Captures the line-level details of recurring estimates, such as products, services, and pricing, ensuring consistent quote creation over time.

Table Specific Information

RecurringEstimateTransactions may be inserted or queried via the RecurringEstimateTransactions or RecurringEstimateTransactionsLineItems tables.

Select


SELECT * FROM RecurringEstimateTransactionsLineItems

Insert

To add a RecurringEstimateTransactionsLineItems following fields needs to be added:

  • It must have at least one line that describes an item.
  • It must have a RecurringInfo.

INSERT INTO RecurringEstimateTransactionsLineItems (Estimate_Id, Estimate_CustomerRef, Estimate_RecurringInfo_Name, Estimate_RecurringInfo_RecurType, Estimate_RecurringInfo_Active, Estimate_RecurringInfo_ScheduleInfo_IntervalType, Estimate_RecurringInfo_ScheduleInfo_NumInterval, Estimate_RecurringInfo_ScheduleInfo_DayOfWeek, Estimate_RecurringInfo_ScheduleInfo_WeekOfMonth, Estimate_RecurringInfo_ScheduleInfo_StartDate, Estimate_RecurringInfo_ScheduleInfo_NextDate, Estimate_RecurringInfo_ScheduleInfo_PreviousDate, Estimate_Line_DetailType, Estimate_Line_SalesItemLineDetail_ItemRef, Estimate_Line_Amount, Estimate_Line_SalesItemLineDetail_Qty, Estimate_Line_SalesItemLineDetail_DiscountAmt, Estimate_Line_SalesItemLineDetail_TaxCodeRef) VALUES (49, 2, 'TESTING155BCD11', 'Reminded', false, 'Weekly', 2, 'Tuesday', 3, '2021-12-08', '2021-12-15', '2021-09-01', 'SalesItemLineDetail', '5', 100.01, 8, 22.3, 'TAX')

Columns

Name Type ReadOnly References Filterable Sortable Description
Estimate_LineId [KEY] String True False False

The unique identifier (Id) of the line item in the recurring estimate transaction.

Estimate_Id [KEY] String False

Estimates.Id

True False

The Id of the recurring estimate transaction to which this line item belongs.

Estimate_SyncToken String True False False

The version number of the object that is used to lock the recurring estimate transaction for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Estimate_MetaData_CreateTime Datetime True True True

The date and time when the recurring estimate line item record was created in QuickBooks Online.

Estimate_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring estimate line item record was last updated in QuickBooks Online.

Estimate_CustomFieldAggregate String False False False

An XML aggregate of custom field information.

Estimate_DocNumber String False False False

The reference number that is assigned to the recurring estimate transaction.

Estimate_TxnDate Date False False False

The date that is entered by the user when the recurring estimate transaction occurred.

Estimate_DepartmentRef String False

Departments.Id

False False

The Id of the department or location that is associated with the recurring estimate transaction as defined using location tracking in QuickBooks Online.

Estimate_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that is associated with the recurring estimate transaction as defined by using location tracking in QuickBooks Online.

Estimate_PrivateNote String False False False

A private note for the recurring estimate transaction that does not appear on the transaction records.

Estimate_TxnStatus String False False False

The current status of the recurring estimate transaction.

The allowed values are Accepted, Closed, Pending, Rejected.

Estimate_LinkedTxnAggregate String False False False

An XML aggregate of all transactions that are linked to the recurring estimate transaction.

Estimate_Line_Id String False False False

The Id of the line item within the recurring estimate transaction.

Estimate_Line_LineNum String False False False

The sequential line number that is assigned to this line item within the recurring estimate transaction.

Estimate_Line_Description String False False False

The description of the line item that appears in the printed or displayed version of the recurring estimate.

Estimate_Line_Amount Decimal False False False

The total monetary amount for this line item. This includes all charges and allowances but excludes tax amounts.

Estimate_Line_DetailType String False False False

The detail type of the line item. Different detail types indicate different types of line items, such as product, service, or group.

Estimate_Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

The Id of the item referenced in this line item. When an item reference is absent, the line item is treated as documentation and the Line_Amount field is ignored.

Estimate_Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item referenced in this line item. When an item reference is absent, the line item is treated as documentation and the Line_Amount field is ignored.

Estimate_Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

The Id of the class that is assigned to this line item in the recurring estimate transaction.

Estimate_Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is assigned to this line item in the recurring estimate transaction.

Estimate_Line_SalesItemLineDetail_UnitPrice Decimal False False False

The unit price of the item that is referenced by this line item in the recurring estimate transaction.

Estimate_Line_SalesItemLineDetail_Qty Double False False False

The quantity or number of items that is specified in this line item of the recurring estimate transaction.

Estimate_Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to this line item in the recurring estimate transaction.

Estimate_Line_SalesItemLineDetail_ServiceDate Date False False False

The date on which the service related to this line item was performed.

Estimate_Line_SalesItemLineDetail_DiscountAmt Decimal False False False

The discount amount that is applied to this line item in the recurring estimate transaction.

Estimate_Line_SalesItemLineDetail_DiscountRate Decimal False False False

The discount rate that is applied to this line item in the recurring estimate transaction.

Estimate_Line_GroupLineDetail_GroupItemRef String True False False

The Id of the group item object that is associated with this line item.

Estimate_Line_GroupLineDetail_GroupItemRef_Name String True False False

The name of the group item object that is associated with this line item.

Estimate_Line_GroupLineDetail_Quantity Integer True False False

The total quantity of the group item that is specified for this line item in the recurring estimate transaction.

Estimate_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to the entire recurring estimate transaction.

Estimate_TxnTaxDetail_TotalTax String False False False

The total tax that is calculated for the recurring estimate transaction, excluding any tax lines that are manually inserted into the transaction line list.

Estimate_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of all tax line items that are associated with the recurring estimate transaction.

Estimate_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring estimate template or schedule.

Estimate_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring estimate template or schedule.

Estimate_RecurringInfo_Name String False False False

The descriptive name of the recurring estimate schedule or template.

Estimate_RecurringInfo_RecurType String False False False

The recurring type of the estimate schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Estimate_RecurringInfo_Active Boolean False False False

Indicates whether the recurring estimate schedule is active or inactive.

Estimate_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring estimate schedule that defines how often the estimate recurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Estimate_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring estimate schedule. This value determines how frequently the estimate recurs based on the interval type.

Estimate_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring estimate is scheduled to occur when the interval type is weekly.

Estimate_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring estimate is scheduled to occur when the interval type is monthly.

Estimate_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences allowed for the recurring estimate schedule.

Estimate_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring estimate should be sent.

Estimate_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year in which the recurring estimate transaction is scheduled to occur when the interval type is yearly.

Estimate_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring estimate transaction should be processed or triggered.

Estimate_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring estimate transaction is scheduled to occur.

Estimate_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring estimate schedule that is associated with the recurrence template.

Estimate_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring estimate transaction to occur.

Estimate_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring estimate schedule when no further occurrences are generated.

Estimate_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring estimate transaction occurred.

Estimate_CustomerRef String False

Customers.Id

False False

The Id of the customer that is associated with the recurring estimate transaction.

Estimate_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with the recurring estimate transaction.

Estimate_CustomerMemo String False False False

A message to the customer that appears in the printed invoice and on the invoice itself for the recurring estimate transaction.

Estimate_BillAddr_Id String False False False

The identifier (Id) of the entity for the billing address that is mainly used for modifying the address. This field is assigned by the data service.

Estimate_BillAddr_Line1 String False False False

The first line of the billing address for the recurring estimate transaction.

Estimate_BillAddr_Line2 String False False False

The second line of the billing address for the recurring estimate transaction.

Estimate_BillAddr_Line3 String False False False

The third line of the billing address for the recurring estimate transaction.

Estimate_BillAddr_Line4 String False False False

The fourth line of the billing address for the recurring estimate transaction.

Estimate_BillAddr_Line5 String False False False

The fifth line of the billing address for the recurring estimate transaction.

Estimate_BillAddr_City String False False False

The city name of the billing address.

Estimate_BillAddr_Country String False False False

The country name of the billing address.

Estimate_BillAddr_CountrySubDivisionCode String False False False

The region within a country for the billing address. For example, this value is the state name for the USA or the province name for Canada.

Estimate_BillAddr_PostalCode String False False False

The postal code. For example, this value is the ZIP code for the USA and the postal code for Canada.

Estimate_BillAddr_Note String False False False

A note for the customer included with the billing address.

Estimate_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address.

Estimate_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address.

Estimate_ShipAddr_Id String False False False

The Id of the entity for the shipping address that is mainly used for modifying the address. This field is assigned by the data service.

Estimate_ShipAddr_Line1 String False False False

The first line of the shipping address for the recurring estimate transaction.

Estimate_ShipAddr_Line2 String False False False

The second line of the shipping address for the recurring estimate transaction.

Estimate_ShipAddr_Line3 String False False False

The third line of the shipping address for the recurring estimate transaction.

Estimate_ShipAddr_Line4 String False False False

The fourth line of the shipping address for the recurring estimate transaction.

Estimate_ShipAddr_Line5 String False False False

The fifth line of the shipping address for the recurring estimate transaction.

Estimate_ShipAddr_City String False False False

The city name of the shipping address.

Estimate_ShipAddr_Country String False False False

The country name of the shipping address.

Estimate_ShipAddr_CountrySubDivisionCode String False False False

The region within a country for the shipping address. For example, this value is the state name for the USA or the province name for Canada.

Estimate_ShipAddr_PostalCode String False False False

The postal code. For example, this value is the ZIP code for the USA and the postal code for Canada.

Estimate_ShipAddr_Note String False False False

A note for the customer included with the shipping address.

Estimate_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address.

Estimate_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address.

Estimate_ClassRef String False

Class.Id

False False

The Id of the class that is associated with the recurring estimate transaction.

Estimate_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the recurring estimate transaction.

Estimate_SalesTermRef String False

Terms.Id

False False

The Id of the sales term that is associated with the recurring estimate transaction.

Estimate_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales term that is associated with the recurring estimate transaction.

Estimate_DueDate Date False False False

The due date for the invoice of the recurring estimate transaction, not including any early payment discount incentives or late payment penalties. If the date is not supplied, the current server date is used.

Estimate_ShipMethodRef String False False False

The Id of the shipping method that is associated with the recurring estimate transaction.

Estimate_ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the recurring estimate transaction.

Estimate_ShipDate Date False False False

The date on which goods or services are scheduled for delivery for the recurring estimate transaction.

Estimate_TrackingNum String False False False

The tracking number from the shipping provider for the delivery of the goods associated with the recurring estimate transaction.

Estimate_TotalAmt Decimal True False False

The total monetary amount of the recurring estimate transaction. This includes the total of all charges, allowances, and taxes.

Estimate_PrintStatus String False False False

The print status of the recurring estimate invoice.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

Estimate_EmailStatus String False False False

The email status of the recurring estimate invoice.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

Estimate_BillEmail_Address String False False False

The email address where the recurring estimate invoice is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address is a required.

Estimate_Balance Decimal False False False

Indicates whether the recurring estimate transaction is treated as a finance charge.

Estimate_ExpirationDate Date False False False

The date when the recurring estimate becomes invalid or expires.

Estimate_AcceptedBy String False False False

The name of the customer who accepted the recurring estimate.

Estimate_AcceptedDate Date False False False

The date on which the recurring estimate was accepted by the customer.

Estimate_ApplyTaxAfterDiscount Boolean False False False

Sets whether any discounts are applied before taxes are calculated for the recurring estimate transaction.

Estimate_CurrencyRef String False False False

The Id of the currency that is used in the recurring estimate transaction.

Estimate_CurrencyRef_Name String True False False

The name of the currency that is used in the recurring estimate transaction.

Estimate_ExchangeRate Decimal False False False

The currency exchange rate. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

Estimate_GlobalTaxCalculation String False False False

The method that is used to apply taxes for the recurring estimate transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

Estimate_HomeTotalAmt Decimal True False False

The total monetary amount of the recurring estimate transaction expressed in the home currency. This includes the total of all the charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringInvoiceTransactions

Stores recurring invoice templates that automate billing for subscriptions, retainers, or repeat sales, improving cash-flow management.

Table Specific Information

We can perform Select and Insert operations on RecurringInvoiceTransactions table.

Select

Invoice_Id, Invoice_MetaData_CreateTime, Invoice_MetaData_LastUpdatedTime can be used for server side filter. The driver processes other filters client-side within the driver.

SELECT * FROM RecurringInvoiceTransactions WHERE Invoice_Id = 25529
SELECT * FROM RecurringInvoiceTransactions WHERE Invoice_Id IN (25528, 25531, 25530)
SELECT * FROM RecurringInvoiceTransactions WHERE Invoice_MetaData_CreateTime = '2020-03-19 19:49:51.0'
SELECT * FROM RecurringInvoiceTransactions WHERE Invoice_MetaData_LastUpdatedTime = '2021-01-03 14:46:13'

Insert

To add a RecurringInvoiceTransactions following fields needs to be added:

  • A RecurringInvoiceTransactions object must have at least one line that describes an item.
  • A RecurringInvoiceTransactions object must have a RecurringInfo.

INSERT INTO RecurringInvoiceTransactions (Invoice_Id, Invoice_CustomerRef,  Invoice_RecurringInfo_Name, Invoice_RecurringInfo_RecurType, Invoice_RecurringInfo_Active, Invoice_RecurringInfo_ScheduleInfo_IntervalType, Invoice_RecurringInfo_ScheduleInfo_NumInterval, Invoice_RecurringInfo_ScheduleInfo_DayOfWeek, Invoice_RecurringInfo_ScheduleInfo_WeekOfMonth, Invoice_RecurringInfo_ScheduleInfo_StartDate, Invoice_RecurringInfo_ScheduleInfo_NextDate, Invoice_RecurringInfo_ScheduleInfo_PreviousDate, Invoice_LineAggregate) VALUES (49, 2, 'TestingA11', 'Reminded', false,  'Weekly', 2,  'Tuesday', 3, '2021-12-08', '2021-12-15', '2021-09-01', '<Line><Amount>0.01</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>2</ItemRef></SalesItemLineDetail></Line><Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>3</ItemRef></SalesItemLineDetail></Line>')

Columns

Name Type ReadOnly References Filterable Sortable Description
Invoice_Id [KEY] String False

RecurringInvoiceTransactions.Invoice_Id

True False

The unique identifier (Id) of the recurring invoice transaction.

Invoice_SyncToken String True False False

The version number of the object that is used to lock the invoice for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Invoice_MetaData_CreateTime Datetime True True True

The date and time when the recurring invoice record was created in QuickBooks Online.

Invoice_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring invoice record was last updated in QuickBooks Online.

Invoice_CustomFieldAggregate String False False False

Am XML aggregate of custom field information.

Invoice_DocNumber String False False False

The reference number that is assigned to the recurring invoice transaction.

Invoice_TxnDate Date False False False

The date entered by the user when this recurring invoice transaction occurred.

Invoice_PrivateNote String False False False

A private note for the recurring invoice transaction that does not appear on the transaction records.

Invoice_TxnStatus String False False False

The status of the recurring invoice transaction.

The allowed values are Accepted, Closed, Pending, Rejected.

Invoice_LinkedTxnAggregate String False False False

An XML aggregate of all transactions that are linked to the recurring invoice.

Invoice_LineAggregate String False False False

An XML aggregate of all line items that are included in the recurring invoice transaction.

Invoice_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the recurring invoice transaction.

Invoice_TxnTaxDetail_TotalTax String False False False

The total tax calculated for the recurring invoice transaction, excluding any tax lines manually inserted into the transaction line list.

Invoice_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of all tax line items that are associated with the recurring invoice transaction.

Invoice_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring invoice template or schedule.

Invoice_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring invoice template or schedule.

Invoice_RecurringInfo_Name String False False False

The descriptive name of the recurring invoice schedule or template.

Invoice_RecurringInfo_RecurType String False False False

The recurring type of the invoice schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Invoice_RecurringInfo_Active Boolean False False False

Indicates whether the recurring invoice schedule is active or inactive.

Invoice_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring invoice schedule that defines how often the invoice recurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Invoice_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring invoice schedule. This value determines how frequently the invoice recurs based on the interval type.

Invoice_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring invoice is scheduled to occur when the interval type is weekly.

Invoice_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring invoice is scheduled to occur when the interval type is monthly.

Invoice_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences allowed for the recurring invoice schedule.

Invoice_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring invoice should be sent.

Invoice_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring invoice is scheduled to occur when the interval type is yearly.

Invoice_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring invoice is processed or triggered.

Invoice_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring invoice is scheduled to occur.

Invoice_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring invoice schedule that is associated with the recurrence template.

Invoice_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring invoice to occur.

Invoice_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring invoice schedule when no further occurrences are generated.

Invoice_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring invoice occurred.

Invoice_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with the recurring invoice transaction.

Invoice_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with the recurring invoice transaction.

Invoice_CustomerMemo String False False False

A message to the customer that appears on the invoice and on the printed invoice.

Invoice_BillAddr_Id String False False False

The unique Id of the entity for the billing address, mainly used for modifying the address. This value is assigned by the data service.

Invoice_BillAddr_Line1 String False False False

First line of the billing address.

Invoice_BillAddr_Line2 String False False False

Second line of the billing address.

Invoice_BillAddr_Line3 String False False False

Third line of the billing address.

Invoice_BillAddr_Line4 String False False False

Fourth line of the billing address.

Invoice_BillAddr_Line5 String False False False

Fifth line of the billing address.

Invoice_BillAddr_City String False False False

City name of the billing address.

Invoice_BillAddr_Country String False False False

Country name of the billing address.

Invoice_BillAddr_CountrySubDivisionCode String False False False

Region within a country for the billing address. For example, this value is the state name for the USA or the province name for Canada.

Invoice_BillAddr_PostalCode String False False False

Postal code for the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

Invoice_BillAddr_Note String False False False

Note for the customer included with the billing address.

Invoice_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address.

Invoice_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address.

Invoice_ShipAddr_Id String False False False

The unique Id of the entity for the shipping address, mainly used for modifying the address. This value is assigned by the data service.

Invoice_ShipAddr_Line1 String False False False

First line of the shipping address.

Invoice_ShipAddr_Line2 String False False False

Second line of the shipping address.

Invoice_ShipAddr_Line3 String False False False

Third line of the shipping address.

Invoice_ShipAddr_Line4 String False False False

Fourth line of the shipping address.

Invoice_ShipAddr_Line5 String False False False

Fifth line of the shipping address.

Invoice_ShipAddr_City String False False False

City name of the shipping address.

Invoice_ShipAddr_Country String False False False

Country name of the shipping address.

Invoice_ShipAddr_CountrySubDivisionCode String False False False

Region within a country for the shipping address. For example, this value is the state name for the USA or the province name for Canada.

Invoice_ShipAddr_PostalCode String False False False

Postal code for the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

Invoice_ShipAddr_Note String False False False

Note for the customer included with the shipping address.

Invoice_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address.

Invoice_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address.

Invoice_ClassRef String False

Class.Id

False False

The Id of the class that is associated with the recurring invoice transaction.

Invoice_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the recurring invoice transaction.

Invoice_SalesTermRef String False

Terms.Id

False False

The Id of the sales terms that is associated with the recurring invoice transaction.

Invoice_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales terms that is associated with the recurring invoice transaction.

Invoice_DueDate Date False False False

The date when the invoice is due for payment, excluding any early-payment discount incentives or late-payment penalties. If no date is supplied, the current server date is used.

Invoice_ShipMethodRef String False False False

The Id of the shipping method that is associated with the recurring invoice transaction.

Invoice_ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the recurring invoice transaction.

Invoice_ShipDate Date False False False

The date scheduled for delivery of goods or services that are associated with the recurring invoice transaction.

Invoice_TrackingNum String False False False

The tracking number that is provided by the shipping carrier for the delivery of goods that are associated with the recurring invoice transaction.

Invoice_TotalAmt Decimal True False False

The total monetary amount of the recurring invoice transaction. This amount includes all charges, allowances, and taxes.

Invoice_PrintStatus String False False False

The print status of the recurring invoice transaction.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

Invoice_EmailStatus String False False False

The email status of the recurring invoice transaction.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

Invoice_BillEmail_Address String False False False

The email address where the invoice is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address is required.

Invoice_Balance Decimal True False False

Indicates whether the recurring invoice transaction is a finance charge.

Invoice_DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that stores the recurring invoice transaction as defined by using location tracking in QuickBooks Online.

Invoice_DepartmentRef_Name String True

Departments.Name

False False

Name of the department or location that stores the recurring invoice transaction as defined by using location tracking in QuickBooks Online.

Invoice_AllowOnlineCreditCardPayment Boolean False False False

To allow Online Credit Card Payment or not.

Invoice_ApplyTaxAfterDiscount Boolean False False False

Sets whether discounts are applied before tax is calculated for the recurring invoice transaction.

Invoice_CurrencyRef String False False False

Id of the currency that is used in the recurring invoice transaction.

Invoice_CurrencyRef_Name String True False False

The name of the currency that is used in the recurring invoice transaction.

Invoice_ExchangeRate Decimal False False False

The currency exchange rate for the recurring invoice transaction. Valid only when the company file is set up to use the multicurrency feature. Exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. Available for the UK, AU, and CA editions.

Invoice_GlobalTaxCalculation String False False False

The method that is used to apply tax for the recurring invoice transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

Invoice_HomeTotalAmt Decimal True False False

The total amount of the recurring invoice transaction expressed in the home currency. This amount includes all charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

Invoice_AllowOnlineACHPayment Boolean True False False

Sets whether to allow online ACH (Automated Clearing House) payment for the recurring invoice transaction.

Invoice_BillEmailCc_Address String False False False

The email address where the invoice is sent as a carbon copy (CC). This field allows additional recipients to be copied on the invoice email.

Invoice_BillEmailBcc_Address String False False False

The email address where the invoice is sent as a blind carbon copy (BCC). This field allows additional recipients to receive the invoice email without being visible to other recipients.

CData Python Connector for QuickBooks Online

RecurringInvoiceTransactionsLineItems

Contains the line-level detail of recurring invoices, specifying products, services, amounts, and taxes that are applied each billing cycle.

Table Specific Information

RecurringInvoiceTransactions may be inserted or queried via the RecurringInvoiceTransactions or RecurringInvoiceTransactionsLineItems tables.

Select


SELECT * FROM RecurringInvoiceTransactionsLineItems

Insert

To add a RecurringInvoiceTransactionsLineItems following fields needs to be added:

  • It must have at least one line that describes an item.
  • It must have a RecurringInfo.

INSERT INTO RecurringInvoiceTransactionsLineItems (Invoice_Id, Invoice_CustomerRef, Invoice_RecurringInfo_Name, Invoice_RecurringInfo_RecurType, Invoice_RecurringInfo_Active, Invoice_RecurringInfo_ScheduleInfo_IntervalType, Invoice_RecurringInfo_ScheduleInfo_NumInterval, Invoice_RecurringInfo_ScheduleInfo_DayOfWeek, Invoice_RecurringInfo_ScheduleInfo_WeekOfMonth, Invoice_RecurringInfo_ScheduleInfo_StartDate, Invoice_RecurringInfo_ScheduleInfo_NextDate, Invoice_RecurringInfo_ScheduleInfo_PreviousDate, Invoice_Line_DetailType, Invoice_Line_SalesItemLineDetail_ItemRef, Invoice_Line_Amount, Invoice_Line_SalesItemLineDetail_Qty, Invoice_Line_SalesItemLineDetail_DiscountAmt, Invoice_Line_SalesItemLineDetail_TaxCodeRef) VALUES (49, 2, 'TESTING155BCD11', 'Reminded', false, 'Weekly', 2, 'Tuesday', 3, '2021-12-08', '2021-12-15', '2021-09-01', 'SalesItemLineDetail', '5', 100.01, 8, 22.3, 'TAX')

Columns

Name Type ReadOnly References Filterable Sortable Description
Invoice_Id [KEY] String False

RecurringInvoiceTransactions.Invoice_Id

True False

The Id of the recurring invoice transaction to which this line item belongs.

Invoice_SyncToken String True False False

Version number of the object that is used to lock the recurring invoice transaction for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Invoice_MetaData_CreateTime Datetime True True True

The date and time when the recurring invoice line item record was created in QuickBooks Online.

Invoice_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring invoice line item record was last updated in QuickBooks Online.

Invoice_CustomFieldAggregate String False False False

An XML aggregate of custom field information.

Invoice_DocNumber String False False False

A reference number that is assigned to the recurring invoice transaction.

Invoice_TxnDate Date False False False

The date entered by the user when this recurring invoice transaction occurred.

Invoice_PrivateNote String False False False

A private note for the recurring invoice transaction that does not appear on transaction records.

Invoice_TxnStatus String False False False

The status of the recurring invoice transaction.

The allowed values are Accepted, Closed, Pending, Rejected.

Invoice_LinkedTxnAggregate String False False False

An XML aggregate of all transactions that are linked to this recurring invoice transaction.

Invoice_Line_Id [KEY] String False False False

The unique identifier (Id) of the line item within the recurring invoice transaction.

Invoice_Line_LineNum String False False False

The line number identifying the position of this line item on the recurring invoice.

Invoice_Line_Description String False False False

A description of the line item as it appears in the recurring invoice transaction or printed invoice.

Invoice_Line_Amount Decimal False False False

The amount of the line item including charges or discounts but excluding taxes in the recurring invoice transaction.

Invoice_Line_DetailType String False False False

The detail type of the line item. Different detail types indicate different types of line items in the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

The Id of the item referenced by this sales line on the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item that is referenced by this sales line on the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

The Id of the class that is associated with this sales line on the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with this sales line on the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_UnitPrice Decimal False False False

The unit price of the item on this line of the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_Qty Double False False False

The quantity of items that is specified on this line of the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to this item on the recurring invoice transaction.

Invoice_Line_SalesItemLineDetail_DiscountAmt Decimal False False False

The discount amount that is applied to this line item. If both the discount amount and the discount rate are supplied, the discount rate takes precedence and the discount amount is recalculated by QuickBooks Online services based on the discount-rate value.

Invoice_Line_SalesItemLineDetail_ServiceDate Date False False False

The service date for the item on this line of the recurring invoice transaction.

Invoice_Line_GroupLineDetail_GroupItemRef String True False False

The Id of the group item object referenced by this line of the recurring invoice transaction.

Invoice_Line_GroupLineDetail_GroupItemRef_Name String True False False

The name of the group item object referenced by this line of the recurring invoice transaction.

Invoice_Line_GroupLineDetail_Quantity Integer True False False

The quantity of the group item that is specified on this line of the recurring invoice transaction.

Invoice_Line_DiscountLineDetail_ClassRef String False

Class.Id

False False

The Id of the class that is associated with this discount line on the recurring invoice transaction.

Invoice_Line_DiscountLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with this discount line on the recurring invoice transaction.

Invoice_Line_DiscountLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The tax code that is associated with this discount line on the recurring invoice transaction.

Invoice_Line_DiscountLineDetail_TaxCodeRef_Name String True

TaxCodes.Name

False False

The name of the tax code that is associated with this discount line on the recurring invoice transaction.

Invoice_Line_DiscountLineDetail_PercentBased Boolean False False False

Indicates whether the discount for this line is a percentage (true) or an amount (false or null).

Invoice_Line_DiscountLineDetail_DiscountAccountRef String False False False

The Id of the discount account that is associated with this line item.

Invoice_Line_DiscountLineDetail_DiscountAccountRef_Name String True False False

The name of the discount account that is associated with this line item.

Invoice_Line_DiscountLineDetail_DiscountPercent Decimal False False False

The percentage by which the amount due is reduced, from 0% to 100%. For example, to enter a discount of 8.5%, use 8.5, not 0.085.

Invoice_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to the recurring invoice transaction.

Invoice_TxnTaxDetail_TotalTax String False False False

The total tax that is calculated for the recurring invoice transaction, excluding any tax lines manually inserted into the transaction-line list.

Invoice_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of tax line items that is associated with the recurring invoice transaction.

Invoice_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring invoice template or schedule.

Invoice_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring invoice template or schedule.

Invoice_RecurringInfo_Name String False False False

A descriptive name of the recurring invoice schedule or template.

Invoice_RecurringInfo_RecurType String False False False

The recurring type of the invoice schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Invoice_RecurringInfo_Active Boolean False False False

Indicates whether the recurring invoice schedule is active or inactive.

Invoice_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring invoice schedule that defines how often the invoice recurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Invoice_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring invoice schedule. This value determines how frequently the invoice recurs based on the interval type.

Invoice_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring invoice is scheduled to occur when the interval type is weekly.

Invoice_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring invoice is scheduled to occur when the interval type is monthly.

Invoice_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that are allowed for the recurring invoice schedule.

Invoice_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring invoice should be sent.

Invoice_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring invoice is scheduled to occur when the interval type is yearly.

Invoice_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring invoice is processed or triggered.

Invoice_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring invoice is scheduled to occur.

Invoice_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring invoice schedule that is associated with the recurrence template.

Invoice_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring invoice to occur.

Invoice_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring invoice schedule when no further occurrences are generated.

Invoice_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring invoice occurred.

Invoice_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with the recurring invoice transaction.

Invoice_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with the recurring invoice transaction.

Invoice_CustomerMemo String False False False

a message to the customer that appears in the recurring invoice and the printed invoice.

Invoice_BillAddr_Id String False False False

The Id of the entity for the billing address, mainly used for modifying the address. This field is assigned by the data service.

Invoice_BillAddr_Line1 String False False False

First line of the billing address.

Invoice_BillAddr_Line2 String False False False

Second line of the billing address.

Invoice_BillAddr_Line3 String False False False

Third line of the billing address.

Invoice_BillAddr_Line4 String False False False

Fourth line of the billing address.

Invoice_BillAddr_Line5 String False False False

Fifth line of the billing address.

Invoice_BillAddr_City String False False False

City name of the billing address.

Invoice_BillAddr_Country String False False False

Country name of the billing address.

Invoice_BillAddr_CountrySubDivisionCode String False False False

The region within a country for the billing address. For example, this value is the state name for the USA or the province name for Canada.

Invoice_BillAddr_PostalCode String False False False

The postal code for the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

Invoice_BillAddr_Note String False False False

A customer note for the billing address.

Invoice_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address.

Invoice_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address.

Invoice_ShipAddr_Id String False False False

The Id of the entity for the shipping address, mainly used for modifying the address. This field is assigned by the data service.

Invoice_ShipAddr_Line1 String False False False

The first line of the shipping address.

Invoice_ShipAddr_Line2 String False False False

The second line of the shipping address.

Invoice_ShipAddr_Line3 String False False False

The third line of the shipping address.

Invoice_ShipAddr_Line4 String False False False

The fourth line of the shipping address.

Invoice_ShipAddr_Line5 String False False False

The fifth line of the shipping address.

Invoice_ShipAddr_City String False False False

The city name of the shipping address.

Invoice_ShipAddr_Country String False False False

The country name of the shipping address.

Invoice_ShipAddr_CountrySubDivisionCode String False False False

The region within a country for the shipping address. For example, this value is the state name for the USA or the province name for Canada.

Invoice_ShipAddr_PostalCode String False False False

The postal code for the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

Invoice_ShipAddr_Note String False False False

A note for the customer for the shipping address.

Invoice_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address.

Invoice_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address.

Invoice_ClassRef String False

Class.Id

False False

The unique Id of the class that is associated with the transaction.

Invoice_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the transaction.

Invoice_SalesTermRef String False

Terms.Id

False False

The unique Id of the sales terms that is associated with the transaction.

Invoice_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales terms that is associated with the transaction.

Invoice_DueDate Date False False False

The date when the invoice is to be paid, not including any early-payment discount incentives or late-payment penalties. If the date is not supplied, the current date on the server is used.

Invoice_ShipMethodRef String False False False

The Id of the shipping method that is associated with the transaction.

Invoice_ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the transaction.

Invoice_ShipDate Date False False False

The date for the delivery of goods or services.

Invoice_TrackingNum String False False False

The tracking number for the shipping provider for the delivery of the goods that is associated with the transaction.

Invoice_TotalAmt Decimal True False False

The total amount of the transaction. This amount includes the total of all charges, allowances, and taxes.

Invoice_PrintStatus String False False False

The print status of the invoice.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

Invoice_EmailStatus String False False False

The email status of the invoice.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

Invoice_BillEmail_Address String False False False

The email address where the invoice is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address is required.

Invoice_Balance Decimal True False False

Indicates whether the transaction is a finance charge.

Invoice_DepartmentRef String False

Departments.Id

False False

The Id of the department, which stores the location of the transaction as defined by using location tracking in QuickBooks Online.

Invoice_DepartmentRef_Name String True

Departments.Name

False False

Name of the department, which stores the location of the transaction as defined by using location tracking in QuickBooks Online.

Invoice_AllowOnlineCreditCardPayment Boolean False False False

Specifies whether online credit-card payments are allowed for this invoice and corresponds to the Cards online-payment checkbox in the QuickBooks UI.

Invoice_ApplyTaxAfterDiscount Boolean False False False

Sets whether discounts are applied before the tax is calculated.

Invoice_CurrencyRef String False False False

The Id of the currency that is used in the transaction.

Invoice_CurrencyRef_Name String True False False

The name of the currency that is used in the transaction.

Invoice_ExchangeRate Decimal False False False

Currency exchange rate. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available only for the UK, AU, and CA editions.

Invoice_GlobalTaxCalculation String False False False

The method in which tax is applied. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

Invoice_HomeTotalAmt Decimal True False False

The total amount of the transaction in the home currency. This amount includes the total of all charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

Invoice_AllowOnlineACHPayment Boolean True False False

Indicates whether online ACH payment is allowed.

Invoice_GroupSalesItemLineAggregate String True False False

An XML aggregate of all line items that belong to grouped sales items in the recurring invoice transaction.

CData Python Connector for QuickBooks Online

RecurringJournalEntryTransactions

Holds recurring journal entry templates, enabling automated posting of routine accounting adjustments like depreciation or accruals.

Table Specific Information

We can perform Select and Insert operations on RecurringJournalEntryTransactions table.

Select

JournalEntry_Id, JournalEntry_MetaData_CreateTime, JournalEntry_MetaData_LastUpdatedTime can be used for server side filter. The driver processes other filters client-side within the driver.

SELECT * FROM RecurringJournalEntryTransactions;
SELECT * FROM RecurringJournalEntryTransactions WHERE JournalEntry_id = 25536;
SELECT * FROM RecurringJournalEntryTransactions WHERE JournalEntry_MetaData_CreateTime = '2020-12-10 09:53:56';
SELECT * FROM RecurringJournalEntryTransactions WHERE JournalEntry_MetaData_LastUpdatedTime = '2020-12-10 09:53:56';
SELECT * FROM RecurringJournalEntryTransactions WHERE JournalEntry_id = 25536 AND JournalEntry_MetaData_CreateTime = '2020-12-10 09:53:56' AND JournalEntry_MetaData_LastUpdatedTime = '2020-12-10 09:53:56';

Insert

To add a RecurringJournalEntryTransactions following fields needs to be added:

  • There must be at least one credit line and at least one debit line where the total of the debit and credit Lines are equal to each other. Each _ denotes hierarchy. Use <Line> at the base level. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which RecurringJournalEntryTransactions. For example:
  • A RecurringJournalEntryTransactions object must have a RecurringInfo.

INSERT INTO RecurringJournalEntryTransactions (JournalEntry_LineAggregate, JournalEntry_RecurringInfo_Name, JournalEntry_RecurringInfo_RecurType, JournalEntry_RecurringInfo_Active, JournalEntry_RecurringInfo_ScheduleInfo_DayOfWeek, JournalEntry_RecurringInfo_ScheduleInfo_IntervalType, JournalEntry_RecurringInfo_ScheduleInfo_NumInterval, JournalEntry_RecurringInfo_ScheduleInfo_DayOfMonth, JournalEntry_RecurringInfo_ScheduleInfo_MaxOccurrences, JournalEntry_RecurringInfo_ScheduleInfo_StartDate, JournalEntry_RecurringInfo_ScheduleInfo_NextDate, JournalEntry_RecurringInfo_ScheduleInfo_PreviousDate) VALUES ('<Line><Amount>0.02</Amount><DetailType>JournalEntryLineDetail</DetailType><JournalEntryLineDetail><PostingType>Debit</PostingType><Entity><Type>Customer</Type><EntityRef>24</EntityRef></Entity><AccountRef>33</AccountRef></JournalEntryLineDetail></Line> <Line><Amount>0.02</Amount><DetailType>JournalEntryLineDetail</DetailType><JournalEntryLineDetail><PostingType>Credit</PostingType><AccountRef>14</AccountRef></JournalEntryLineDetail></Line>', 'APPTEST1', 'Reminded', false, 'Monday', 'Weekly',  2,  'Tuesday',  '100',  '2021-12-01',  '2021-12-01',  '2021-12-01')

Columns

Name Type ReadOnly References Filterable Sortable Description
JournalEntry_Id [KEY] String True True False

The unique identifier (Id) of the recurring journal-entry transaction.

JournalEntry_SyncToken String True False False

The version number of the object that is used to lock the journal entry for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

JournalEntry_MetaData_CreateTime Datetime True True True

The date and time when the recurring journal-entry transaction record was created.

JournalEntry_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring journal-entry transaction record was last updated.

JournalEntry_CurrencyRef String True False False

The unique Id of the currency used for all monetary amounts in the recurring journal-entry transaction.

JournalEntry_CurrencyRef_Name String True False False

The name of the currency used for all monetary amounts in the recurring journal-entry transaction.

JournalEntry_LineAggregate String False False False

An XML aggregate containing all line items that are included in the recurring journal-entry transaction, such as debit and credit account references, amounts, and any associated classes or tax details.

JournalEntry_RecurDataRef String True False False

The unique Id of the recurrence data reference that identifies the recurring journal-entry template or schedule.

JournalEntry_RecurringInfo_Name String False False False

The descriptive name of the recurring journal-entry schedule or template.

JournalEntry_RecurringInfo_RecurType String False False False

The recurring type of the journal-entry schedule, such as scheduled, reminder, or unscheduled.

JournalEntry_RecurringInfo_Active Boolean False False False

Indicates whether the recurring journal-entry schedule is active or inactive.

JournalEntry_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring journal entry is scheduled to occur when the interval type is weekly.

JournalEntry_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring journal-entry schedule that defines how often the journal entry recurs (for example, weekly, monthly, or yearly).

JournalEntry_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring journal entry is scheduled to occur when the interval type is monthly.

JournalEntry_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring journal-entry schedule. This value determines how frequently the journal entry recurs based on the interval type.

JournalEntry_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring journal entry is scheduled to occur.

JournalEntry_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences allowed for the recurring journal-entry schedule.

JournalEntry_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring journal-entry schedule that is associated with the recurrence template.

JournalEntry_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring journal entry to occur.

JournalEntry_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring journal entry occurred.

JournalEntry_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the recurring journal-entry transaction.

JournalEntry_TxnTaxDetail_TotalTax String False False False

The total tax amount calculated for the recurring journal-entry transaction, excluding any tax lines manually inserted into the transaction line list.

JournalEntry_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate of all tax line items that are associated with the recurring journal-entry transaction.

JournalEntry_TotalAmt Decimal True False False

The total monetary amount of the recurring journal-entry transaction, including all applicable charges, allowances, and taxes.

JournalEntry_Adjustment Boolean True False False

Indicates whether the recurring journal-entry transaction is marked as an adjustment.

JournalEntry_ExchangeRate Decimal False False False

The currency exchange rate for the recurring journal-entry transaction. This field is valid only when the company file uses the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available in only the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringJournalEntryTransactionsLineItems

Captures the debit and credit line items for recurring journal entries, ensuring accurate and consistent automated accounting adjustments.

Table Specific Information

RecurringJournalEntryTransactions may be inserted or queried via the RecurringJournalEntryTransactions or RecurringJournalEntryTransactionsLineItems tables.

Select


SELECT * FROM RecurringJournalEntryTransactionsLineItems

Insert

To add a RecurringJournalEntryTransactionsLineItems following fields needs to be added:

  • There must be at least one credit line and at least one debit line where the total of the debit and credit Lines are equal to each other.
  • It must have a RecurringInfo.

INSERT INTO RecurringJournalEntryTransactionsLineItems (JournalEntry_Line_Id, JournalEntry_Line_Description, JournalEntry_Line_Amount, JournalEntry_Line_DetailType, JournalEntry_Line_JournalEntryLineDetail_PostingType, JournalEntry_Line_JournalEntryLineDetail_AccountRef, JournalEntry_RecurringInfo_Name, JournalEntry_RecurringInfo_RecurType, JournalEntry_RecurringInfo_Active, JournalEntry_RecurringInfo_ScheduleInfo_DayOfWeek, JournalEntry_RecurringInfo_ScheduleInfo_IntervalType, JournalEntry_RecurringInfo_ScheduleInfo_NumInterval, JournalEntry_RecurringInfo_ScheduleInfo_DayOfMonth, JournalEntry_RecurringInfo_ScheduleInfo_MaxOccurrences, JournalEntry_RecurringInfo_ScheduleInfo_StartDate, JournalEntry_RecurringInfo_ScheduleInfo_NextDate, JournalEntry_RecurringInfo_ScheduleInfo_PreviousDate) VALUES ('1', 'HELLOAPP1', 1001, 'JournalEntryLineDetail', 'Credit', '99', 'HELLOAPP3', 'Reminded', false, 'Monday', 'Weekly', 2,  'Tuesday', '100', '2021-01-23', '2021-01-23', '2021-01-23')

Columns

Name Type ReadOnly References Filterable Sortable Description
JournalEntry_Line_Id [KEY] String False False False

The unique identifier (Id) of the recurring journal-entry line item that is included in the recurring journal entry transaction.

JournalEntry_Id [KEY] String False

RecurringJournalEntryTransactions.JournalEntry_Id

True False

The Id of the recurring journal-entry transaction to which this line item belongs.

JournalEntry_SyncToken String True False False

The version number of the object that is used to lock the journal entry for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

JournalEntry_MetaData_CreateTime Datetime True True True

Date and time when the recurring journal-entry line record was created in QuickBooks Online.

JournalEntry_MetaData_LastUpdatedTime Datetime True True True

Date and time when the recurring journal-entry line record was last updated in QuickBooks Online.

JournalEntry_CurrencyRef String False False False

The Id of the currency used for the amounts in this recurring journal-entry line item.

JournalEntry_CurrencyRef_Name String True False False

The name of the currency that is used for the amounts in this recurring journal-entry line item.

JournalEntry_Line_Description String False False False

Describes thejournal-entry line item as it appears on printed or exported records.

JournalEntry_Line_Amount Decimal False False False

Specifies the monetary amount of the recurring journal-entry line item.

JournalEntry_Line_DetailType String False False False

Indicates the detail type of the journal-entry line item, which determines how QuickBooks processes and classifies the line (for example, posting vs. non-posting, or other line types).

JournalEntry_Line_JournalEntryLineDetail_PostingType String False False False

Indicates the posting type (debit or credit) of the journal-entry line detail.

The allowed values are Credit, Debit.

JournalEntry_Line_JournalEntryLineDetail_Entity_Type String False False False

Specifies the type of entity that is referenced by this journal-entry line (for example, Customer, Vendor, or Employee).

JournalEntry_Line_JournalEntryLineDetail_Entity_EntityRef String False False False

The Id of the entity that is referenced by this journal-entry line item.

JournalEntry_Line_JournalEntryLineDetail_Entity_EntityRef_Name String True False False

The name of the entity that is referenced by this journal-entry line item.

JournalEntry_Line_JournalEntryLineDetail_AccountRef String False

Accounts.Id

False False

The Id of the account that is associated with this journal-entry line item.

JournalEntry_Line_JournalEntryLineDetail_AccountRef_Name String True

Accounts.Name

False False

The name of the account that is associated with this journal-entry line item.

JournalEntry_Line_JournalEntryLineDetail_ClassRef String False

Class.Id

False False

The Id of the class that is assigned to this journal-entry line item for location or department tracking.

JournalEntry_Line_JournalEntryLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is assigned to this journal-entry line item for location or department tracking.

JournalEntry_Line_JournalEntryLineDetail_DepartmentRef String False

Departments.Id

False False

The Id of the department that is associated with this journal-entry line item as defined in QuickBooks Online.

JournalEntry_Line_JournalEntryLineDetail_DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is associated with this journal-entry line item as defined in QuickBooks Online.

JournalEntry_Line_JournalEntryLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The sales or purchase tax code that is associated with this journal-entry line item. This field is valid for non-U.S., non-Canadian companies such as the UK edition.

JournalEntry_Line_JournalEntryLineDetail_TaxApplicableOn String False False False

Indicates whether the tax that is applicable to this line item is sales tax or purchase tax. This field is valid for the UK edition.

JournalEntry_Line_JournalEntryLineDetail_TaxAmount Decimal False False False

The tax amount that is applicable to this journal-entry line item. Valid for the UK and AU editions.

JournalEntry_Line_JournalEntryLineDetail_BillableStatus String False False False

Indicates the billable status of this journal-entry line item. The line can be billed to a customer if the account is an expense account and the Entity Reference specifies a customer or job.

The allowed values are Billable, NotBillable, HasBeenBilled.

JournalEntry_Line_JournalEntryLineDetail_JournalCodeRef String False False False

The Id of the journal code that is referenced by thi sjournal-entry line item.

JournalEntry_Line_JournalEntryLineDetail_JournalCodeRef_Name String True False False

The name of the journal code that is referenced by this journal-entry line item.

JournalEntry_RecurDataRef String True False False

The unique Id of the recurrence data reference that identifies the recurring journal entry template or schedule.

JournalEntry_RecurringInfo_Name String False False False

The descriptive name of the recurring journal entry schedule or template.

JournalEntry_RecurringInfo_RecurType String False False False

The recurring type of the journal entry schedule, such as scheduled, reminder, or unscheduled.

JournalEntry_RecurringInfo_Active Boolean False False False

Indicates whether the recurring journal-entry schedule is active or inactive.

JournalEntry_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring journal entry is scheduled to occur when the interval type is weekly.

JournalEntry_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring journal entry schedule that defines how often the journal entry recurs (for example, weekly, monthly, or yearly).

JournalEntry_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring journal entry is scheduled to occur when the interval type is monthly.

JournalEntry_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring journal entry schedule. This value determines how frequently the journal entry recurs based on the interval type.

JournalEntry_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring journal entry is scheduled to occur.

JournalEntry_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences allowed for the recurring journal-entry schedule.

JournalEntry_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring journal-entry schedule that is associated with the recurrence template.

JournalEntry_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring journal entry to occur.

JournalEntry_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring journal entry occurred.

JournalEntry_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the recurring journal-entry transaction.

JournalEntry_TxnTaxDetail_TotalTax String False False False

The total tax amount that is calculated for the recurring journal-entry transaction, excluding any tax lines manually inserted into the transaction line list.

JournalEntry_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing all tax line items that are associated with the recurring journal entry transaction. This collection details each individual tax charge or credit so that QuickBooks can calculate and report taxes accurately for that transaction.

JournalEntry_TotalAmt Decimal True False False

The total monetary amount of the recurring journal-entry transaction.

JournalEntry_Adjustment Boolean True False False

Indicates whether the recurring journal-entry transaction is an adjustment.

JournalEntry_ExchangeRate Decimal False False False

The currency exchange rate. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available in only the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringPurchaseTransactions

Represents recurring purchase templates for expenses, allowing businesses to schedule automatic entry of regular vendor purchases.

Columns

Name Type ReadOnly References Filterable Sortable Description
Purchase_Id [KEY] String True True False

The unique identifier (Id) of the recurring purchase transaction in QuickBooks Online.

Purchase_SyncToken String True False False

The version number of the object that is used to lock the purchase transaction for use by one application at a time. As soon as an application modifies the object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Purchase_MetaData_CreateTime Datetime True True True

The date and time when the recurring purchase transaction record was created in QuickBooks Online.

Purchase_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring purchase transaction record was last updated in QuickBooks Online.

Purchase_DocNumber String False False False

The reference number assigned to the recurring purchase transaction.

Purchase_TxnDate Date False False False

The date entered by the user when this recurring purchase transaction occurred.

Purchase_PrivateNote String False False False

A private note about the recurring purchase transaction that does not appear on the transaction records by default. This field maps to the Memo field on the Check and CreditCard form.

Purchase_DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is associated with the recurring purchase transaction as defined using location tracking in QuickBooks Online.

Purchase_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that is associated with the recurring purchase transaction as defined using location tracking in QuickBooks Online.

Purchase_TxnStatus String False False False

The status of the recurring purchase transaction. Depending on the transaction type, this field may have different values. For sales transactions, the acceptable values are defined in PaymentStatusEnum. For estimates, the accepted values are defined in QboEstimateStatusEnum.

Purchase_LinkedTxnAggregate String False False False

An XML aggregate containing zero or more linked transactions that are associated with the recurring purchase transaction.

Purchase_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring purchase transaction template or schedule.

Purchase_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring purchase transaction template or schedule.

Purchase_RecurringInfo_Name String False False False

The descriptive name of the recurring purchase transaction schedule or template.

Purchase_RecurringInfo_RecurType String False False False

The recurring type of the purchase transaction schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Purchase_RecurringInfo_Active Boolean False False False

Indicates whether the recurring purchase transaction schedule is active or inactive.

Purchase_RecurringInfo_ScheduleInfo_IntervalType String False False False

The interval type of the recurring purchase transaction schedule that defines how often the purchase recurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Purchase_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The number of intervals for the recurring purchase transaction schedule. This value determines how frequently the purchase recurs based on the interval type.

Purchase_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring purchase transaction is scheduled to occur when the interval type is weekly.

Purchase_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring purchase transaction is scheduled to occur when the interval type is monthly.

Purchase_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences allowed for the recurring purchase transaction schedule.

Purchase_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring purchase transaction should be sent.

Purchase_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring purchase transaction is scheduled to occur when the interval type is yearly.

Purchase_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring purchase transaction is processed or triggered.

Purchase_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring purchase transaction is scheduled to occur.

Purchase_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring purchase transaction schedule that is associated with the recurrence template.

Purchase_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring purchase transaction to occur.

Purchase_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring purchase transaction schedule when no further occurrences are generated.

Purchase_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring purchase transaction occurred.

Purchase_LineAggregate String False False False

An XML aggregate containing all individual line items that make up the recurring purchase transaction, including details such as products, services, quantities, and amounts for each line.

Purchase_AccountRef String False

Accounts.Id

False False

The Id of the account associated with the recurring purchase transaction. Check payments should reference a bank account and credit card purchases should reference a credit card account.

Purchase_AccountRef_Name String True

Accounts.Name

False False

The name of the account associated with the recurring purchase transaction. Check payments should reference a bank account and credit card purchases should reference a credit card account.

Purchase_PaymentType String False False False

The payment type used for the recurring purchase transaction.

The allowed values are Cash, Check, CreditCard.

Purchase_EntityRef String False False False

The Id of the entity for the party the expense in the recurring purchase transaction is associated with.

Purchase_EntityRef_Name String True False False

The name of the party the expense in the recurring purchase transaction is associated with.

Purchase_Credit Boolean False False False

Indicates whether the recurring purchase transaction is a credit card payment. This field is valid only for the credit card payment type.

Purchase_TotalAmt Decimal True False False

The total monetary amount of the recurring purchase transaction determined by the sum of the line item amounts. This includes all charges, allowances, taxes, and discounts.

Purchase_PrintStatus String False False False

The print status of the recurring purchase transaction. This field is applicable only for checks and is ignored for credit card charges or refunds.

Purchase_Status String True False False

The status of the recurring purchase transaction.

Purchase_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to the recurring purchase transaction.

Purchase_TxnTaxDetail_TotalTax String False False False

The total tax amount calculated for the recurring purchase transaction, excluding any tax lines manually inserted into the transaction line list.

Purchase_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing all tax line items associated with the recurring purchase transaction, providing detailed information about each tax charge or credit applied so QuickBooks can calculate and report taxes accurately for the transaction.

Purchase_CurrencyRef String False False False

The Id of the currency used in the recurring purchase transaction.

Purchase_CurrencyRef_Name String True False False

The name of the currency used in the recurring purchase transaction.

Purchase_ExchangeRate Decimal False False False

The currency exchange rate for the recurring purchase transaction. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

Purchase_GlobalTaxCalculation String False False False

The method used to apply tax to the recurring purchase transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

RecurringPurchaseTransactionsLineItems

Contains the detailed line items of recurring purchase templates, including items, costs, and accounts for automated expense tracking.

Columns

Name Type ReadOnly References Filterable Sortable Description
Purchase_LineId [KEY] String True False False

The identifier (Id) of the recurring purchase-transaction line item. This uniquely identifies the line item within the recurring purchase template.

Purchase_PurchaseId [KEY] String False

Purchases.Id

True False

The Id of the recurring purchase transaction to which this line item belongs.

Purchase_SyncToken String True False False

The version number of the object that is used to lock the recurring purchase record for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Purchase_MetaData_CreateTime Datetime True True True

The date and time when the recurring purchase-transaction line record was created in QuickBooks Online.

Purchase_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring purchase-transaction line record was last updated in QuickBooks Online.

Purchase_DocNumber String False False False

The reference number that was assigned to the recurring purchase transaction for tracking and reconciliation purposes.

Purchase_TxnDate Date False False False

The date entered by the user when this recurring purchase transaction occurred. This represents the transaction date that is used for accounting and reporting.

Purchase_PrivateNote String False False False

A private note about the recurring purchase-transaction line item that does not appear on transaction records by default. This field maps to the Memo field on the Check and CreditCard form.

Purchase_Line_Id String False False False

The Id of the specific line item within the recurring purchase transaction.

Purchase_Line_Description String False False False

Describes the line item as it appears in the printed or displayed record.

Purchase_Line_Amount Decimal False False False

The total monetary amount of charges or discounts for the given line item. This amount includes charges and allowances but excludes tax amounts.

Purchase_Line_DetailType String False False False

The detail type of the line item in the recurring purchase transaction. Different detail types indicate different types of line items.

Purchase_Line_ItemBasedExpenseLineDetail_ItemRef String False

Items.Id

False False

The Id of the item that is associated with this expense line. If a line item lacks an item reference, it is treated as documentation and the Line_Amount attribute is ignored.

Purchase_Line_ItemBasedExpenseLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item associated with this expense line. If a line item lacks an item reference, it is treated as documentation and the Line_Amount field is ignored.

Purchase_Line_ItemBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The Id of the class that is assigned to this expense line item for classification purposes.

Purchase_Line_ItemBasedExpenseLineDetail_ClassRef_Name String True

Class.Name

False False

The name of the class that is assigned to this expense line item.

Purchase_Line_ItemBasedExpenseLineDetail_UnitPrice Decimal False False False

The unit price of the item that is referenced by ItemRef for this expense line.

Purchase_Line_ItemBasedExpenseLineDetail_Qty Double False False False

The quantity of items that are recorded in this expense line.

Purchase_Line_ItemBasedExpenseLineDetail_RatePercent Double False False False

The rate percentage that is applied to charges already entered in the current transaction. Enter 10.0 for a 10 percent rate (not 0.10).

Purchase_Line_ItemBasedExpenseLineDetail_MarkupInfo_Value Double False False False

The markup value that is applied to the item-based expense line.

Purchase_Line_ItemBasedExpenseLineDetail_MarkupInfo_Percent Double False False False

The markup amount that is expressed as a percent of charges already entered in the current transaction. For example, enter 10.0 for a 10 percent markup (not 0.10).

Purchase_Line_ItemBasedExpenseLineDetail_MarkupInfo_PriceLevelRef String False False False

The Id of the price level entity that is used for the markup on this expense line.

Purchase_Line_ItemBasedExpenseLineDetail_MarkupInfo_Name_PriceLevelRef_Name String True False False

The name of the price level that is used for the markup on this expense line.

Purchase_Line_ItemBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The sales tax code that is applied to this item-based expense line. This field is used for non-U.S., non-Canadian companies.

Purchase_Line_ItemBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The Id of the customer that is associated with this expense line.

Purchase_Line_ItemBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with this expense line.

Purchase_Line_ItemBasedExpenseLineDetail_BillableStatus String False False False

Indicates whether this item-based expense line is billable to a customer.

The allowed values are Billable, NotBillable, HasBeenBilled.

Purchase_Line_AccountBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The Id of the class entity that is associated with this account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_ClassRef_Name String True

Class.Name

False False

The name of the class entity that is associated with this account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The Id of the customer that is associated with this account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is associated with this account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_AccountRef String False

Accounts.Id

False False

The Id of the expense account that is associated with this account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_AccountRef_Name String True

Accounts.Name

False False

The name of the expense account that is associated with this account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_BillableStatus String False False False

Indicates whether this account-based expense line is billable to a customer.

The allowed values are Billable, NotBillable, HasBeenBilled.

Purchase_Line_AccountBasedExpenseLineDetail_MarkupInfo_Value Double False False False

The markup value that is applied to the account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_MarkupInfo_Percent Double False False False

The markup amount that is expressed as a percent of charges already entered in the current transaction for the account-based expense line. For example, enter 10.0 for a 10 percent markup (not 0.10).

Purchase_Line_AccountBasedExpenseLineDetail_MarkupInfo_PriceLevelRef String False False False

The Id of the price level that is used for the markup on this account-based expense line.

Purchase_Line_AccountBasedExpenseLineDetail_MarkupInfo__Name_PriceLevelRef_Name String True False False

The name of the price level that is used for the markup on this account-based expense line.

Purchase_AccountRef String False

Accounts.Id

False False

The Id of the account that is associated with the recurring purchase-transaction line item. Check payments should reference a bank account, and credit-card purchases should refer to a credit card account.

Purchase_AccountRef_Name String True

Accounts.Name

False False

The name of the account that isassociated with the recurring purchase transaction. Checks should reference a bank account and credit-card purchases should refer to a credit-card account.

Purchase_PaymentType String False False False

Indicates the expense payment type for the recurring purchase transaction, such as Check, CreditCard, or Cash.

The allowed values are Cash, Check, CreditCard.

Purchase_EntityRef String False False False

The Id of the vendor, customer, or other party with whom this recurring expense is associated.

Purchase_EntityRef_Name String True False False

The name of the vendor, customer, or other party with whom this recurring expense is associated.

Purchase_Credit Boolean False False False

Indicates whether the recurring purchase transaction is a credit (applies only to credit-card payment types).

Purchase_TotalAmt Decimal True False False

The total amount due for the recurring purchase transaction, determined by summing all line items. This amount includes all charges, allowances, taxes, discounts, and other applicable amounts.

Purchase_PrintStatus String False False False

The print status of the recurring purchase transaction. This field is applicable only for checks and is ignored for credit-card charges or refunds.

Purchase_DepartmentRef String False

Departments.Id

False False

The Id of the department or location that stores or categorizes this recurring purchase transaction in QuickBooks Online.

Purchase_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that stores or categorizes this recurring purchase transaction in QuickBooks Online.

Purchase_Status String True False False

Indicates the current status of the recurring purchase transaction, such as pending, posted, or voided.

Purchase_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique tax code that is assigned to this recurring purchase transaction, which determines how taxes are calculated and reported.

Purchase_TxnTaxDetail_TotalTax String False False False

The total tax amount that is calculated for the recurring purchase transaction, excluding any tax lines that are manually inserted into the transaction line list.

Purchase_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that contains a structured list of all individual tax line items that are applied to the recurring purchase transaction. This collection includes each tax component that is calculated for the transaction, making it possible to audit or report on how taxes were derived for every purchase occurrence in the schedule.

Purchase_RecurDataRef String False False False

The Id of the recurrence data reference. This value links the recurring purchase transaction to the underlying template or schedule that controls its automated creation, making it easier to track or modify recurring purchase settings.

Purchase_RecurDataRef_Name String True False False

The name of the recurrence data reference. This human-readable value helps identify the recurring purchase template or schedule in QuickBooks Online without needing to look up the Id.

Purchase_RecurringInfo_Name String False False False

The descriptive name of the recurring purchase schedule or template. This name is the label that users assign to recognize and manage the recurring purchase-transaction pattern, such as 'Monthly Office Supplies' or 'Quarterly Maintenance Fees'.

Purchase_RecurringInfo_RecurType String False False False

The recurring type of the purchase schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Purchase_RecurringInfo_Active Boolean False False False

Indicates whether the recurring purchase schedule is currently active or inactive.

Purchase_RecurringInfo_ScheduleInfo_IntervalType String False False False

Defines how often the recurring purchase transaction occurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Purchase_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

Specifies the number of intervals for the recurring purchase schedule. This value determines how frequently the transaction recurs based on the interval type.

Purchase_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring purchase transaction is scheduled to occur when the interval type is weekly.

Purchase_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring purchase transaction is scheduled to occur when the interval type is monthly.

Purchase_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that is allowed for the recurring purchase schedule.

Purchase_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring purchase should be sent.

Purchase_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring purchase transaction is scheduled to occur when the interval type is yearly.

Purchase_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring purchase is processed or triggered.

Purchase_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring purchase transaction is scheduled to occur.

Purchase_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring purchase schedule that is associated with the recurrence template.

Purchase_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring purchase transaction to occur.

Purchase_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring purchase schedule when no further occurrences are generated.

Purchase_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring purchase transaction occurred.

Purchase_CurrencyRef String False False False

The Id of the currency that is used in the recurring purchase transaction.

Purchase_CurrencyRef_Name String True False False

The name of the currency that is used in the recurring purchase transaction.

Purchase_ExchangeRate Double False False False

The currency exchange rate. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

Purchase_GlobalTaxCalculation String False False False

The method in which tax is applied to the recurring purchase transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

RecurringRefundReceiptTransactions

Stores recurring templates for customer refund receipts, enabling businesses to automate returning funds to customers on a scheduled basis.

Columns

Name Type ReadOnly References Filterable Sortable Description
RefundReceipt_Id [KEY] String True True False

The identifier (Id) of the recurringrefund-receipt transaction. This uniquely identifies the refund receipt record within QuickBooks Online.

RefundReceipt_SyncToken String True False False

The version number of the object that is used to lock the recurring refund-receipt transaction for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

RefundReceipt_MetaData_CreateTime Datetime True True True

The date and time when the recurring refund-receipt record was created in QuickBooks Online.

RefundReceipt_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring refund-receipt record was last updated in QuickBooks Online.

RefundReceipt_CustomFieldAggregate String False False False

An XML aggregate containing all custom fields that are associated with the recurring refund-receipt transaction. This collection enables storage of additional user-defined information beyond standard fields.

RefundReceipt_DocNumber String False False False

The reference number that is assigned to the recurring refund-receipt transaction for tracking and reconciliation purposes.

RefundReceipt_TxnDate Date False False False

The date that is entered by the user when this recurring refund-receipt transaction occurred. This date represents the transaction date used for accounting and reporting.

RefundReceipt_PrivateNote String False False False

A private note for the recurring refund-receipt transaction that does not appear on transaction records by default.

RefundReceipt_DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is associated with the recurring refund-receipt transaction as defined by using location tracking in QuickBooks Online.

RefundReceipt_DepartmentRef_Name String True

Departments.Name

False False

The name of the department or location that is associated with the recurring refund-receipt transaction as defined by using location tracking in QuickBooks Online.

RefundReceipt_TxnStatus String False False False

Indicates the current status of the recurring refund-receipt transaction. Depending on the transaction type, this field can have different values. For sales transactions, the acceptable values are defined in by the PaymentStatusEnum data type. For estimates, the accepted values are defined by the QboEstimateStatusEnum data type.

RefundReceipt_LinkedTxnAggregate String False False False

An XML aggregate of zero or more linked transactions that are associated with the recurring refund receipt.

RefundReceipt_RecurDataRef String False False False

The unique Id of the recurrence data reference that identifies the recurring refund receipt template or schedule.

RefundReceipt_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring refund receipt template or schedule.

RefundReceipt_RecurringInfo_Name String False False False

The descriptive name of the recurring refund-receipt schedule or template.

RefundReceipt_RecurringInfo_RecurType String False False False

The recurring type of the refund receipt schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

RefundReceipt_RecurringInfo_Active Boolean False False False

Indicates whether the recurring refund-receipt schedule is currently active or inactive.

RefundReceipt_RecurringInfo_ScheduleInfo_IntervalType String False False False

Defines how often the recurring refund-receipt transaction occurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

RefundReceipt_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

Specifies the number of intervals for the recurring refund-receipt schedule. This value determines how frequently the transaction recurs based on the interval type.

RefundReceipt_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring refund-receipt transaction is scheduled to occur when the interval type is weekly.

RefundReceipt_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring refund-receipt transaction is scheduled to occur when the interval type is monthly.

RefundReceipt_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that is allowed for the recurring refund-receipt schedule.

RefundReceipt_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring refund receipt should be sent.

RefundReceipt_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring refund-receipt transaction is scheduled to occur when the interval type is yearly.

RefundReceipt_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring refund receipt is processed or triggered.

RefundReceipt_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring refund-receipt transaction is scheduled to occur.

RefundReceipt_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring refund-receipt schedule that is associated with the recurrence template.

RefundReceipt_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring refund-receipt transaction to occur.

RefundReceipt_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring refund-receipt schedule when no further occurrences are generated.

RefundReceipt_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The date on which the previous occurrence of the recurring refund-receipt transaction was processed. This value is helpful for tracking the transaction history of the schedule.

RefundReceipt_LineAggregate String False False False

An XML aggregate containing all line items included in the refund-receipt transaction. This collection provides a detailed breakdown of each item or service refunded within the transaction.

RefundReceipt_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique tax code that is applied to the refund-receipt transaction. This code determines how taxes are calculated and reported for the refund.

RefundReceipt_TxnTaxDetail_TotalTax String False False False

The total tax amount that is calculated for the refund-receipt transaction, excluding any tax lines that are manually inserted into the transaction line list. This field shows the summed tax liability that is associated with the refund.

RefundReceipt_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing all tax line items that are associated with the refund-receipt transaction. Each entry shows how individual tax components contribute to the total tax for the refund.

RefundReceipt_CustomerRef String False

Customers.Id

False False

The Id of the customer who is receiving the refund. This Id links the refund receipt to the corresponding customer record in QuickBooks Online.

RefundReceipt_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer who is receiving the refund. This name provides a human-readable reference alongside the customer Id.

RefundReceipt_CustomerMemo String False False False

The message to the customer that appears on the refund receipt and in the printed document. This message can include notes, acknowledgements, or instructions.

RefundReceipt_BillAddr_Id String False False False

The Id of the billing address entity that is associated with the refund receipt. This Id is mainly used for modifying or verifying the address record in QuickBooks Online.

RefundReceipt_BillAddr_Line1 String False False False

The first line of the customer's billing address for the refund receipt.

RefundReceipt_BillAddr_Line2 String False False False

The second line of the customer's billing address for the refund receipt.

RefundReceipt_BillAddr_Line3 String False False False

The third line of the customer's billing address for the refund receipt.

RefundReceipt_BillAddr_Line4 String False False False

The fourth line of the customer's billing address for the refund receipt.

RefundReceipt_BillAddr_Line5 String False False False

The fifth line of the customer's billing address for the refund receipt.

RefundReceipt_BillAddr_City String False False False

The city portion of the customer's billing address for the refund receipt.

RefundReceipt_BillAddr_Country String False False False

The country portion of the customer's billing address for the refund receipt.

RefundReceipt_BillAddr_CountrySubDivisionCode String False False False

The region within the customer's country for the billing address, such as the state for the USA or the province for Canada.

RefundReceipt_BillAddr_PostalCode String False False False

The postal code for the customer's billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

RefundReceipt_BillAddr_Note String False False False

A note about the customer's billing address that is associated with the refund receipt.

RefundReceipt_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address that is associated with the refund receipt.

RefundReceipt_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address that is associated with the refund receipt.

RefundReceipt_ShipAddr_Id String False False False

The Id of the shipping address entity that is associated with the refund receipt. ThisId is used mainly for modifying or verifying the address record in QuickBooks Online.

RefundReceipt_ShipAddr_Line1 String False False False

The first line of the shipping address for the refund receipt.

RefundReceipt_ShipAddr_Line2 String False False False

The second line of the shipping address for the refund receipt.

RefundReceipt_ShipAddr_Line3 String False False False

The third line of the shipping address for the refund receipt.

RefundReceipt_ShipAddr_Line4 String False False False

The fourth line of the shipping address for the refund receipt.

RefundReceipt_ShipAddr_Line5 String False False False

The fifth line of the shipping address for the refund receipt.

RefundReceipt_ShipAddr_City String False False False

The city portion of the shipping address for the refund receipt.

RefundReceipt_ShipAddr_Country String False False False

The country portion of the shipping address for the refund receipt.

RefundReceipt_ShipAddr_CountrySubDivisionCode String False False False

The region within the shipping address country, such as the state for the USA or the province for Canada.

RefundReceipt_ShipAddr_PostalCode String False False False

The postal code for the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

RefundReceipt_ShipAddr_Note String False False False

A note about the shipping address that is associated with the refund receipt.

RefundReceipt_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address that is associated with the refund receipt.

RefundReceipt_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address that is associated with the refund receipt.

RefundReceipt_ClassRef String False

Class.Id

False False

The Id of the class that is associated with the refund-receipt transaction. This Id supports class-based tracking for reporting purposes.

RefundReceipt_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class associated with the refund-receipt transaction.

RefundReceipt_CheckPayment_CheckNum String True False False

The check number that is printed on the check used for the refund payment.

RefundReceipt_CheckPayment_Status String False False False

The status of the check that is used for the refund payment. Values are determined by QuickBooks service or business logic.

RefundReceipt_CheckPayment_NameOnAccount String False False False

The name of the person or entity holding the account, as printed on the check that is used for the refund.

RefundReceipt_CheckPayment_AcctNum String False False False

The checking-account number from which the refund payment was drawn, as printed on the check.

RefundReceipt_CheckPayment_BankName String True False False

The name of the bank on which the refund check was drawn.

RefundReceipt_CreditCardPayment_CreditChargeInfo_Type String False False False

The type of credit card that is used for the refund payment (such as Visa or MasterCard).

RefundReceipt_CreditCardPayment_CreditChargeInfo_NameOnAcct String False False False

The name of the account holder, as printed on the credit card that is used for the refund.

RefundReceipt_CreditCardPayment_CreditChargeInfo_CcExpiryMonth Integer False False False

The expiration month of the credit card that is used for the refund.

RefundReceipt_CreditCardPayment_CreditChargeInfo_CcExpiryYear Integer False False False

The four-digit expiration year of the credit card that is used for the refund.

RefundReceipt_CreditCardPayment_CreditChargeInfo_BillAddrStreet String False False False

The street portion of the billing address for the credit card that is used for the refund.

RefundReceipt_CreditCardPayment_CreditChargeInfo_PostalCode String False False False

The postal code of the billing address for the credit card that is used for the refund.

RefundReceipt_CreditCardPayment_CreditChargeInfo_Amount Decimal False False False

The total amount that is processed, using the credit card for the refund payment.

RefundReceipt_CreditCardPayment_CreditChargeInfo_ProcessPayment Boolean False False False

Indicates whether to store only the credit-card information (false) or to store the credit-card payment transaction information in the CreditChargeResponse attribute (true).

RefundReceipt_CreditCardPayment_CreditChargeResponse_CCTransId String False False False

The unique Id of the credit-card payment transaction that is associated with the refund receipt.

RefundReceipt_CreditCardPayment_CreditChargeResponse_AuthCode String False False False

The authorization code that is returned by the credit-card processor, indicating that the refund charge was approved by the card issuer.

RefundReceipt_CreditCardPayment_CreditChargeResponse_TxnAuthorizationTime Datetime False False False

The timestamp indicating when the credit-card processor authorized the refund transaction.

RefundReceipt_CreditCardPayment_CreditChargeResponse_Status String False False False

The status of the credit-card refund transaction. Possible values include Completed or Unknown.

RefundReceipt_SalesTermRef String False

Terms.Id

False False

The Id of the sales term that is that is associated with the refund-receipt transaction.

RefundReceipt_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales term that is associated with the refund-receipt transaction.

RefundReceipt_DueDate Date False False False

The date by which the refunded invoice was originally due to be paid, excluding any early-payment discounts or late-payment penalties. If the date is not supplied, the current server date is used.

RefundReceipt_ShipMethodRef String False False False

The Id of the shipping method that is associated with the refund-receipt transaction.

RefundReceipt_ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the refund-receipt transaction.

RefundReceipt_ShipDate Date False False False

The date on which the goods or services for which a refund was issued were scheduled for delivery.

RefundReceipt_TotalAmt Decimal True False False

The total amount of the refund-receipt transaction. This amount includes the combined value of all charges, allowances, taxes, and any applicable adjustments, giving the full monetary impact of the refund.

RefundReceipt_ApplyTaxAfterDiscount Boolean False False False

Sets whether any discounts are applied before taxes are calculated for the refund-receipt transaction. This flag determines the order of operations for tax computation.

RefundReceipt_PrintStatus String False False False

Indicates the current print status of the refund receipt (for example, NotSet, NeedToPrint, or Printed) so you can see whether the document still needs to be printed or re-printed.

The allowed values are NotSet, NeedToPrint, PrintComplete.

RefundReceipt_BillEmail_Address String False False False

The email address where the refund receipt is sent to the customer. If the the EmailStatus attribute value is NeedToSend, the billing email address is required.

RefundReceipt_Balance Decimal False False False

Shows whether the refund-receipt transaction has an outstanding balance. This field can be used to identify whether the refund fully offsets the original charge or leaves a remaining credit/charge.

RefundReceipt_PaymentMethodRef String False

PaymentMethods.Id

False False

The Id of the payment method that is used for the refund transaction (such as Check, CreditCard, or Cash).

RefundReceipt_PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The name of the payment method used for the refund transaction. This gives a human-readable version of the payment method payment-method reference.

RefundReceipt_PaymentRefNum String False False False

The reference number for the payment instrument or transaction that is associated with the refund (such as the check number, EFT reference, or credit card transaction ID).

RefundReceipt_PaymentType String False False False

Specifies the type of payment that is used to issue the refund, such as Check, CreditCard, or Cash.

The allowed values are Cash, Check, CreditCard, Other.

RefundReceipt_DepositToAccountRef String False

Accounts.Id

False False

The Id)of the asset account where the refund money is deposited. If this account is not specified, QuickBooks Online uses the Undeposited Funds account by default.

RefundReceipt_DepositToAccountRef_Name String True

Accounts.Name

False False

The name of the asset account where the refund money is deposited. If not specified, QuickBooks Online uses the Undeposited Funds account by default.

RefundReceipt_CurrencyRef String False False False

The Id of the currency that is used in the refund-receipt transaction. This Id links the refund to the correct currency in multicurrency companies.

RefundReceipt_CurrencyRef_Name String True False False

The name of the currency that is used in the refund-receipt transaction, providing a human-readable currency label alongside the Id.

RefundReceipt_ExchangeRate Decimal False False False

The currency exchange rate that is applied to the refund-receipt transaction. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available in the UK, AU, and CA editions.

RefundReceipt_GlobalTaxCalculation String False False False

Specifies the method in which tax is applied to the refund-receipt transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

RefundReceipt_HomeTotalAmt Decimal True False False

The total amount of the refund-receipt transaction expressed in the home currency. This amount includes the total of all charges, allowances, and taxes, and is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringRefundReceiptTransactionsLineItems

Contains the line-level details of recurring refund receipts, including refunded products, services, amounts, and taxes for consistent automated processing.

Columns

Name Type ReadOnly References Filterable Sortable Description
RefundReceipt_LineId [KEY] String True False False

The identifier (Id) of the line item that is part of the recurring refund-receipt transaction. This Id uniquely identifies the individual line item within the recurring refund-receipt template.

RefundReceipt_RefundReceiptId [KEY] String False

RefundReceipts.Id

True False

The Id of the recurring refund-receipt transaction to which this line item belongs.

RefundReceipt_SyncToken String True False False

The version number of the object that is used to lock the recurring refund-receipt record for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

RefundReceipt_MetaData_CreateTime Datetime True True True

The date and time when the recurring refund-receipt line record was created in QuickBooks Online.

RefundReceipt_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring refund-receipt line record was last updated in QuickBooks Online.

RefundReceipt_CustomFieldAggregate String False False False

An XML aggregate that contains all custom field information that is associated with the recurring refund-receipt transaction line item.

RefundReceipt_DocNumber String False False False

The reference number that is assigned to the recurring refund-receipt transaction for tracking and reconciliation purposes.

RefundReceipt_TxnDate Date False False False

The date that is entered by the user when the recurring refund-receipt transaction occurred. This represents the transaction date that is used for accounting and reporting.

RefundReceipt_PrivateNote String False False False

A private note that does not appear on the recurring refund-receipt transaction records. This field can be used for internal comments or special instructions.

RefundReceipt_Line_Id String False False False

The Id of the specific line item within the recurring refund-receipt transaction.

RefundReceipt_Line_LineNum String False False False

The sequential line number that is assigned to the line item within the recurring refund-receipt transaction.

RefundReceipt_Line_Description String False False False

The description of the line item that is displayed in the printed or on-screen record of the recurring refund-receipt transaction.

RefundReceipt_Line_Amount Decimal False False False

The total monetary amount of charges or credits for the given line item within the recurring refund-receipt transaction. This amount includes charges and allowances but excludes tax amounts.

RefundReceipt_Line_DetailType String False False False

The detail type of the line item in the recurring refund-receipt transaction. Different detail types indicate different types of line items, such as service lines or sales items.

RefundReceipt_Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

The Id of the item that is referenced by this line item. When a line item lacks an item reference, it is treated as documentation and the Line_Amount attribute is ignored.

RefundReceipt_Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item that is referenced by this line item. When a line item lacks an item reference, it is treated as documentation and the Line_Amount field is ignored.

RefundReceipt_Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

The Id of the class that is assigned to this sales-item line for classification purposes.

RefundReceipt_Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is assigned to this sales-item line for classification purposes.

RefundReceipt_Line_SalesItemLineDetail_UnitPrice Decimal False False False

The unit price of the item that is referenced by ItemRef in this sales-item line.

RefundReceipt_Line_SalesItemLineDetail_Qty Double False False False

The quantity of items that are recorded in this sales-item line of the recurring refund-receipt transaction.

RefundReceipt_Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to the item in this sales-item line.

RefundReceipt_Line_SalesItemLineDetail_ServiceDate Date False False False

The date of the service that is associated with this sales-item line.

RefundReceipt_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique tax code that is assigned to the recurring refund-receipt transaction, which determines how taxes are calculated and reported.

RefundReceipt_TxnTaxDetail_TotalTax String False False False

The total tax amount that is calculated for the recurring refund-receipt transaction, excluding any tax lines that are manually inserted into the transaction line list.

RefundReceipt_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that contains a structured list of all individual tax line items that are applied to the recurring refund-receipt transaction. This collection makes it possible to audit or report on how taxes were derived for every occurrence in the schedule.

RefundReceipt_RecurDataRef String False False False

The Id of the recurrence data reference that links the recurring refund-receipt transaction to the underlying template or schedule that controls its automated creation.

RefundReceipt_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring refund-receipt template or schedule.

RefundReceipt_RecurringInfo_Name String False False False

The descriptive name of the recurring refund-receipt schedule or template. This name is the label that users assign to recognize and manage the recurring refund-receipt pattern, such as 'Monthly Refunds' or 'Quarterly Credits'.

RefundReceipt_RecurringInfo_RecurType String False False False

The recurring type of the refund receipt schedule, such as scheduled, reminder, or unscheduled. This indicates how the recurring refund-receipt transaction is created or triggered.

The allowed values are Automated, Reminded, UnScheduled.

RefundReceipt_RecurringInfo_Active Boolean False False False

Indicates whether the recurring refund-receipt schedule is currently active or inactive. An active schedule automatically generates refund-receipt transactions according to its defined settings.

RefundReceipt_RecurringInfo_ScheduleInfo_IntervalType String False False False

Defines how often the recurring refund-receipt transaction occurs (for example, weekly, monthly, or yearly). This interval type determines the frequency of the automated transaction.

The allowed values are Yearly, Monthly, Weekly, Daily.

RefundReceipt_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

Specifies the number of intervals for the recurring refund-receipt schedule. This value determines how frequently the transaction recurs based on the interval type.

RefundReceipt_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring refund-receipt transaction is scheduled to occur when the interval type is weekly.

RefundReceipt_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring refund-receipt transaction is scheduled to occur when the interval type is monthly.

RefundReceipt_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that is allowed for the recurring refund-receipt schedule before it ends.

RefundReceipt_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring refund receipt should be sent.

RefundReceipt_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring refund-receipt transaction is scheduled to occur when the interval type is yearly.

RefundReceipt_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring refund receipt is processed or triggered.

RefundReceipt_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring refund-receipt transaction is scheduled to occur.

RefundReceipt_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring refund-receipt schedule that is associated with the recurrence template.

RefundReceipt_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring refund-receipt transaction to occur.

RefundReceipt_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring refund-receipt schedule when no further occurrences are generated.

RefundReceipt_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring refund-receipt transaction occurred.

RefundReceipt_CustomerRef String False

Customers.Id

False False

The Id of the customer that is linked to this recurring refund-receipt transaction.

RefundReceipt_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is linked to this recurring refund-receipt transaction.

RefundReceipt_CustomerMemo String False False False

The message to the customer that appears in the invoice and in the printed invoice for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Id String False False False

The Id of the entity for the billing address that is mainly used for modifying the address. This field is assigned by the data service.

RefundReceipt_BillAddr_Line1 String False False False

The first line of the billing address that is used for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Line2 String False False False

The second line of the billing address that is used for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Line3 String False False False

The third line of the billing address that is used for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Line4 String False False False

The fourth line of the billing address that is used for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Line5 String False False False

The fifth line of the billing address that is used for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_City String False False False

The city name that is used in the billing address for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Country String False False False

The country name that is used in the billing address for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_CountrySubDivisionCode String False False False

The region within a country that is used in the billing address. For example, the state name for the USA or the province name for Canada.

RefundReceipt_BillAddr_PostalCode String False False False

The postal code that is used in the billing address. For example, the ZIP code for the USA and the postal code for Canada.

RefundReceipt_BillAddr_Note String False False False

A note for the customer that is associated with the billing address of the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address that is used for the recurring refund-receipt transaction.

RefundReceipt_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address that is used for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Id String False False False

The Id of the entity for the shipping address that is used mainly for modifying the address. This field is assigned by the data service.

RefundReceipt_ShipAddr_Line1 String False False False

The first line of the shipping address that is used for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Line2 String False False False

The second line of the shipping address that is used for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Line3 String False False False

The third line of the shipping address that is used for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Line4 String False False False

The fourth line of the shipping address that is used for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Line5 String False False False

The fifth line of the shipping address that is used for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_City String False False False

The city name that is used in the shipping address for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Country String False False False

The country name that is used in the shipping address for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_CountrySubDivisionCode String False False False

The region within a country that is used in the shipping address. For example, the state name for the USA or the province name for Canada.

RefundReceipt_ShipAddr_PostalCode String False False False

The postal code that is used in the shipping address. For example, the ZIP code for the USA and the postal code for Canada.

RefundReceipt_ShipAddr_Note String False False False

A note for the customer that is associated with the shipping address of the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address that is used for the recurring refund-receipt transaction.

RefundReceipt_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address that is used for the recurring refund-receipt transaction.

RefundReceipt_ClassRef String False

Class.Id

False False

The Id of the class that is associated with this recurring refund-receipt transaction for classification or reporting purposes.

RefundReceipt_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with this recurring refund-receipt transaction for classification or reporting purposes.

RefundReceipt_CheckPayment_CheckNum String True False False

The check number that is printed on the check used for the refund-receipt transaction.

RefundReceipt_CheckPayment_Status String False False False

Indicates the status of the check that is recorded for the refund-receipt transaction. Values are provided by the service or business logic, such as Pending, Cleared, or Voided.

RefundReceipt_CheckPayment_NameOnAccount String False False False

The name of the person or entity that is holding the account, as printed on the check used for the refund-receipt transaction.

RefundReceipt_CheckPayment_AcctNum String False False False

The checking account number, as printed on the check used for the refund-receipt transaction.

RefundReceipt_CheckPayment_BankName String True False False

The name of the bank on which the check used for the refund-receipt transaction was drawn.

RefundReceipt_CreditCardPayment_CreditChargeInfo_Type String False False False

The type of credit card that is used to process the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeInfo_NameOnAcct String False False False

The name of the account holder, as printed on the card that is used to process the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeInfo_CcExpiryMonth Integer False False False

The expiration month of the credit card that is used to process the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeInfo_CcExpiryYear Integer False False False

The four-digit expiration year of the credit card that is used to process the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeInfo_BillAddrStreet String False False False

The street of the billing address of the credit-card holder that is used to process the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeInfo_PostalCode String False False False

The postal code of the billing address of the credit card holder that is used to process the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeInfo_Amount Decimal False False False

The monetary amount that is processed by using the credit card for the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeInfo_ProcessPayment Boolean False False False

Indicates whether to store credit-card information only (false or no value) or to store credit-card payment transaction information in the CreditChargeResponse section (true).

RefundReceipt_CreditCardPayment_CreditChargeResponse_CCTransId String False False False

The unique Id of the credit-card payment transaction that is processed for the refund receipt.

RefundReceipt_CreditCardPayment_CreditChargeResponse_AuthCode String False False False

The authorization code that is returned from the credit-card processor to indicate that the charge will be paid by the card issuer for the refund-receipt transaction.

RefundReceipt_CreditCardPayment_CreditChargeResponse_TxnAuthorizationTime Datetime False False False

The timestamp indicating the time at which the card processor authorized the transaction for the refund receipt.

RefundReceipt_CreditCardPayment_CreditChargeResponse_Status String False False False

Indicates the status of the credit card payment transaction for the refund receipt. Possible values include Completed and Unknown.

RefundReceipt_SalesTermRef String False

Terms.Id

False False

The Id of the sales term that is associated with the refund-receipt transaction.

RefundReceipt_SalesTermRef_Name String True

Terms.Name

False False

The name of the sales term that is associated with the refund-receipt transaction.

RefundReceipt_DueDate Date False False False

The date on which the refund receipt invoice is to be paid, not including any early payment discount incentives or late payment penalties. If the date is not supplied, the current date on the server is used.

RefundReceipt_ShipMethodRef String False False False

The Id of the shipping method that is associated with the refund-receipt transaction.

RefundReceipt_ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the refund-receipt transaction.

RefundReceipt_ShipDate Date False False False

The date scheduled for delivery of goods or services that is associated with the refund-receipt transaction.

RefundReceipt_TotalAmt Decimal True False False

The total amount of the refund-receipt transaction. This amount includes the total of all charges, allowances, and taxes.

RefundReceipt_ApplyTaxAfterDiscount Boolean False False False

Sets whether any discounts are applied before the tax is calculated for the refund-receipt transaction.

RefundReceipt_DepartmentRef String False

Departments.Id

False False

The Id of the department that is storing the location of the refund-receipt transaction, as defined using location tracking in QuickBooks Online.

RefundReceipt_DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is storing the location of the refund-receipt transaction, as defined using location tracking in QuickBooks Online.

RefundReceipt_PrintStatus String False False False

The print status of the refund receipt invoice.

The allowed values are NotSet, NeedToPrint, PrintComplete.

RefundReceipt_BillEmail_Address String False False False

The email address to which the refund receipt invoice is sent. If the value of theEmailStatus attribute is NeedToSend, the billing email address is required.

RefundReceipt_Balance Decimal False False False

Indicates whether the refund-receipt transaction is a finance charge.

RefundReceipt_PaymentMethodRef String False

PaymentMethods.Id

False False

The Id of the payment method that is associated with the refund-receipt transaction.

RefundReceipt_PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The name of the payment method that is associated with the refund-receipt transaction.

RefundReceipt_PaymentRefNum String False False False

The reference number for the payment received that is linked to the refund-receipt transaction.

RefundReceipt_PaymentType String False False False

The type of payment that is used for the refund-receipt transaction, such as cash, check, or credit card.

The allowed values are Cash, Check, CreditCard, Other.

RefundReceipt_DepositToAccountRef String False

Accounts.Id

False False

The Id of the asset account where the payment money for the refund-receipt transaction is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

RefundReceipt_DepositToAccountRef_Name String True

Accounts.Name

False False

The name of the asset account where the payment money for the refund-receipt transaction is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

RefundReceipt_CurrencyRef String False False False

The Id of the currency that is used in the refund-receipt transaction. This field is valid in the UK, AU, and CA editions.

RefundReceipt_CurrencyRef_Name String False False False

The name of the currency in which all amounts on the refund-receipt transaction are expressed. This field is valid in the UK, AU, and CA editions.

RefundReceipt_ExchangeRate Decimal False False False

The currency exchange rate for the refund-receipt transaction. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

RefundReceipt_GlobalTaxCalculation String False False False

The method in which tax is applied to the refund-receipt transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

RefundReceipt_HomeTotalAmt Decimal True False False

The total amount of the refund-receipt transaction in the home currency. This includes the total of all charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringSalesReceiptTransactions

Holds recurring templates for sales receipts, automating the recording of repeat customer sales that are paid at the point of sale.

Columns

Name Type ReadOnly References Filterable Sortable Description
SalesReceipt_Id [KEY] String True True False

The Id of the sales receipt.

SalesReceipt_SyncToken String True False False

The version control token for the recurring sales-receipt transaction that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the record is modified, and only the latest sync token can be used when making changes.

SalesReceipt_MetaData_CreateTime Datetime True True True

The date and time stamp (in Coordinated Universal Time) when QuickBooks Online created the recurring sales receipt record. This field provides an immutable audit trail of the creation event.

SalesReceipt_MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (in Coordinated Universal Time) when the recurring sales receipt record was last updated. This field is important for synchronization and detecting recent changes.

SalesReceipt_CustomFieldAggregate String False False False

An XML aggregate that is serialized into a single string containing all custom fields that are associated with this recurring sales receipt. Each CustomField element can include Name, Type, and Value attributes that define additional metadata applied to the transaction.

SalesReceipt_DocNumber String False False False

The external or system-generated reference number that is assigned to the recurring sales receipt. If no number is provided, QuickBooks Online automatically assigns the next sequential document number based on the company's numbering preferences.

SalesReceipt_TxnDate Date False False False

The transaction date that determines when this recurring sales receipt is posted to the books. For example, a sales receipt can be created on one date but backdated to affect a prior period's financial statements.

SalesReceipt_DepartmentRef String False

Departments.Id

False False

The unique identifier (Id) of the department or location that is linked to this recurring sales receipt when location tracking is enabled in QuickBooks Online. This Id helps classify revenue or activity by department.

SalesReceipt_DepartmentRef_Name String True

Departments.Name

False False

The display name of the department or location that is linked to this recurring sales receipt when location tracking is enabled in QuickBooks Online.

SalesReceipt_PrivateNote String False False False

An internal memo or private note that is recorded on the recurring sales receipt. These notes are not printed on customer-facing documents by default and are intended for internal reference.

SalesReceipt_TxnStatus String False False False

The current workflow or posting status of the recurring sales receipt. Depending on the transaction type, this field can display different enumerated values such as Paid, Partially Paid, or Pending. For sales transactions, the acceptable values are defined by the PaymentStatusEnum data type. For estimates, the acceptable values are defined by the QboEstimateStatusEnum data type.

SalesReceipt_LinkedTxnAggregate String False False False

An XML aggregate that is serialized into a single string representing all transactions that are linked to this recurring sales receipt. Each LinkedTxn element typically includes Id, Type, and optional sequence details to identify how this sales receipt is applied to other transactions.

SalesReceipt_RecurDataRef String False False False

The unique Id of the recurrence data record that governs how this recurring sales receipt is generated automatically.

SalesReceipt_RecurDataRef_Name String True False False

The descriptive name for the recurrence data record that is associated with this recurring sales receipt.

SalesReceipt_RecurringInfo_Name String False False False

The descriptive name of the recurring template or schedule that generates this recurring sales receipt.

SalesReceipt_RecurringInfo_RecurType String False False False

The recurrence pattern type (such as Scheduled, Unscheduled, or Reminder) that is associated with this recurring sales receipt.

The allowed values are Automated, Reminded, UnScheduled.

SalesReceipt_RecurringInfo_Active Boolean False False False

Indicates whether the recurring sales-receipt schedule is currently active (true) or inactive (false). Inactive schedules do not generate new transactions.

SalesReceipt_RecurringInfo_ScheduleInfo_IntervalType String False False False

The unit of time that defines the recurrence interval for this recurring sales receipt (for example, such as Daily, Weekly, Monthly, or Yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

SalesReceipt_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The numeric interval that determines how often this recurring sales receipt occurs, based on the interval type (for example, every 2 weeks).

SalesReceipt_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which this recurring sales receipt is scheduled to occur (for example, Monday or Friday).

SalesReceipt_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which this recurring sales receipt is scheduled to occur (for example, First, Second, or Last).

SalesReceipt_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of recurring sales-receipt transactions that are generated under this schedule before it stops automatically.

SalesReceipt_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days in advance of the scheduled start date when QuickBooks Online should send a reminder for a recurring sales receipt of type Reminder.

SalesReceipt_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year when the recurring sales receipt is scheduled to occur if using an annual recurrence (for example, January or July).

SalesReceipt_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date that QuickBooks Online should create or notify about this recurring sales-receipt transaction.

SalesReceipt_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The calendar day of the month on which this recurring sales receipt is scheduled to occur (for example, 1, 15, or 30).

SalesReceipt_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The date and time stamp when the recurring sales-receipt schedule becomes effective in QuickBooks Online.

SalesReceipt_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The date and time stamp of the next scheduled occurrence of this recurring sales receipt.

SalesReceipt_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The date and time stamp when the recurring sales-receipt schedule ends and no further transactions are generated.

SalesReceipt_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The date and time stamp of the most recent occurrence of this recurring sales receipt under the recurrence schedule.

SalesReceipt_LineAggregate String False False False

An XML aggregate that is serialized into a single string representing all line items that are contained in this recurring sales receipt. Each line typically includes elements such as Line/Id, Line/LineNum, Line/Amount, Line/DetailType, and detail substructures (for example, SalesItemLineDetail or GroupLineDetail) that define the product, service, tax, and quantity that are linked to the transaction.

SalesReceipt_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the transaction-level tax code that is applied to this recurring sales receipt.

SalesReceipt_TxnTaxDetail_TotalTax String False False False

The total amount of tax that is calculated for this recurring sales-receipt transaction, excluding any tax lines that are manually inserted into the line list.

SalesReceipt_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that is serialized into a single string representing all tax line items that QuickBooks Online calculates or applies to this recurring sales receipt. Each TaxLine element can include details such as TaxRateRef, PercentBased, NetAmountTaxable, and TaxAmount.

SalesReceipt_CustomerRef String False

Customers.Id

False False

The unique Id of the customer to whom this recurring sales receipt is issued.

SalesReceipt_CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer to whom this recurring sales receipt is issued.

SalesReceipt_CustomerMemo String False False False

The free-form message that appears on the recurring sales receipt and is visible to the customer.

SalesReceipt_BillAddr_Id String False False False

The unique Id of the billing address record that is associated with this recurring sales receipt. This Id is system-assigned by the data service and is primarily used when modifying the billing address.

SalesReceipt_BillAddr_Line1 String False False False

The first line of the billing address for the customer on this recurring sales receipt, typically containing the street address or P.O. Box.

SalesReceipt_BillAddr_Line2 String False False False

The second line of the billing address for the customer on this recurring sales receipt, often used for suite numbers, building names, or additional address details.

SalesReceipt_BillAddr_Line3 String False False False

The third line of the billing address for the customer on this recurring sales receipt. This line is typically used for apartment, suite, or unit numbers, or other secondary address information.

SalesReceipt_BillAddr_Line4 String False False False

The fourth line of the billing address for the customer on this recurring sales receipt. This line provides additional flexibility for complex addresses, such as multiple building identifiers.

SalesReceipt_BillAddr_Line5 String False False False

The fifth line of the billing address for the customer on this recurring sales receipt. This field is rarely used but is available for extended address details if required.

SalesReceipt_BillAddr_City String False False False

The city name of the billing address for the customer on this recurring sales receipt.

SalesReceipt_BillAddr_Country String False False False

The country name of the billing address for the customer on this recurring sales receipt.

SalesReceipt_BillAddr_CountrySubDivisionCode String False False False

The region within a country for the billing address. For example, this value is the state name for the USA and the province name for Canada.

SalesReceipt_BillAddr_PostalCode String False False False

The postal code of the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

SalesReceipt_BillAddr_Note String False False False

An optional note that is associated with the billing address for the customer. This note is typically used for delivery instructions or additional customer-specific address details.

SalesReceipt_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address. This value is automatically generated by the QuickBooks Online geocoding service if geolocation is enabled.

SalesReceipt_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address. This value is automatically generated by the QuickBooks Online geocoding service if geolocation is enabled.

SalesReceipt_ShipAddr_Id String False False False

The unique Id of the shipping address entity that is associated with this recurring sales receipt. This Id is system-assigned by the data service and is primarily used when modifying the shipping address.

SalesReceipt_ShipAddr_Line1 String False False False

The first line of the shipping address for the customer on this recurring sales receipt, typically containing the street address or P.O. Box.

SalesReceipt_ShipAddr_Line2 String False False False

The second line of the shipping address for the customer on this recurring sales receipt, often used for suite numbers, building names, or additional address details.

SalesReceipt_ShipAddr_Line3 String False False False

The third line of the shipping address for the customer on this recurring sales receipt. This line is often used for apartment, floor, or complex information.

SalesReceipt_ShipAddr_Line4 String False False False

The fourth line of the shipping address for the customer on this recurring sales receipt. This line provides additional flexibility for multi-part addresses.

SalesReceipt_ShipAddr_Line5 String False False False

The fifth line of the shipping address for the customer on this recurring sales receipt. This field is rarely used but allows entry of extended address details if needed.

SalesReceipt_ShipAddr_City String False False False

The city name of the shipping address for the customer on this recurring sales receipt.

SalesReceipt_ShipAddr_Country String False False False

The country name of the shipping address for the customer on this recurring sales receipt.

SalesReceipt_ShipAddr_CountrySubDivisionCode String False False False

The region within a country for the shipping address. For example, this value is the state name for the USA and the province name for Canada.

SalesReceipt_ShipAddr_PostalCode String False False False

The postal code of the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

SalesReceipt_ShipAddr_Note String False False False

An optional note that is associated with the shipping address for the customer. This note is typically used for delivery instructions, access codes, or other customer-specific details.

SalesReceipt_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address. This value is automatically generated by the QuickBooks Online geocoding service if geolocation is enabled.

SalesReceipt_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address. This value is automatically generated by the QuickBooks Online geocoding service if geolocation is enabled.

SalesReceipt_ClassRef String False

Class.Id

False False

The unique Id of the class that is associated with this recurring sales receipt. Classes allow businesses to track income and expenses by category such as department, product line, or business unit.

SalesReceipt_ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is associated with this recurring sales receipt.

SalesReceipt_ShipMethodRef String False False False

The unique Id of the shipping method that is associated with this recurring sales receipt. For example, this Id can represent UPS, FedEx, or USPS.

SalesReceipt_ShipMethodRef_Name String True False False

The display name of the shipping method that is associated with this recurring sales receipt.

SalesReceipt_ShipDate Date False False False

The scheduled date for delivery of goods or services associated with this recurring sales receipt.

SalesReceipt_TrackingNum String False False False

The tracking number that is provided by the shipping carrier for the delivery of goods associated with this recurring sales receipt. This value allows businesses and customers to monitor shipment progress.

SalesReceipt_TotalAmt Decimal False False False

The total monetary amount of the recurring sales-receipt transaction. This total includes all charges, allowances, discounts, and taxes. By default, QuickBooks Online recalculates this amount based on the total of all line items. This field is calculated by QuickBooks Online business logic and cannot be written to directly.

SalesReceipt_PrintStatus String False False False

Indicates the print status of the recurring sales receipt. This status helps identify whether the receipt has been printed, is marked as 'to be printed,' or has not been scheduled for printing. Businesses often use this field to manage outstanding receipts that need to be physically delivered or archived.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

SalesReceipt_EmailStatus String False False False

Indicates the email delivery status of the recurring sales receipt. This field reflects whether the sales receipt has been sent, is scheduled to be sent, or remains unsent. Monitoring this status helps ensure that customers receive electronic copies in a timely manner.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

SalesReceipt_BillEmail_Address String False False False

The email address where the sales receipt is sent when electronic delivery is enabled. This field is required if the EmailStatus field has a value of 'NeedToSend.' It ensures that QuickBooks Online knows the intended recipient of the digital copy.

SalesReceipt_Balance Decimal True False False

The outstanding balance remaining on the recurring sales receipt after any payments or credits are applied. This value provides a real-time view of what is still owed by the customer.

SalesReceipt_PaymentRefNum String False False False

The reference number for the payment that is associated with the recurring sales receipt. This value typically corresponds to a check number, electronic payment confirmation, or other payment tracking identifier provided by the customer.

SalesReceipt_PaymentMethodRef String False

PaymentMethods.Id

False False

The unique Id of the payment method that is used for the transaction. Examples include cash, check, credit card, or electronic funds transfer. QuickBooks Online uses this Id internally to link the receipt to the defined payment method.

SalesReceipt_PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The display name of the payment method that is used for the recurring sales receipt. This field allows users to view the method of payment in a readable format, such as 'Visa,' 'Cash,' or 'Bank Transfer.'

SalesReceipt_DepositToAccountRef String False

Accounts.Id

False False

The unique Id of the asset account where the payment from the recurring sales receipt is deposited. If this field is not specified, QuickBooks Online defaults to using the Undeposited Funds account to hold payments temporarily until they are moved to a designated bank account.

SalesReceipt_DepositToAccountRef_Name String True

Accounts.Name

False False

The display name of the asset account where the payment from the recurring sales receipt is deposited. If this field is not specified, QuickBooks Online defaults to the Undeposited Funds account. This field allows users to easily see which account the funds are routed to.

SalesReceipt_ApplyTaxAfterDiscount Boolean False False False

Specifies whether discounts are applied before or after tax calculation for the recurring sales receipt. A value of true indicates that discounts are applied first and then tax is calculated. A value of false means that tax is calculated on the full amount before discounts are deducted.

SalesReceipt_CurrencyRef String False False False

The unique Id of the currency that is used for the recurring sales-receipt transaction. This field is necessary in multi-currency environments to specify which currency the receipt is denominated in.

SalesReceipt_CurrencyRef_Name String True False False

The display name of the currency used for the recurring sales receipt transaction. Examples include 'US Dollar,' 'Canadian Dollar,' or 'British Pound.'

SalesReceipt_ExchangeRate Decimal False False False

The currency exchange rate that is applied when the recurring sales receipt involves a currency other than the company's home currency. Exchange rates in QuickBooks Online are always expressed as the number of home currency units required to equal one foreign currency unit. This field is valid only when the company file is enabled for multi-currency and is available in the UK, AU, and CA editions.

SalesReceipt_GlobalTaxCalculation String False False False

Specifies the method by which tax is calculated for the recurring sales receipt. This field is used to configure whether tax is applied on a transaction-wide basis or at the line-item level. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

SalesReceipt_HomeTotalAmt Decimal False False False

The total amount of the recurring sales-receipt transaction expressed in the company's home currency. This field ensures that businesses using multiple currencies can maintain consistent reporting in their base currency. It is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringSalesReceiptTransactionsLineItems

Captures line-level details of recurring sales receipts, specifying items sold, quantities, and amounts for each automated sales entry.

Columns

Name Type ReadOnly References Filterable Sortable Description
SalesReceipt_LineId [KEY] String True False False

The Id of the line item on the recurring sales receipt. This uniquely identifies the individual line entry within the sales-receipt transaction.

SalesReceipt_SalesReceiptId [KEY] String False

SalesReceipts.Id

True False

The Id of the recurring sales receipt to which this line item belongs.

SalesReceipt_SyncToken String True False False

The version number of the object that is used to lock the recurring sales receipt record for use by one application at a time. As soon as an application modifies the record, its sync token is incremented. Attempts to modify a record specifying an older sync token fail. Only the latest version of the record is maintained by QuickBooks Online.

SalesReceipt_MetaData_CreateTime Datetime True True True

The date and time when the recurring sales receipt line record was created in QuickBooks Online.

SalesReceipt_MetaData_LastUpdatedTime Datetime True True True

The date and time when the recurring sales receipt line record was last updated in QuickBooks Online.

SalesReceipt_CustomFieldAggregate String False False False

An XML aggregate containing all custom fields that are associated with the recurring sales-receipt transaction. This collection enables you to retrieve or audit all custom metadata applied to the sales-receipt template or its individual line items.

SalesReceipt_DocNumber String False False False

The reference number that is assigned to the recurring sales-receipt transaction for tracking and reconciliation purposes.

SalesReceipt_TxnDate Date False False False

The date entered by the user when this recurring sales-receipt transaction occurred. This date represents the transaction date that is used for accounting and reporting.

SalesReceipt_DepartmentRef String False

Departments.Id

False False

The Id of the department that is used to store or categorize the location of the recurring sales-receipt transaction as defined by using location tracking in QuickBooks Online.

SalesReceipt_DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is used to store or categorize the location of the recurring sales-receipt transaction as defined by using location tracking in QuickBooks Online.

SalesReceipt_PrivateNote String False False False

A private note about the recurring sales-receipt transaction that does not appear on the transaction records by default.

SalesReceipt_TxnStatus String False False False

The status of the recurring sales-receipt transaction. Depending on the transaction type it can have different values. For sales transactions, acceptable values are defined by the PaymentStatusEnum data type. For estimates, the values accepted are defined by the QboEstimateStatusEnum data type.

SalesReceipt_LinkedTxnAggregate String False False False

An XML aggregate containing all transactions that are linked to the recurring sales-receipt line item. This collection enables tracking of related invoices, payments, or adjustments for audit and reconciliation.

SalesReceipt_Line_Id String False False False

The Id of the specific line item within the recurring sales-receipt transaction.

SalesReceipt_Line_LineNum String False False False

The number of the line item within the recurring sales-receipt transaction.

SalesReceipt_Line_Description String False False False

A description of the line item that appears in the printed or displayed recurring sales receipt record.

SalesReceipt_Line_Amount Decimal False False False

The total monetary amount of charges or discounts for the given line item. This amount includes charges and allowances but excludes tax amounts.

SalesReceipt_Line_DetailType String False False False

The detail type of the line item in the recurring sales-receipt transaction. Different detail types indicate different types of line items.

SalesReceipt_Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

The Id of the item that is included in this sales receipt line. When a line item lacks an item reference, it is treated as documentation and the Line_Amount field is ignored.

SalesReceipt_Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

The name of the item that is included in this sales receipt line. When a line lacks an item reference, it is treated as documentation and the Line_Amount field is ignored.

SalesReceipt_Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

The Id of the class entity that is linked to this sales-receipt line item.

SalesReceipt_Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class entity that is linked to this sales-receipt line item.

SalesReceipt_Line_SalesItemLineDetail_UnitPrice Decimal False False False

The unit price of the item that is referenced by item reference for this sales-receipt line.

SalesReceipt_Line_SalesItemLineDetail_Qty Decimal False False False

The quantity of items for this sales-receipt line.

SalesReceipt_Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to this sales-receipt line item.

SalesReceipt_Line_SalesItemLineDetail_ServiceDate Date False False False

The date when the service for this sales-receipt line item is performed.

SalesReceipt_Line_GroupLineDetail_GroupItemRef String True False False

The Id of the group item object that is included in this sales-receipt line.

SalesReceipt_Line_GroupLineDetail_GroupItemRef_Name String True False False

The name of the group item object that is included in this sales receipt line.

SalesReceipt_Line_GroupLineDetail_Quantity Integer True False False

The quantity of the group item that is recorded in this sales-receipt line.

SalesReceipt_TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The tax code that is applied to the recurring sales-receipt transaction.

SalesReceipt_TxnTaxDetail_TotalTax String False False False

The total tax amount that is calculated for the recurring sales-receipt transaction, excluding any tax lines that are manually inserted into the transaction line list.

SalesReceipt_TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate containing all tax line items that are associated with the recurring sales-receipt transaction. This collection lists each tax component applied to the transaction for auditing and reporting purposes.

SalesReceipt_RecurDataRef String False False False

The Id of the recurrence data reference that links the recurring sales-receipt transaction to the underlying template or schedule controlling its automated creation.

SalesReceipt_RecurDataRef_Name String True False False

The name of the recurrence data reference that identifies the recurring sales-receipt template or schedule.

SalesReceipt_RecurringInfo_Name String False False False

The descriptive name of the recurring sales-receipt schedule or template. This name is the label that users assign to recognize and manage the recurring sales-receipt pattern, such as 'Monthly Membership Fees.'

SalesReceipt_RecurringInfo_RecurType String False False False

The recurring type of the sales-receipt schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

SalesReceipt_RecurringInfo_Active Boolean False False False

Indicates whether the recurring sales-receipt schedule is currently active or inactive.

SalesReceipt_RecurringInfo_ScheduleInfo_IntervalType String False False False

Defines how often the recurring sales-receipt transaction occurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

SalesReceipt_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

Specifies the number of intervals that is applied to the recurring sales-receipt schedule. This value determines how frequently the transaction recurs based on the interval type.

SalesReceipt_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring sales-receipt transaction is scheduled to occur when the interval type is weekly.

SalesReceipt_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring sales-receipt transaction is scheduled to occur when the interval type is monthly.

SalesReceipt_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that is allowed for the recurring sales-receipt schedule before it automatically stops generating transactions.

SalesReceipt_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring sales receipt should be sent.

SalesReceipt_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring sales-receipt transaction is scheduled to occur when the interval type is yearly.

SalesReceipt_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring sales receipt is processed or triggered.

SalesReceipt_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring sales-receipt transaction is scheduled to occur.

SalesReceipt_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring sales-receipt schedule that is associated with the recurrence template.

SalesReceipt_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring sales-receipt transaction to occur.

SalesReceipt_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring sales-receipt schedule when no further occurrences are generated.

SalesReceipt_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring sales-receipt transaction occurred.

SalesReceipt_CustomerRef String False

Customers.Id

False False

The Id of the customer that is linked to the recurring sales-receipt transaction.

SalesReceipt_CustomerRef_Name String True

Customers.DisplayName

False False

The name of the customer that is linked to the recurring sales-receipt transaction.

SalesReceipt_CustomerMemo String False False False

The message that is sent to the customer with the recurring sales-receipt transaction.

SalesReceipt_BillAddr_Id String False False False

The Id of the entity for the billing address that is mainly used for modifying the address. This field is assigned by the data service.

SalesReceipt_BillAddr_Line1 String False False False

The first line of the billing address.

SalesReceipt_BillAddr_Line2 String False False False

The second line of the billing address.

SalesReceipt_BillAddr_Line3 String False False False

The third line of the billing address.

SalesReceipt_BillAddr_Line4 String False False False

The fourth line of the billing address.

SalesReceipt_BillAddr_Line5 String False False False

The fifth line of the billing address.

SalesReceipt_BillAddr_City String False False False

The city name of the billing address.

SalesReceipt_BillAddr_Country String False False False

The country name of the billing address.

SalesReceipt_BillAddr_CountrySubDivisionCode String False False False

The region within a country for the billing address. For example, this value is the state name for the USA or the province name for Canada.

SalesReceipt_BillAddr_PostalCode String False False False

The postal code of the billing address. For example, this value is the ZIP code for the USA and Canada.

SalesReceipt_BillAddr_Note String False False False

A note for the customer that is stored with the billing address.

SalesReceipt_BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address.

SalesReceipt_BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address.

SalesReceipt_ShipAddr_Id String False False False

The Id of the entity for the shipping address that is mainly used for modifying the address. This field is assigned by the data service.

SalesReceipt_ShipAddr_Line1 String False False False

The first line of the shipping address.

SalesReceipt_ShipAddr_Line2 String False False False

The second line of the shipping address.

SalesReceipt_ShipAddr_Line3 String False False False

The third line of the shipping address that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipAddr_Line4 String False False False

The fourth line of the shipping address that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipAddr_Line5 String False False False

The fifth line of the shipping address that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipAddr_City String False False False

The city name of the shipping address that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipAddr_Country String False False False

The country name of the shipping address that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipAddr_CountrySubDivisionCode String False False False

The region within a country for the shipping address that is associated with the recurring sales-receipt transaction. For example, this value is the state name for the USA or the province name for Canada.

SalesReceipt_ShipAddr_PostalCode String False False False

The postal code of the shipping address that is associated with the recurring sales-receipt transaction. For example, this value is the ZIP code for the USA and Canada.

SalesReceipt_ShipAddr_Note String False False False

A note for the customer that is stored with the shipping address for the recurring sales-receipt transaction.

SalesReceipt_ShipAddr_Lat String False False False

The latitude coordinate of the geocoded shipping address that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipAddr_Long String False False False

The longitude coordinate of the geocoded shipping address that is associated with the recurring sales-receipt transaction.

SalesReceipt_ClassRef String False

Class.Id

False False

The Id of the class that is associated with the recurring sales-receipt transaction.

SalesReceipt_ClassRef_Name String True

Class.FullyQualifiedName

False False

The name of the class that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipMethodRef String False False False

The Id of the shipping method that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipMethodRef_Name String True False False

The name of the shipping method that is associated with the recurring sales-receipt transaction.

SalesReceipt_ShipDate Date False False False

The date on which the goods or services are scheduled to be delivered for the recurring sales-receipt transaction.

SalesReceipt_TrackingNum String False False False

The tracking number that is provided by the shipping provider for the delivery of goods that is associated with the recurring sales-receipt transaction.

SalesReceipt_TotalAmt Decimal False False False

The total amount of the recurring sales-receipt transaction. This amount includes the total of all charges, allowances, and taxes. By default, QuickBooks Online recalculates this amount based on the sum of sub-items and overrides any manual entry. This field is calculated by QuickBooks business logic and cannot be written to QuickBooks Online.

SalesReceipt_PrintStatus String False False False

Indicates the print status of the recurring sales-receipt transaction in QuickBooks Online.

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

SalesReceipt_EmailStatus String False False False

Indicates the email status of the recurring sales-receipt transaction in QuickBooks Online.

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

SalesReceipt_BillEmail_Address String False False False

The email address where the recurring sales-receipt transaction is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address is required.

SalesReceipt_Balance Decimal True False False

The remaining balance of the recurring sales-receipt transaction that reflects any payments made against it.

SalesReceipt_PaymentRefNum String False False False

The reference number for the payment that is applied to the recurring sales-receipt transaction.

SalesReceipt_PaymentMethodRef String False

PaymentMethods.Id

False False

The Id of the payment method entity that is used for the recurring sales-receipt transaction.

SalesReceipt_PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The name of the payment method entity that is used for the recurring sales-receipt transaction.

SalesReceipt_DepositToAccountRef String False

Accounts.Id

False False

The Id of the asset account where the payment money for the recurring sales-receipt transaction is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

SalesReceipt_DepositToAccountRef_Name String True

Accounts.Name

False False

The name of the asset account where the payment money for the recurring sales-receipt transaction is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

SalesReceipt_ApplyTaxAfterDiscount Boolean False False False

Indicates whether any discounts are applied before taxes are calculated for the recurring sales-receipt transaction.

SalesReceipt_CurrencyRef String False False False

The Id of the currency that is used in the recurring sales-receipt transaction.

SalesReceipt_CurrencyRef_Name String True False False

The name of the currency that is used in the recurring sales-receipt transaction.

SalesReceipt_ExchangeRate Decimal False False False

The currency exchange rate for the recurring sales-receipt transaction. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

SalesReceipt_GlobalTaxCalculation String False False False

The method that is used to apply taxes to the recurring sales-receipt transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

SalesReceipt_HomeTotalAmt Decimal False False False

The total amount of the recurring sales-receipt transaction expressed in the home currency. This includes the total of all charges, allowances, and taxes. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RecurringTransferTransactions

Maintains recurring templates for fund transfers between accounts, automating routine internal transfers within QuickBooks Online.

Columns

Name Type ReadOnly References Filterable Sortable Description
Transfer_Id [KEY] String True True False

The identifier (Id) of the transfer transaction record that is created in QuickBooks Online.

Transfer_TxnDate Date False False False

The date that is entered by the user to indicate when the transfer transaction occurred. This date is used for accounting and reporting purposes.

Transfer_PrivateNote String False False False

A user-entered, organization-private note about the transfer transaction that is not displayed on public transaction records.

Transfer_DepartmentRef String False

Departments.Id

False False

The Id of the department that is used to categorize or store the location of the transfer transaction, as defined using location tracking in QuickBooks Online.

Transfer_DepartmentRef_Name String True

Departments.Name

False False

The name of the department that is used to categorize or store the location of the transfer transaction, as defined using location tracking in QuickBooks Online.

Transfer_TxnStatus String False False False

Indicates the current status of the transfer transaction. Depending on the transaction type, it can have different values. For sales transactions, the acceptable values are defined by the PaymentStatusEnum data type. For estimates, the values accepted are defined by the QboEstimateStatusEnum data type.

Transfer_LinkedTxnAggregate String False False False

An XML aggregate containing a structured list of all transactions that are linked to the recurring transfer transaction. This collection enables users to trace each related transaction for reconciliation or reporting.

Transfer_RecurDataRef String False False False

The Id of the recurrence data reference that links this recurring transfer transaction to its underlying template or schedule.

Transfer_RecurDataRef_Name String True False False

The name of the recurrence data reference that helps users identify the recurring transfer template or schedule in QuickBooks Online without needing to look up the Id.

Transfer_RecurringInfo_Name String False False False

The descriptive name of the recurring transfer schedule or template. This name is the label that users assign to recognize and manage the recurring transfer pattern, such as 'Monthly Cash Transfer' or 'Weekly Inter-Account Transfer'.

Transfer_RecurringInfo_RecurType String False False False

The type of recurrence that is configured for the transfer schedule, such as scheduled, reminder, or unscheduled.

The allowed values are Automated, Reminded, UnScheduled.

Transfer_RecurringInfo_Active Boolean False False False

Indicates whether the recurring transfer schedule is currently active or inactive.

Transfer_RecurringInfo_ScheduleInfo_IntervalType String False False False

Defines how often the recurring transfer transaction occurs (for example, weekly, monthly, or yearly).

The allowed values are Yearly, Monthly, Weekly, Daily.

Transfer_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

Specifies the number of intervals that is applied to the recurring transfer schedule. This value determines how frequently the transaction recurs based on the interval type.

Transfer_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week on which the recurring transfer transaction is scheduled to occur when the interval type is weekly.

Transfer_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month on which the recurring transfer transaction is scheduled to occur when the interval type is monthly.

Transfer_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of occurrences that is allowed for the recurring transfer schedule before it stops generating transactions.

Transfer_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days before the start date on which a reminder for the recurring transfer should be sent.

Transfer_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year on which the recurring transfer transaction is scheduled to occur when the interval type is yearly.

Transfer_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days before the scheduled date on which the recurring transfer is processed or triggered.

Transfer_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The day of the month on which the recurring transfer transaction is scheduled to occur.

Transfer_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date of the recurring transfer schedule that is associated with the recurrence template.

Transfer_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date for the recurring transfer transaction to occur.

Transfer_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date of the recurring transfer schedule when no further occurrences are generated.

Transfer_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The previous scheduled date on which the recurring transfer transaction occurred.

Transfer_FromAccountRef String False

Accounts.Id

False False

The Id of the source account from which funds are transferred in the recurring transfer transaction. This reference is required to identify the origin of the funds within QuickBooks Online and is validated against existing accounts.

Transfer_FromAccountRef_Name String False

Accounts.Name

False False

The name of the source account from which funds are transferred in the recurring transfer transaction. This human-readable name corresponds to the account Id and helps users confirm the correct source account was selected.

Transfer_ToAccountRef String False

Accounts.Id

False False

The Id of the destination account to which funds are transferred in the recurring transfer transaction. This reference is required to identify where the funds will be deposited within QuickBooks Online and is validated against existing accounts.

Transfer_ToAccountRef_Name String False

Accounts.Name

False False

The name of the destination account to which funds are transferred in the recurring transfer transaction. This human-readable name corresponds to the account Id and helps users confirm the correct destination account was selected.

Transfer_Amount Decimal False False False

The total amount of money being moved from the source account to the destination account in the recurring transfer transaction. This field records the full transfer value and is used for reconciliation, reporting, and audit purposes.

Transfer_CurrencyRef String False False False

The Id of the currency that is used to express all monetary amounts in the recurring transfer transaction. This value links to the company's currency list and is required if multicurrency is enabled.

Transfer_CurrencyRef_Name String True False False

The name of the currency that is used to express all monetary amounts in the recurring transfer transaction. This human-readable name corresponds to the currency Id and helps users confirm that the correct currency is applied for the transfer.

Transfer_SyncToken String True False False

The version number of the object that is used to lock the transfer record for use by one application at a time. As soon as an application modifies an object, its sync token is incremented. Attempts to modify an object specifying an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.

Transfer_MetaData_CreateTime Datetime True True True

The date and time when the transfer record was created in QuickBooks Online.

Transfer_MetaData_LastUpdatedTime Datetime True True True

The date and time when the transfer record was last updated in QuickBooks Online.

CData Python Connector for QuickBooks Online

RecurringVendorCreditTransactions

Stores recurring templates for vendor credits, allowing automated application of credits or refunds from vendors on a scheduled basis.

Columns

Name Type ReadOnly References Filterable Sortable Description
VendorCredit_Id [KEY] String True True False

The unique identifier (Id) assigned by QuickBooks Online to this vendor-credit transaction. It is used to retrieve or reference the vendor credit programmatically and is required for updates or deletions.

VendorCredit_SyncToken String True False False

The version control token for this vendor-credit transaction that is used to prevent simultaneous conflicting updates. Each time the transaction is modified, QuickBooks Online increments this token to ensure only the latest version can be edited successfully.

VendorCredit_MetaData_CreateTime Datetime True True True

The date and time stamp (in Coordinated Universal Time) when QuickBooks Online created this vendor-credit transaction record. This timestamp provides an immutable audit trail for the transaction's creation.

VendorCredit_MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (in Coordinated Universal Time) when this vendor-credit transaction was last modified in QuickBooks Online. This timestamp is important for detecting recent changes or synchronizing updates.

VendorCredit_DocNumber String False False False

The external or system-generated reference number assigned to this vendor credit. If no number is provided, QuickBooks Online automatically assigns the next sequential document number based on the company's numbering preferences.

VendorCredit_TxnDate Date False False False

The transaction date that determines when this vendor credit is posted to the books. For example, a vendor credit can be created on one date but backdated to affect a prior period's financial statements.

VendorCredit_PrivateNote String False False False

An internal memo or private note recorded on this vendor credit. These notes are not printed on customer-facing or vendor-facing forms by default and are intended for internal reference.

VendorCredit_DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is linked to this vendor-credit transaction when location tracking is enabled in QuickBooks Online. This Id helps classify expenses or credits by department.

VendorCredit_DepartmentRef_Name String True

Departments.Name

False False

The display name of the department or location that is linked to this vendor-credit transaction when location tracking is enabled in QuickBooks Online.

VendorCredit_TxnStatus String False False False

The current workflow or posting status of the vendor-credit transaction. Depending on the transaction type, this field can display different enumerated values such as Paid, Partially Paid, or Pending. For sales transactions, the acceptable values are defined by the PaymentStatusEnum data type. For estimates, the acceptable values are defined by the QboEstimateStatusEnum data type.

VendorCredit_LinkedTxnAggregate String False False False

An XML aggregate that is serialized into a single string representing all transaction links that are associated with this vendor credit. Each LinkedTxn element typically includes the Id, Type, and an optional sequence number of the related transaction such as a Bill, PurchaseOrder, or CreditMemo. This collection enables you to view or maintain the cross-references that are used by QuickBooks Online to apply the vendor credit to one or more other transactions.

VendorCredit_RecurDataRef String False False False

The reference Id for the recurrence data record that governs how this vendor credit repeats automatically.

VendorCredit_RecurDataRef_Name String True False False

The descriptive name for the recurrence data record that governs how this vendor credit repeats automatically.

VendorCredit_RecurringInfo_Name String False False False

The name that is assigned to the recurring template or schedule that generates this vendor-credit transaction.

VendorCredit_RecurringInfo_RecurType String False False False

The recurrence pattern type (such as Scheduled, Unscheduled, or Reminder) that is associated with this vendor-credit transaction template.

The allowed values are Automated, Reminded, UnScheduled.

VendorCredit_RecurringInfo_Active Boolean False False False

Indicates whether the recurring vendor-credit schedule is currently active (true) or inactive (false). Inactive schedules do not generate new transactions.

VendorCredit_RecurringInfo_ScheduleInfo_IntervalType String False False False

Specifies the unit of time for the recurrence interval such as Daily, Weekly, Monthly, or Yearly for this vendor-credit schedule.

The allowed values are Yearly, Monthly, Weekly, Daily.

VendorCredit_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The numeric interval count (for example, every 2 weeks) that determines how often the vendor-credit recurs according to the specified interval type.

VendorCredit_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week (for example, Monday, Tuesday) on which the recurring vendor credit is scheduled to occur.

VendorCredit_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month (for example, First, Second, Last) on which the recurring vendor credit is scheduled to occur.

VendorCredit_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of vendor-credit transactions to generate under this recurrence schedule before it stops automatically.

VendorCredit_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days prior to the scheduled start date when QuickBooks Online should send a reminder for a recurring vendor credit of type Reminder.

VendorCredit_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year (for example, January, February) when the recurring vendor credit is scheduled if using an annual recurrence.

VendorCredit_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days in advance of the scheduled date to create or notify about the vendor-credit transaction.

VendorCredit_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The calendar day of the month (for example, 1, 15, 30) when the recurring vendor credit is scheduled to occur.

VendorCredit_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date and time stamp when the recurring vendor-credit schedule becomes effective in QuickBooks Online.

VendorCredit_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date and time stamp on which QuickBooks Online will create or prompt for this vendor-credit transaction.

VendorCredit_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date and time stamp on which the recurring vendor-credit schedule ceases to create new transactions automatically.

VendorCredit_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The most recent date and time stamp when QuickBooks Online generated or prompted for this vendor-credit transaction under the recurrence schedule.

VendorCredit_LineAggregate String False False False

An XML aggregate that is serialized into a single string representing the collection of line entries on the vendor credit. Each line typically includes elements such as Line/Id, Line/LineNum, Line/Amount, Line/DetailType, Line/Description, and either Line/AccountBasedExpenseLineDetail (with AccountRef, ClassRef, CustomerRef, TaxCodeRef, BillableStatus) or Line/ItemBasedExpenseLineDetail (with ItemRef, Qty, UnitPrice, TaxCodeRef).

VendorCredit_VendorRef String False

Vendors.Id

False False

The unique Id of the vendor to whom this credit is issued.

VendorCredit_VendorRef_Name String True

Vendors.DisplayName

False False

The display name of the vendor to whom this credit is issued.

VendorCredit_APAccountRef String False

Accounts.Id

False False

The unique Id of the accounts-payable liability account to which this vendor credit is posted. If only one accounts-payable account exists, QuickBooks Online implies it automatically. When specified, the account must be a Liability account with a subtype of Payables.

VendorCredit_APAccountRef_Name String True

Accounts.Name

False False

The display name of the accounts-payable liability account to which this vendor credit is posted. If only one accounts-payable account exists, QuickBooks Online implies it automatically. When specified, the account must be a Liability account with a subtype of Payables.

VendorCredit_TotalAmt Decimal False False False

The total amount of the vendor credit as calculated from all included line items. This includes charges, allowances, taxes, and discounts applied within the transaction.

VendorCredit_CurrencyRef String False False False

The unique Id of the currency in which this vendor-credit transaction is recorded when multicurrency is enabled.

VendorCredit_CurrencyRef_Name String True False False

The display name of the currency in which this vendor-credit transaction is recorded when multicurrency is enabled.

VendorCredit_ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this vendor-credit amount to the home currency. This field is valid only when multicurrency is enabled. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

VendorCredit_GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies sales tax to this vendor-credit transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

RecurringVendorCreditTransactionsLineItems

Contains line-level details of recurring vendor credits, specifying items, amounts, and accounts for automated vendor-credit processing.

Columns

Name Type ReadOnly References Filterable Sortable Description
VendorCredit_LineId [KEY] String True False False

The unique identifier (Id) of the line item within the vendor credit that is used to reference, update, or reconcile this specific line.

VendorCredit_VendorCreditId [KEY] String False

VendorCredits.Id

True False

The unique Id of the parent vendor credit that this line item is linked to. This Id forms the foreign-key relationship back to the vendor-credit Id (VendorCredit_Id).

VendorCredit_SyncToken String True False False

The version control token for the parent vendor credit that is used to prevent conflicting updates. QuickBooks Online increments this token each time the vendor credit or any of its lines is modified, and only the latest token is accepted for edits.

VendorCredit_MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created the parent vendor-credit record that this line belongs to.

VendorCredit_MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when the parent vendor-credit record that this line belongs to was last updated in QuickBooks Online.

VendorCredit_DocNumber String False False False

The reference number that is assigned to the parent vendor credit. If no number is provided, QuickBooks Online assigns the next number in sequence according to the company's numbering preferences.

VendorCredit_TxnDate Date False False False

The posting date of the parent vendor credit that determines the accounting period. This date can be set to a prior date to adjust prior-period financial statements when appropriate.

VendorCredit_PrivateNote String False False False

An internal note on the parent vendor credit that is intended for internal use and is not printed on vendor-facing forms by default.

VendorCredit_DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is linked to the parent vendor credit when location tracking is enabled. Use this Id to classify line-level activity under the correct organizational segment.

VendorCredit_DepartmentRef_Name String True

Departments.Name

False False

The display name of the department or location that is linked to the parent vendor credit when location tracking is enabled.

VendorCredit_Line_Id String False False False

The unique Id that is assigned by QuickBooks Online to the line (corresponds to Line/Id in the API) and that is stable for addressing the specific line item during updates.

VendorCredit_Line_Description String False False False

The free-form description of the line item that is displayed on forms and reports and that is used to clarify the purpose of the credit for this line.

VendorCredit_Line_Amount Decimal False False False

The monetary amount for this line that is included in the vendor-credit total. This includes charges and allowances that apply to the line and excludes any tax amount that is calculated separately.

VendorCredit_Line_DetailType String False False False

The structural type of detail that is used by this line. For vendor credits, this type is typically either AccountBasedExpenseLineDetail or ItemBasedExpenseLineDetail, which determines the sub-elements that are required and how the amount is derived.

VendorCredit_Line_AccountBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The unique Id of the customer or project that is associated with this expense line when tracking by customer is enabled.

VendorCredit_Line_AccountBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer or project that is associated with this expense line.

VendorCredit_Line_AccountBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class that is assigned to this expense line for class tracking and reporting.

VendorCredit_Line_AccountBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is assigned to this expense line.

VendorCredit_Line_AccountBasedExpenseLineDetail_AccountRef String False

Accounts.Id

False False

The unique Id of the expense account that is associated with this line. The account must be valid and active in the chart of accounts.

VendorCredit_Line_AccountBasedExpenseLineDetail_AccountRef_Name String True

Accounts.Name

False False

The display name of the expense account that is associated with this line.

VendorCredit_Line_AccountBasedExpenseLineDetail_BillableStatus String False False False

The billing status that is used to indicate whether this expense line is billable to a customer (for example, Billable, NotBillable, HasBeenBilled).

VendorCredit_Line_AccountBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to this expense line when tax tracking is enabled.

VendorCredit_Line_ItemBasedExpenseLineDetail_ItemRef String False

Items.Id

False False

The unique Id of the item that is associated with this expense line. Choosing an item determines default accounts and can drive rate and tax behavior.

VendorCredit_Line_ItemBasedExpenseLineDetail_ItemRef_Name String True

Items.Name

False False

The display name of the item that is associated with this expense line.

VendorCredit_Line_ItemBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class that is assigned to this item-based expense line for class tracking and reporting.

VendorCredit_Line_ItemBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is assigned to this item-based expense line.

VendorCredit_Line_ItemBasedExpenseLineDetail_UnitPrice Decimal False False False

The unit price that is used to calculate the line amount when combined with quantity; this can be overridden per line.

VendorCredit_Line_ItemBasedExpenseLineDetail_Qty Double False False False

The quantity that, when multiplied by unit price, is used to derive the line amount for this item-based expense line.

VendorCredit_Line_ItemBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to this item-based expense line when tax tracking is enabled.

VendorCredit_Line_ItemBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The unique Id of the customer or project that is associated with this item-based expense line when tracking by customer is enabled.

VendorCredit_Line_ItemBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer or project that is associated with this item-based expense line.

VendorCredit_Line_ItemBasedExpenseLineDetail_BillableStatus String False False False

The billing status that is used to indicate whether this item-based expense line is billable to a customer (for example, Billable, NotBillable, HasBeenBilled).

VendorCredit_VendorRef String False

Vendors.Id

False False

The unique Id of the vendor that is linked to this transaction. This Id connects the line to the vendor's record for reporting and reconciliation.

VendorCredit_VendorRef_Name String True

Vendors.DisplayName

False False

The display name of the vendor that is linked to this transaction.

VendorCredit_APAccountRef String False

Accounts.Id

False False

The unique Id of the accounts-payable liability account that is credited by this vendor credit. If the company uses only one accounts-payable account, QuickBooks Online implies this account automatically. When specified, the account must be a Liability account that is of subtype Payables.

VendorCredit_APAccountRef_Name String True

Accounts.Name

False False

The display name of the accounts-payable liability account that is credited by this vendor credit. If the company uses only one accounts-payable account, QuickBooks Online implies this account automatically. When specified, the account must be a Liability account that is of subtype Payables.

VendorCredit_TotalAmt Decimal False False False

The total amount of the vendor credit that is determined by summing all line item amounts. This amount includes charges, allowances, taxes, and discounts applied within the transaction.

VendorCredit_CurrencyRef String False False False

The unique Id of the currency that is used in this vendor-credit transaction when multicurrency is enabled.

VendorCredit_CurrencyRef_Name String True False False

The display name of the currency that is used in this vendor-credit transaction when multicurrency is enabled.

VendorCredit_ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this vendor-credit amount to the home currency. This field is valid only when multicurrency is enabled. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

VendorCredit_GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies sales tax to this vendor-credit transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

VendorCredit_RecurDataRef String False False False

The reference Id for the recurrence data record that is used by QuickBooks Online to control how this vendor credit repeats automatically.

VendorCredit_RecurDataRef_Name String True False False

The descriptive name of the recurrence data record that governs how this vendor credit repeats automatically.

VendorCredit_RecurringInfo_Name String False False False

The name that is assigned to the recurring template or schedule that generates this vendor-credit transaction.

VendorCredit_RecurringInfo_RecurType String False False False

The recurrence pattern type (such as Scheduled, Unscheduled, or Reminder) that is associated with this vendor-credit transaction template.

The allowed values are Automated, Reminded, UnScheduled.

VendorCredit_RecurringInfo_Active Boolean False False False

Indicates whether the recurring vendor-credit schedule is currently active (true) or inactive (false). Inactive schedules do not generate new transactions.

VendorCredit_RecurringInfo_ScheduleInfo_IntervalType String False False False

Specifies the unit of time for the recurrence interval such as Daily, Weekly, Monthly, or Yearly for this vendor-credit schedule.

The allowed values are Yearly, Monthly, Weekly, Daily.

VendorCredit_RecurringInfo_ScheduleInfo_NumInterval Integer False False False

The numeric interval count (for example, every 2 weeks) that determines how often the vendor credit recurs according to the specified interval type.

VendorCredit_RecurringInfo_ScheduleInfo_DayOfWeek String False False False

The day of the week (for example, Monday, Tuesday) on which the recurring vendor credit is scheduled to occur.

VendorCredit_RecurringInfo_ScheduleInfo_WeekOfMonth String False False False

The week of the month (for example, First, Second, Last) on which the recurring vendor credit is scheduled to occur.

VendorCredit_RecurringInfo_ScheduleInfo_MaxOccurrences String False False False

The maximum number of vendor-credit transactions to generate under this recurrence schedule before it stops automatically.

VendorCredit_RecurringInfo_ScheduleInfo_RemindDays String False False False

The number of days prior to the scheduled start date when QuickBooks Online should send a reminder for a recurring vendor credit of type Reminder.

VendorCredit_RecurringInfo_ScheduleInfo_MonthOfYear String False False False

The month of the year (for example, January, February) when the recurring vendor credit is scheduled if using an annual recurrence.

VendorCredit_RecurringInfo_ScheduleInfo_DaysBefore String False False False

The number of days in advance of the scheduled date to create or notify about the vendor-credit transaction.

VendorCredit_RecurringInfo_ScheduleInfo_DayOfMonth String False False False

The calendar day of the month (for example, 1, 15, 30) when the recurring vendor credit is scheduled to occur.

VendorCredit_RecurringInfo_ScheduleInfo_StartDate Datetime False False False

The start date and time stamp when the recurring vendor credit schedule becomes effective in QuickBooks Online.

VendorCredit_RecurringInfo_ScheduleInfo_NextDate Datetime False False False

The next scheduled date and time stamp on which QuickBooks Online will create or prompt for this vendor-credit transaction.

VendorCredit_RecurringInfo_ScheduleInfo_EndDate Datetime False False False

The end date and time stamp on which the recurring vendor-credit schedule ceases to create new transactions automatically.

VendorCredit_RecurringInfo_ScheduleInfo_PreviousDate Datetime False False False

The most recent date and time stamp when QuickBooks Online generated or prompted for this vendor-credit transaction under the recurrence schedule.

CData Python Connector for QuickBooks Online

RefundReceiptLineItems

Captures the line-level details of customer refund receipts, including refunded items, quantities, and amounts to accurately track returns and reimbursements.

Table Specific Information

RefundReceipts may be inserted, queried, or updated via the RefundReceipts or RefundReceiptLineItems tables. RefundReceipts may be deleted by using the RefundReceipts table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a RefundReceipt, specify a Customer, DepositToAccount and at least one Line Item. The following shows an example of inserting multiple RefundReceipts, each with a single line. To insert a RefundReceipt with multiple lines, see the example on the RefundReceipts table.

INSERT INTO RefundReceiptLineItems#TEMP (CustomerRef, DepositToAccountRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', '45', 'SalesItemLineDetail', '2', 0.01)
INSERT INTO RefundReceiptLineItems#TEMP (CustomerRef, DepositToAccountRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('4', '45', 'SalesItemLineDetail', '3', 0.02)
INSERT INTO RefundReceiptLineItems (CustomerRef, DepositToAccountRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) SELECT CustomerRef, DepositToAccountRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount FROM RefundReceiptLineItems#TEMP

To add lines to an existing RefundReceipt, You'll need to specify the RefundReceiptId in the WHERE clause for the INSERT command. For example:

INSERT INTO RefundReceiptLineItems#TEMP (RefundReceiptId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('1234', 'SalesItemLineDetail', '2', 0.01)
INSERT INTO RefundReceiptLineItems#TEMP (RefundReceiptId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) VALUES ('1234', 'SalesItemLineDetail', '3', 0.02)
INSERT INTO RefundReceiptLineItems (RefundReceiptId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount) SELECT RefundReceiptId, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount FROM RefundReceiptLineItems#TEMP

Update

To update an existing Line Item, you'll need to specify the LineId:

UPDATE RefundReceiptLineItems SET Line_SalesItemLineDetail_Qty = 20 WHERE LineId = '5656'

Delete

To delete existing Line Items, you'll need to set the LineId and RefundReceiptId:

DELETE FROM RefundReceiptLineItems WHERE LineId = '5656' AND RefundReceiptId = '1'

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this line item on the refund receipt. It is used to reference, update, or reconcile this specific line.

RefundReceiptId [KEY] String False

RefundReceipts.Id

True False

The unique Id of the parent refund-receipt transaction that this line item is linked to. This Id forms the foreign-key relationship back to the main refund-receipt record.

SyncToken String True False False

The version control token for the parent refund receipt that is used to prevent conflicting updates. QuickBooks Online increments this token each time the transaction or any of its lines is modified, and only the latest token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this refund-receipt record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this refund-receipt record was last modified in QuickBooks Online.

CustomFieldAggregate String False False False

An XML aggregate that is serialized into a single string containing all custom field information that is defined for this refund receipt. This collection can include multiple CustomField elements with Name, Type, StringValue, and other sub-elements.

DocNumber String False True True

The reference number that is assigned to the refund-receipt transaction. If no number is provided, QuickBooks Online assigns the next number in sequence according to the company's numbering preferences.

TxnDate Date False True True

The posting date that is entered by the user when this refund-receipt transaction occurred. This date determines the accounting period and can differ from the creation date.

PrivateNote String False False False

An internal note that is recorded on this refund-receipt transaction that is intended for internal use and does not appear on customer-facing forms by default.

Line_Id String False False False

The unique Id that is assigned by QuickBooks Online to this individual line within the refund receipt (corresponds to Line/Id in the API).

Line_LineNum String False False False

The sequential line number that QuickBooks Online assigns to this line within the refund receipt. This field is useful for preserving line order when updating.

Line_Description String False False False

The free-form description of the line item that appears on customer-facing documents and reports.

Line_Amount Decimal False False False

The monetary amount for this line item that is included in the refund receipt total. This amount includes charges and allowances but excludes tax amounts that are calculated separately.

Line_DetailType String False False False

The structural type of detail that is used by this line; different detail types (such as SalesItemLineDetail) indicate different types of line items and determine which sub-elements are required.

Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

The unique Id of the item that is used on this sales line in the refund receipt. Selecting an item determines default accounts and tax behavior.

Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

The display name of the item that is used on this sales line in the refund receipt.

Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class that is assigned to this sales line for class tracking and reporting.

Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is assigned to this sales line.

Line_SalesItemLineDetail_UnitPrice Decimal False False False

The unit price that is applied to the item for this line in the refund receipt. This price can be overridden per line.

Line_SalesItemLineDetail_Qty Double False False False

The quantity that, when multiplied by unit price, is used to derive the line amount for this sales item in the refund receipt.

Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to this sales item line when tax tracking is enabled.

Line_SalesItemLineDetail_ServiceDate Date False False False

The service date that is associated with this sales item line. This date is often used for reporting service delivery dates separate from the transaction date.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the overall tax code that is applied to the refund-receipt transaction.

TxnTaxDetail_TotalTax String False False False

The total tax amount that QuickBooks Online calculates for the refund-receipt transaction, excluding any tax lines manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that is serialized into a single string representing all tax line items that QuickBooks Online calculates or applies to this refund-receipt transaction.

CustomerRef String False

Customers.Id

True False

The unique Id of the customer that is linked to this refund-receipt transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer that is linked to this refund-receipt transaction.

CustomerMemo String False False False

The message that is entered for the customer and that appears on the refund receipt and in the printed or emailed copy.

BillAddr_Id String False False False

The unique Id of the billing address entity that is assigned by QuickBooks Online and that is used when modifying the address.

BillAddr_Line1 String False False False

The first line of the billing address that is entered for the customer.

BillAddr_Line2 String False False False

The second line of the billing address that is entered for the customer.

BillAddr_Line3 String False False False

The third line of the billing address that is entered for the customer.

BillAddr_Line4 String False False False

The fourth line of the billing address that is entered for the customer.

BillAddr_Line5 String False False False

The fifth line of the billing address that is entered for the customer.

BillAddr_City String False False False

The city name that is entered for the billing address.

BillAddr_Country String False False False

The country name that is entered for the billing address.

BillAddr_CountrySubDivisionCode String False False False

The region within the country for the billing address. For example, this value is the state name for the USA or the province name for Canada).

BillAddr_PostalCode String False False False

The postal code that is entered for the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded billing address when location data is available.

BillAddr_Long String False False False

The longitude coordinate that is associated with the geocoded billing address when location data is available.

ShipAddr_Id String False False False

The unique Id of the shipping address entity that is assigned by QuickBooks Online and that is used when modifying the address.

ShipAddr_Line1 String False False False

The first line of the shipping address that is entered for the customer.

ShipAddr_Line2 String False False False

The second line of the shipping address that is entered for the customer.

ShipAddr_Line3 String False False False

The third line of the shipping address that is entered for the customer.

ShipAddr_Line4 String False False False

The fourth line of the shipping address that is entered for the customer.

ShipAddr_Line5 String False False False

The fifth line of the shipping address that is entered for the customer.

ShipAddr_City String False False False

The city name that is entered for the shipping address.

ShipAddr_Country String False False False

The country name that is entered for the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

The region within the country for the shipping address. For example, this value is the state name for the USA or the province name for Canada.

ShipAddr_PostalCode String False False False

The postal code that is entered for the shipping address this value is the ZIP code for the USA and the postal code for Canada.

ShipAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded shipping address when location data is available.

ShipAddr_Long String False False False

The longitude coordinate that is associated with the geocoded shipping address when location data is available.

ClassRef String False

Class.Id

False False

The unique Id of the class that is associated with this refund-receipt transaction for class tracking and reporting.

ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is associated with this refund-receipt transaction.

CheckPayment_CheckNum String True False False

The check number that is printed on the check and that is stored with this refund-receipt transaction.

CheckPayment_Status String False False False

The status of the check payment that is determined by QuickBooks Online service or business logic (for example, Authorized, Voided).

CheckPayment_NameOnAccount String False False False

The name of the person or entity that is holding the account, as printed on the check.

CheckPayment_AcctNum String False False False

The checking account number that is printed on the check and that is recorded with this refund-receipt transaction.

CheckPayment_BankName String True False False

The name of the bank on which the check was drawn.

CreditCardPayment_CreditChargeInfo_Type String False False False

The type of credit card that is used for this payment transaction (for example, Visa, MasterCard, Amex).

CreditCardPayment_CreditChargeInfo_NameOnAcct String False False False

The name of the account holder that is printed on the card.

CreditCardPayment_CreditChargeInfo_CcExpiryMonth Integer False False False

The expiration month of the credit card as printed on the card.

CreditCardPayment_CreditChargeInfo_CcExpiryYear Integer False False False

The four-digit expiration year of the credit card as printed on the card.

CreditCardPayment_CreditChargeInfo_BillAddrStreet String False False False

The street line of the billing address of the credit-card holder that is used to validate or process the transaction.

CreditCardPayment_CreditChargeInfo_PostalCode String False False False

The postal code of the billing address of the credit-card holder.

CreditCardPayment_CreditChargeInfo_Amount Decimal False False False

The amount that is processed using the credit card for this refund-receipt transaction.

CreditCardPayment_CreditChargeInfo_ProcessPayment Boolean False False False

Indicates whether QuickBooks Online is to store only the credit card information (false or no value) or to store the credit-card payment transaction information in the CreditChargeResponse aggregate (true).

CreditCardPayment_CreditChargeResponse_Status String False False False

Indicates the status of the payment transaction that is returned from the processor. Possible values include Completed and Unknown.

ShipDate Date False False False

The date that is entered for the delivery of goods or services that is associated with this refund-receipt transaction.

TotalAmt Decimal True True True

The total amount of the refund-receipt transaction that includes the sum of all charges, allowances, and taxes applied within the transaction.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether QuickBooks Online applies discounts before or after calculating tax on this refund-receipt transaction.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department that is linked to this refund-receipt transaction when location tracking is enabled in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The display name of the department that is linked to this refund-receipt transaction when location tracking is enabled in QuickBooks Online.

PrintStatus String False False False

The print status of the refund-receipt transaction (for example, NotSet, NeedToPrint, PrintComplete).

The allowed values are NotSet, NeedToPrint, PrintComplete.

BillEmail_Address String False False False

The email address where the refund receipt is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address is required.

Balance Decimal False False False

The remaining balance that is associated with this refund-receipt transaction. This field can indicate whether the transaction is a finance charge, when applicable.

PaymentMethodRef String False

PaymentMethods.Id

False False

The unique Id of the payment method that is associated with this refund-receipt transaction.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The display name of the payment method that is associated with this refund-receipt transaction.

PaymentRefNum String False False False

The reference number that is provided for the payment received on this refund-receipt transaction.

PaymentType String False False False

The type of payment that is used for the refund-receipt transaction (for example, Cash, Check, CreditCard).

The allowed values are Cash, Check, CreditCard, Other.

DepositToAccountRef String False

Accounts.Id

False False

The unique Id of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

DepositToAccountRef_Name String True

Accounts.Name

False False

The display name of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

CurrencyRef String False False False

The unique Id of the currency that is used in the refund-receipt transaction. This field is valid in the UK, AU, and CA editions.

CurrencyRef_Name String False False False

The display name of the currency in which all amounts on the refund-receipt transaction are expressed. This field is valid in the UK, AU, and CA editions.

ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this refund-receipt transaction amount to the home currency. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies sales tax to this refund-receipt transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

The total amount of the refund-receipt transaction in the home currency. This includes the total of all charges, allowances, and taxes applied within the transaction. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

RefundReceipts

Represents customer refund receipts at the header level, including customer information, refund method, and total amount refunded.

Table Specific Information

RefundReceipts may be inserted, queried, or updated via the RefundReceipts or RefundReceiptLineItems tables. RefundReceipts may be deleted by using the RefundReceipts table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

Insert

To add a RefundReceipt, specify a Customer, DepositToAccount and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which RefundReceipt. For example:

INSERT INTO RefundReceipts (CustomerRef, DepositToAccountRef, LineAggregate) 
VALUES ('15', '35',
<Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>2</ItemRef></SalesItemLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>3</ItemRef></SalesItemLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this refund-receipt transaction. It is used to retrieve or reference the refund receipt programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this refund-receipt transaction that is used to prevent conflicting updates. QuickBooks Online increments this token each time the transaction is modified, and only the latest token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this refund-receipt record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this refund-receipt record was last modified in QuickBooks Online.

CustomFieldAggregate String False False False

An XML aggregate that is serialized into a single string containing all custom field information that is defined for this refund receipt. This collection can include multiple CustomField elements with Name, Type, StringValue, and other sub-elements.

DocNumber String False True True

The reference number that is assigned to the refund-receipt transaction. If no number is provided, QuickBooks Online assigns the next number in sequence according to the company's numbering preferences.

TxnDate Date False True True

The posting date that is entered by the user when this refund-receipt transaction occurred. This date determines the accounting period and can differ from the creation date.

PrivateNote String False False False

An internal note recorded on this refund-receipt transaction that is intended for internal use and does not appear on customer-facing forms by default.

LinkedTxnAggregate String False False False

An XML aggregate that is serialized into a single string representing all transactions that are linked to this refund receipt. Each LinkedTxn element typically includes the Id, Type, and an optional sequence number of the related transaction such as an Invoice or Payment. This collection enables you to view or maintain the cross-references that are used by QuickBooks Online to apply the refund receipt to one or more other transactions.

LineAggregate String False False False

An XML aggregate that is serialized into a single string representing all line items that are associated with this refund-receipt transaction. Each line element typically includes Line/Id, Line/LineNum, Line/Amount, Line/DetailType, and Line/Description, as well as nested detail elements such as SalesItemLineDetail.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the overall tax code that is applied to the refund-receipt transaction.

TxnTaxDetail_TotalTax String False False False

The total tax amount that QuickBooks Online calculates for the refund-receipt transaction, excluding any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that is serialized into a single string representing all tax line items that QuickBooks Online calculates or applies to this refund-receipt transaction.

CustomerRef String False

Customers.Id

True False

The unique Id of the customer that is linked to this refund-receipt transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer that is linked to this refund-receipt transaction.

CustomerMemo String False False False

The message that is entered for the customer and that appears on the refund receipt and in the printed or emailed copy.

BillAddr_Id String False False False

The unique Id of the billing-address entity that is assigned by QuickBooks Online and that is used when modifying the address.

BillAddr_Line1 String False False False

The first line of the billing address that is entered for the customer.

BillAddr_Line2 String False False False

The second line of the billing address that is entered for the customer.

BillAddr_Line3 String False False False

The third line of the billing address that is entered for the customer.

BillAddr_Line4 String False False False

The fourth line of the billing address that is entered for the customer.

BillAddr_Line5 String False False False

The fifth line of the billing address that is entered for the customer.

BillAddr_City String False False False

The city name that is entered for the billing address.

BillAddr_Country String False False False

The country name that is entered for the billing address.

BillAddr_CountrySubDivisionCode String False False False

The region within the country for the billing address. For example, this value is the state name for the USA and the province name for Canada.

BillAddr_PostalCode String False False False

The postal code that is entered for the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded billing address when location data is available.

BillAddr_Long String False False False

The longitude coordinate that is associated with the geocoded billing address when location data is available.

ShipAddr_Id String False False False

The unique Id of the shipping address entity that is assigned by QuickBooks Online and that is used when modifying the address.

ShipAddr_Line1 String False False False

The first line of the shipping address that is entered for the customer.

ShipAddr_Line2 String False False False

The second line of the shipping address that is entered for the customer.

ShipAddr_Line3 String False False False

The third line of the shipping address that is entered for the customer.

ShipAddr_Line4 String False False False

The fourth line of the shipping address that is entered for the customer.

ShipAddr_Line5 String False False False

The fifth line of the shipping address that is entered for the customer.

ShipAddr_City String False False False

The city name that is entered for the shipping address.

ShipAddr_Country String False False False

The country name that is entered for the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

The region within the country for the shipping address. For example, this value is the state name for the USA and the province name for Canada.

ShipAddr_PostalCode String False False False

The postal code that is entered for the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

ShipAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded shipping address when location data is available.

ShipAddr_Long String False False False

The longitude coordinate that is associated with the geocoded shipping address when location data is available.

ClassRef String False

Class.Id

False False

The unique Id of the class that is associated with this refund-receipt transaction for class tracking and reporting.

ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is associated with this refund-receipt transaction.

CheckPayment_CheckNum String True False False

The check number that is printed on the check and that is stored with this refund-receipt transaction.

CheckPayment_Status String False False False

The status of the check payment that is determined by QuickBooks Online service or business logic (for example, Authorized, Voided).

CheckPayment_NameOnAccount String False False False

The name of the person or entity that is holding the account, as printed on the check.

CheckPayment_AcctNum String False False False

The checking account number that is printed on the check and that is recorded with this refund-receipt transaction.

CheckPayment_BankName String True False False

The name of the bank on which the check was drawn.

CreditCardPayment_CreditChargeInfo_Type String False False False

The type of credit card that is used for this payment transaction (for example, Visa, MasterCard, Amex).

CreditCardPayment_CreditChargeInfo_NameOnAcct String False False False

The name of the account holder that is printed on the card.

CreditCardPayment_CreditChargeInfo_CcExpiryMonth Integer False False False

The expiration month of the credit card as printed on the card.

CreditCardPayment_CreditChargeInfo_CcExpiryYear Integer False False False

The four-digit expiration year of the credit card as printed on the card.

CreditCardPayment_CreditChargeInfo_BillAddrStreet String False False False

The street line of the billing address of the credit-card holder that is used to validate or process the transaction.

CreditCardPayment_CreditChargeInfo_PostalCode String False False False

The postal code of the billing address of the credit-card holder. For example, this value is the ZIP code for the USA and the postal code for Canada.

CreditCardPayment_CreditChargeInfo_Amount Decimal False False False

The amount that is processed using the credit card for this refund-receipt transaction.

CreditCardPayment_CreditChargeInfo_ProcessPayment Boolean False False False

Indicates whether QuickBooks Online is to store only the credit card information (false or no value) or to store the credit card payment transaction information in the CreditChargeResponse aggregate (true).

CreditCardPayment_CreditChargeResponse_Status String False False False

Indicates the status of the payment transaction that is returned from the processor. Possible values include Completed and Unknown.

ShipDate Date False False False

The date that is entered for the delivery of goods or services associated with this refund-receipt transaction.

TotalAmt Decimal True True True

The total amount of the refund-receipt transaction. This amount includes the total of all charges, allowances, and taxes applied within the transaction.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether QuickBooks Online applies discounts before or after calculating tax on this refund-receipt transaction.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department that is linked to this refund-receipt transaction when location tracking is enabled in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The display name of the department that is linked to this refund-receipt transaction when location tracking is enabled in QuickBooks Online.

PrintStatus String False False False

The print status of the refund-receipt transaction (for example, NotSet, NeedToPrint, PrintComplete).

The allowed values are NotSet, NeedToPrint, PrintComplete.

BillEmail_Address String False False False

The email address where the refund receipt is sent. If the value of the EmailStatus attribute is NeedToSend, the billing email address is required.

Balance Decimal False False False

The remaining balance that is associated with this refund-receipt transaction. This field can indicate whether the transaction is a finance charge when applicable.

PaymentMethodRef String False

PaymentMethods.Id

False False

The unique Id of the payment method that is associated with this refund-receipt transaction.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The display name of the payment method that is associated with this refund-receipt transaction.

PaymentRefNum String False False False

The reference number that is provided for the payment received on this refund-receipt transaction.

PaymentType String False False False

The type of payment that is used for the refund-receipt transaction (for example, Cash, Check, CreditCard).

The allowed values are Cash, Check, CreditCard, Other.

DepositToAccountRef String False

Accounts.Id

False False

The unique Id of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

DepositToAccountRef_Name String True

Accounts.Name

False False

The display name of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

CurrencyRef String False False False

The unique Id of the currency that is used in the refund-receipt transaction.

CurrencyRef_Name String True False False

The display name of the currency that is used in the refund-receipt transaction.

ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this refund-receipt transaction amount to the home currency. This field is valid only if the company file is set up to use the multicurrency feature. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies sales tax to this refund-receipt transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal True False False

The total amount of the refund-receipt transaction in the home currency. This amount includes the total of all charges, allowances, and taxes applied within the transaction. This field is valid in the UK, AU, and CA editions.

TransactionLocationType String False False False

The account location type that is used in this refund-receipt transaction. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

ProjectRef String False True False

The unique Id of the project that is associated with this refund-receipt transaction.

RecurDataRef String True False False

The unique Id of the reference to the recurring transaction template from which this refund receipt was created. This Id captures from which recurring transaction template the refund receipt originated.

TaxExemptionRef String True False False

The unique Id of the tax-exemption certificate for the customer that is associated with this refund-receipt transaction. This Id is typically issued by the state or tax authority.

TxnSource String True False False

The field that is used internally by QuickBooks Online to specify the originating source of a credit-card transaction.

CData Python Connector for QuickBooks Online

SalesReceiptLineItems

Contains line-level details of sales receipts for immediate sales transactions, including items sold, quantities, discounts, and taxes.

Table Specific Information

SalesReceipts may be inserted, queried, or updated via the SalesReceipts or SalesReceiptLineItems tables. SalesReceipts may be deleted by using the SalesReceipts table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

Insert

To add a SalesReceipt, specify the Customer, TotalAmt, and at least one Line Item. The following shows an example of inserting multiple SalesReceipts, each with a single line. To insert a SalesReceipt with multiple lines, see the example on the SalesReceipts table.

INSERT INTO SalesReceiptLineItems#TEMP (CustomerRef, Line_Amount, Line_DetailType, Line_SalesItemLineDetail_ItemRef, TotalAmt) VALUES ('4', 0.01, 'SalesItemLineDetail', '2', 0.03)
INSERT INTO SalesReceiptLineItems#TEMP (CustomerRef, Line_Amount, Line_DetailType, Line_SalesItemLineDetail_ItemRef, TotalAmt) VALUES ('4', 0.02, 'SalesItemLineDetail', '3', 0.03)
INSERT INTO SalesReceiptLineItems (CustomerRef, Line_Amount, Line_DetailType, Line_SalesItemLineDetail_ItemRef, TotalAmt) SELECT CustomerRef, Line_Amount, Line_DetailType, Line_SalesItemLineDetail_ItemRef, TotalAmt FROM  SalesReceiptLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

The unique identifier (Id) that is assigned by QuickBooks Online to this line item on the sales receipt. It is used to reference, update, or reconcile this specific line.

SalesReceiptId [KEY] String False

SalesReceipts.Id

True False

The unique Id of the parent sales-receipt transaction that this line item is linked to; this forms the foreign-key relationship back to the main sales-receipt record.

SyncToken String True False False

The version control token for the parent sales receipt that is used to prevent conflicting updates. QuickBooks Online increments this token each time the transaction or any of its lines is modified, and only the latest token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this sales-receipt record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this sales-receipt record was last modified in QuickBooks Online.

CustomFieldAggregate String False False False

An XML aggregate that is serialized into a single string containing all custom fields that are associated with this sales-receipt transaction. This collection can include multiple CustomField elements with Name, Type, StringValue, and other sub-elements.

DocNumber String False True True

The reference number that is assigned to the sales-receipt transaction. If no number is provided, QuickBooks Online assigns the next number in sequence according to the company's numbering preferences.

TxnDate Date False True True

The posting date that is entered by the user when this sales-receipt transaction occurred. This date determines the accounting period and can differ from the creation date.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department that is linked to this sales-receipt transaction when location tracking is enabled in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The display name of the department that is linked to this sales-receipt transaction when location tracking is enabled in QuickBooks Online.

PrivateNote String False False False

An internal note recorded on this sales-receipt transaction that is intended for internal use and does not appear on customer-facing forms by default.

LinkedTxnAggregate String False False False

An XML aggregate that is serialized into a single string representing all transactions that are linked to this sales receipt line item. Each LinkedTxn element typically includes the Id, Type, and an optional sequence number of the related transaction such as an Invoice or Payment.

Line_Id String False False False

The unique Id that is assigned by QuickBooks Online to this individual line within the sales receipt (corresponds to Line/Id in the API).

Line_LineNum String False False False

The sequential line number that QuickBooks Online assigns to this line within the sales receipt; useful for preserving line order when updating.

Line_Description String False False False

The free-form description of the line item that appears on customer-facing documents and reports.

Line_Amount Decimal False False False

The monetary amount for this line item that is included in the sales receipt total. This amount includes charges and allowances that apply to the line and excludes any tax amount that is calculated separately.

Line_DetailType String False False False

The structural type of detail that is used by this line; different detail types (such as SalesItemLineDetail or GroupLineDetail) indicate different types of line items and determine which sub-elements are required.

Line_SalesItemLineDetail_ItemRef String False

Items.Id

False False

The unique Id of the item that is used on this sales line in the sales receipt. When a line item lacks an item reference, it is treated as documentation and the Line_Amount field is ignored.

Line_SalesItemLineDetail_ItemRef_Name String True

Items.Name

False False

The display name of the item that is used on this sales line in the sales receipt. When a line item lacks an item reference it is treated as documentation and the Line_Amount field is ignored.

Line_SalesItemLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class that is assigned to this sales line for class tracking and reporting.

Line_SalesItemLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is assigned to this sales line.

Line_SalesItemLineDetail_UnitPrice Decimal False False False

The unit price that is applied to the item for this line in the sales receipt. This price can be overridden per line.

Line_SalesItemLineDetail_Qty Decimal False False False

The quantity that, when multiplied by unit price, is used to derive the line amount for this sales item in the sales receipt.

Line_SalesItemLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to this sales item line when tax tracking is enabled.

Line_SalesItemLineDetail_ServiceDate Date False False False

The service date that is associated with this sales item line. This date is often used for reporting service delivery dates separate from the transaction date.

Line_GroupLineDetail_GroupItemRef String True False False

The unique Id of the group item object that is used for this group line in the sales receipt.

Line_GroupLineDetail_GroupItemRef_Name String True False False

The display name of the group item object that is used for this group line in the sales receipt.

Line_GroupLineDetail_Quantity Integer True False False

The quantity of the group item that is used for this group line in the sales receipt.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the overall tax code that is applied to the sales-receipt transaction.

TxnTaxDetail_TotalTax String False False False

The total tax amount that QuickBooks Online calculates for the sales-receipt transaction, excluding any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that is serialized into a single string representing all tax line items that QuickBooks Online calculates or applies to this sales-receipt transaction.

CustomerRef String False

Customers.Id

True False

The unique Id of the customer that is linked to this sales-receipt transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer that is linked to this sales-receipt transaction.

CustomerMemo String False False False

The message that is entered for the customer and that appears on the sales receipt and in the printed or emailed copy.

BillAddr_Id String False False False

The unique Id of the billing address entity that is assigned by QuickBooks Online and that is used when modifying the address.

BillAddr_Line1 String False False False

The first line of the billing address that is entered for the customer.

BillAddr_Line2 String False False False

The second line of the billing address that is entered for the customer.

BillAddr_Line3 String False False False

The third line of the billing address that is entered for the customer.

BillAddr_Line4 String False False False

The fourth line of the billing address that is entered for the customer.

BillAddr_Line5 String False False False

The fifth line of the billing address that is entered for the customer.

BillAddr_City String False False False

The city name that is entered for the billing address.

BillAddr_Country String False False False

The country name that is entered for the billing address.

BillAddr_CountrySubDivisionCode String False False False

The region within the country for the billing address. For example, this value is the state name for the USA and the province name for Canada.

BillAddr_PostalCode String False False False

The postal code that is entered for the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded billing address when location data is available.

BillAddr_Long String False False False

The longitude coordinate that is associated with the geocoded billing address when location data is available.

ShipAddr_Id String False False False

The unique Id of the shipping address entity that is assigned by QuickBooks Online and that is used when modifying the address.

ShipAddr_Line1 String False False False

The first line of the shipping address that is entered for the customer.

ShipAddr_Line2 String False False False

The second line of the shipping address that is entered for the customer.

ShipAddr_Line3 String False False False

The third line of the shipping address that is entered for the customer.

ShipAddr_Line4 String False False False

The fourth line of the shipping address that is entered for the customer.

ShipAddr_Line5 String False False False

The fifth line of the shipping address that is entered for the customer.

ShipAddr_City String False False False

The city name that is entered for the shipping address.

ShipAddr_Country String False False False

The country name that is entered for the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

The region within the country for the shipping address. For example, this value is the state name for the USA and the province name for Canada.

ShipAddr_PostalCode String False False False

The postal code that is entered for the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

ShipAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded shipping address when location data is available.

ShipAddr_Long String False False False

The longitude coordinate that is associated with the geocoded shipping address when location data is available.

ClassRef String False

Class.Id

False False

The unique Id of the class that is associated with this sales-receipt transaction for class tracking and reporting.

ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is associated with this sales-receipt transaction.

ShipMethodRef String False False False

The unique Id of the shipping method that is associated with this sales-receipt transaction.

ShipMethodRef_Name String True False False

The display name of the shipping method that is associated with this sales-receipt transaction.

ShipDate Date False False False

The date that is entered for the delivery of goods or services associated with this sales-receipt transaction.

TrackingNum String False False False

The tracking number for the shipping provider that is entered for the delivery of goods associated with this sales-receipt transaction.

TotalAmt Decimal False True False

The total amount of the sales-receipt transaction. This includes the total of all charges, allowances, and taxes applied within the transaction. By default, this is recalculated based on the sum of the sub-items total and overridden. Calculated by QuickBooks Online business logic. Cannot be written to QuickBooks Online.

PrintStatus String False False False

The print status of the sales-receipt transaction (for example, NotSet, NeedToPrint, PrintComplete).

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

The email status of the sales-receipt transaction (for example, NotSet, NeedToSend, EmailSent).

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

The email address where the sales receipt is sent.

Balance Decimal True True True

The balance that reflects any payments that have been made against this sales-receipt transaction.

PaymentRefNum String False False False

The reference number that is provided for the payment on this sales-receipt transaction.

PaymentMethodRef String False

PaymentMethods.Id

False False

The unique Id of the payment method entity that is associated with this sales-receipt transaction.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The display name of the payment method entity that is associated with this sales-receipt transaction.

DepositToAccountRef String False

Accounts.Id

False False

The unique Id of the asset account entity where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

DepositToAccountRef_Name String True

Accounts.Name

False False

The display name of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether QuickBooks Online applies discounts before or after calculating tax on this sales-receipt transaction.

CurrencyRef String False False False

The unique Id of the currency that is used in the sales-receipt transaction.

CurrencyRef_Name String True False False

The display name of the currency that is used in the sales-receipt transaction.

ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this sales-receipt transaction amount to the home currency. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies sales tax to this sales-receipt transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal False False False

The total amount of the sales-receipt transaction in the home currency. This field is valid in the UK, AU, and CA editions.

CData Python Connector for QuickBooks Online

SalesReceipts

Represents sales receipts at the header level, recording point-of-sale transactions where payment is received immediately.

Table Specific Information

SalesReceipts may be inserted, queried, or updated via the SalesReceipts or SalesReceiptLineItems tables. SalesReceipts may be deleted by using the SalesReceipts table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a SalesReceipt, specify the Customer, TotalAmt, and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which SalesReceipts. For example:

INSERT INTO SalesReceipts (CustomerRef, TotalAmt, LineAggregate) 
VALUES ('21', '0.03', '
<Line><Amount>0.01</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>2</ItemRef></SalesItemLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>SalesItemLineDetail</DetailType><SalesItemLineDetail><ItemRef>3</ItemRef></SalesItemLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this sales-receipt transaction. It is used to retrieve or reference the sales receipt programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this sales-receipt transaction that is used to prevent conflicting updates. QuickBooks Online increments this token each time the transaction is modified, and only the latest token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this sales-receipt transaction.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this sales-receipt transaction was last modified in QuickBooks Online.

CustomFieldAggregate String False False False

An XML aggregate that is serialized into a single string containing all custom fields that are associated with this sales-receipt transaction. This collection can include multiple CustomField elements with Name, Type, StringValue, and other sub-elements.

DocNumber String False True True

The reference number that is assigned to the sales-receipt transaction. If no number is provided, QuickBooks Online assigns the next number in sequence according to the company's numbering preferences.

TxnDate Date False True True

The posting date that is entered by the user when this sales-receipt transaction occurred. This date determines the accounting period and may differ from the creation date.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department that is linked to this sales-receipt transaction when location tracking is enabled in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The display name of the department that is linked to this sales-receipt transaction when location tracking is enabled in QuickBooks Online.

PrivateNote String False False False

An internal note recorded on this sales-receipt transaction that is intended for internal use and does not appear on customer-facing forms by default.

LinkedTxnAggregate String False False False

An XML aggregate that is serialized into a single string representing all transactions that are linked to this sales-receipt transaction. Each LinkedTxn element typically includes the Id, Type, and an optional sequence number of the related transaction such as an Invoice or Payment.

LineAggregate String False False False

An XML aggregate that is serialized into a single string representing all line items that are associated with this sales-receipt transaction. Each line element typically includes Line/Id, Line/LineNum, Line/Amount, Line/DetailType, and Line/Description, as well as nested detail elements such as SalesItemLineDetail or GroupLineDetail.

TxnTaxDetail_TxnTaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the overall tax code that is applied to the sales-receipt transaction.

TxnTaxDetail_TotalTax String False False False

The total tax amount that QuickBooks Online calculates for the sales-receipt transaction, excluding any tax lines that are manually inserted into the transaction line list.

TxnTaxDetail_TaxLineAggregate String False False False

An XML aggregate that is serialized into a single string representing all tax line items that QuickBooks Online calculates or applies to this sales-receipt transaction.

CustomerRef String False

Customers.Id

True False

The unique Id of the customer that is linked to this sales-receipt transaction.

CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer that is linked to this sales-receipt transaction.

CustomerMemo String False False False

The message that is entered for the customer and that appears on the sales receipt and in the printed or emailed copy.

BillAddr_Id String False False False

The unique Id of the billing address entity that is assigned by QuickBooks Online and that is used when modifying the address.

BillAddr_Line1 String False False False

The first line of the billing address that is entered for the customer.

BillAddr_Line2 String False False False

The second line of the billing address that is entered for the customer.

BillAddr_Line3 String False False False

The third line of the billing address that is entered for the customer.

BillAddr_Line4 String False False False

The fourth line of the billing address that is entered for the customer.

BillAddr_Line5 String False False False

The fifth line of the billing address that is entered for the customer.

BillAddr_City String False False False

The city name that is entered for the billing address.

BillAddr_Country String False False False

The country name that is entered for the billing address.

BillAddr_CountrySubDivisionCode String False False False

The region within the country for the billing address. For example, this value is the state name for the USA and the province name for Canada.

BillAddr_PostalCode String False False False

The postal code that is entered for the billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded billing address when location data is available.

BillAddr_Long String False False False

The longitude coordinate that is associated with the geocoded billing address when location data is available.

ShipAddr_Id String False False False

The unique Id of the shipping address entity that is assigned by QuickBooks Online and that is used when modifying the address.

ShipAddr_Line1 String False False False

The first line of the shipping address that is entered for the customer.

ShipAddr_Line2 String False False False

The second line of the shipping address that is entered for the customer.

ShipAddr_Line3 String False False False

The third line of the shipping address that is entered for the customer.

ShipAddr_Line4 String False False False

The fourth line of the shipping address that is entered for the customer.

ShipAddr_Line5 String False False False

The fifth line of the shipping address that is entered for the customer.

ShipAddr_City String False False False

The city name that is entered for the shipping address.

ShipAddr_Country String False False False

The country name that is entered for the shipping address.

ShipAddr_CountrySubDivisionCode String False False False

The region within the country for the shipping address. For example, this value is the state name for the USA and the province name for Canada.

ShipAddr_PostalCode String False False False

The postal code that is entered for the shipping address. For example, this value is the ZIP code for the USA and the postal code for Canada.

ShipAddr_Lat String False False False

The latitude coordinate that is associated with the geocoded shipping address when location data is available.

ShipAddr_Long String False False False

The longitude coordinate that is associated with the geocoded shipping address when location data is available.

ClassRef String False

Class.Id

False False

The unique Id of the class that is associated with this sales-receipt transaction for class tracking and reporting.

ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is associated with this sales-receipt transaction.

ShipMethodRef String False False False

The unique Id of the shipping method that is associated with this sales-receipt transaction.

ShipMethodRef_Name String True False False

The display name of the shipping method that is associated with this sales-receipt transaction.

ShipDate Date False False False

The date that is entered for the delivery of goods or services associated with this sales-receipt transaction.

TrackingNum String False False False

The tracking number for the shipping provider that is entered for the delivery of goods associated with this sales-receipt transaction.

TotalAmt Decimal False True False

The total amount of the sales-receipt transaction. This amount includes the total of all charges, allowances, and taxes applied within the transaction. By default, this is recalculated and overridden based on the total of the sub-items. This field is calculated by QuickBooks Online business logic and cannot be written to QuickBooks Online.

PrintStatus String False False False

The print status of the sales-receipt transaction (for example, NotSet, NeedToPrint, PrintComplete).

The allowed values are NotSet, NeedToPrint, PrintComplete.

The default value is NotSet.

EmailStatus String False False False

The email status of the sales-receipt transaction (for example, NotSet, NeedToSend, EmailSent).

The allowed values are NotSet, NeedToSend, EmailSent.

The default value is NotSet.

BillEmail_Address String False False False

The email address where the sales receipt is sent.

Balance Decimal True True True

The balance that reflects any payments that have been made against this sales-receipt transaction.

PaymentRefNum String False False False

The reference number that is provided for the payment on this sales-receipt transaction.

PaymentMethodRef String False

PaymentMethods.Id

False False

The unique Id of the payment method that is associated with this sales-receipt transaction.

PaymentMethodRef_Name String True

PaymentMethods.Name

False False

The display name of the payment method that is associated with this sales-receipt transaction.

DepositToAccountRef String False

Accounts.Id

False False

The unique Id of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

DepositToAccountRef_Name String True

Accounts.Name

False False

The display name of the asset account where the payment money is deposited. If you do not specify this account, QuickBooks Online uses the Undeposited Funds account.

ApplyTaxAfterDiscount Boolean False False False

Indicates whether QuickBooks Online applies discounts before or after calculating tax on this sales-receipt transaction.

CurrencyRef String False False False

The unique Id of the currency that is used in the sales-receipt transaction.

CurrencyRef_Name String True False False

The display name of the currency that is used in the sales-receipt transaction.

ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this sales-receipt transaction amount to the home currency. This field is valid only when the company file is set up to use the multicurrency feature. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies sales tax to this sales-receipt transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

HomeTotalAmt Decimal False False False

The total amount of the sales-receipt transaction in the home currency. This amount includes the total of all charges, allowances, and taxes applied within the transaction. This field is valid in the UK, AU, and CA editions.

TransactionLocationType String False False False

The account location type that is used in this sales-receipt transaction. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

ProjectRef String False True False

The unique Id of the project that is associated with this sales-receipt transaction.

RecurDataRef String True False False

The unique Id of the reference to the recurring transaction template from which this sales receipt was created. This captures which recurring transaction template the sales receipt originated from.

FreeFormAddress Boolean False False False

Indicates how the shipping address (ShipAddr) is stored for this sales-receipt transaction. The value of this flag is system defined based on whether the shipping address was formatted or unformatted at object creation time.

HomeBalance Decimal True False False

A convenience field that contains the amount in Balance expressed in terms of the home currency for this sales-receipt transaction.

TxnSource String True False False

The field that is used internally by QuickBooks Online to specify the originating source of a credit card transaction.

DeliveryInfo_DeliveryType String True False False

The type of delivery for this sales-receipt transaction. This delivery type is used to confirm that an email has been sent via the send operation.

The allowed values are Email.

DeliveryInfo_DeliveryTime_DateTime String True False False

The delivery date and time that is recorded for this sales-receipt transaction.

CreditCardPaymentAggregate String True False False

An XML aggregate that is serialized into a single string containing all information about a credit card payment for this sales-receipt transaction. This collection can include processor response elements such as status, authorization codes, and transaction identifiers.

CData Python Connector for QuickBooks Online

TaxAgency

Stores tax-agency records that are used in QuickBooks Online to define the government authorities to which sales tax is remitted.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this tax agency record. It is used to retrieve or reference the tax agency programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this tax agency record that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the record is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this tax agency record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this tax agency record was last modified in QuickBooks Online.

DisplayName String False False False

The display name for the tax agency that is shown within QuickBooks Online.

TaxRegistrationNumber String True False False

The registration number that is assigned to this tax agency by the relevant tax authority.

TaxTrackedOnPurchases Boolean True False False

Indicates whether this tax agency is used to track tax on purchases. Typically, this field is true for agencies that are responsible for receiving purchase-related taxes.

TaxTrackedOnSales Boolean True False False

Indicates whether this tax agency is used to track tax on sales. Typically, this field is true for agencies that are responsible for receiving sales-related taxes.

LastFileDate Date True False False

The most recent tax filing date for this tax agency. This field is automatically populated by QuickBooks Online business logic at the time of tax filing.

TaxAgencyConfig String True False False

Indicates whether this tax agency record is system defined by the Automated Sales Tax engine or is user generated. This flag helps differentiate QuickBooks Online default agencies from agencies created manually by a user.

The allowed values are USER_DEFINED, SYSTEM_GENERATED, HIDDEN_AGENCY.

CData Python Connector for QuickBooks Online

TaxCodes

Contains sales tax codes and rules that determine how taxes are calculated on transactions, supporting multi-jurisdiction compliance.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this sales tax code record. It is used to retrieve or reference the tax code programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this sales tax code record that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the record is modified, and only the latest token is accepted for edits.

MetaData_CreateTime Datetime True False True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this sales tax code record.

MetaData_LastUpdatedTime Datetime True False True

The date and time stamp (Coordinated Universal Time) when this sales tax code record was last modified in QuickBooks Online.

Name String False False True

The display name of the sales tax code as it appears in QuickBooks Online user interfaces and reports.

Description String True False True

A detailed description of the purpose or usage of this sales tax code. This field must not contain white space or formatting characters.

Active Boolean True False False

Indicates whether the sales tax code entity is currently active (true) or inactive (false). Inactive sales tax codes may be hidden from display and are not used on financial transactions.

Taxable Boolean True False False

Indicates whether the sales tax code represents a taxable entity (true) or a non-taxable entity (false or null by default). This setting determines how QuickBooks Online applies the code to transactions.

TaxGroup Boolean True False False

Indicates whether the sales tax code is configured as a tax group (true) or a single tax code (false). Tax groups allow you to combine multiple rates under one code for easier reporting.

SalesTaxRateList_TaxRateDetailAggregate String True False False

An XML aggregate that is serialized into a single string containing all sales tax rate details that are associated with this sales tax code. Each TaxRateDetail element typically includes the rate name, value, and applicable tax agency.

PurchaseTaxRateList_TaxRateDetailAggregate String True False False

An XML aggregate that is serialized into a single string containing all purchase tax-rate details that are associated with this sales tax code. This field is available only in the UK, AU, and CA editions.

Hidden Boolean True False False

Indicates whether active tax codes are displayed on transactions. When this flag is set to true, the code remains active but is hidden from transaction forms.

TaxCodeConfigType String True False False

Indicates whether this sales tax code record is system defined by the Automated Sales Tax engine or is user generated. This flag helps differentiate QuickBooks Online default codes from codes that are created manually by a user.

The allowed values are USER_DEFINED, SYSTEM_GENERATED.

Pseudocolumns

Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
TaxRateDetails String

Aggregate of TaxRateDetails. Used only for insert.

TaxApplicableOn String

Specifies where this tax rate can be applied. Possible values are 'Sales' or 'Purchase'.Used only for insert.

TaxRateName String

Name of a new tax rate.Used only for insert.

TaxAgencyId String

The Id of the agency to whom tax is paid.Used only for insert.

RateValue String

The tax rate value.Used only for insert.

CData Python Connector for QuickBooks Online

TaxRates

Maintains sales-tax rate definitions that are applied to transactions, including jurisdiction, rate percentage, and effective dates.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this tax-rate record. It is used to retrieve or reference the tax rate programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this tax-rate record that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the record is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this tax-rate record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this tax-rate record was last modified in QuickBooks Online.

Name String False True False

The display name of the tax rate as it appears in QuickBooks Online user interfaces and reports.

Description String False False False

A detailed description of the purpose or usage of this tax rate. This field must not contain white space or formatting characters.

Active Boolean False True False

Indicates whether the tax rate is currently active (true) or inactive (false). Inactive tax rates can be hidden from display and are not used on financial transactions.

RateValue String False True True

The numeric value of the tax rate (for example, 7.5 for 7.5 percent) that QuickBooks Online applies to taxable transactions.

AgencyRef String False

TaxAgency.Id

True False

The unique Id of the tax agency that is responsible for collecting or receiving this tax rate. This field links the tax rate to its governing agency.

AgencyRef_Name String True

TaxAgency.DisplayName

False False

The display name of the tax agency that is responsible for collecting or receiving this tax rate.

TaxReturnLineRef String False True False

The unique Id of the tax-return line where this tax rate is reported. This Id helps map transactions to the correct line on a tax return.

TaxReturnLineRef_Name String True False False

The display name of the tax return line where this tax rate is reported.

SpecialTaxType String False False False

The special tax type code that QuickBooks Online uses to handle zero-rate taxes or special Value-Added Tax (VAT) rules. For example, VAT-registered businesses that receive goods, services, or acquisitions from other EU countries must calculate the VAT due but not paid on these acquisitions. The rate of VAT that is payable is the same that would be paid if the goods had been supplied by a UK supplier.

DisplayType String False False False

The display type of the tax rate as configured in QuickBooks Online. This field is used to control how the tax rate is displayed in lists and on forms.

EffectiveTaxRate Double False False False

The effective tax-rate percentage that QuickBooks Online uses to determine which tax rate is applicable on any given date. This field is especially useful for rates that change over time.

OriginalTaxRate String True False False

The unique Id of the original tax rate from which this new tax rate is derived. This field allows tracking of rate changes over time.

Pseudocolumns

Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
TaxRateDetails String

The Tax Rate Details.Used only for insert.

TaxCode String

The name for the tax code.Used only for insert.

TaxApplicableOn String

The Tax rate applicability. Values can be 'Sales or 'Purchase'. Used only for Insert.

CData Python Connector for QuickBooks Online

Terms

Stores payment terms such as Net 30 or Due on Receipt, used to define invoice due dates and early payment discounts.

Table Specific Information

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this payment term record. It is used to retrieve or reference the term programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this payment-term record that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the record is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this payment term record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this payment-term record was last modified in QuickBooks Online.

Name String False True False

The display name of the payment term as it appears in QuickBooks Online user interfaces and reports.

Active Boolean False True False

Indicates whether this payment term record is currently enabled for use in QuickBooks Online (true) or is inactive (false). Inactive terms can be hidden from lists and cannot be used on new transactions.

Type String False False False

The type of sales term (for example, Standard, DateDriven, or CashOnDelivery) that is associated with this payment-term record. This field controls how QuickBooks Online interprets the term's due date and discount rules.

DiscountPercent Double False False False

The discount percentage that is available to the customer if payment is made within the number of days that is specified by the DiscountDays field. This discount encourages early payment.

DueDays Integer False False False

The number of days from the delivery of goods or services until the payment is due under this term. This field is used by QuickBooks Online to calculate the due date on transactions.

DiscountDays Integer False False False

The number of days after the transaction date within which the discount specified in the DiscountPercent field applies.

DayOfMonthDue Integer False False False

The calendar day of the month by which the payment must be received under this term. This day is used for date-driven terms.

DueNextMonthDays Integer False False False

The number of days before the DayOfMonthDue value that a transaction must be issued for the payment to be due in the next month. This setting allows QuickBooks Online to handle terms that roll into the next month based on issue date.

DiscountDayOfMonth Integer False False False

The calendar day of the month by which the payment must be received in order for the discount specified in the DiscountPercent field to apply. This field is used for date-driven discount terms.

CData Python Connector for QuickBooks Online

TimeActivities

Contains time entry records for employees or vendors, capturing billable and non-billable hours linked to customers, projects, or payroll.

Note: The CostRate column will not return data unless MinorVersion is set to 65 or above.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this time activity record. It is used to retrieve or reference the time activity programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this time activity record that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the record is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this time activity record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this time activity record was last modified in QuickBooks Online.

TxnDate Date False True True

The transaction date of the time activity entry. This date determines which accounting period or payroll period the activity falls into.

NameOf String False False False

The type of person who performs the task. This field indicates whether the time entry was recorded for an employee, a vendor, or another party.

The allowed values are Employee, Vendor.

EmployeeRef String False

Employees.Id

False False

The unique Id of the employee that is associated with this time activity. Either the employee reference Id or the employee reference name must be provided when creating a time activity, and the Id is preferred.

EmployeeRef_Name String True

Employees.DisplayName

False False

The fully qualified name of the employee that is associated with this time activity. A fully qualified name starts with the employee name followed by a colon and any subentry names--up to five levels (for example, Store54:Shane Hamby).

VendorRef String False

Vendors.Id

False False

The unique Id of the vendor that is associated with this time activity. Either the vendor reference Id or the vendor reference name must be provided when creating a time activity, and the Id is preferred.

VendorRef_Name String True

Vendors.DisplayName

False False

The fully qualified name of the vendor that is associated with this time activity. A fully qualified name starts with the vendor name followed by a colon and any subentry names--up to five levels (for example, Rock Construction:Building Materials).

CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is receiving the goods or services for this time activity. For example, if the time is recorded for a job or project such as John Doe:Kitchen, this Id references John Doe.

CustomerRef_Name String True

Customers.DisplayName

False False

The fully qualified name of the customer or organization that is associated with this time activity. A fully qualified name starts with the customer name followed by a colon and any subcustomer names--up to five levels (for example, Rock Construction:Sammuels).

DepartmentRef String False

Departments.Id

False False

The unique Id of the department that is associated with this time activity.

DepartmentRef_Name String True

Departments.Name

False False

The display name of the department that is associated with this time activity.

ItemRef String False

Items.Id

False False

The unique Id of the item that is associated with this time activity. This field is required when creating a time activity record.

ItemRef_Name String True

Items.Name

False False

The display name of the item that is associated with this time activity. This field is required when creating a time activity record.

ClassRef String False

Class.Id

False False

The unique Id of the class that is assigned to this time activity for class tracking and reporting.

ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is assigned to this time activity for class tracking and reporting.

PayrollItemRef String False False False

The unique Id of the payroll item that specifies how much the employee should be paid for the work recorded by this time activity. This field links time entries to payroll compensation rules.

BillableStatus String False False False

Indicates whether the time activity is billable to the customer (Billable), not billable (NotBillable), or has been billed (HasBeenBilled). This field controls invoicing and revenue recognition.

The allowed values are Billable, NotBillable, HasBeenBilled.

Taxable Boolean False False False

Indicates whether the time activity recorded is both billable and taxable (true) or not taxable (false).

HourlyRate Decimal False False False

The hourly billing rate of the employee or vendor for this time activity. This rate is used to calculate billable charges on invoices.

Hours Integer False False False

The number of whole hours worked in this time activity. This field, along with Minutes, specifies the total amount of time worked.

Minutes Integer False False False

The number of minutes worked in this time activity (valid values are 0-59). This field, along with Hours, specifies the total amount of time worked.

StartTime Datetime False False False

The date and time stamp when work started for this time activity. This field is used when recording start/end times rather than just total hours.

EndTime Datetime False False False

The date and time stamp when work ended for this time activity. This field is used when recording start and end times rather than just total hours.

Description String False False False

A detailed description of the work completed during this time activity. This description can appear on invoices if the time activity is billable.

TransactionLocationType String False False False

The account location type that is associated with this time activity. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

CostRate Decimal False False False

The internal pay rate of the employee or vendor for this time activity. This rate is used for payroll and cost accounting rather than billing the customer.

BreakHours BreakMinutes Integer False False False

The number of hours and minutes of break time that was taken between the start time and end time for this time activity. Use this field when both the start time and end time are specified to record nonworking periods.

ProjectRef String False True False

The unique Id of the project that is associated with this time activity. This field links the time entry to a specific project for project accounting and reporting.

TimeChargeId Integer False True False

The unique Id of the time charge that is generated from this time activity if it is converted into a billable charge. This field links the time activity to its corresponding time charge record.

CData Python Connector for QuickBooks Online

Transfers

Represents transfers of funds between bank, credit card, or other accounts, recording movement of money within the business.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this transfer transaction. It is used to retrieve or reference the transfer programmatically and is required for updates or deletions.

TxnDate Date False True True

The transaction date that is entered by the user when this transfer occurred. This date determines the accounting period for the transfer.

PrivateNote String False False False

A user-entered, organization-private note about this transfer transaction. This note does not appear on customer-facing or vendor-facing forms by default.

FromAccountRef String False

Accounts.Id

False False

The unique Id of the account from which the funds are transferred. This Id links the transfer to the originating account in QuickBooks Online.

FromAccountRef_Name String False

Accounts.Name

False False

The display name of the account from which the funds are transferred. This name helps users identify the originating account in reports and on forms.

ToAccountRef String False

Accounts.Id

False False

The unique Id of the account to which the funds are transferred. This Id links the transfer to the destination account in QuickBooks Online.

ToAccountRef_Name String False

Accounts.Name

False False

The display name of the account to which the funds are transferred. This name helps users identify the destination account in reports and on forms.

Amount Decimal False False False

The total monetary amount of the funds that are transferred in this transaction. This total represents the amount moved between accounts.

SyncToken String True False False

The version control token for this transfer transaction that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the transaction is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this transfer-transaction record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this transfer-transaction record was last modified in QuickBooks Online.

TransactionLocationType String False False False

The account location type that is associated with this transfer transaction. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

RecurDataRef String True False False

The unique Id of the reference to the recurring transaction template from which this transfer was created. This field captures which recurring transaction template the transfer originated from.

CData Python Connector for QuickBooks Online

VendorCreditLineItems

Captures line-level details of vendor credits, including items or expenses credited, amounts, and accounts to properly offset vendor balances.

Table Specific Information

VendorCredits may be inserted, queried, or updated via the VendorCredits or VendorCreditLineItems tables. VendorCredits may be deleted by using the VendorCredits table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a VendorCredit, specify the Vendor, TotalAmt, and at least one Line Item. The following shows an example of inserting multiple VendorCredits, each with a single line. To insert a VendorCredit with multiple lines, see the example on the VendorCredits table.

INSERT INTO VendorCreditLineItems#TEMP (VendorRef, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_CustomerRef, Line_AccountBasedExpenseLineDetail_AccountRef, TotalAmt) VALUES ('21', 0.01, 'AccountBasedExpenseLineDetail', '4', '41', 0.03)
INSERT INTO VendorCreditLineItems#TEMP (VendorRef, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_CustomerRef, Line_AccountBasedExpenseLineDetail_AccountRef, TotalAmt) VALUES ('21', 0.02, 'AccountBasedExpenseLineDetail', '4', '41', 0.03)
INSERT INTO VendorCreditLineItems (VendorRef, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_CustomerRef, Line_AccountBasedExpenseLineDetail_AccountRef, TotalAmt) SELECT VendorRef, Line_Amount, Line_DetailType, Line_AccountBasedExpenseLineDetail_CustomerRef, Line_AccountBasedExpenseLineDetail_AccountRef, TotalAmt FROM VendorCreditLineItems#TEMP

Columns

Name Type ReadOnly References Filterable Sortable Description
LineId [KEY] String True False False

The unique identifier (Id) of the individual line item on the vendor-credit transaction. This field is required to reference, update, or delete a specific line item.

VendorCreditId [KEY] String False

VendorCredits.Id

True False

The unique Id of the vendor-credit transaction that this line item belongs to. This Id forms the foreign-key relationship back to the VendorCredit object.

SyncToken String True False False

The version control token for this vendor-credit line item that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the line or parent vendor credit is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this vendor-credit line item record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this vendor-credit line item record was last modified in QuickBooks Online.

DocNumber String False True True

The primary document number that is assigned to this vendor-credit transaction. If a number is not provided, QuickBooks Online automatically generates the next sequential document number based on the company's numbering settings.

TxnDate Date False True True

The transaction date of this vendor credit. This date determines when the vendor credit is posted in the general ledger. That date can match the creation date or be backdated for accounting purposes.

PrivateNote String False False False

An internal note about this vendor-credit transaction. These notes are organization-private, not shown on vendor-facing forms, and are intended for internal tracking.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is linked to this vendor-credit transaction. This Id is used when location tracking is enabled in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The display name of the department or location that is linked to this vendor-credit transaction.

Line_Id String False False False

The unique Id of the line item within this vendor credit. This field is distinct from LineId and may be used in nested line detail structures.

Line_Description String False False False

The description of the goods, services, or adjustments recorded in this line item. This description can appear on printed or exported versions of the vendor credit.

Line_Amount Decimal False False False

The total monetary amount for this line item. This amount includes charges and allowances but excludes any applicable tax amounts.

Line_DetailType String False False False

The detail type of this line item that specifies what kind of entry it represents (for example, Account-based expense or Item-based expense).

Line_AccountBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with this account-based expense line. This Id is used to track expenses by customer or project.

Line_AccountBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer that is associated with this account-based expense line.

Line_AccountBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class that is assigned to this account-based expense line for class tracking.

Line_AccountBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is assigned to this account-based expense line.

Line_AccountBasedExpenseLineDetail_AccountRef String False

Accounts.Id

False False

The unique Id of the account that is associated with this account-based expense line. The account must be a valid account in QuickBooks Online.

Line_AccountBasedExpenseLineDetail_AccountRef_Name String True

Accounts.Name

False False

The display name of the account that is associated with this account-based expense line.

Line_AccountBasedExpenseLineDetail_BillableStatus String False False False

The billable status of this account-based expense line. Valid values indicate whether the expense can be billed back to a customer (Billable), has already been billed (HasBeenBilled), or is not billable (NotBillable).

Line_AccountBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to this account-based expense line.

Line_ItemBasedExpenseLineDetail_ItemRef String False

Items.Id

False False

The unique Id of the item that is associated with this item-based expense line.

Line_ItemBasedExpenseLineDetail_ItemRef_Name String True

Items.Name

False False

The display name of the item that is associated with this item-based expense line.

Line_ItemBasedExpenseLineDetail_ClassRef String False

Class.Id

False False

The unique Id of the class that is assigned to this item-based expense line for class tracking.

Line_ItemBasedExpenseLineDetail_ClassRef_Name String True

Class.FullyQualifiedName

False False

The display name of the class that is assigned to this item-based expense line.

Line_ItemBasedExpenseLineDetail_UnitPrice Decimal False False False

The per-unit price of the item that is recorded in this item-based expense line.

Line_ItemBasedExpenseLineDetail_Qty Double False False False

The number of units for the item in this item-based expense line. This value, multiplied by the unit price, contributes to the total line amount.

Line_ItemBasedExpenseLineDetail_TaxCodeRef String False

TaxCodes.Id

False False

The unique Id of the tax code that is applied to this item-based expense line.

Line_ItemBasedExpenseLineDetail_CustomerRef String False

Customers.Id

False False

The unique Id of the customer that is associated with this item-based expense line. This Id is used to allocate item costs to a customer or project.

Line_ItemBasedExpenseLineDetail_CustomerRef_Name String True

Customers.DisplayName

False False

The display name of the customer that is associated with this item-based expense line.

Line_ItemBasedExpenseLineDetail_BillableStatus String False False False

The billable status of this item-based expense line. Valid values indicate whether the expense can be billed back to a customer (Billable), has already been billed (HasBeenBilled), or is not billable (NotBillable).

VendorRef String False

Vendors.Id

True False

The unique Id of the vendor for this vendor-credit transaction.

VendorRef_Name String True

Vendors.DisplayName

False False

The display name of the vendor for this vendor-credit transaction.

APAccountRef String False

Accounts.Id

True True

The unique Id of the accounts-payable liability account to which this vendor credit is posted. If the company uses a single accounts-payable account, QuickBooks Online implies it automatically. When specified, the account must be a Liability account with a subtype of Payables.

APAccountRef_Name String True

Accounts.Name

False False

The display name of the accounts-payable liability account to which this vendor credit is posted. If the company uses a single accounts-payable account, QuickBooks Online implies it automatically. When specified, the account must be a Liability account with a subtype of Payables.

TotalAmt Decimal False True True

The total monetary amount of the vendor-credit transaction. This value is determined by summing the amounts of all included line items, charges, allowances, taxes, and discounts.

CurrencyRef String False False False

The unique Id of the currency in which this vendor-credit transaction is recorded when multicurrency is enabled.

CurrencyRef_Name String True False False

The display name of the currency in which this vendor-credit transaction is recorded when multicurrency is enabled.

ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this vendor credit amount into the home currency. This field is valid only when multicurrency is enabled. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available in the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies tax to this vendor-credit transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

CData Python Connector for QuickBooks Online

VendorCredits

Represents vendor credits at the header level, used to apply credits to bills or reimburse the company for returns or overpayments.

Table Specific Information

VendorCredits may be inserted, queried, or updated via the VendorCredits or VendorCreditLineItems tables. VendorCredits may be deleted by using the VendorCredits table.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver.

Insert

To add a VendorCredit, specify a Vendor, TotalAmt, and at least one Line Item. The LineAggregate column may be used to specify an XML aggregate of Line Item data. Each _ denotes hierarchy. Use <Line> at the base level. The contents of LineAggregate will be sent to the API as is. All values for each field in the aggregate should adhere to the API's specifications (e.g. for dates in format yyyy-MM-dd, for date times in format yyyy-MM-dd'T'HH:mm:sszzz). The columns that may be used in the aggregates begin with the prefix 'Line_' to indicate they are part of the line item. Use the Line_ column along with the DocNumber to indicate which lines go with which VendorCredits. For example:

INSERT INTO VendorCredits (VendorRef, TotalAmt, LineAggregate) 
VALUES ('21', '0.03', '
<Line><Amount>0.01</Amount><DetailType>AccountBasedExpenseLineDetail</DetailType><AccountBasedExpenseLineDetail><CustomerRef>4</CustomerRef><AccountRef>41</AccountRef></AccountBasedExpenseLineDetail></Line>
<Line><Amount>0.02</Amount><DetailType>AccountBasedExpenseLineDetail</DetailType><AccountBasedExpenseLineDetail><CustomerRef>4</CustomerRef><AccountRef>41</AccountRef></AccountBasedExpenseLineDetail></Line>
')

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this vendor-credit transaction. It is used to retrieve or reference the vendor credit programmatically and is required for updates or deletions.

SyncToken String True False False

The version control token for this vendor-credit transaction that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the transaction is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this vendor-credit transaction record.

MetaData_LastUpdatedTime Datetime True True True

The date and time stamp (Coordinated Universal Time) when this vendor-credit transaction record was last modified in QuickBooks Online.

DocNumber String False True True

The external or system-generated reference number that is assigned to this vendor credit. If no number is provided, QuickBooks Online automatically assigns the next sequential document number based on the company's numbering preferences.

TxnDate Date False True True

The transaction date that determines when this vendor credit is posted to the books. For example, a vendor credit can be created on one date but backdated to affect a prior period's financial statements.

PrivateNote String False False False

An internal memo or private note that is recorded on this vendor credit. These notes are not printed on customer-facing or vendor-facing forms by default and are intended for internal reference.

DepartmentRef String False

Departments.Id

False False

The unique Id of the department or location that is linked to this vendor-credit transaction when location tracking is enabled in QuickBooks Online.

DepartmentRef_Name String True

Departments.Name

False False

The display name of the department or location that is linked to this vendor-credit transaction when location tracking is enabled in QuickBooks Online.

LineAggregate String False False False

An XML aggregate that contains all individual line-item entries that are included in this vendor-credit transaction. Each line element typically includes details such as Line/Id, Line/LineNum, Line/Amount, Line/DetailType, Line/Description, and either Line/AccountBasedExpenseLineDetail (with AccountRef, ClassRef, CustomerRef, TaxCodeRef, BillableStatus) or Line/ItemBasedExpenseLineDetail (with ItemRef, Qty, UnitPrice, TaxCodeRef). This collection enables you to view or maintain the complete set of expense or item details that QuickBooks Online applies to the vendor credit.

VendorRef String False

Vendors.Id

True False

The unique Id of the vendor to whom this credit is issued.

VendorRef_Name String True

Vendors.DisplayName

False False

The display name of the vendor to whom this credit is issued.

APAccountRef String False

Accounts.Id

True True

The unique Id of the accounts-payable liability account to which this vendor credit is posted. If the company has a single accounts-payable account, QuickBooks Online implies it automatically. When specified, the account must be a Liability account with a subtype of Payables.

APAccountRef_Name String True

Accounts.Name

False False

The display name of the accounts-payable liability account to which this vendor credit is posted. If the company has a single accounts-payable account, QuickBooks Online implies it automatically. When specified, the account must be a Liability account with a subtype of Payables.

TotalAmt Decimal False True True

The total monetary amount of the vendor-credit transaction. This total is determined by summing the amounts of all included line items, charges, allowances, taxes, and discounts.

CurrencyRef String False False False

The unique Id of the currency in which this vendor-credit transaction is recorded when multicurrency is enabled.

CurrencyRef_Name String True False False

The display name of the currency in which this vendor-credit transaction is recorded when multicurrency is enabled.

ExchangeRate Decimal False False False

The currency exchange rate that QuickBooks Online applies to convert this vendor credit amount into the home currency. This field is valid only when multicurrency is enabled. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit. This field is available for the UK, AU, and CA editions.

GlobalTaxCalculation String False False False

The method by which QuickBooks Online applies tax to this vendor-credit transaction. This field is valid in the UK, AU, and CA editions.

The allowed values are TaxExcluded, TaxInclusive, NotApplicable.

TransactionLocationType String False False False

The account location type that is associated with this vendor-credit transaction. This field is valid only in the FR editions.

The allowed values are WithinFrance, FranceOverseas, OutsideFranceWithEU, OutsideEU.

RecurDataRef String True False False

The unique Id of the reference to the recurring transaction template from which this vendor credit was created. This field captures which recurring transaction template the vendor credit originated from.

LinkedTxnAggregate String False False False

An XML aggregate that contains zero or more linked transactions that are associated with this vendor credit. Each LinkedTxn element typically includes the Id, Type, and an optional sequence number of the related transaction (for example, Bill, PurchaseOrder, or CreditMemo). This collection enables you to view or maintain the cross-references that QuickBooks Online uses to apply the vendor credit to one or more other transactions.

IncludeInAnnualTPAR Boolean True False False

Indicates whether the supplier that is associated with this vendor credit should be included in the annual Taxable Payments Annual Report (TPAR). This field helps Australian companies meet Australian Tax Office reporting obligations.

Balance Decimal True True True

Specifies the open balance amount or the amount of this vendor credit that remains unapplied. This shows how much of the credit is still available to offset other transactions.

CData Python Connector for QuickBooks Online

Vendors

Stores vendor records including contact details, payment terms, and tax information, forming the master list of suppliers for QuickBooks Online.

Columns

Name Type ReadOnly References Filterable Sortable Description
Id [KEY] String True True False

The unique identifier (Id) that is assigned by QuickBooks Online to this vendor record. It is required to retrieve or reference the vendor programmatically and for updates or deletions.

SyncToken String True False False

The version control token for this vendor record that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the vendor record is modified, and only the latest sync token is accepted for edits.

MetaData_CreateTime Datetime False True True

The date and time stamp (Coordinated Universal Time) for when QuickBooks Online created this vendor record.

MetaData_LastUpdatedTime Datetime False True True

The date and time stamp (Coordinated Universal Time) for when this vendor record was last modified in QuickBooks Online.

Title String False False False

The title of the individual associated with this vendor (for example, Mr., Ms., Dr.).

GivenName String False True True

The given name or first name of the individual associated with this vendor.

MiddleName String False True True

The middle name of the individual associated with this vendor.

FamilyName String False True True

The family name or last name of the individual associated with this vendor.

Suffix String False False False

The suffix that is appended to the name of the individual associated with this vendor (for example, Jr., Sr., III).

DisplayName String False True True

The display name of the vendor as it appears in QuickBooks Online. This name is the primary name used in lookups and on forms.

CompanyName String False True True

The name of the company or organization that is associated with this vendor.

PrintOnCheckName String False True False

The name of the person or organization as it appears on printed checks that are issued to this vendor.

Active Boolean False True False

Indicates whether this vendor record is currently active (true) or inactive (false) in QuickBooks Online. Inactive vendors are hidden from most transaction lists but retained for historical purposes.

PrimaryPhone_FreeFormNumber String False False False

The primary telephone number for contacting the vendor.

AlternatePhone_FreeFormNumber String False False False

An alternate telephone number for contacting the vendor.

Mobile_FreeFormNumber String False False False

The mobile telephone number for contacting the vendor.

Fax_FreeFormNumber String False False False

The fax number for contacting the vendor.

PrimaryEmailAddr_Address String False False False

The primary email address of the vendor. This address is used for sending purchase orders or other communications, if enabled.

WebAddr_URI String False False False

The website Uniform Resource Locater (URL) for the vendor or their organization.

BillAddr_Id String False False False

The unique Id of the billing-address entity for this vendor, mainly used for modifying the address. This field is assigned by the QuickBooks Online data service.

BillAddr_Line1 String False False False

The first line of the vendor's billing address.

BillAddr_Line2 String False False False

The second line of the vendor's billing address.

BillAddr_Line3 String False False False

The third line of the vendor's billing address.

BillAddr_Line4 String False False False

The fourth line of the vendor's billing address.

BillAddr_Line5 String False False False

The fifth line of the vendor's billing address.

BillAddr_City String False False False

The city portion of the vendor's billing address.

BillAddr_Country String False False False

The country portion of the vendor's billing address.

BillAddr_CountrySubDivisionCode String False False False

The region within a country for the vendor's billing address. For example, this value is the state name for the USA and the province name for Canada.

BillAddr_PostalCode String False False False

The postal code for the vendor's billing address. For example, this value is the ZIP code for the USA and the postal code for Canada.

BillAddr_Lat String False False False

The latitude coordinate of the geocoded billing address for this vendor.

BillAddr_Long String False False False

The longitude coordinate of the geocoded billing address for this vendor.

OtherContactInfo_Type String False False False

Specifies the type of other contact information (for example, social-media handle, secondary email, or alternate phone).

OtherContactInfo_Telephone_FreeFormNumber String False False False

The telephone number that is associated with the type of contact information that is defined in the OtherContactInfo_Type parameter.

TaxIdentifier String False False False

The tax identification number (TIN) of the vendor (such as a business tax number or social security number) used for compliance and reporting purposes.

TermRef String False

Terms.Id

False False

The unique Id of the payment term that is associated with this vendor. This Id determines the due date and discount structure for bills from this vendor.

TermRef_Name String True

Terms.Name

False False

The display name of the payment term that is associated with this vendor.

Balance String False True False

The amount the company currently owes to this vendor. For create operations, this represents the opening balance or unpaid amount for the vendor. When returned in response to a query, it represents the current open balance or unpaid amount for that vendor.

AcctNum String False False False

The vendor's account number or name with your organization. This account information can be used to match internal systems with QuickBooks Online vendor records.

Vendor1099 Boolean False False False

Indicates whether this vendor is an independent contractor who should receive a 1099-MISC form at year end. A 1099 vendor is paid with regular checks and taxes are not withheld on their behalf.

CurrencyRef String False False False

The unique Id of the currency that is used in all business transactions created for or received from this vendor.

CurrencyRef_Name String True False False

The display name of the currency that is used in all business transactions created for or received from this vendor.

APAccountRef String False

Accounts.Id

False False

The unique Id of the accounts-payable liability account that is used for this supplier. When this Id is specified, the account must be a Liability account with a subtype of Payables.

APAccountRef_Name String True

Accounts.Name

False False

The display name of the accounts-payable liability account used for this supplier. When this name is specified, the account must be a Liability account with a subtype of Payables.

GSTIN String False False False

The Goods and Services Tax Identification Number (GSTIN) that is assigned to every GST-registered business. This field is used only for India region.

T4AEligible Boolean False False False

Indicates whether the vendor is T4A eligible. This field is valid for the CA locale and determines whether T4A tax slips should be issued.

T5018Eligible Boolean False False False

Indicates whether the vendor is T5018 eligible. This field is valid for the CA locale and determines whether T5018 tax slips should be issued.

HasTPAR Boolean False False False

Indicates whether this vendor has Taxable Payments Annual Report (TPAR) enabled. TPAR is required by the Australian Taxation Office (ATO).

BusinessNumber String False False False

A code that is also the Permanent Tax Number (PAN) in India. This code acts as an identification for individuals, families, and corporations, especially for those who pay taxes on their income.

GSTRegistrationType String False False False

Specifies the GST registration type for this vendor. For filing of GSTR, transactions need to be classified depending on the type of customer to whom the sale is done.

The allowed values are GST_REG_REG, GST_REG_COMP, GST_UNREG, CONSUMER, OVERSEAS, SEZ, DEEMED.

CostRate Decimal False False False

The pay rate for this vendor. Typically, this rate is the cost rate you incur for their services.

BillRate Decimal False False False

The hourly billing rate that is set for this vendor when their services are billed to customers.

TaxReportingBasis String False False False

The method by which this supplier tracks their income for tax reporting purposes. This field is applicable for French companies only.

VendorPaymentBankDetail_BankAccountName String False False False

The name on the bank account for payments to this vendor. Required if the VendorPaymentBankDetail information is present in the request.

VendorPaymentBankDetail_BankBranchIdentifier String False False False

The bank branch Id that is used to identify the bank branch (a 6-digit value in the format xxx-xxx). This Id is required if VendorPaymentBankDetail information is present in the request.

VendorPaymentBankDetail_BankAccountNumber String False False False

The vendor's bank account number for payments. This account number is required if VendorPaymentBankDetail information is present in the request. In response, the value is masked and only the last four digits are returned.

VendorPaymentBankDetail_StatementText String False False False

The text, note, or comment for the remittance statement that accompanies a payment to this vendor.

CData Python Connector for QuickBooks Online

Views

Views are similar to tables in the way that data is represented; however, views are read-only.

Queries can be executed against a view as if it were a normal table.

CData Python Connector for QuickBooks Online Views

Name Description
BalanceSheetSummaryReport Exposes the Balance Sheet summary report from QuickBooks Online, aggregating assets, liabilities, and equity to give a snapshot of company financial health over a selected time period.
CreditCardPayments Displays a view of credit card payment transactions, summarizing payments made to credit card accounts for easier reconciliation and expense management.
CustomerBalanceDetail Presents the Customer Balance Detail report from QuickBooks Online, showing outstanding invoices, payments, and credits per customer with running balances.
CustomerTypes Displays a list of customer types or segments that are used to classify customers for reporting, marketing, or pricing strategies within QuickBooks Online.
Entitlements Retrieves a list of product entitlements or subscriptions that are associated with the QuickBooks Online account, showing what features or modules are available.
GetDeletedAsView Provides a view of records deleted from core entities such as Customers, Invoices, and Bill Payments, allowing administrators or auditors to track removed data for compliance and reconciliation purposes.
RecurringBillTransactions Displays recurring bill templates that automate vendor billing, ensuring that repeat expenses are entered on a scheduled basis.
ReimburseCharges Displays billable expenses marked to be reimbursed by customers, showing charges that will later be invoiced as pass-through costs.
TaxClassification Displays tax classification data that is used to categorize goods or services for compliance with tax regulations.
TaxPayment Shows sales tax payment records, summarizing payments made to tax agencies for easier tracking and reconciliation.
Thresholds Retrieves threshold values set in QuickBooks Online, such as transaction or limit thresholds used for reporting or validation.

CData Python Connector for QuickBooks Online

BalanceSheetSummaryReport

Exposes the Balance Sheet summary report from QuickBooks Online, aggregating assets, liabilities, and equity to give a snapshot of company financial health over a selected time period.

Columns

Name Type References Description
Account String The name of the account as it appears in the Balance Sheet Summary report. This column identifies to which general ledger account the row's balances relate.
Total Decimal The total monetary value that is associated with the account or row displayed in the Balance Sheet Summary report. This column shows sums in the company's base currency.
RowType String The type classification for the current row in the Balance Sheet Summary report (for example, section header, account line, or total line). This classification helps identify how each row contributes to the report layout.
RowGroup String The grouping category to which the current row belongs (for example, Current Assets, Liabilities, or Equity). This column allows client applications to group rows by financial category.

Pseudocolumns

Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
DateMacro String A predefined date range. Use this if you want the report to cover a standard report date range. Otherwise, use the StartDate and EndDate to cover an explicit range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDate String The startdate of the report. StartDate must be less than EndDate.
EndDate String The enddate of the report. EndDate must be greater than StartDate.
AccountingMethod String The accounting method used in the report.

The allowed values are Cash, Accrual.

Customer String Filters report contents to include information for specified customers. This is a comma separated list (spaces omitted after/before separating comma) of one or more Customer IDs.
Department String Filters report contents to include information for specified departments if so configured in the company file. This is a comma separated list (spaces omitted after/before separating comma) of one or more Department IDs.
Vendor String Filters report contents to include information for specified vendors. This is a comma separated list (spaces omitted after/before separating comma) of one or more Vendor IDs.
Class String Filters report contents to include information for specified classes if so configured in the company file. This is a comma separated list (spaces omitted after/before separating comma) of one or more Class IDs.
Item String Filters report contents to include information for specified items. This is a comma separated list (spaces omitted after/before separating comma) of one or more Item IDs.
Indentation Boolean Add spaces at the start of values to visually identify totals and group values.

CData Python Connector for QuickBooks Online

CreditCardPayments

Displays a view of credit card payment transactions, summarizing payments made to credit card accounts for easier reconciliation and expense management.

View Specific Information

Select

This view will retrieve all the credit card payments from the user's account.

SELECT * FROM CreditCardPayments WHERE Id = '1234'

SELECT * FROM CreditCardPayments WHERE TxnDate > '2020-01-01'

Columns

Name Type References Description
Id [KEY] String Specifies the unique identifier (Id) of the credit-card payment. This value is used to uniquely reference and retrieve the payment record.
SyncToken String Specifies the version number that is used to lock the credit-card payment object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail. Only the latest version of the object is maintained by QuickBooks Online.
MetaData_CreateTime Datetime Specifies the date and time when the credit-card payment record was created in the source domain.
MetaData_LastUpdatedTime Datetime Specifies the date and time when the credit-card payment record was last updated in the source domain.
TxnDate Date Specifies the transaction date entered by the user when the credit-card payment occurred.
CurrencyRef String Specifies the currency that is entered by the user when the credit-card payment transaction occurred.
ExchangeRate Decimal Specifies the exchange rate that is applied when the credit-card payment transaction occurred.
CreditCardAccountRef String Identifies the credit-card account to which funds are transferred.
BankAccountRef String Identifies the bank account from which funds are transferred to pay the credit-card account.
Amount Decimal Specifies the total amount that is recorded for the credit-card payment transaction.
Memo String Specifies a user-entered, organization-private note about the credit-card payment transaction. This field maps to the Memo field on the Pay Down Credit Card form.
VendorRef String

Vendors.Id

Specifies the unique Id of the vendor for this credit-card payment transaction.
VendorRef_Name String

Vendors.Name

Specifies the name of the vendor for this credit-card payment transaction.
PrivateNote String Specifies a user-entered, organization-private note about the credit-card payment transaction. This field maps to the Memo field on the Pay Down Credit Card form.
PrintStatus String Specifies the printing status of the credit-card payment transaction.

The allowed values are NotSet, NeedToPrint, PrintComplete.

CheckNum String Specifies the check number that is entered by the user for the credit-card payment transaction. This field maps to the Check No. field on the Pay Down Credit Card form.

CData Python Connector for QuickBooks Online

CustomerBalanceDetail

Presents the Customer Balance Detail report from QuickBooks Online, showing outstanding invoices, payments, and credits per customer with running balances.

Columns

Name Type References Description
Label String Specifies the label column for the customer-balance detail report.
ReportDate String Specifies the report date column for the customer-balance detail report. If this column is used as a filter, it retrieves the records up to the specified date.
TransactionType String Specifies the transaction type column containing string data for the customer-balance detail report.
Num String Specifies the number column containing string data for the customer-balance detail report.
DueDate String Specifies the due date column containing date data for the customer-balance detail report.
Amount Decimal Specifies the amount column containing monetary data for the customer-balance detail report.
OpenBalance Decimal Specifies the open balance column containing monetary data for the customer-balance detail report.
Balance Decimal Specifies the balance column containing monetary data for the customer-balance detail report.
RowType String Specifies the row type column for the customer-balance detail report.
RowGroup String Specifies the row group column for the customer-balance detail report.

Pseudocolumns

Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.

Name Type Description
AgingMethod String The date upon which aging is determined.

The allowed values are Report_Date, Current.

ARPaid String The accounts receivable paid status.

The allowed values are All, Paid, Unpaid.

The default value is Unpaid.

Customer String Filters report contents to include information for specified customers. This is a comma separated list (spaces omitted after/before separating comma) of one or more Customer IDs.
Department String Filters report contents to include information for specified departments if so configured in the company file. This is a comma separated list (spaces omitted after/before separating comma) of one or more Department IDs.
ShipVia String Filter by the shipping method as specified in Invoice's ShipMethodRef. This is the name of the shipping method.
Term String Filters report contents to include information for specified term or terms supplied. This is a comma separated list (spaces omitted after/before separating comma) of one or more Term IDs.

CData Python Connector for QuickBooks Online

CustomerTypes

Displays a list of customer types or segments that are used to classify customers for reporting, marketing, or pricing strategies within QuickBooks Online.

Columns

Name Type References Description
Id [KEY] String Specifies the unique identifier (Id) of the customer type.
MetaData_CreateTime Datetime Specifies the date and time when the customer type record was created in the source domain.
MetaData_LastUpdatedTime Datetime Specifies the date and time when the customer type record was last updated in the source domain.
Name String Specifies the full name of the customer type.
Active Boolean Indicates whether the customer type is currently enabled for use by QuickBooks Online.
SyncToken String Specifies the version number that is used to lock the customer type object for use by one application at a time. When an application modifies an object, its sync token is incremented. Attempts to modify an object with an older sync token fail.

CData Python Connector for QuickBooks Online

Entitlements

Retrieves a list of product entitlements or subscriptions that are associated with the QuickBooks Online account, showing what features or modules are available.

Columns

Name Type References Description
Id [KEY] String Specifies the system-generated unique identifier (Id) of the entitlement that is used when querying, updating, or linking to the entitlement record.
Name String Specifies the human-readable name or title of the entitlement that is displayed in reports, the UI, and downstream integrations.
Term String Specifies the term that is associated with the entitlement, such as the subscription period, benefits duration, or other time-based conditions that define the entitlement's validity.

CData Python Connector for QuickBooks Online

GetDeletedAsView

Provides a view of records deleted from core entities such as Customers, Invoices, and Bill Payments, allowing administrators or auditors to track removed data for compliance and reconciliation purposes.

GetDeletedAsView is capable of retrieving the ID and deletion time of QuickBooks Online entities such as Customer, Invoice, BillPayment, though it is not capable of retrieving this information about their children. LineItems are a common example of children, where BillPaymentLineItem is a child of BillPayment. This is a limitation of the QuickBooks Online API.

EntityName is required to be specified in the WHERE clause of a query for this view. Note that EntityName refers to the QuickBooks Online API name, rather than the table name that CData provides. For example, the Vendors table represents Vendor entities. Please refer to the QuickBooks Online API Reference for all entity names.

The following query retrieves deleted record information for the 'Customer' entity:

SELECT * FROM GetDeletedAsView WHERE EntityName = 'Customer' 

Columns

Name Type References Description
Id [KEY] Long Specifies the system-generated unique identifier (Id) of the deleted entity record. This value is used to reference or reconcile deleted records when retrieving change data or maintaining synchronization between systems.
EntityName String Specifies the name of the deleted entity. This value identifies which QuickBooks Online entity type (such as Customer, Invoice, or Vendor) was deleted so you can filter or process deletions by entity type.
DeletedTime Datetime Specifies the date and time when the entity record was deleted in QuickBooks Online. This timestamp allows you to determine when the deletion occurred and supports incremental synchronization or auditing processes.

CData Python Connector for QuickBooks Online

RecurringBillTransactions

Displays recurring bill templates that automate vendor billing, ensuring that repeat expenses are entered on a scheduled basis.

Table Specific Information

We can perform Select operation on RecurringBillTransactions table.

Select

Bill_Id, Bill_MetaData_CreateTime, Bill_MetaData_LastUpdatedTime can be used for server side filter. The driver processes other filters client-side within the driver.

SELECT * FROM RecurringBillTransactions;
SELECT * FROM RecurringBillTransactions WHERE bill_id = 25544
SELECT * FROM RecurringBillTransactions WHERE bill_MetaData_CreateTime = '2020-12-28 23:07:26'
SELECT * FROM RecurringBillTransactions WHERE bill_MetaData_LastUpdatedTime = '2020-12-30 14:47:54'
SELECT * FROM RecurringBillTransactions WHERE bill_id = 25538 AND bill_MetaData_CreateTime = '2020-12-28 23:07:26' AND bill_MetaData_LastUpdatedTime = '2020-12-30 14:47:54'

Columns

Name Type References Description
Bill_Id [KEY] String The unique identifier (Id) that is assigned by QuickBooks Online to the recurring bill transaction. This Id is required to retrieve, update, or reference the recurring bill programmatically.
Bill_SyncToken String The version control token for the recurring bill transaction that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the record is modified, and only the latest sync token can be used when making changes.
Bill_MetaData_CreateTime Datetime The date and time stamp (in Coordinated Universal Time) when QuickBooks Online created the recurring bill transaction record. This timestamp provides an immutable audit trail of the creation event.
Bill_MetaData_LastUpdatedTime Datetime The date and time stamp (in Coordinated Universal Time) when the recurring bill transaction was last updated. This timestamp is important for synchronization and detecting recent changes.
Bill_CurrencyRef String The unique Id of the currency in which the recurring bill is recorded. This field is relevant only when multicurrency is enabled.
Bill_CurrencyRef_Name String The display name of the currency in which the recurring bill is recorded. This field is relevant only when multicurrency is enabled.
Bill_TotalAmt Decimal The total monetary amount of the recurring bill transaction. This amount includes all charges, allowances, taxes, and discounts.
Bill_APAccountRef_Name String The display name of the accounts-payable liability account that is associated with this recurring bill transaction.
Bill_APAccountRef String The unique Id of the accounts-payable liability account that is associated with this recurring bill transaction. When specified, the account must be a Liability account with a subtype of Payables.
Bill_Sparse Boolean Indicates whether the recurring bill transaction is sparse. A sparse record contains only those fields that are changed, rather than the full set of fields, to reduce update payload size.
Bill_VendorRef_Name String The display name of the vendor who issued this recurring bill.
Bill_VendorRef String The unique Id of the vendor who issued this recurring bill.
Bill_SalesTermRef_Name String The display name of the payment terms (for example, Net 30) that are associated with this recurring bill transaction.
Bill_SalesTermRef String The unique Id of the payment terms that are associated with this recurring bill transaction.
Bill_Balance Decimal The remaining balance amount on the recurring bill transaction after applying credits or payments.
Bill_LineAggregate String An XML aggregate that is serialized into a single string representing all line items on the recurring bill transaction. Each line item typically includes elements such as Line/Id, Line/Description, Line/Amount, and detail substructures (for example, AccountBasedExpenseLineDetail or ItemBasedExpenseLineDetail) that define the specific account, class, customer, tax code, and billable status that are linked to the line.
Bill_RecurringInfo_Name String The descriptive name of the recurring template or schedule that governs the creation of this recurring bill transaction.
Bill_RecurDataRef String The unique Id of the recurrence data record that links this recurring bill transaction to its underlying schedule definition.
Bill_RecurringInfo_RecurType String The recurrence pattern type that is associated with this recurring bill transaction, such as Scheduled, Unscheduled, or Reminder.
Bill_RecurringInfo_Active Boolean Indicates whether the recurring bill schedule is currently active (true) or inactive (false). Inactive schedules do not generate new transactions.
Bill_RecurringInfo_ScheduleInfo_IntervalType String The unit of time that defines the recurrence interval, such as Daily, Weekly, Monthly, or Yearly.
Bill_RecurringInfo_ScheduleInfo_NumInterval Integer The numeric interval that specifies how often the recurring bill occurs, based on the interval type. For example, every 2 weeks.
Bill_RecurringInfo_ScheduleInfo_DayOfWeek String The day of the week on which the recurring bill is scheduled to occur. For example, Monday or Friday.
Bill_RecurringInfo_ScheduleInfo_DayOfMonth String The calendar day of the month on which the recurring bill is scheduled to occur. For example, 1, 15, or 30.
Bill_RecurringInfo_ScheduleInfo_WeekOfMonth String The week of the month on which the recurring bill is scheduled to occur. For example, First, Second, or Last.
Bill_RecurringInfo_ScheduleInfo_StartDate Datetime The date and timestamp when the recurring bill schedule becomes effective in QuickBooks Online.
Bill_RecurringInfo_ScheduleInfo_NextDate Datetime The date and time stamp of the next scheduled occurrence of this recurring bill.
Bill_RecurringInfo_ScheduleInfo_PreviousDate Datetime The date and time stamp of the most recent occurrence of this recurring bill under the recurrence schedule.
Bill_RecurringInfo_ScheduleInfo_MaxOccurrences String The maximum number of recurring bill transactions that are generated under this schedule before it stops automatically.
Bill_RecurringInfo_ScheduleInfo_RemindDays String The number of days in advance of the scheduled start date when QuickBooks Online should send a reminder for recurring bills of type Reminder.
Bill_RecurringInfo_ScheduleInfo_MonthOfYear String The month of the year in which the recurring bill is scheduled to occur, if the recurrence is annual. For example, January or July.
Bill_RecurringInfo_ScheduleInfo_DaysBefore String The number of days before the scheduled date that QuickBooks Online should create or notify about the recurring bill transaction.
Bill_RecurringInfo_ScheduleInfo_EndDate Datetime The date and time stamp when the recurring bill schedule ends and no further transactions are generated.

CData Python Connector for QuickBooks Online

ReimburseCharges

Displays billable expenses marked to be reimbursed by customers, showing charges that will later be invoiced as pass-through costs.

View Specific Information

Select

The connector uses the QuickBooks Online API to retrieve the details of ReimburseCharges. Columns that can be filtered include: Id, CustomerRef, MetaData_CreateTime, MetaData_CreateTime, and HasBeenInvoiced.

Select

All filterable columns support the following operators:

  • =
  • !=
  • >=
  • <=
  • >
  • <
  • IN
  • LIKE
  • CONTAINS

The driver processes other filters client-side within the driver. Example:

SELECT * FROM ReimburseCharges;
SELECT * FROM ReimburseCharges WHERE Id = '548';
SELECT * FROM ReimburseCharges WHERE Id IN ('548','365');

Columns

Name Type References Description
Id [KEY] String The unique identifier (Id) that is assigned by QuickBooks Online to this reimbursable charge. It is used to retrieve or reference the charge programmatically and is required for updates or deletions. The default sort order is ascending (ASC).
SyncToken String The version control token for this reimbursable charge that is used to manage concurrent access and ensure that only one application modifies the charge at a time. QuickBooks Online increments this token each time the charge is modified, and only the latest token is accepted for edits.
Amount Decimal The total amount of this reimbursable charge line item. This field represents the amount that is recorded to be billed back to the customer.
CustomerRef String

Customers.Id

The unique Id of the customer that is associated with this reimbursable charge.
CustomerRef_Name String

Customers.DisplayName

The display name of the customer that is associated with this reimbursable charge.
CurrencyRef String The three-letter ISO 4217 code of the currency that is used for this reimbursable charge transaction (for example, USD, CAD, EUR).
CurrencyRef_Name String The full display name of the currency that is used for this reimbursable charge transaction (for example, US Dollar, Canadian Dollar).
LineAggregate String An XML aggregate that is serialized into a single string representing all line items that are associated with this reimbursable charge transaction. Each line element typically includes Line/Id, Line/Amount, Line/Description and any applicable detail elements.
PrivateNote String A user-entered, organization-private note about this reimbursable charge transaction. This note does not appear on customer-facing invoices by default.
LinkedTxnAggregate String An XML aggregate that is serialized into a single string representing all transactions that are linked to this reimbursable charge. This collection typically includes the Invoice Id when the reimbursable charge has been linked with an invoice.
ExchangeRate Decimal The currency exchange rate that QuickBooks Online applies to convert this reimbursable charge amount to the home currency. This field is valid only when multicurrency is enabled for the company. In QuickBooks Online, exchange rates are always recorded as the number of home currency units it takes to equal one foreign currency unit.
MetaData_CreateTime Datetime The date and time stamp (Coordinated Universal Time) when QuickBooks Online created this reimbursable charge record.
MetaData_LastUpdatedTime Datetime The date and time stamp (Coordinated Universal Time) when this reimbursable charge record was last modified in QuickBooks Online.
HasBeenInvoiced Boolean Indicates whether this reimbursable charge has already been linked to an invoice (true) or has not yet been invoiced (false).
HomeTotalAmt Decimal The total amount of the reimbursable charge transaction in the home currency. This amount includes the total of all charges, allowances, and taxes applied within the transaction.

CData Python Connector for QuickBooks Online

TaxClassification

Displays tax classification data that is used to categorize goods or services for compliance with tax regulations.

Columns

Name Type References Description
Id [KEY] String The unique identifier (Id) that is assigned by QuickBooks Online to this tax classification record. It is used to retrieve or reference the tax classification programmatically and is required for updates or deletions. This Id also forms the primary key when establishing relationships to other tax-related tables or objects.
Code String The internal code that is assigned to this tax classification for reporting, compliance, and import/export purposes. This code can be used to match external tax classification schemes or to group similar classifications in QuickBooks Online.
Name String The display name of the tax classification as it appears in QuickBooks Online user interfaces and reports. This name is used by accountants and users to select the correct tax classification when creating items or transactions.
Description String A detailed description that explains the purpose, scope, or application of this tax classification. This field can be used to clarify how the classification should be applied to items or transactions and to assist with compliance audits.
Level String The tax classification level as a numeric value (1 or 2) that determines where this classification sits in the hierarchy. A value of 1 specifies a parent (top-level) tax classification that is used as a category header. A value of 2 specifies a child (sub-level) tax classification that is grouped under a parent for more granular tax tracking.
ParentRef String The unique Id that is used to link this tax classification to its parent tax classification when applicable. This forms the foreign-key relationship back to the parent tax classification record in QuickBooks Online.
ParentRef_Name String The display name of the parent tax classification that is linked to this tax classification, when applicable. This name helps users navigate and select from hierarchical tax classifications.
ApplicableTo String The complete list of item types to which this tax classification is applicable. This list can include Inventory items, NonInventory items, Bundle items, and Service items. Applying the correct classification ensures that sales tax is calculated accurately for all eligible items in QuickBooks Online.

CData Python Connector for QuickBooks Online

TaxPayment

Shows sales tax payment records, summarizing payments made to tax agencies for easier tracking and reconciliation.

Columns

Name Type References Description
Id [KEY] String The unique identifier (Id) that is assigned by QuickBooks Online to this tax payment transaction. It is used to retrieve or reference the tax payment programmatically and is required for updates or deletions.
SyncToken String The version control token for this tax-payment transaction that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the transaction is modified, and only the latest sync token is accepted for edits.
MetaData_CreateTime Datetime The date and time stamp (Coordinated Universal Time) for when QuickBooks Online created this tax-payment record in the source domain. This timestamp provides an immutable audit trail for the transaction's creation.
MetaData_LastUpdatedTime Datetime The date and time stamp (Coordinated Universal Time) for when this tax-payment record was last modified in the source domain.
PaymentDate Date The date on which the tax payment was made or recorded in QuickBooks Online. This date determines the accounting period for the payment.
PaymentAccountRef String The unique Id of the account from which the tax payment was made or to which the refund was moved. This field links the tax payment to the specific bank or liability account used.
PaymentAccountRef_Name String The display name of the account from which the tax payment was made or to which the refund was moved. This name helps users identify the account in reports and on forms.
PaymentAmount Decimal The total monetary amount of the tax payment or refund that is recorded in this transaction. This value reflects the amount actually paid to or refunded from the tax agency.
Refund Boolean Indicates whether this transaction is a refund (true) or a tax payment (false). When this flag is set to false, the record represents an outgoing tax payment. When this flag is set to true, the record represents a tax refund received from the tax agency.
TxnDate Date The transaction date on which this tax-payment record is posted to the books. This date can match or differ from the payment date, depending on when the transaction was entered.

CData Python Connector for QuickBooks Online

Thresholds

Retrieves threshold values set in QuickBooks Online, such as transaction or limit thresholds used for reporting or validation.

View Specific Information

Select

This view will retrieve the threshold entries for the all the entitlements of the user's account.

SELECT * FROM Thresholds

Columns

Name Type References Description
Name String The display name of the threshold as it appears in QuickBooks Online. This name identifies which feature, entity, or attribute the threshold applies to (for example, number of custom fields, number of recurring transactions).
Limit String The maximum allowed value that QuickBooks Online permits for this threshold. This field defines the upper limit that is enforced or monitored (for example, a maximum of 50 custom fields).
Enforced String Indicates whether this threshold is actively enforced (true) or only monitored (false). When it is enforced, QuickBooks Online prevents operations that will exceed the threshold. When it is not enforced, QuickBooks Online can still display warnings, but it allows the operation to proceed.
CurrentCount String The current measured value of the attribute that is being monitored against this threshold. This field shows how much of the limit has already been consumed (for example, 45 of 50 custom fields used).
AboveThreshold String Indicates whether the current count of the attribute has reached or exceeded the defined limit (true) or remains below it (false). This field enables QuickBooks Online or external integrations to trigger warnings or block actions when limits are breached.

CData Python Connector for QuickBooks Online

Stored Procedures

Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with QuickBooks Online.

Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from QuickBooks Online, along with an indication of whether the procedure succeeded or failed.

CData Python Connector for QuickBooks Online Stored Procedures

Name Description
CreateAccountListReport Generates an Account List report schema file, allowing you to extract the structure of your QuickBooks chart of accounts for integration or analysis.
CreateAPAgingDetailReport Generates an Accounts Payable Aging Detail report schema file, providing detailed insight into unpaid vendor balances and their aging by date.
CreateAPAgingSummaryReport Generates an Accounts Payable Aging Summary report schema file, summarizing outstanding vendor obligations grouped by aging periods.
CreateARAgingDetailReport Generates an Accounts Receivable Aging Detail report schema file, providing customer-level detail of unpaid invoices and their aging.
CreateARAgingSummaryReport Generates an Accounts Receivable Aging Summary report schema file, summarizing outstanding customer balances grouped by aging periods.
CreateBalanceSheetDetailReport Generates a Balance Sheet Detail report schema file, exposing account-level detail for assets, liabilities, and equity as of a specific date.
CreateBalanceSheetSummaryReport Generates a Balance Sheet Summary report schema file, providing a high-level view of assets, liabilities, and equity for a specified date range.
CreateCustomerBalanceDetailReport Generates a Customer Balance Detail report schema file, listing each customer's outstanding invoices, payments, and credits with running balances.
CreateCustomerBalanceReport Generates a Customer Balance Summary report schema file, showing total balances that are owed by each customer without transaction-level detail.
CreateCustomerIncomeReport Generates a Customer Income report schema file, summarizing revenue earned from each customer over a selected period.
CreateCustomerSalesReport Generates a Sales by Customer Summary report schema file, providing sales totals that are grouped by customer.
CreateExpensesByVendorReport Generates an Expenses by Vendor report schema file, detailing total spend by vendor for a given time frame.
CreateGeneralLedgerDetailReport Generates a General Ledger Detail report schema file, listing all posted transactions across accounts with debits and credits for reconciliation.
CreateInventoryValuationDetailReport Generates an Inventory Valuation Detail report schema file, showing item-by-item inventory quantities, values, and cost basis.
CreateInventoryValuationSummaryReport Generates an Inventory Valuation Summary report schema file, summarizing total inventory asset value by item or category.
CreateJournalReport Generates a Journal report schema file, presenting transactions in journal format with debits and credits by account.
CreateProfitAndLossDetailReport Generates a Profit and Loss Detail report schema file, listing individual income and expense transactions to support profit and loss analysis.
CreateProfitAndLossSummaryReport Generates a Profit and Loss Summary report schema file, summarizing revenues, costs, and expenses over a specified period.
CreateReportSchema Creates a custom report schema that is based on specified parameters, allowing flexible retrieval of QuickBooks Online report data.
CreateSalesByClassReport Generates a Sales by Class report schema file, breaking down sales totals by QuickBooks class for segmented reporting.
CreateSalesByDepartmentReport Generates a Sales by Department report schema file, summarizing sales amounts that are grouped by department or location.
CreateSalesByProductReport Generates a Sales by Product report schema file, showing revenue that is generated from each product or service sold.
CreateStatementOfCashFlowReport Generates a Statement of Cash Flows report schema file, detailing cash inflows and outflows from operating, investing, and financing activities.
CreateTaxSummaryReport Generates a Tax Summary report schema file, summarizing tax collected, tax owed, and taxable amounts by jurisdiction.
CreateTransactionListReport Generates a Transaction List report schema file, listing transactions across accounts within a defined period.
CreateTransactionListWithSplitsReport Generates a Transaction List with Splits report schema file, showing transactions along with their split account allocations.
CreateTrialBalanceReport Generates a Trial Balance report schema file, summarizing all account balances (debits and credits) at a point in time for reconciliation.
CreateVendorBalanceDetailReport Generates a Vendor Balance Detail report schema file, showing individual unpaid bills and credits for each vendor.
CreateVendorBalanceReport Generates a Vendor Balance Summary report schema file, summarizing total balances that are owed to each vendor.
DisconnectOAuthAccessToken Disconnects the OAuth access token used for authentication with various QuickBooks services.
DownloadAttachment Downloads an attachment file from QuickBooks Online, such as a document or receipt that is linked to a transaction or entity.
DownloadNote Downloads a note from the Attachables feature, allowing retrieval of stored text notes or comments that are tied to entities.
DownloadPDF Downloads an Invoice, Sales Receipt, or Estimate as a PDF file directly from QuickBooks Online for distribution or archiving.
GetOAuthAccessToken Gets the OAuth access token and OAuth secret key from Intuit.
GetOAuthAuthorizationURL Gets the URL, AuthToken, and AuthKey from Intuit. Access the URL returned in the output in an Internet browser. This request returns a verifier token that you will need to use as input along with the AuthToken and AuthKey for GetOAuthAccessToken.
GetReport Retrieves a specified QuickBooks Online report using parameters that you define, enabling flexible on-demand reporting.
RefreshOAuthAccessToken Refreshes the OAuth access token used for authentication with various QuickBooks services.
SendInvoice Sends an existing invoice to the customer by email, optionally including linked payment options for quicker settlement.
UploadAttachment Uploads a file attachment to QuickBooks Online, associating it with a transaction or record for supporting documentation.
VoidInvoice Voids an existing invoice in QuickBooks Online, preserving the record but nullifying its financial impact.
VoidPayment Voids an existing payment transaction, retaining the record while reversing its financial effect.
VoidSalesReceipt Voids an existing sales receipt in QuickBooks Online, keeping the record while negating its accounting impact.

CData Python Connector for QuickBooks Online

CreateAccountListReport

Generates an Account List report schema file, allowing you to extract the structure of your QuickBooks chart of accounts for integration or analysis.

Stored Procedure-Specific Information

QuickBooks Online allows only a small subset of columns to be used in the Exec query. All the columns are optional for this Stored Procedure.

For example:

To create the RSD file, it will be generated based on the value of the Location connection property.

EXECUTE CreateAccountListReport

To return BASE64 encoded data in FileData column.

EXECUTE CreateAccountListReport WriteToFile	= 'False'

Input

Name Type Description
ReportName String The name of the report.

The default value is AccountListReport.

ReportDescription String A description for the report. If one is not specified, a description based on the ReportType will be selected.
Columns String Column types to be shown in the report. A comma separated list of one or more of the following: account_name*, account_type*, detail_acc_type, create_date, create_by, detail_acc_type*, last_ mod_date, last_ mod_by, account_desc*, account_bal*
AccountType String Account type from which transactions are included in the report.

The allowed values are Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, NonPosting.

AccountStatus String The account status. Supported values include: Deleted, Not_Deleted
DateMacro String A predefined date range. Use this if you want the report to cover a standard report date range. Otherwise, use the StartDate and EndDate to cover an explicit range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDate String The startdate of the report. StartDate must be less than EndDate.
EndDate String The enddate of the report. EndDate must be greater than StartDate.
ModDateMacro String A predefined report account modification date range. Use if you want the report to cover a standard report date range when accounts were modified; otherwise, use the StartModDate and EndModDate to cover an explicit report date range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartModDate Date The startdate of which accounts were modified. StartModDate must be less than EndModDate.
EndModDate Date The enddate of which accounts were modified. EndModDate must be greater than StartModDate..
CreateDateMacro String A predefined account create date range. Use this if you want the report to cover a standard date range when accounts were created. Otherwise, use the StartCreateDate and EndCreateDate to cover an explicit range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartCreateDate Date The startcreatedate of account creation to include in the report. StartCreateDate must be less than EndCreateDate.
EndCreateDate Date The endcreatedate account creation to include in the report. EndCreateDate must be greater than StartCreateDate.
SortBy String The column type used in sorting report rows. Specify one of the Columns from the Columns input.
SortOrder String The order in which to sort the report results.

The allowed values are ascend, descend.

The default value is ascend.

WriteToFile String Whether to write to an output file or not. Defaults to true, must be set to false to write to FileStream or FileData.

Result Set Columns

Name Type Description
Result String Success or Failure.
SchemaFile String The generated schema file.
Columns String The number of columns found.
FileData String The BASE64 downloaded file content. Only returned if WriteToFile set to false and FileStream is not set.

CData Python Connector for QuickBooks Online

CreateAPAgingDetailReport

Generates an Accounts Payable Aging Detail report schema file, providing detailed insight into unpaid vendor balances and their aging by date.

Stored Procedure-Specific Information

This report supports multicurrency. The parameters available for use in an EXEC query vary, depending on whether or not multicurrency is enabled:

  • Multicurrency disabled: subt_neg_open_bal, subt_neg_amount.
  • Multicurrency enabled: currency, exch_rate, neg_foreign_open_bal, subt_neg_home_open_bal, neg_foreign_amount, subt_neg_home_amount.

To check whether the authenticated account supports multicurrency, execute:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

The RSD file is generated based on the value of the Location connection property:

EXEC CreateAPAgingDetailReport

To return BASE64 encoded data in FileData column:

EXEC CreateAPAgingDetailReport WriteToFile = 'False'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is APAgingDetailReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountingMethod String The accounting method that is used in the report (for example, Accrual or Cash). The accounting method determines how QuickBooks Online calculates and displays the report's values.

The allowed values are Cash, Accrual.

AgingPeriod String The number of days that are used to define each aging period in the report. The aging period controls how open balances are grouped by age.
Columns String The column types that are to be shown in the report. Provide a comma-separated list (with one space after each comma) of one or more of the following types: create_by, create_date, doc_num, due_date, last_mod_by, last_mod_date, memo, past_due, term_name, tx_date, txn_type, vend_bill_addr, vend_comp_name, vend_name, vend_pri_cont, vend_pri_email, vend_pri_tel. When location tracking is enabled, the additional column dept_name is available. In addition, the following values are supported based on the multicurrency setting for the company. When multicurrency is disabled, the supported values are subt_neg_open_bal and subt_neg_amount. When multicurrency is enabled, the supported values are currency, exch_rate, neg_foreign_open_bal, subt_neg_home_open_bal, neg_foreign_amount, and subt_neg_home_amount.

The default value is tx_date,txn_type,doc_num,vend_name,dept_name,due_date,past_due,subt_neg_amount,subt_neg_open_bal,subt_neg_home_amount,subt_neg_home_open_bal.

NumPeriods String The number of periods that are to be shown in the report. This number controls how many columns of aged balances are displayed.
PastDue String Filters the report contents based on the minimum number of days past due. The PastDue input restricts the output to only items that exceed the specified threshold.
ReportDate String The starting date that is used for the report. This input determines the anchor date for aging calculations.
ShipVia String Filters the report by the shipping method as specified in the invoice's shipping-method reference.
StartDueDate String The starting due date for which the receivables are due. This date must be earlier than the ending due date.
EndDueDate String The ending due date for which the receivables are due. This date must be later than the starting due date.
Term String Filters the report contents to include information for one or more specified terms. Provide a comma-separated list (with one space after each comma) of Term identifiers (Ids).
Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This information helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The content is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateAPAgingSummaryReport

Generates an Accounts Payable Aging Summary report schema file, summarizing outstanding vendor obligations grouped by aging periods.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateAPAgingSummaryReport DateMacro='This Fiscal Year'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is APAgingSummaryReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AgingMethod String The date basis upon which aging is determined (for example, Transaction Date or Due Date). This basis controls how QuickBooks Online calculates aging buckets.

The allowed values are Report_Date, Current.

Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use DateMacro if you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department identifiers (Ids).
ReportDate String The starting date that is used for the report. This date determines the anchor date for aging calculations.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Vendor, by Customer, or by Term).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.
NumPeriods String The number of periods that are to be shown in the report. This number controls how many columns of aged balances are displayed.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateARAgingDetailReport

Generates an Accounts Receivable Aging Detail report schema file, providing customer-level detail of unpaid invoices and their aging.

Stored Procedure-Specific Information

QuickBooks Online allows only a small subset of columns to be used in the Exec query. All the columns are optional for this Stored Procedure.

This report supports multicurrency. The available columns will differ depending on whether multicurrency is enabled or disabled. Below are the columns supported for each state: multicurrency enabled or disabled.

Multicurrency disabled: supt_open_bal, subt_amount.

Multicurrency enabled: currency, exch_rate, foreign_open_bal, subt_home_open_bal, foreign_amount, subt_home_amount.

To determine if the authenticated account supports multicurrency, check with the following statement:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

For example:

To create the RSD file, it will be generated based on the value of the Location connection property.

EXECUTE CreateARAgingDetailReport

To return BASE64 encoded data in FileData column.

EXECUTE CreateARAgingDetailReport WriteToFile = 'False'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This report name identifies which report definition QuickBooks Online should use.

The default value is ARAgingDetailReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the ReportType.
AgingMethod String The date basis upon which aging is determined (for example, Transaction Date or Due Date). This basis controls how QuickBooks Online calculates aging buckets.

The allowed values are Report_Date, Current.

AgingPeriod String The number of days that are used to define each aging period in the report. This period controls how open balances are grouped by age.
Columns String The column types that are to be shown in the report. Provide a comma-separated list (with one space after each comma) of one or more of the following types: bill_addr, create_date, create_by, cust_bill_email, cust_comp_name, cust_msg, cust_phone_other, cust_tel, cust_name, deliv_addr, doc_num, due_date, last_mod_by, last_mod_date, memo, past_due, sale_sent_state, ship_addr, term_name, tx_date, txn_type. When location These additional columns are also available: sales_cust1, sales_cust2, sales_cust3. When location tracking is enabled, the additional column dept_name is available. In addition, the following values are supported based on the multicurrency setting for the company. When multicurrency is disabled, the supported values are supt_open_bal and subt_amount. When multicurrency is enabled, the supported values are currency, exch_rate, foreign_open_bal, subt_home_open_bal, foreign_amount, and subt_home_amount.

The default value is tx_date,txn_type,doc_num,cust_name,dept_name,due_date,subt_open_bal,subt_amount,subt_home_open_bal,subt_home_amount.

Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
NumPeriods String The number of periods that are to be shown in the report. This number controls how many columns of aged balances are displayed.
PastDue String Filters the report contents based on the minimum number of days past due. This input restricts the output to only items that exceed the specified threshold.
ReportDate String The starting date that is used for the report. This input determines the anchor date for aging calculations.
ShipVia String Filters the report by the shipping method as specified in the Invoice's shipping-method reference (ShipMethodRef).
StartDueDate String The starting due date for which the receivables are due. This date must be earlier than the ending due date.
EndDueDate String The ending due date for which the receivables are due. This date must be later than the starting due date.
Term String Filters the report contents to include information for one or more specified terms. Provide a comma-separated list (with one space after each comma) of Term Ids.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false if you want the procedure to write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateARAgingSummaryReport

Generates an Accounts Receivable Aging Summary report schema file, summarizing outstanding customer balances grouped by aging periods.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateARAgingSummaryReport DateMacro='This Fiscal Year'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This report name identifies which report definition QuickBooks Online should use.

The default value is ARAgingSummaryReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AgingMethod String The date basis upon which aging is determined (for example, Transaction Date or Due Date). This basis controls how QuickBooks Online calculates aging buckets.

The allowed values are Report_Date, Current.

Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer identifiers (Ids).
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate parameters. Use this stored procedure when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
ReportDate String The starting date that is used for the report. This input determines the anchor date for aging calculations.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Vendor, by Customer, or by Term).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as FileData.
NumPeriods String The number of periods that are to be shown in the report. This number controls how many columns of aged balances are displayed.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This number helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateBalanceSheetDetailReport

Generates a Balance Sheet Detail report schema file, exposing account-level detail for assets, liabilities, and equity as of a specific date.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateBalanceSheetDetailReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is BalanceSheetDetailReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the ReportType.
Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this stored procedure when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SortBy String The column that is used to sort report rows. Specify one of the columns from the Columns input to control the sort order.
SortOrder String The sort order for the report rows (for example, Ascending or Descending).

The allowed values are ascend, descend.

The default value is ascend.

Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateBalanceSheetSummaryReport

Generates a Balance Sheet Summary report schema file, providing a high-level view of assets, liabilities, and equity for a specified date range.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateBalanceSheetSummaryReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is BalanceSheetSummaryReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the ReportType.
AccountingMethod String The accounting method that is used in the report (for example, Accrual or Cash). The accounting method determines how QuickBooks Online calculates and displays the report's values.

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this stored procedure when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Vendor, by Customer, or by Term).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
IncludeUnrealizedGainOrLoss String Specifies whether unrealized gains and losses are included in the report. Supported values are true and false. This input is supported only in Canada-based accounts.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. The Columns output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateCustomerBalanceDetailReport

Generates a Customer Balance Detail report schema file, listing each customer's outstanding invoices, payments, and credits with running balances.

Stored Procedure-Specific Information

QuickBooks Online allows only a small subset of columns to be used in the Exec query. All the columns are optional for this Stored Procedure.

This report supports multicurrency. The available columns will differ depending on whether multicurrency is enabled or disabled. Below are the columns supported for each state: multicurrency enabled or disabled.

Multicurrency disabled: subt_open_bal, rbal_open_bal, subt_amount.

Multicurrency enabled: currency, exch_rate, foreign_open_bal, subt_home_open_bal, rbal_home_open_bal, foreign_amount, subt_home_amount.

To determine if the authenticated account supports multicurrency, check with the following statement:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

For example:

To create the RSD file, it will be generated based on the value of the Location connection property.

EXECUTE CreateCustomerBalanceDetailReport

To return BASE64 encoded data in FileData column.

EXECUTE CreateCustomerBalanceDetailReport WriteToFile = 'False'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is CustomerBalanceDetailReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AgingMethod String The date basis upon which aging is determined (for example, Transaction Date or Due Date). This basis controls how QuickBooks Online calculates aging buckets.

The allowed values are Report_Date, Current.

ARPaid String The accounts-receivable paid status that is applied as a filter for the report. This status allows you to include or exclude paid items.

The allowed values are All, Paid, Unpaid.

The default value is Unpaid.

Columns String The column types that are to be shown in the report. Provide a comma-separated list (with one space after each comma) of one or more of the following types: bill_addr, create_by, create_date, cust_bill_email, cust_comp_name, cust_msg, cust_phone_other, cust_tel, cust_name, deliv_addr, doc_num, due_date, last_mod_by, last_mod_date, memo, sale_sent_state, ship_addr, ship_date, ship_via, term_name, tracking_num, tx_date, txn_type. When custom fields are enabled, the additional columns sales_cust1, sales_cust2, and sales_cust3 are available. When location tracking is enabled, the additional column dept_name is available. In addition, the following values are supported based on the multicurrency setting for the company. When multicurrency is disabled, the supported values are subt_open_bal, rbal_open_bal, and subt_amount. When multicurrency is enabled, the supported values are currency, exch_rate, foreign_open_bal, subt_home_open_bal, rbal_home_open_bal, foreign_amount, and subt_home_amount.
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
ReportDate String The starting date of the report. This date determines the anchor date for aging calculations.
ShipVia String Filters the report by the shipping method as specified in the Invoice's shipping-method reference (ShipMethodRef).
SortBy String The column that is used to sort report rows. Specify one of the columns from the Columns input to control the sort order.
SortOrder String The sort order for the report rows (for example, Ascending or Descending).

The allowed values are ascend, descend.

The default value is ascend.

StartDueDate String The starting due date of the report. This date must be earlier than the ending due date.
EndDueDate String The ending due date of the report. This date must be later than the starting due date.
Term String Filters the report contents to include information for one or more specified terms. Provide a comma-separated list (with one space after each comma) of Term Ids.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateCustomerBalanceReport

Generates a Customer Balance Summary report schema file, showing total balances that are owed by each customer without transaction-level detail.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateCustomerBalanceReport DateMacro='This Fiscal Year'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is CustomerBalanceReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountingMethod String The accounting method that is used in the report (for example, Accrual or Cash). This input determines how QuickBooks Online calculates and displays the report's values.

The allowed values are Cash, Accrual.

ARPaid String The accounts-receivable paid status that is applied as a filter for the report. This input allows you to include or exclude paid items.

The allowed values are All, Paid, Unpaid.

The default value is Unpaid.

Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer identifiers (Ids).
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
ReportDate String The starting date of the report. This date determines the anchor date for balance calculations.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Customer or by Term).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateCustomerIncomeReport

Generates a Customer Income report schema file, summarizing revenue earned from each customer over a selected period.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateCustomerIncomeReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is CustomerIncomeReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the ReportType.
AccountingMethod String The accounting method that is used in the report (for example, Accrual or Cash). This input determines how QuickBooks Online calculates and displays the report's values.

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Customer or by Term).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Term String Filters the report contents to include information for one or more specified terms. Provide a comma-separated list (with one space after each comma) of Term Ids.
Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateCustomerSalesReport

Generates a Sales by Customer Summary report schema file, providing sales totals that are grouped by customer.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateCustomerSalesReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is CustomerSalesReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountingMethod String The accounting method that is used in the report (for example, Accrual or Cash). This input determines how QuickBooks Online calculates and displays the report's values.

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Customer or by Item).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateExpensesByVendorReport

Generates an Expenses by Vendor report schema file, detailing total spend by vendor for a given time frame.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateExpensesByVendorReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is ExpensesByVendorReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the ReportType.
AccountingMethod String The accounting method that is used in the report (for example, Accrual or Cash). This input determines how QuickBooks Online calculates and displays the report's values.

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Vendor or by Department).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateGeneralLedgerDetailReport

Generates a General Ledger Detail report schema file, listing all posted transactions across accounts with debits and credits for reconciliation.

Stored Procedure-Specific Information

QuickBooks Online allows only a small subset of columns to be used in the Exec query. All the columns are optional for this Stored Procedure.

This report supports multicurrency. The available columns will differ depending on whether multicurrency is enabled or disabled. Below are the columns supported for each state: multicurrency enabled or disabled.

Multicurrency disabled: debt_amt, credit_amt, nat_open_bal, subt_nat_amount, rbal_nat_amount, tax_amount, net_amount.

Multicurrency enabled: debt_home_amt, credit_home_amt, currency, exch_rate, nat_home_open_bal, nat_foreign_open_bal, subt_nat_home_amount, nat_foreign_amount, rbal_nat_home_amount, home_tax_amount, home_net_amount.

To determine if the authenticated account supports multicurrency, check with the following statement:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

For example:

To create the RSD file, it will be generated based on the value of the Location connection property.

EXECUTE CreateGeneralLedgerDetailReport

To return BASE64 encoded data in FileData column.

EXECUTE CreateGeneralLedgerDetailReport WriteToFile = 'False'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is GeneralLedgerDetailReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
Account String Filters the report contents to include information for one or more specified accounts. Provide a comma-separated list (with one space after each comma) of Account identifiers (Ids).
AccountingMethod String The accounting method that is used in the report (for example, Accrual or Cash). This input determines how QuickBooks Online calculates and displays the report's values.

The allowed values are Cash, Accrual.

AccountType String Filters the report contents to include transactions from one or more specified account types. Provide a comma-separated list (with one space after each comma) of account types, which can include Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, and NonPosting.
SourceAccountType String Filters the report contents to include transactions from one or more specified source account types. Provide a comma-separated list (with one space after each comma) of account types, which can include Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, and NonPosting.
Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class Ids.
Columns String The column types that are to be shown in the report. Provide a comma-separated list (with one space after each comma) of one or more of the following types: account_name, chk_print_state, create_by, create_date, cust_name, doc_num, emp_name, inv_date, is_adj, is_ap_paid, is_ar_paid, is_cleared, item_name, last_mod_by, last_mod_date, memo, name, quantity, rate, split_acc, tx_date, txn_type, and vend_name. When class tracking is enabled, the additional column klass_name is available. When sales tax is enabled, the additional columns net_amount, tax_amount, and tax_code are available. When location tracking is enabled, the additional column dept_name is available. In addition, the following values are supported based on the multicurrency setting for the company. When multicurrency is disabled, the supported values are debt_amt, credit_amt, nat_open_bal, subt_nat_amount, rbal_nat_amount, tax_amount, and net_amount. When multicurrency is enabled, the supported values are debt_home_amt, credit_home_amt, currency, exch_rate, nat_home_open_bal, nat_foreign_open_bal, subt_nat_home_amount, nat_foreign_amount, rbal_nat_home_amount, home_tax_amount, and home_net_amount.

The default value is tx_date,txn_type,doc_num,account_name,memo,split_acc,subt_nat_home_amount,rbal_nat_home_amount,subt_nat_amount,rbal_nat_amount.

Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
Locale String Specifies the locale of the QuickBooks Online company you are running this report for. This input is generally required when calling General Ledger or Trial Balance reports for a French company. In that case, specify the locale as FR.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
SortBy String The column that is used to sort report rows. Specify one of the columns from the Columns input to control the sort order.
SortOrder String The sort order for the report rows (for example, Ascending or Descending).

The allowed values are ascend, descend.

The default value is ascend.

SourceAccount String Filters the report contents to include information for one or more specified source accounts. Provide a comma-separated list (with one space after each comma) of Account Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateInventoryValuationDetailReport

Generates an Inventory Valuation Detail report schema file, showing item-by-item inventory quantities, values, and cost basis.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateInventoryValuationDetailReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is InventoryValuationDetailReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
Columns String The column types that are to be shown in the report. Provide a comma-separated list (with one space after each comma) of one or more of the following types: acct_num_with_extn, account_name, credit_amt, create_by, create_date, debt_amt, doc_num, due_date, is_ar_paid, is_ap_paid, item_name, journal_code_name, last_mod_by, last_mod_date, memo, name, neg_open_bal, paid_date, pmt_mthd, quantity, rate, tx_date, txn_num, txn_type.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SvcDateMacro String A predefined service-date range that is used to automatically populate the SvcStartDate and SvcEndDate inputs. Use this input when you want the report to cover a standard service-date reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year.

SvcStartDate String The starting service date of the report. This date must be earlier than the ending service date.
SvcEndDate String The ending service date of the report. This date must be later than the starting service date.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateInventoryValuationSummaryReport

Generates an Inventory Valuation Summary report schema file, summarizing total inventory asset value by item or category.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateInventoryValuationSummaryReport DateMacro='This Fiscal Year'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is InventoryValuationSummaryReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item identifiers (Ids).
ReportDate String The starting date to use for the report's calculations. This date defines the point in time for which inventory values are retrieved.
SummarizeColumnsBy String The criteria by which to group or summarize the report results (for example, by Item or by Class).

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateJournalReport

Generates a Journal report schema file, presenting transactions in journal format with debits and credits by account.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateJournalReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.
ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
Columns String The column types that are to be shown in the report. Provide a comma-separated list (with one space after each comma) of one or more of the following types: acct_num_with_extn, account_name, credit_amt, create_by, create_date, debt_amt, doc_num, due_date, is_ar_paid, is_ap_paid, item_name, journal_code_name, last_mod_by, last_mod_date, memo, name, neg_open_bal, paid_date, pmt_mthd, quantity, rate, tx_date, txn_num, txn_type.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

JournalCode String Filters the report contents to include information for one or more specified journal codes. Provide a comma-separated list (with one space after each comma) of journal codes such as AN, BQ1, or VT. By default, the report includes data for all journal codes.
SortBy String The column that is used to sort report rows. Specify one of the columns from the Columns input to control the sort order.
SortOrder String The sort order for the report rows (for example, Ascending or Descending).

The allowed values are ascend, descend.

StartDate String The starting date of the report. This date must be earlier than the ending date. If this input is not specified, the value from the DateMacro parameter is used.
EndDate String The ending date of the report. This date must be later than the starting date.
Locale String Specifies the locale of the QuickBooks Online company for which you are running this report. This input is generally required for French companies, where you must specify the locale as FR.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateProfitAndLossDetailReport

Generates a Profit and Loss Detail report schema file, listing individual income and expense transactions to support profit and loss analysis.

Stored Procedure-Specific Information

QuickBooks Online allows only a small subset of columns to be used in the Exec query. All the columns are optional for this Stored Procedure.

This report supports multicurrency and NonTracking. The available columns will differ depending on whether multicurrency/NonTracking is enabled or disabled. Below are the columns supported for each state: multicurrency enabled or disabled.

Multicurrency disabled and NonTracking disabled: subt_nat_amount, rbal_nat_amount

Multicurrency disabled and NonTracking enabled: subt_nat_amount_nt, rbal_nat_amount_nt

Multicurrency enabled and NonTracking disabled: subt_nat_home_amount, rbal_nat_home_amount

Multicurrency enabled and NonTracking enabled: subt_nat_home_amount_nt, rbal_nat_home_amount_nt

To determine if the authenticated account supports multicurrency, check with the following statement:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

For example:

To create the RSD file, it will be generated based on the value of the Location connection property.

EXECUTE CreateProfitAndLossDetailReport

To return BASE64 encoded data in FileData column.

EXECUTE CreateProfitAndLossDetailReport WriteToFile = 'False'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is ProfitAndLossDetailReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountType String Filters the report contents to include transactions from one or more specified account types. Provide a comma-separated list (with one space after each comma) of the account types including Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, or NonPosting.
AccountingMethod String The accounting method that is used in the report (for example, Cash or Accrual).

The allowed values are Cash, Accrual.

Account String Filters the report contents to include information for one or more specified accounts. Provide a comma-separated list (with one space after each comma) of Account identifiers (Ids).
SourceAccountType String Filters the report contents to include transactions from one or more specified source account types. Provide a comma-separated list (with one space after each comma) of account types including Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, or NonPosting.
Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class Ids.
Columns String The column types that are to be shown in the report. Provide a comma-separated list (with one space after each comma) of one or more of the following types: create_by, create_date, doc_num, last_mod_by, last_mod_date, memo, name, pmt_mthd, split_acc, tx_date, txn_type. When tax is enabled, the additional column tax_code is available. When class tracking is enabled, the additional column klass_name is enabled. When location tracking is enabled, the column dept_name is available. In addition, the following values are supported based on the multicurrency and NonTracking settings for the company. When multicurrency is disabled and NonTracking is disabled, the supported values are subt_nat_amount and rbal_nat_amount. When multicurrency is disabled and NonTracking is enabled, the supported values are subt_nat_amount_nt and rbal_nat_amount_nt. When multicurrency is enabled and NonTracking is disabled, the supported values are subt_nat_home_amount and rbal_nat_home_amount. When multicurrency is enabled and NonTracking is enabled, the supported values are subt_nat_home_amount_nt and rbal_nat_home_amount_nt.
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Employee String Filters the report contents to include information for one or more specified employees. Provide a comma-separated list (with one space after each comma) of Employee Ids.
PaymentMethod String Filters the report contents based on one or more specified payment methods. Provide a comma-separated list (with one space after each comma) of payment methods, including Cash, Check, Dinners Club, AmericanExpress, Discover, MasterCard, or Visa.
SortBy String The column that is used to sort report rows. Specify one of the columns from the Columns input to control the sort order.
SortOrder String The sort order for the report rows (for example, Ascending or Descending).

The allowed values are ascend, descend.

The default value is ascend.

StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
IncludeUnrealizedGainOrLoss String Specifies whether unrealized gains and losses are included in the report. Supported values are true or false. This input is supported only in Canada-based accounts.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateProfitAndLossSummaryReport

Generates a Profit and Loss Summary report schema file, summarizing revenues, costs, and expenses over a specified period.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateProfitAndLossSummaryReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is ProfitAndLossSummaryReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountingMethod String The accounting method that is used in the report (for example, Cash or Accrual).

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group the report results.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
IncludeUnrealizedGainOrLoss String Specifies whether unrealized gains and losses are included in the report. Supported values are true or false. This input is supported only in Canada-based accounts.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateReportSchema

Creates a custom report schema that is based on specified parameters, allowing flexible retrieval of QuickBooks Online report data.

Stored Procedure-Specific Information

QuickBooks Online allows only a small subset of columns to be used in the Exec query. The supported columns depend on ReportType.

Note: Only a few reports support multicurrency. The available columns will differ depending on whether multicurrency is enabled or disabled.

To determine if the authenticated account supports multicurrency, check with the following statement:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

ReportType Columns Supported
AccountList AccountType, AccountStatus, SortBy, SortOrder, DateMacro, StartDate, EndDate, ModDateMacro, StartModDate, EndModDate, CreateDateMacro, StartCreateDate, EndCreateDate
APAging AccountingMethod, AgingPeriod, Columns, NumPeriods, PastDue, ReportDate, ShipVia, StartDueDate, EndDueDate, Term, Vendor, Indentation
APAgingSummary AgingMethod, Customer, DateMacro, Department, ReportDate, SummarizeColumnsBy, Vendor, NumPeriods
ARAgingDetail AgingMethod, AgingPeriod, Columns, Customer, NumPeriods, PastDue, ReportDate, ShipVia, StartDueDate, EndDueDate, Term, Indentation
ARAgingSummary AgingMethod, Customer, DateMacro, Department, ReportDate, SummarizeColumnsBy, Indentation, NumPeriods
BalanceSheetDetail Class, Customer, DateMacro, Department, StartDate, EndDate, SortBy, SortOrder, Vendor, Indentation
BalanceSheetSummary AccountingMethod, Class, Customer, DateMacro, Department, Item, StartDate, EndDate, SummarizeColumnsBy, Vendor, IncludeUnrealizedGainOrLoss, Indentation
CustomerBalanceDetail AgingMethod, ARPaid, Columns, Customer, Department, ReportDate, ShipVia, SortBy, SortOrder, StartDueDate, EndDueDate, Term, Indentation
CustomerBalance AccountingMethod, ARPaid, Customer, DateMacro, Department, ReportDate, SummarizeColumnsBy
CustomerIncome AccountingMethod, Class, Customer, DateMacro, Department, StartDate, EndDate, SummarizeColumnsBy, Term, Vendor, Indentation
CustomerSales AccountingMethod, Class, Customer, DateMacro, Department, Item, StartDate, EndDate, SummarizeColumnsBy, Indentation
ExpensesByVendor AccountingMethod, Class, Customer, DateMacro, Department, StartDate, EndDate, SummarizeColumnsBy, Vendor
GeneralLedgerDetail Account, AccountingMethod, AccountType, SourceAccountType, Class, Columns, Customer, Locale, DateMacro, Department, SortBy, SortOrder, SourceAccount, StartDate, EndDate, Vendor, Indentation
InventoryValuationDetail Columns, DateMacro, StartDate, EndDate, SvcDateMacro, SvcStartDate, SvcEndDate, GroupBy, Indentation
InventoryValuationSummary DateMacro, Item, ReportDate, SummarizeColumnsBy, Indentation
Journal Columns, DateMacro, JournalCode, SortBy, SortOrder, StartDate, EndDate, Locale, Indentation
ProfitAndLossDetail AccountType, AccountingMethod, Account, SourceAccountType, Class, Columns, Customer, DateMacro, Department, Employee, PaymentMethod, SortBy, SortOrder, StartDate, EndDate, Vendor, IncludeUnrealizedGainOrLoss, Indentation
ProfitAndLossSummary AccountingMethod, Class, Customer, DateMacro, Department, Item, StartDate, EndDate, SummarizeColumnsBy, Vendor, IncludeUnrealizedGainOrLoss, Indentation
SalesByClass AccountingMethod, Class, Customer, DateMacro, Department, Item, StartDate, EndDate, SummarizeColumnsBy, Indentation
SalesByDepartment AccountingMethod, Class, Customer, DateMacro, Department, Item, StartDate, EndDate, SummarizeColumnsBy
SalesByProduct AccountingMethod, Class, Customer, DateMacro, Department, Item, StartDate, EndDate, StartDueDate, EndDueDate, SummarizeColumnsBy
StatementofCashFlow Class, Customer, DateMacro, Department, Item, StartDate, EndDate, SummarizeColumnsBy, Vendor, Indentation
TaxSummary TaxAgencyId, AccountingMethod, DateMacro, StartDate, EndDate, Indentation
TransactionList AccountingMethod, APPaid, ARPaid, BothAmount, Class, Cleared, Columns, CreateDateMacro, Customer, DateMacro, Department, DocNum, DueDateMacro, GroupBy, Item, Memo, ModDateMacro, PaymentMethod, Printed, SortBy, SortOrder, SourceAccountType, StartCreateDate, EndCreateDate, StartDate, EndDate, StartDueDate, EndDueDate, StartModDate, EndModDate, Term, TransactionType, Vendor, Indentation
TransactionListWithSplits Columns, StartDate, EndDate, DateMacro, SourceAccountType, SortBy, SortOrder, DocNum, PaymentMethod, Transactiontype
TrialBalance AccountingMethod, DateMacro, StartDate, EndDate, SummarizeColumnsBy, Locale
VendorBalanceDetail AccountingMethod, APPaid, Columns, DateMacro, Department, DueDateMacro, ReportDate, StartDueDate, EndDueDate, SortBy, SortOrder, Term, Vendor, Indentation
VendorBalance AccountingMethod, DateMacro, Department, ReportDate, SummarizeColumnsBy, Vendor

Columns that are common to all reports: ReportName, ReportDescription, ReportType, FileStream, WriteToFile.

For example:

To create the RSD file, it will be generated based on the value of the Location connection property.

EXECUTE CreateReportSchema ReportName='YourReportName', ReportType='APAging'

To return BASE64 encoded data in FileData column.

EXECUTE CreateReportSchema WriteToFile = 'False'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.
ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
ReportType String The name of the ReportType parameter that specifies the exact type of report to generate. This value must match one of the supported QuickBooks Online report types.

The allowed values are AccountList, APAging, APAgingSummary, ARAgingDetail, ARAgingSummary, BalanceSheetDetail, BalanceSheetSummary, CustomerBalanceDetail, CustomerBalance, CustomerIncome, CustomerSales, ExpensesByVendor, GeneralLedgerDetail, InventoryValuationDetail, InventoryValuationSummary, Journal, ProfitAndLossDetail, ProfitAndLossSummary, SalesByClass, SalesByDepartment, SalesByProduct, StatementofCashFlow, TaxSummary, TransactionList, TransactionListWithSplits, TrialBalance, VendorBalanceDetail, VendorBalance.

WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.
AccountingMethod String The accounting method that is used in the report (for example, Cash or Accrual).

The allowed values are Cash, Accrual.

AgingPeriod String The number of days that define the aging period in the report.
Columns String The column types that are to be shown in the report. Check the specific report documentation to see the full list of allowed column types.
NumPeriods String The number of periods to include in the report.
PastDue String Filters the report contents based on the minimum number of days past due.
ReportDate Date The starting date that is used for the report.
ShipVia String Filters the report contents by the shipping method as specified in the invoice's shipping-method reference.
Term String Filters the report contents to include information for one or more specified terms. Provide a comma-separated list (with one space after each comma) of Term identifiers (Id)
Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
AgingMethod String The method that is used for aging transactions in the report.

The allowed values are Report_Date, Current.

CustomerID String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
IncludeUnrealizedGainOrLoss Boolean Specifies whether unrealized gains and losses are included in the report. Supported values are true or false. This input is supported only in Canada-based accounts.
ARPaid String Filters the report contents based on the accounts receivable paid status.

The allowed values are Paid, Unpaid, All.

The default value is Unpaid.

Account String Filters the report contents to include information for one or more specified accounts. Provide a comma-separated list (with one space after each comma) of Account Ids.
AccountType String The account types from which transactions are included in the report. Provide a comma-separated list (with one space after each comma) of account types.

The allowed values are Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, NonPosting.

SourceAccountType String The source account types to include in the report. Provide a comma-separated list (with one space after each comma) of source account types.

The allowed values are Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, NonPosting.

Locale String The locale to use for the report (for example, FR for a French company).
JournalCode String One or more comma-separated journal codes (for example, AN, BQ1, VT). By default, the report includes data for all journal codes.
Employee String Filters the report contents to include information for one or more specified employees. Provide a comma-separated list (with one space after each comma) of Employee Ids.
PaymentMethod String Filters the report contents based on the payment method. Provide a comma-separated list (with one space after each comma) of payment methods such as Cash, Check, Diners Club, American Express, Discover, MasterCard, or Visa.
TaxAgencyId String The Id of the tax agency for which to generate the report. Read the TaxAgency entity to get valid values for this field.
BothAmount String Filters the report contents to include transactions for one or more specified amounts.
Cleared String Filters the report contents to include checks based on their cleared status.

The allowed values are Cleared, Uncleared, Reconciled, Deposited.

DocNum String Filters the report contents to include transactions that match a specified transaction number, as found in the DocNum field of the transaction object.
Printed String Filters the report contents based on whether checks are printed.

The allowed values are All, Printed, To_be_printed.

Memo String Filters the report contents to include transactions that contain one or more specified memo Ids. Provide a comma-separated list (with one space after each comma) of Memo Ids.
TransactionType String Filters the report contents by the transaction type.

The allowed values are CreditCardCharge, Check, Invoice, ReceivePayment, JournalEntry, Bill, CreditCardCredit, VendorCredit, Credit, BillPaymentCheck, BillPaymentCreditCard, Charge, Transfer, Deposit, Statement, BillableCharge, TimeActivity, CashPurchase, SalesReceipt, CreditMemo, CreditRefund, Estimate, InventoryQuantityAdjustment, PurchaseOrder, GlobalTaxPayment, GlobalTaxAdjustment, Service Tax Refund, Service Tax Gross Adjustment, Service Tax Reversal, Service Tax Defer, Service Tax Partial Utilisation.

APPaid String Filters the report contents by the accounts-payable paid status.

The allowed values are Paid, Unpaid, All.

The default value is Unpaid.

SortBy String The column that is used to sort report rows. Specify one of the columns from the Columns input to control the sort order.
SortOrder String The sort order for the report rows (for example, Ascending or Descending).

The allowed values are ascend, descend.

The default value is ascend.

SummarizeColumnsBy String The criteria by which to group the report results.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this stored procedure input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDate Date The starting date of the report. This date must be earlier than the ending date.
EndDate Date The ending date of the report. This date must be later than the starting date.
CreateDateMacro String A predefined account-creation date range that is used to automatically populate the StartCreateDate and EndCreateDate inputs. Use this when you want the report to cover a standard date range for account creation without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartCreateDate Date The starting date of account creation to include in the report. This date must be earlier than the ending date.
EndCreateDate Date The ending date of account creation to include in the report. This date must be later than the starting date.
DueDateMacro String A predefined due-date range that is used to automatically populate the StartDueDate and EndDueDate inputs. Use this when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDueDate Date The starting due date for receivables. This date must be earlier than the ending due date.
EndDueDate Date The ending due date for receivables. This date must be later than the starting due date.
ModDateMacro String A predefined account-modification date range that is used to automatically populate the StartModDate and EndModDate inputs. Use this when you want the report to cover a standard reporting range for account modifications without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartModDate Date The starting date when accounts were modified. This date must be earlier than the ending modification date.
EndModDate Date The ending date when accounts were modified. This date must be later than the starting modification date.
SvcDateMacro String A predefined service-date range that is used to automatically populate the SvcStartDate and SvcEndDate inputs. Use this when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

SvcStartDate Date The starting service date of the items to include in the report. This date must be earlier than the ending service date.
SvcEndDate Date The ending service date of the items to include in the report. This date must be later than the starting service date.
Indentation Boolean Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateSalesByClassReport

Generates a Sales by Class report schema file, breaking down sales totals by QuickBooks class for segmented reporting.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateSalesByClassReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is SalesByClassReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountingMethod String The accounting method used in the report.

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this stored procedure input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group the report results.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateSalesByDepartmentReport

Generates a Sales by Department report schema file, summarizing sales amounts that are grouped by department or location.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateSalesByDepartmentReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is SalesByDepartmentReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountingMethod String The accounting method used in the report.

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this stored procedure input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group the report results.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateSalesByProductReport

Generates a Sales by Product report schema file, showing revenue that is generated from each product or service sold.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateSalesByProductReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is SalesByProductReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
AccountingMethod String The accounting method used in the report.

The allowed values are Cash, Accrual.

Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this stored procedure input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
StartDueDate String The starting due date for receivables. This date must be earlier than the ending due date.
EndDueDate String The ending due date for receivables. This date must be later than the starting due date.
SummarizeColumnsBy String The criteria by which to group the report results.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateStatementOfCashFlowReport

Generates a Statement of Cash Flows report schema file, detailing cash inflows and outflows from operating, investing, and financing activities.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateStatementOfCashFlowReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name of the report that is to be generated. This name identifies which report definition QuickBooks Online should use.

The default value is StatementOfCashFlowReport.

ReportDescription String A description for the report. If the report description is not specified, QuickBooks Online selects a description based on the report type.
Class String Filters the report contents to include information for one or more specified classes when the company file is configured to use classes. Provide a comma-separated list (with one space after each comma) of Class identifiers (Ids).
Customer String Filters the report contents to include information for one or more specified customers. Provide a comma-separated list (with one space after each comma) of Customer Ids.
DateMacro String A predefined date range that is used to automatically populate the StartDate and EndDate inputs. Use this stored procedure input when you want the report to cover a standard reporting range without specifying dates manually.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include information for one or more specified departments when the company file is configured to use departments. Provide a comma-separated list (with one space after each comma) of Department Ids.
Item String Filters the report contents to include information for one or more specified items. Provide a comma-separated list (with one space after each comma) of Item Ids.
StartDate String The starting date of the report. This date must be earlier than the ending date.
EndDate String The ending date of the report. This date must be later than the starting date.
SummarizeColumnsBy String The criteria by which to group the report results.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Vendor String Filters the report contents to include information for one or more specified vendors. Provide a comma-separated list (with one space after each comma) of Vendor Ids.
Indentation String Indicates whether spaces are added at the start of values to visually identify totals and grouped values in the report output.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates whether the stored-procedure execution completed successfully or failed. The stored procedure returns the Result output so that calling applications can check the execution status.
SchemaFile String The generated schema file that is produced by the stored procedure. The schema file contains the structure of the report.
Columns String The number of columns that are found in the generated report. This output helps applications validate and map returned data.
FileData String The Base64-encoded downloaded file content. The FileData output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateTaxSummaryReport

Generates a Tax Summary report schema file, summarizing tax collected, tax owed, and taxable amounts by jurisdiction.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateTaxSummaryReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name assigned to the tax summary report. This value is used to label and identify the report in generated outputs and downstream integrations.

The default value is TaxSummaryReport.

ReportDescription String A descriptive summary of the tax summary report that explains its contents or purpose. If you do not specify one, the system automatically generates a description based on the selected report type.
TaxAgencyId String The unique identifier (Id) of the tax agency for which the tax summary report is generated. Retrieve valid Ids by querying the TaxAgency entity to ensure compliance with QuickBooks Online requirements.
AccountingMethod String The accounting method that is applied to the report calculations, such as Cash or Accrual. This method determines how income and expenses are recognized in the report.

The allowed values are Cash, Accrual.

DateMacro String A predefined date range that automatically populates the report timeframe, such as Last Month, Last Quarter, or This Year. Use this parameter for standard date periods; otherwise specify the start date and end data for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDate String The starting date for the reporting period. This defines the earliest transaction date to include and must be earlier than the ending date.
EndDate String The end date for the reporting period. This defines the latest transaction date to include and must be later than the starting date.
Indentation String Indicates whether to add leading spaces to report values. This field helps visually differentiate groupings and totals within the output for improved readability.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates the execution outcome of the stored procedure. Returns a value of Success when the report generation is successful or a value of Failure if it is not.
SchemaFile String The path or reference to the generated schema file that defines the structure of the returned tax-summary report data. The schema file contains the structure of the report.
Columns String The number of columns that are present in the generated report schema. This number provides a quick count of the report's fields for validation or processing.
FileData String The Base64-encoded content of the generated report file. This output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateTransactionListReport

Generates a Transaction List report schema file, listing transactions across accounts within a defined period.

Stored Procedure-Specific Information

QuickBooks Online allows only a small subset of columns to be used in the Exec query. All the columns are optional for this Stored Procedure.

This report supports multicurrency. The available columns will differ depending on whether multicurrency is enabled or disabled. Below are the columns supported for each state: multicurrency enabled or disabled.

Multicurrency disabled: debt_amt, credit_amt, nat_open_bal, subt_nat_amount, tax_amount, net_amount.

Multicurrency enabled: debt_home_amt, credit_home_amt, currency, exch_rate, nat_home_open_bal, nat_foreign_open_bal, subt_nat_home_amount, nat_foreign_amount, home_tax_amountm foreign_tax_amount, home_net_amount, foreign_net_amount.

To determine if the authenticated account supports multicurrency, check with the following statement:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

For example:

To create the RSD file, it will be generated based on the value of the Location connection property.

EXECUTE CreateTransactionListReport

To return BASE64 encoded data in FileData column.

EXECUTE CreateTransactionListReport WriteToFile = 'False'

Input

Name Type Description
ReportName String The name that is assigned to the transaction list report. This value is used to label and identify the report in generated outputs and downstream integrations.

The default value is TransactionListReport.

ReportDescription String A descriptive summary of the transaction list report that explains its contents or purpose. If you do not specify one, the system automatically generates a description based on the selected report type.
AccountingMethod String The accounting method that is applied to the report calculations, such as Cash or Accrual. This method determines how income and expenses are recognized in the report.

The allowed values are Cash, Accrual.

APPaid String Indicates the accounts payable balance status that is used to filter the report contents. This parameter allows you to restrict the report to a specific payable status.

The allowed values are Paid, Unpaid, All.

ARPaid String Indicates the accounts receivable paid status that is used to filter the report contents. This parameter allows you to restrict the report to a specific receivable status.

The allowed values are Paid, Unpaid, All.

BothAmount String Filters the report contents to include transactions for a specified transaction amount or range of amounts.
Class String Filters the report contents to include transactions for specified classes that are configured in the company file. Provide a comma separated list (with a space after each comma) of one or more Class identifiers (Ids).
Cleared String Filters the report contents to include transactions with a specified check cleared status.

The allowed values are Cleared, Uncleared, Reconciled, Deposited.

Columns String Specifies the column types that are displayed in the report. Provide a comma separated list (with a space after each comma) of one or more of the following values: account_name, create_by, create_date, cust_msg, dued_date, doc_num, inv_date, is_ap_paid, is_cleared, is_no_post, last_mod_by, memo, name, other_account, pmt_mthd, printed, sales_cust1, sales_cust2, sales_cust3, term_name, tracking_num, tx_date, txn_type. The column account_num is also supported when account numbering is enabled. When location tracking is enabled, the dept_name column is available. Based on the multicurrency setting for the company, the following values are also supported. When multicurrency is disabled, the supported values are debt_amt, credit_amt, nat_open_bal, subt_nat_amount, tax_amount, and net_amount. When multicurrency is enabled, the supported values are debt_home_amt, credit_home_amt, currency, exch_rate, nat_home_open_bal, nat_foreign_open_bal, subt_nat_home_amount, nat_foreign_amount, home_tax_amount, foreign_tax_amount, home_net_amount, and foreign_net_amount.

The default value is tx_date,txn_type,doc_num,is_no_post,name,account_name,other_account,subt_nat_amount,subt_nat_home_amount.

CreateDateMacro String A predefined account creation date range that is applied to the report timeframe. Use this parameter for standard date periods when accounts were created; otherwise specify starting create date and the ending create date for a custom range.

The allowed values are Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year.

Customer String Filters the report contents to include transactions for specified customers. Provide a comma separated list (with a space after each comma) of one or more Customer identifiers (Ids).
DateMacro String A predefined date range that is automatically applied to the report timeframe, such as Last Month, Last Quarter, or This Year. Use this parameter for standard date periods; otherwise specify the start date and end date for a custom range.

The allowed values are Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include transactions for specified departments that are configured in the company file. Provide a comma separated list (with a space after each comma) of one or more Department identifiers (Ids).
DocNum String Filters the report contents to include transactions for specified transaction numbers as found in the docnum parameter of the transaction object.
DueDateMacro String A predefined due date range that is applied to balances included in the report. Use this parameter for standard due date periods; otherwise specify the starting due date and the ending due date for a custom range.

The allowed values are Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year.

Item String Filters the report contents to include transactions for specified items. Provide a comma separated list (with a space after each comma) of one or more Item Ids.
Memo String Filters the report contents to include transactions with specified memo values. Provide one or more comma separated memo Ids.
ModDateMacro String A predefined account modification date range that is applied to the report timeframe. Use this parameter for standard modification date periods when accounts were changed; otherwise specify the starting modification date and the ending modification date for a custom range.

The allowed values are Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year.

PaymentMethod String Filters the report contents based on the payment method that is used in the transactions.

The allowed values are Cash, Credit, Dinners Club, American Express, Discover, Mastercard, Visa.

Printed String Filters the report contents based on whether checks are printed or not.

The allowed values are All, Printed, To_be_printed.

SortBy String Specifies the column type that is used to sort report rows. Provide one of the column values specified in the Columns input.
SortOrder String Specifies the sort order that is applied to the report rows, such as ascending or descending.

The allowed values are ascend, descend.

SourceAccountType String Specifies the account types from which transactions are included in the report. Provide a comma separated list (with a space after each comma) of one or more of the following values: Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, or NonPosting.
StartCreateDate String The starting date of account creation that is included in the report. This defines the earliest account creation date to include and must be earlier than the ending date specified in the EndCreateDate parameter.
EndCreateDate String The ending date of account creation that is included in the report. This defines the latest account creation date to include and must be later than the starting date specified in the StartCreateDate parameter.
StartDate String The starting date of the report. This defines the earliest transaction date to include and must be earlier than the ending date specified in the EndDate parameter.
EndDate String The ending date of the report. This defines the latest transaction date to include and must be later than the starting date specified in the StartDate parameter.
StartDueDate String The starting date of receivables that are due and included in the report. This defines the earliest due date to include and must be earlier than the ending date specified in the EndDueDate parameter.
EndDueDate String The ending date of receivables that are due and included in the report. This defines the latest due date to include and must be later than the starting date specified in the StartDueDate parameter.
StartModDate String The starting date on which accounts that are included in the report were modified. This defines the earliest modification date to include and must be earlier than the ending date specified in the EndModDate parameter.
EndModDate String The ending date on which accounts that are included in the report were modified. This defines the latest modification date to include and must be later than the starting date specified in the StartModDate parameter.
Term String Filters the report contents to include transactions for specified terms. Provide a comma separated list (with a space after each comma) of one or more Term Ids.
TransactionType String Filters the report contents based on the transaction type that is used in the transactions.

The allowed values are CreditCardCharge, Check, Invoice, ReceivePayment, JournalEntry, Bill, CreditCardCredit, VendorCredit, Credit, BillPaymentCheck, BillPaymentCreditCard, Charge, Transfer, Deposit, Statement, BillableCharge, TimeActivity, CashPurchase, SalesReceipt, CreditMemo, CreditRefund, Estimate, InventoryQuantityAdjustment, PurchaseOrder, GlobalTaxPayment, GlobalTaxAdjustment, Service Tax Refund, Service Tax Gross Adjustment, Service Tax Reversal, Service Tax Defer, Service Tax Partial Utilisation.

Vendor String Filters the report contents to include transactions for specified vendors. Provide a comma separated list (with a space after each comma) of one or more Vendor Ids.
Indentation String Indicates whether to add leading spaces to values that are displayed in the report. This field helps visually differentiate groupings and totals within the output for improved readability.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates the execution outcome of the stored procedure. Returns a value of Success when the report generation is successful or a value of Failure if it is not.
SchemaFile String The path or reference to the generated schema file that defines the structure of the returned transaction-list report data.
Columns String The number of columns that are present in the generated report schema. This number provides a quick count of the report's fields for validation or processing.
FileData String The Base64-encoded content of the generated report file. This output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set, enabling you to decode and save the data programmatically.

CData Python Connector for QuickBooks Online

CreateTransactionListWithSplitsReport

Generates a Transaction List with Splits report schema file, showing transactions along with their split account allocations.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateTransactionListWithSplitsReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name that is assigned to the transaction list with splits report. This value is used to label and identify the report in generated outputs and downstream integrations.

The default value is TransactionListWithSplitsReport.

ReportDescription String A descriptive summary of the transaction list with splits report that explains its contents or purpose. If you do not specify one, the system automatically generates a description based on the selected report type.
Columns String Specifies the column types that are displayed in the report. Provide a comma separated list (with a space after each comma) of one or more of the following values: tx_date, txn_type, doc_num, is_no_post, account_name, memo, account_name, amount, is_adj, create_by, create_date, last_mod_date, last_mod_by, cust_name, vend_name, rate, quantity, item_name, emp_name, pmt_mthd, nat_open_bal, tax_type, is_billable, debt_amt, credit_amt, is_cleared, olb_status. The dept_name column is also supported when location tracking is enabled. Multicurrency is enabled for the company when the Preferences.MultiCurrencyEnabled flag is set to true.
StartDate String The starting date of the report. This input defines the earliest transaction date to include and must be earlier than the ending date specified in the EndDate parameter.
EndDate String The ending date of the report. This input defines the latest transaction date to include and must be later than the starting date specified in the StartDate parameter.
DateMacro String A predefined date range that is automatically applied to the report timeframe. Use this parameter for standard date periods. Otherwise, specify the starting date and ending date a custom range.
SourceAccountType String Specifies the account types from which transactions are included in the report. Provide a comma separated list (with a space after each comma) of the account types that are used for the transactions.
SortBy String Specifies the column type that is used to sort the report rows. Provide one of the column values specified in the Columns input.
SortOrder String Specifies the sort order that is applied to the report rows, such as ascending or descending.

The allowed values are ascend, descend.

DocNum String Filters the report contents to include transactions for specified transaction numbers as found in the docnum parameter of the transaction object.
PaymentMethod String Filters the report contents based on the payment method that is used in the transactions.
Transactiontype String Filters the report contents based on the transaction type that is used in the transactions.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates the execution outcome of the stored procedure. Returns a value of Success when the report generation is successful or a value of Failure if it is not.
SchemaFile String The path or reference to the generated schema file that defines the structure of the returned transaction-list-with-splits report data. The schema file contains the structure of the report.
Columns String The number of columns that are present in the generated report schema. This number provides a quick count of the report's fields for validation or processing.
FileData String The Base64-encoded content of the generated report file. This output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateTrialBalanceReport

Generates a Trial Balance report schema file, summarizing all account balances (debits and credits) at a point in time for reconciliation.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateTrialBalanceReport StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportName String The name that is assigned to the trial balance report. This value is used to label and identify the report in generated outputs and downstream integrations.

The default value is TrialBalanceReport.

ReportDescription String A descriptive summary of the trial balance report that explains its contents or purpose. If you do not specify one, the system automatically generates a description based on the selected report type.
AccountingMethod String The accounting method that is applied to the report calculations, such as Cash or Accrual. This method determines how income and expenses are recognized in the report.

The allowed values are Cash, Accrual.

DateMacro String A predefined date range that is automatically applied to the report timeframe. Use this parameter for standard date periods; otherwise specify the StartDate and EndDate parameters for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDate String The StartDate parameter specifies the starting date of the report. This parameter defines the earliest transaction date to include and must be earlier than the ending date specified in the EndDate parameter.
EndDate String The EndDate parameter specifies the ending date of the report. This parameter defines the latest transaction date to include and must be later than the starting date specified in the StartDate parameter.
SummarizeColumnsBy String Specifies the criteria that is used to group or summarize the report results by columns. This allows you to control how the trial balance data is aggregated.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Locale String Specifies the locale of the QuickBooks Online company for which you are running this report. This parameter is generally needed when calling GeneralLedger and TrialBalance reports for a French company. In that case, specify the locale parameter as FR.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates the execution outcome of the stored procedure. Returns a value of Success when the report generation is successful or a value of Failure if it is not.
SchemaFile String The path or reference to the generated schema file that defines the structure of the returned trial balance report data.
Columns String The number of columns that are present in the generated report schema. This number provides a quick count of the report's fields for validation or processing.
FileData String The Base64-encoded content of the generated report file. This output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

CreateVendorBalanceDetailReport

Generates a Vendor Balance Detail report schema file, showing individual unpaid bills and credits for each vendor.

Stored Procedure-Specific Information

This report supports multicurrency. The parameters available for use in an EXEC query vary, depending on whether or not multicurrency is enabled:

  • Multicurrency disabled: subt_neg_open_bal, rbal_neg_open_bal, subt_neg_amount.
  • Multicurrency enabled: currency, exch_rate, neg_foreign_open_bal, subt_neg_home_open_bal, rbal_neg_home_open_bal.

To check whether the authenticated account supports multicurrency, execute:

SELECT CurrencyPrefs_MultiCurrencyEnabled FROM Preferences;

The RSD file is generated based on the value of the Location connection property. To generate the RSD file, execute:

EXEC CreateVendorBalanceDetailReport

To return BASE64 encoded data in FileData column:

EXEC CreateVendorBalanceDetailReport WriteToFile = 'False'

Input

Name Type Description
ReportName String The name that is assigned to the vendor balance detail report. This value is used to label and identify the report in generated outputs and downstream integrations.

The default value is VendorBalanceDetailReport.

ReportDescription String A descriptive summary of the vendor balance detail report that explains its contents or purpose. If you do not specify one, the system automatically generates a description based on the selected report type.
AccountingMethod String The accounting method that is applied to the report calculations, such as Cash or Accrual. This method determines how income and expenses are recognized in the report.

The allowed values are Cash, Accrual.

APPaid String Indicates the accounts payable balance status that is used to filter the report contents. This parameter allows you to restrict the report to a specific payable status.

The allowed values are Paid, Unpaid, All.

The default value is Unpaid.

Columns String Specifies the column types that are displayed in the report. Provide a comma separated list (with a space after each comma) of one or more of the following values: create_by, create_date, doc_num, due_date, last_mod_by, last_mod_date, memo, term_name, tx_date, txn_type, vend_bill_addr, vend_comp_name, vend_name, vend_pri_cont, vend_pri_email, vend_pri_tel. The dept_name column is also supported when location tracking is enabled. Based on the multicurrency setting for the company, the following values are also supported. When multicurrency is disabled, the supported values are subt_neg_open_bal, rbal_neg_open_bal, and subt_neg_amount. When multicurrency is enabled, the supported values are currency, exch_rate, neg_foreign_open_bal, subt_neg_home_open_bal, and rbal_neg_home_open_bal.

The default value is tx_date,txn_type,doc_num,dept_name,subt_neg_amount,subt_neg_open_bal,rbal_neg_open_bal,subt_neg_home_open_bal, rbal_neg_home_open_bal.

DateMacro String A predefined date range that is automatically applied to the report timeframe. Use this parameter for standard date periods. Otherwise, specify the StartDate and EndDate parameters for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include transactions for specified departments. Provide a comma separated list (with a space after each comma) of one or more Department identifiers (Ids).
DueDateMacro String A predefined due date range that is automatically applied to the report timeframe. Use this parameter for standard due date periods. Otherwise, specify the StartDate and EndDate parameters for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

ReportDate String The ReportDate parameter specifies the start date that is used for the report timeframe.
StartDueDate String Specifies the starting date of receivables that are due and included in the report. This parameter defines the earliest due date to include and must be earlier than the ending date.
EndDueDate String Specifies the ending date of the report. This parameter defines the latest due date to include and must be later than the starting date.
SortBy String Specifies the column type that is used to sort the report rows. Provide one of the column values specified in the Columns input.
SortOrder String Specifies the sort order that is applied to the report rows, such as ascending or descending.

The allowed values are ascend, descend.

The default value is ascend.

Term String Filters the report contents to include transactions for specified terms. Provide a comma separated list (with a space after each comma) of one or more Term Ids.
Vendor String Filters the report contents to include transactions for specified vendors. Provide a comma separated list (with a space after each comma) of one or more Vendor Ids.
Indentation String Indicates whether to add leading spaces to values that are displayed in the report. This field helps visually differentiate groupings and totals within the output for improved readability.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates the execution outcome of the stored procedure. Returns a value of Success when the report generation is successful or a value of Failure if it is not.
SchemaFile String The path or reference to the generated schema file that defines the structure of the returned vendor balance detail report data.
Columns String The number of columns that are present in the generated report schema. This number provides a quick count of the report's fields for validation or processing.
FileData String The Base64-encoded content of the generated report file. This output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set, enabling you to decode and save the data programmatically.

CData Python Connector for QuickBooks Online

CreateVendorBalanceReport

Generates a Vendor Balance Summary report schema file, summarizing total balances that are owed to each vendor.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC CreateVendorBalanceReport DateMacro='This Fiscal Year'

Input

Name Type Description
ReportName String The name that is assigned to the vendor balance report. This value is used to label and identify the report in generated outputs and downstream integrations.

The default value is VendorBalanceReport.

ReportDescription String A descriptive summary of the vendor balance report that explains its contents or purpose. If you do not specify one, the system automatically generates a description based on the selected report type.
AccountingMethod String The accounting method that is applied to the report calculations, such as Cash or Accrual. This method determines how income and expenses are recognized in the report.

The allowed values are Cash, Accrual.

DateMacro String A predefined date range that is automatically applied to the report timeframe. Use this parameter for standard date periods. Otherwise, specify the StartDate and EndDate parameters for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

Department String Filters the report contents to include transactions for specified departments. Provide a comma separated list (with a space after each comma) of one or more Department identifiers (Ids).
ReportDate String Specifies the starting date that is used for the report timeframe. This input defines the earliest date from which to generate the report data.
SummarizeColumnsBy String Specifies the criteria that is used to group or summarize the report results by columns. This input allows you to control how the vendor balance data is aggregated.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

Vendor String Filters the report contents to include transactions for specified vendors. Provide a comma separated list (with a space after each comma) of one or more Vendor Ids.
WriteToFile String Indicates whether the stored procedure writes the output to a file. This input defaults to true. Set it to false to have the procedure write the output to the file stream that you supply or to return the output as file data.

Result Set Columns

Name Type Description
Result String Indicates the execution outcome of the stored procedure. Returns a value of Success when the report generation is successful or a value of Failure if it is not.
SchemaFile String The path or reference to the generated schema file that defines the structure of the returned vendor balance report data.
Columns String The number of columns that are present in the generated report schema. This number provides a quick count of the report's fields for validation or processing.
FileData String The Base64-encoded content of the generated report file. This output is returned only when the WriteToFile parameter is set to false and the FileStream parameter is not set.

CData Python Connector for QuickBooks Online

DisconnectOAuthAccessToken

Disconnects the OAuth access token used for authentication with various QuickBooks services.

Result Set Columns

Name Type Description
Success String A boolean indicating if the token was successfully disconnected.

CData Python Connector for QuickBooks Online

DownloadAttachment

Downloads an attachment file from QuickBooks Online, such as a document or receipt that is linked to a transaction or entity.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC DownloadAttachment AttachmentId='5000000000000009867', DownloadFolder='C:\\downloads'

Input

Name Type Description
AttachmentId String Specifies the unique identifier (Id) of the attachment to download (for example, 5000000000000009867). This input is required.
DownloadFolder String Specifies the folder path where the downloaded attachment file is saved.

Result Set Columns

Name Type Description
FileName String Specifies the name of the downloaded attachment file.
Base64EncodedData String Specifies the Base64-encoded content of the attachment file when neither the download folder nore nor the file stream is provided.

CData Python Connector for QuickBooks Online

DownloadNote

Downloads a note from the Attachables feature, allowing retrieval of stored text notes or comments that are tied to entities.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC DownloadNote AttachmentId='5000000000000009867', DownloadFolder='C:\\downloads'

Input

Name Type Description
AttachmentId String Specifies the unique identifier (Id) of the note attachment to download (for example, 5000000000000009867). This input is required.
DownloadFolder String Specifies the folder path where the downloaded note attachment file is saved.

Result Set Columns

Name Type Description
FileName String Specifies the name of the downloaded note-attachment file.
Base64EncodedData String Specifies the Base64-encoded content of the note attachment file when neither the download folder nor the file stream is provided.

CData Python Connector for QuickBooks Online

DownloadPDF

Downloads an Invoice, Sales Receipt, or Estimate as a PDF file directly from QuickBooks Online for distribution or archiving.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC DownloadPDF TxnType='Invoice', TxnID='123', DownloadFolder='C:\\downloads'

Input

Name Type Description
TxnType String Specifies the type of transaction to download as a PDF. This input is required.
TxnID String Specifies the unique identifier (Id) of the transaction to download as a PDF. This input is required.
DownloadFolder String Specifies the folder path where the downloaded PDF file is saved.

Result Set Columns

Name Type Description
Base64EncodedData String Specifies the Base64-encoded content of the PDF file when neither the download folder nor the file stream is provided.
Result String Indicates the execution outcome of the stored procedure. Returns a value of Success when the PDF download is successful or a value of Failure if it is not.
PDFFile String Specifies the location of the downloaded PDF file.

CData Python Connector for QuickBooks Online

GetOAuthAccessToken

Gets the OAuth access token and OAuth secret key from Intuit.

Input

Name Type Description
AuthMode String The authentication mode required for the type of the application. If using a Windows or desktop application, set Authmode to App. If you choose the App mode, you do not need specify the verifier, token, or secret key. Calling this stored procedure will launch your browser and open the user consent page. If you are authenticating a Web app, set Authmode to Web and specify the AuthToken, AuthKey, and Verifier returned by GetOAuthAuthorizationURL.

The allowed values are APP, WEB.

The default value is APP.

Verifier String The verifier token returned by Intuit after accessing the URL obtained with GetOAuthAuthorizationURL.
Scope String The scope of access to QuickBooksOnline APIs. By default, you will only need access to the accounting API.

The default value is com.intuit.quickbooks.accounting.

CallbackURL String Determines where the response is sent. The value of this parameter must exactly match one of the values registered in the APIs Console (including the HTTP or HTTPS schemes, capitalization, and trailing '/').
State String Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the QuickBooksOnline authorization server and back. Uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery.

Result Set Columns

Name Type Description
OAuthAccessToken String The OAuth token.
OAuthRefreshToken String The OAuth refresh token.
CompanyId String The company id for the company file that was authorized.
ExpiresIn String When the OAuth access token will expire.

CData Python Connector for QuickBooks Online

GetOAuthAuthorizationURL

Gets the URL, AuthToken, and AuthKey from Intuit. Access the URL returned in the output in an Internet browser. This request returns a verifier token that you will need to use as input along with the AuthToken and AuthKey for GetOAuthAccessToken.

Input

Name Type Description
CallbackUrl String The URL that Intuit will return to after the user has authorized your app.
Scope String The scope of access to QuickBooksOnline APIs. By default, you will only need access to the accounting API.

The default value is com.intuit.quickbooks.accounting.

State String Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the QuickBooksOnline authorization server and back. Uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery.

Result Set Columns

Name Type Description
URL String The URL to be entered into a Web browser to obtain the verifier token and authorize the connector with.

CData Python Connector for QuickBooks Online

GetReport

Retrieves a specified QuickBooks Online report using parameters that you define, enabling flexible on-demand reporting.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC GetReport ReportType='ProfitAndLossDetail', StartDate='2023-01-01', EndDate='2023-12-31'

Input

Name Type Description
ReportType String Specifies the type of report to generate. Provide a valid QuickBooks Online report name, such as BalanceSheet or ProfitAndLoss, to return the corresponding report data.

The allowed values are AccountList, APAging, APAgingSummary, ARAgingDetail, ARAgingSummary, BalanceSheetDetail, BalanceSheetSummary, CustomerBalanceDetail, CustomerBalance, CustomerIncome, CustomerSales, ExpensesByVendor, GeneralLedgerDetail, InventoryValuationDetail, InventoryValuationSummary, Journal, ProfitAndLossDetail, ProfitAndLossSummary, SalesByClass, SalesByDepartment, SalesByProduct, StatementofCashFlow, TaxSummary, TransactionList, TransactionListWithSplits, TrialBalance, VendorBalanceDetail, VendorBalance.

AccountingMethod String Specifies the accounting method that is applied to the report calculations, such as Cash or Accrual. This method determines how income and expenses are recognized in the report.

The allowed values are Cash, Accrual.

AgingPeriod String Specifies the number of days that define each aging period in the report. This setting determines how outstanding balances are segmented into aging buckets.
Columns String Specifies the column types that are displayed in the report. Provide a comma-separated list (with a space after each comma) of one or more valid column types supported by the selected report.
NumPeriods String Specifies the number of periods to include in the report. This setting determines how many discrete time periods are returned.
PastDue String Filters the report contents to include only transactions past a minimum number of days overdue. This setting restricts the report to a specified past-due threshold.
ReportDate Date Specifies the report date to use as the basis for calculations and filtering.
ShipVia String Filters the report contents by the shipping method that is specified in an invoice's ShipMethodRef. Provide the name of the shipping method.
Term String Filters the report contents to include transactions for specified terms. Provide a comma-separated list (with a space after each comma) of one or more Term identifiers (Ids).
Vendor String Filters the report contents to include transactions for specified vendors. Provide a comma-separated list (with a space after each comma) of one or more Vendor Ids.
AgingMethod String Specifies the method that is used for aging balances in the report, such as by invoice date or due date.

The allowed values are Report_Date, Current.

CustomerID String Filters the report contents to include transactions for specified customers. Provide a comma-separated list (with a space after each comma) of one or more Customer Ids.
Department String Filters the report contents to include transactions for specified departments. Provide a comma-separated list (with a space after each comma) of one or more Department Ids.
Class String Filters the report contents to include transactions for specified classes. Provide a comma-separated list (with a space after each comma) of one or more Class Ids.
Item String Filters the report contents to include transactions for specified items. Provide a comma-separated list (with a space after each comma) of one or more Item Ids.
IncludeUnrealizedGainOrLoss Boolean Specifies whether unrealized gains and losses are included in the report. Supported values are true or false. This input is supported only in Canada-based accounts.
ARPaid String Specifies the accounts receivable paid status that is used to filter the report contents.

The allowed values are Paid, Unpaid, All.

The default value is Unpaid.

Account String Filters the report contents by account identifiers. Provide a comma-separated list (with a space after each comma) of one or more Ids.
AccountType String Specifies the account type from which transactions are included in the report, such as Bank, Expense, or Income.

The allowed values are Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, NonPosting.

SourceAccountType String Specifies the type of source account to include in the report.

The allowed values are Bank, AccountsReceivable, OtherCurrentAsset, FixedAsset, OtherAsset, AccountsPayable, CreditCard, OtherCurrentLiability, LongTermLiability, Equity, Income, CostOfGoodsSold, Expense, OtherIncome, OtherExpense, NonPosting.

Locale String Specifies the locale to use for the report output. This ensures that the report content matches regional formatting and language requirements.
JournalCode String Filters the report contents by journal codes. Provide one or more comma-separated journal codes (with a space after each comma), such as AN, BQ1, or VT. By default, data for all journal codes is included.
Employee String Filters the report contents to include transactions for specified employees. Provide a comma-separated list (with a space after each comma) of one or more Employee Ids.
PaymentMethod String Filters the report contents by payment method. Provide a comma-separated list (with a space after each comma) of one or more values, such as Cash, Check, Dinners Club, American Express, Discover, Master Card, or Visa.
TaxAgencyId String Specifies the unique identifier (Id) of the tax agency for which to generate the report. Retrieve valid Ids by querying the TaxAgency entity.
BothAmount String Filters the report contents to include transactions for a specified transaction amount.
Cleared String Filters the report contents to include transactions based on check status, such as cleared or uncleared.

The allowed values are Cleared, Uncleared, Reconciled, Deposited.

DocNum String Filters the report contents to include transactions for a specified transaction number, as found in the DocNum parameter of the transaction object.
Printed String Filters the report contents based on whether checks are printed or not.

The allowed values are All, Printed, To_be_printed.

Memo String Filters the report contents to include transactions for a specified memo. Provide one or more comma-separated memo identifiers (Ids).
TransactionType String Specifies the transaction type to filter by, such as Invoice, Payment, or CreditMemo.

The allowed values are CreditCardCharge, Check, Invoice, ReceivePayment, JournalEntry, Bill, CreditCardCredit, VendorCredit, Credit, BillPaymentCheck, BillPaymentCreditCard, Charge, Transfer, Deposit, Statement, BillableCharge, TimeActivity, CashPurchase, SalesReceipt, CreditMemo, CreditRefund, Estimate, InventoryQuantityAdjustment, PurchaseOrder, GlobalTaxPayment, GlobalTaxAdjustment, Service Tax Refund, Service Tax Gross Adjustment, Service Tax Reversal, Service Tax Defer, Service Tax Partial Utilisation.

APPaid String Specifies the accounts payable balance status that is used to filter the report contents.

The allowed values are Paid, Unpaid, All.

The default value is Unpaid.

SortBy String Specifies the column type that is used to sort the report rows. Provide one of the column values specified in the Columns input.
SortOrder String Specifies the order in which to sort the report results, such as ascending or descending.

The allowed values are ascend, descend.

The default value is ascend.

SummarizeColumnsBy String Specifies the criteria by which the report results are grouped into columns. Use this to control how data is summarized or categorized across multiple columns.

The allowed values are Total, Month, Week, Days, Quarter, Year, Customers, Vendors, Classes, Departments, Employees, ProductsAndServices.

DateMacro String Specifies a predefined date range that is automatically applied to the report timeframe. Use this parameter for standard date periods. Otherwise, specify the StartDate and EndDate inputs for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDate Date Specifies the starting date of the report. This parameter defines the earliest transaction date to include and must be earlier than the ending date.
EndDate Date Specifies the ending date of the report. This parameter defines the latest transaction date to include and must be later than the starting date.
CreateDateMacro String Specifies a predefined account creation date range that is automatically applied to the report. Use this parameter for standard date periods. Otherwise, specify the StartCreateDate and EndCreateDate inputs for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartCreateDate Date Specifies the starting date for account creation to include in the report. This parameter defines the earliest account-creation date to include and must be earlier than the ending date.
EndCreateDate Date Specifies the ending date for account creation to include in the report. This parameter defines the latest account-creation date to include and must be later than the starting date.
DueDateMacro String Specifies a predefined due date range that is automatically applied to the report timeframe. Use this parameter for standard due date periods. Otherwise, specify the StartDueDate and EndDueDate inputs for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartDueDate Date Specifies the starting date of receivables that are due and included in the report. This parameter defines the earliest due date to include and must be earlier than the ending date.
EndDueDate Date Specifies the ending date of receivables that are due and included in the report. This parameter defines the latest due date to include and must be later than the starting date.
ModDateMacro String Specifies a predefined account modification date range that is automatically applied to the report. Use this parameter for standard date periods when accounts were modified. Otherwise, specify the StartModDate and EndModDate inputs for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

StartModDate Date Specifies the starting date of accounts that were modified and included in the report. This parameter defines the earliest modification date to include and must be earlier than the ending date.
EndModDate Date Specifies the ending date of accounts that were modified and included in the report. This parameter defines the latest modification date to include and must be later than the starting date.
SvcDateMacro String Specifies a predefined service date range that is automatically applied to the report. Use this parameter for standard date periods; otherwise, specify the SvcStartDate and SvcEndDate inputs for a custom range.

The allowed values are Today, Yesterday, This Week, This Week-to-date, Last Week, Last Week-to-date, Next Week, Next 4 Weeks, This Month, This Month-to-date, Last Month, Last Month-to-date, Next Month, This Fiscal Quarter, This Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year, Last Fiscal Year-to-date, Next Fiscal Year.

SvcStartDate Date Specifies the starting service date of the items included in the report. This parameter defines the earliest service date to include and must be earlier than the ending date.
SvcEndDate Date Specifies the ending service date of the items included in the report. This parameter defines the latest service date to include and must be later than the starting date.
Indentation Boolean Indicates whether to add leading spaces to values that are displayed in the report. This setting helps visually differentiate groupings and totals within the output for improved readability.

Result Set Columns

Name Type Description
* String Contains the parsed response returned by the report. This output includes the structured data generated from the specified inputs.

CData Python Connector for QuickBooks Online

RefreshOAuthAccessToken

Refreshes the OAuth access token used for authentication with various QuickBooks services.

Input

Name Type Description
OAuthRefreshToken String The refresh token returned from the original authorization code exchange.

Result Set Columns

Name Type Description
OAuthAccessToken String The authentication token returned from QuickBooks. This can be used in subsequent calls to other operations for this particular service.
OAuthRefreshToken String A token that may be used to obtain a new access token.
ExpiresIn String The remaining lifetime on the access token.

CData Python Connector for QuickBooks Online

SendInvoice

Sends an existing invoice to the customer by email, optionally including linked payment options for quicker settlement.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC SendInvoice InvoiceId='123', EmailAddress='customer@example.com'

Input

Name Type Description
InvoiceId String The unique identifier (Id) of the invoice object that is to be sent by this stored procedure.
EmailAddress String The delivery email address that is used by this stored procedure to send the invoice to the intended recipient.

Result Set Columns

Name Type Description
Status String The execution status that is returned by the stored procedure after attempting to send the invoice. This output indicates whether the operation succeeded or failed.

CData Python Connector for QuickBooks Online

UploadAttachment

Uploads a file attachment to QuickBooks Online, associating it with a transaction or record for supporting documentation.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC UploadAttachment FilePath='C:\\documents\\receipt.pdf', ContentType='application/pdf', AttachableRef_EntityRef_Value='129', AttachableRef_EntityRef_Type='Bill'

Input

Name Type Description
FilePath String The full file path, including the file name, that is to be uploaded as an attachment. This path is required when you want the stored procedure to read the file directly from the file system.
FileName String The name of the file that is to be attached. This name is required if the FilePath parameter is not defined and you are supplying the file content separately.
ContentType String The content type of the file to upload (for example, image/jpeg for a JPEG image). This field is required to correctly handle and store the file.
Category String The category that is assigned to this attachment. This field is optional and can be used to classify attachments into groups.
Lat String The latitude coordinate of the location from which the attachment was requested or created. This field is optional and can be used for geotagging.
Long String The longitude coordinate of the location from which the attachment was requested or created. This field is optional and can be used for geotagging.
PlaceName String The name of the place from which the attachment was requested or created. This field is optional and can be used for geotagging.
Note String A note that is either related to the attachment or stored as a standalone note. This field is optional.
Tag String A tag name that is assigned to the requested attachment. This field is optional and can be used for categorization or search.
AttachableRef_EntityRef_Value String The unique identifier (Id) of the object to which the file is to be attached (for example, 129). This field is optional.
AttachableRef_EntityRef_Type String The type of the object to which the file is to be attached (for example, Bill). This field is required if the AttachableRef_EntityRef_Value parameter is set.

Result Set Columns

Name Type Description
Id String The unique Id that QuickBooks Online assigns to the newly created attachment. This Id is used to reference the attachment programmatically.
AttachableRef_EntityRef_Value String The unique Id of the object to which this attachment is linked. This field confirms the association created by the stored procedure.
AttachableRef_EntityRef_Type String The type of the object to which this attachment is linked (for example, Bill or Invoice). This field confirms the association that is created by the stored procedure.
AttachableRef_IncludeOnSend String Indicates whether this attachment should be included automatically when the associated object is emailed or sent from QuickBooks Online.
ContentType String The content type of the uploaded file (for example, image/jpeg for a JPEG image).
Category String The category that QuickBooks Online has stored for this attachment.
Lat String The latitude coordinate of the location from which the attachment was uploaded or recorded.
Long String The longitude coordinate of the location from which the attachment was uploaded or recorded.
PlaceName String The name of the place from which the attachment was uploaded or recorded.
Note String A note that is related to the attachment or stored as a standalone note as saved in QuickBooks Online.
Tag String The tag name that QuickBooks Online has stored for this attachment.
FileAccessUri String The permanent Uniform Resource Identifier (URI) that can be used to access or download this attachment from QuickBooks Online.
FileName String The file name of the uploaded attachment as stored in QuickBooks Online.
Metadata_CreateTime String The date and time stamp (Coordinated Universal Time) for when QuickBooks Online created this attachment record.
Metadata_LastUpdatedTime String The date and time stamp (Coordinated Universal Time) forwhen this attachment record was last modified in QuickBooks Online.
Size String The size of the uploaded attachment in bytes as stored in QuickBooks Online.
SyncToken String The version control token for this attachment record that is used to prevent conflicting updates. QuickBooks Online increments this token each time the record is modified.
TempDownloadUri String The temporary URI that can be used to directly download this attachment by clients. This link typically expires after a limited time.
Result String The result message that is returned by the stored procedure after attempting to upload or link the attachment. This message indicates whether the operation succeeded or failed.
FileData String The Base64-encoded data of the file that QuickBooks Online returns if the FilePath parameter is not defined and file content must be read directly. This field allows you to retrieve the attachment as encoded data instead of via a URI.

CData Python Connector for QuickBooks Online

VoidInvoice

Voids an existing invoice in QuickBooks Online, preserving the record but nullifying its financial impact.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC VoidInvoice InvoiceId='123', SyncToken='0'

Input

Name Type Description
InvoiceId String The unique identifier (Id) of the invoice that you want to void. This Id tells QuickBooks Online which invoice record should be marked as void, effectively canceling its financial impact without deleting it.
SyncToken String The version control token for the specified invoice that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the invoice is modified, and only the latest sync token is accepted when voiding the invoice.
BillEmail String The email address to which the invoice is sent. If the EmailStatus parameter for the invoice is set to NeedToSend, the billing email address is required before QuickBooks Online can complete the void operation and handle related notifications.

Result Set Columns

Name Type Description
Status String The execution status that is returned by the stored procedure after attempting to void the invoice. This field indicates whether the void operation succeeded, failed, or returned a warning.

CData Python Connector for QuickBooks Online

VoidPayment

Voids an existing payment transaction, retaining the record while reversing its financial effect.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC VoidPayment PaymentId='123', SyncToken='0'

Input

Name Type Description
PaymentId String The unique identifier (Id) of the payment that you want to void. This Id tells QuickBooks Online which payment record should be marked as void, effectively canceling its financial impact without deleting it.
SyncToken String The version control token for the specified payment that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the payment is modified, and only the latest sync token is accepted when voiding the payment.

Result Set Columns

Name Type Description
Status String The execution status that is returned by the stored procedure after attempting to void the payment. This field indicates whether the void operation succeeded, failed, or returned a warning.

CData Python Connector for QuickBooks Online

VoidSalesReceipt

Voids an existing sales receipt in QuickBooks Online, keeping the record while negating its accounting impact.

Stored Procedure-Specific Information

To execute this procedure, enter:

    EXEC VoidSalesReceipt SalesReceiptId='123', SyncToken='0'

Input

Name Type Description
SalesReceiptId String The unique identifier (Id) of the sales receipt that you want to void. This Id tells QuickBooks Online which sales receipt record should be marked as void, effectively canceling its financial impact without deleting it.
SyncToken String The version control token for the specified sales receipt that is used to prevent conflicting updates. QuickBooks Online increments this sync token each time the sales receipt is modified, and only the latest synctoken is accepted when voiding the sales receipt.

Result Set Columns

Name Type Description
Status String The execution status that is returned by the stored procedure after attempting to void the sales receipt. This field indicates whether the void operation succeeded, failed, or returned a warning.

CData Python Connector for QuickBooks Online

System Tables

You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.

Schema Tables

The following tables return database metadata for QuickBooks Online:

Data Source Tables

The following tables return information about how to connect to and query the data source:

  • sys_connection_props: Returns information on the available connection properties.
  • sys_sqlinfo: Describes the SELECT queries that the connector can offload to the data source.

Query Information Tables

The following table returns query statistics for data modification queries, including batch operations:

  • sys_identity: Returns information about batch operations or single updates.

CData Python Connector for QuickBooks Online

sys_catalogs

Lists the available databases.

The following query retrieves all databases determined by the connection string:

SELECT * FROM sys_catalogs

Columns

Name Type Description
CatalogName String The database name.

CData Python Connector for QuickBooks Online

sys_schemas

Lists the available schemas.

The following query retrieves all available schemas:

          SELECT * FROM sys_schemas
          

Columns

Name Type Description
CatalogName String The database name.
SchemaName String The schema name.

CData Python Connector for QuickBooks Online

sys_tables

Lists the available tables.

The following query retrieves the available tables and views:

          SELECT * FROM sys_tables
          

Columns

Name Type Description
CatalogName String The database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view.
TableType String The table type (table or view).
Description String A description of the table or view.
IsUpdateable Boolean Whether the table can be updated.
IsInsertable Boolean Whether the table can be inserted into.
IsDeleteable Boolean Whether rows can be deleted from the table.

CData Python Connector for QuickBooks Online

sys_tablecolumns

Describes the columns of the available tables and views.

The following query returns the columns and data types for the Customers table:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName = 'Customers' 

Columns

Name Type Description
CatalogName String The name of the database containing the table or view.
SchemaName String The schema containing the table or view.
TableName String The name of the table or view containing the column.
ColumnName String The column name.
DataTypeName String The data type name.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
Length Int32 The storage size of the column.
DisplaySize Int32 The designated column's normal maximum width in characters.
NumericPrecision Int32 The maximum number of digits in numeric data. The column length in characters for character and date-time data.
NumericScale Int32 The column scale or number of digits to the right of the decimal point.
IsNullable Boolean Whether the column can contain null.
Description String A brief description of the column.
Ordinal Int32 The sequence number of the column.
IsAutoIncrement String Whether the column value is assigned in fixed increments.
IsGeneratedColumn String Whether the column is generated.
IsHidden Boolean Whether the column is hidden.
IsArray Boolean Whether the column is an array.
IsReadOnly Boolean Whether the column is read-only.
IsKey Boolean Indicates whether a field returned from sys_tablecolumns is the primary key of the table.
ColumnType String The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN.
ColumnCapabilities Int32 A bit mask denoting the column's write capabilities. The value is the sum of the following: 1 if the column is required for INSERTs, 2 if the column is allowed for INSERTs, and 4 if the column is allowed for UPDATEs. A value of 0 indicates that the write capabilities of the column are unknown or that the column is read-only.

CData Python Connector for QuickBooks Online

sys_procedures

Lists the available stored procedures.

The following query retrieves the available stored procedures:

          SELECT * FROM sys_procedures
          

Columns

Name Type Description
CatalogName String The database containing the stored procedure.
SchemaName String The schema containing the stored procedure.
ProcedureName String The name of the stored procedure.
Description String A description of the stored procedure.
ProcedureType String The type of the procedure, such as PROCEDURE or FUNCTION.

CData Python Connector for QuickBooks Online

sys_procedureparameters

Describes stored procedure parameters.

The following query returns information about all of the input parameters for the GetOAuthAccessToken stored procedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetOAuthAccessToken' AND Direction = 1 OR Direction = 2

To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:

SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetOAuthAccessToken' AND IncludeResultColumns='True'

Columns

Name Type Description
CatalogName String The name of the database containing the stored procedure.
SchemaName String The name of the schema containing the stored procedure.
ProcedureName String The name of the stored procedure containing the parameter.
ColumnName String The name of the stored procedure parameter.
Direction Int32 An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters.
DataType Int32 An integer indicating the data type. This value is determined at run time based on the environment.
DataTypeName String The name of the data type.
NumericPrecision Int32 The maximum precision for numeric data. The column length in characters for character and date-time data.
Length Int32 The number of characters allowed for character data. The number of digits allowed for numeric data.
NumericScale Int32 The number of digits to the right of the decimal point in numeric data.
IsNullable Boolean Whether the parameter can contain null.
IsRequired Boolean Whether the parameter is required for execution of the procedure.
IsArray Boolean Whether the parameter is an array.
Description String The description of the parameter.
Ordinal Int32 The index of the parameter.
Values String The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated.
SupportsStreams Boolean Whether the parameter represents a file that you can pass as either a file path or a stream.
IsPath Boolean Whether the parameter is a target path for a schema creation operation.
Default String The value used for this parameter when no value is specified.
SpecificName String A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here.
IsCDataProvided Boolean Whether the procedure is added/implemented by CData, as opposed to being a native QuickBooks Online procedure.

Pseudocolumns

Name Type Description
IncludeResultColumns Boolean Whether the output should include columns from the result set in addition to parameters. Defaults to False.

CData Python Connector for QuickBooks Online

sys_keycolumns

Describes the primary and foreign keys.

The following query retrieves the primary key for the Customers table:

         SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Customers' 
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
IsKey Boolean Whether the column is a primary key in the table referenced in the TableName field.
IsForeignKey Boolean Whether the column is a foreign key referenced in the TableName field.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.

CData Python Connector for QuickBooks Online

sys_foreignkeys

Describes the foreign keys.

The following query retrieves all foreign keys which refer to other tables:

         SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
PrimaryKeyName String The name of the primary key.
ForeignKeyName String The name of the foreign key.
ReferencedCatalogName String The database containing the primary key.
ReferencedSchemaName String The schema containing the primary key.
ReferencedTableName String The table containing the primary key.
ReferencedColumnName String The column name of the primary key.
ForeignKeyType String Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key.

CData Python Connector for QuickBooks Online

sys_primarykeys

Describes the primary keys.

The following query retrieves the primary keys from all tables and views:

         SELECT * FROM sys_primarykeys
          

Columns

Name Type Description
CatalogName String The name of the database containing the key.
SchemaName String The name of the schema containing the key.
TableName String The name of the table containing the key.
ColumnName String The name of the key column.
KeySeq String The sequence number of the primary key.
KeyName String The name of the primary key.

CData Python Connector for QuickBooks Online

sys_indexes

Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.

The following query retrieves all indexes that are not primary keys:

          SELECT * FROM sys_indexes WHERE IsPrimary='false'
          

Columns

Name Type Description
CatalogName String The name of the database containing the index.
SchemaName String The name of the schema containing the index.
TableName String The name of the table containing the index.
IndexName String The index name.
ColumnName String The name of the column associated with the index.
IsUnique Boolean True if the index is unique. False otherwise.
IsPrimary Boolean True if the index is a primary key. False otherwise.
Type Int16 An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3).
SortOrder String The sort order: A for ascending or D for descending.
OrdinalPosition Int16 The sequence number of the column in the index.

CData Python Connector for QuickBooks Online

sys_connection_props

Returns information on the available connection properties and those set in the connection string.

The following query retrieves all connection properties that have been set in the connection string or set through a default value:

SELECT * FROM sys_connection_props WHERE Value <> ''

Columns

Name Type Description
Name String The name of the connection property.
ShortDescription String A brief description.
Type String The data type of the connection property.
Default String The default value if one is not explicitly set.
Values String A comma-separated list of possible values. A validation error is thrown if another value is specified.
Value String The value you set or a preconfigured default.
Required Boolean Whether the property is required to connect.
Category String The category of the connection property.
IsSessionProperty String Whether the property is a session property, used to save information about the current connection.
Sensitivity String The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms.
PropertyName String A camel-cased truncated form of the connection property name.
Ordinal Int32 The index of the parameter.
CatOrdinal Int32 The index of the parameter category.
Hierarchy String Shows dependent properties associated that need to be set alongside this one.
Visible Boolean Informs whether the property is visible in the connection UI.
ETC String Various miscellaneous information about the property.

CData Python Connector for QuickBooks Online

sys_sqlinfo

Describes the SELECT query processing that the connector can offload to the data source.

See SQL Compliance for SQL syntax details.

Discovering the Data Source's SELECT Capabilities

Below is an example data set of SQL capabilities. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.

NameDescriptionPossible Values
AGGREGATE_FUNCTIONSSupported aggregation functions.AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNTWhether COUNT function is supported.YES, NO
IDENTIFIER_QUOTE_OPEN_CHARThe opening character used to escape an identifier.[
IDENTIFIER_QUOTE_CLOSE_CHARThe closing character used to escape an identifier.]
SUPPORTED_OPERATORSA list of supported SQL operators.=, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BYWhether GROUP BY is supported, and, if so, the degree of support.NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
OJ_CAPABILITIESThe supported varieties of outer joins supported.NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS
OUTER_JOINSWhether outer joins are supported.YES, NO
SUBQUERIESWhether subqueries are supported, and, if so, the degree of support.NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED
STRING_FUNCTIONSSupported string functions.LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONSSupported numeric functions.ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONSSupported date/time functions.NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLESIndicates tables skipped during replication.
REPLICATION_TIMECHECK_COLUMNSA string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication.
IDENTIFIER_PATTERNString value indicating what string is valid for an identifier.
SUPPORT_TRANSACTIONIndicates if the provider supports transactions such as commit and rollback.YES, NO
DIALECTIndicates the SQL dialect to use.
KEY_PROPERTIESIndicates the properties which identify the uniform database.
SUPPORTS_MULTIPLE_SCHEMASIndicates if multiple schemas may exist for the provider.YES, NO
SUPPORTS_MULTIPLE_CATALOGSIndicates if multiple catalogs may exist for the provider.YES, NO
DATASYNCVERSIONThe CData Data Sync version needed to access this driver.Standard, Starter, Professional, Enterprise
DATASYNCCATEGORYThe CData Data Sync category of this driver.Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQLWhether enhanced SQL functionality beyond what is offered by the API is supported.TRUE, FALSE
SUPPORTS_BATCH_OPERATIONSWhether batch operations are supported.YES, NO
SQL_CAPAll supported SQL capabilities for this driver.SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONSA string value specifies the preferred cacheOptions.
ENABLE_EF_ADVANCED_QUERYIndicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side.YES, NO
PSEUDO_COLUMNSA string array indicating the available pseudo columns.
MERGE_ALWAYSIf the value is true, The Merge Mode is forcibly executed in Data Sync.TRUE, FALSE
REPLICATION_MIN_DATE_QUERYA select query to return the replicate start datetime.
REPLICATION_MIN_FUNCTIONAllows a provider to specify the formula name to use for executing a server side min.
REPLICATION_START_DATEAllows a provider to specify a replicate startdate.
REPLICATION_MAX_DATE_QUERYA select query to return the replicate end datetime.
REPLICATION_MAX_FUNCTIONAllows a provider to specify the formula name to use for executing a server side max.
IGNORE_INTERVALS_ON_INITIAL_REPLICATEA list of tables which will skip dividing the replicate into chunks on the initial replicate.
CHECKCACHE_USE_PARENTIDIndicates whether the CheckCache statement should be done against the parent key column.TRUE, FALSE
CREATE_SCHEMA_PROCEDURESIndicates stored procedures that can be used for generating schema files.

The following query retrieves the operators that can be used in the WHERE clause:

SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.

Columns

Name Type Description
NAME String A component of SQL syntax, or a capability that can be processed on the server.
VALUE String Detail on the supported SQL or SQL syntax.

CData Python Connector for QuickBooks Online

sys_identity

Returns information about attempted modifications.

The following query retrieves the Ids of the modified rows in a batch operation:

         SELECT * FROM sys_identity
          

Columns

Name Type Description
Id String The database-generated Id returned from a data modification operation.
Batch String An identifier for the batch. 1 for a single operation.
Operation String The result of the operation in the batch: INSERTED, UPDATED, or DELETED.
Message String SUCCESS or an error message if the update in the batch failed.

CData Python Connector for QuickBooks Online

sys_information

Describes the available system information.

The following query retrieves all columns:

SELECT * FROM sys_information

Columns

NameTypeDescription
ProductStringThe name of the product.
VersionStringThe version number of the product.
DatasourceStringThe name of the datasource the product connects to.
NodeIdStringThe unique identifier of the machine where the product is installed.
HelpURLStringThe URL to the product's help documentation.
LicenseStringThe license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.)
LocationStringThe file path location where the product's library is stored.
EnvironmentStringThe version of the environment or rumtine the product is currently running under.
DataSyncVersionStringThe tier of CData Sync required to use this connector.
DataSyncCategoryStringThe category of CData Sync functionality (e.g., Source, Destination).

CData Python Connector for QuickBooks Online

Data Type Mapping

Data Type Mappings

The connector maps types from the data source to the corresponding data type available in the schema. The table below documents these mappings.

QuickBooks Online CData Schema
BigDecimal double
Boolean bool
Date date
Decimal double
EmailAddress string
IdType string
Integer int
PhysicalAddress string
String string
TelephoneNumber string
WebSiteAddress string

CData Python Connector for QuickBooks Online

Custom Fields

Custom Fields

The connector supports editing and saving custom fields in QuickBooks Online. Custom fields in QuickBooks Online are displayed on all estimates, invoices, sales receipts, refund receipts, and credit memos. Up to three custom fields can be added to any estimate, invoice, sales receipt, refund receipt, or credit memo.

Custom fields are also exposed as individual read-only columns that can be selected just like other columns in a table.

To create a new custom field:

  1. Navigate to Your Account > Company Preferences -> Sales Form Entry.
  2. In the Custom Fields section, go to the Screen Name box and enter the a name for the new custom field.

You can access the custom fields for a record in the CustomFieldAggregate column. This column contains an aggregate of the custom fields, represented as XML entities.

To modify a custom field, you must edit the corresponding XML entity. For example, you can execute an update query similar to:

UPDATE InvoiceLineItems SET CustomFieldAggregate='<CustomField><Name>Custom Field Name</Name><Type>StringType</Type><StringValue>test</StringValue><StringValue></StringValue></CustomField>' WHERE InvoiceId='782' AND Line='1'

You can also supply values for custom fields when inserting. For example:

INSERT INTO InvoiceLineItems (CustomerRef, Line_DetailType, Line_SalesItemLineDetail_ItemRef, Line_Amount, CustomFieldAggregate) VALUES ('4', 'SalesItemLineDetail', '2', 0.01, '<CustomField><DefinitionId>1</DefinitionId><Name>Custom Field Name</Name><Type>StringType</Type><StringValue>test</StringValue></CustomField>')

To clear a custom field, submit the custom field name without a value. For example:

<CustomField><Name>Custom Field Name</Name><Type>StringType</Type><StringValue></StringValue><StringValue></StringValue></CustomField>

You can also access the custom fields as individual read-only columns that can be selected like other columns on the table. These column values automatically get updated by modifying the CustomFieldAggreate value.

Note: Custom fields only support string data types. If you enter IntType or IntegerType data into a custom field, it is handled as a string.

CData Python Connector for QuickBooks Online

Connection String Options

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.

For more information on establishing a connection, see Establishing a Connection.

Authentication


PropertyDescription
MinorVersionSpecifies the minor API version used when sending requests to QuickBooks Online.
UseSandboxSpecifies whether the provider connects to the QuickBooks Online sandbox environment.

OAuth


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
CompanyIdSpecifies the unique identifier of the company in QuickBooks Online.
ScopeSpecifies the OAuth scopes that define the level of QuickBooks Online API access requested by your application.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to QuickBooks Online via OAuth (Custom OAuth applications only).
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshTokenSpecifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

SSL


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.

Firewall


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.

Proxy


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Logging


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Schema


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Caching


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live QuickBooks Online data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.

Miscellaneous


PropertyDescription
AllowDuplicateDocNumberSpecifies whether the provider allows duplicate document numbers in transaction records.
ArchiveModeSpecifies whether the provider includes deleted records when executing a SELECT query.
CountryCodeSpecifies the country code for the QuickBooks Online edition you are connecting to.
HideLineTotalsSpecifies whether the provider hides subtotal lines returned in line-item tables.
IncludeCustomFieldsSpecifies whether the provider includes custom fields in query results.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
MaxThreadsSpecifies the number of concurrent requests.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PagesizeSpecifies the maximum number of records per page the provider returns when requesting data from QuickBooks Online.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to QuickBooks Online from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
ThrowMoreDataErrorSpecifies whether to throw an exception when a report's selected range exceeds the allowable limits. The default is false.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for QuickBooks Online

Authentication

This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.


PropertyDescription
MinorVersionSpecifies the minor API version used when sending requests to QuickBooks Online.
UseSandboxSpecifies whether the provider connects to the QuickBooks Online sandbox environment.
CData Python Connector for QuickBooks Online

MinorVersion

Specifies the minor API version used when sending requests to QuickBooks Online.

Data Type

string

Default Value

""

Remarks

This property specifies which minor version of the QuickBooks Online API the connector uses when communicating with the service.

If left blank, the connector uses its default supported version.

This property is useful when your QuickBooks Online account or application depends on a particular minor API version.

CData Python Connector for QuickBooks Online

UseSandbox

Specifies whether the provider connects to the QuickBooks Online sandbox environment.

Data Type

bool

Default Value

false

Remarks

Set this property to switch between the production and sandbox environments in QuickBooks Online.

  • When this property is set to false, the connector connects to the production environment.
  • When this property is set to true, the connector connects to the sandbox environment for testing and development.

This property is useful for safely testing connections, authentication, and API operations without affecting live company data.

CData Python Connector for QuickBooks Online

OAuth

This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.


PropertyDescription
InitiateOAuthSpecifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
OAuthClientIdSpecifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecretSpecifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthAccessTokenSpecifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
CompanyIdSpecifies the unique identifier of the company in QuickBooks Online.
ScopeSpecifies the OAuth scopes that define the level of QuickBooks Online API access requested by your application.
OAuthSettingsLocationSpecifies the location of the settings file where OAuth values are saved.
CallbackURLIdentifies the URL users return to after authenticating to QuickBooks Online via OAuth (Custom OAuth applications only).
OAuthVerifierSpecifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
OAuthRefreshTokenSpecifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthExpiresInSpecifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthTokenTimestampDisplays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.
CData Python Connector for QuickBooks Online

InitiateOAuth

Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.

Possible Values

OFF, REFRESH, GETANDREFRESH

Data Type

string

Default Value

"OFF"

Remarks

OAuth is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service. The OAuth flow defines the method to be used for:

  • Logging in users.
  • Exchanging user credentials for an OAuth access token to be used for authentication.
  • Providing limited access to applications.

The options for initiating and maintaining OAuth access are named for the parts of that flow that the connector handles:

OFF The connector provides no automatic OAuth flow initiation. The OAuth flow is handled entirely by the user.
This means that the user must refresh the token manually, and reconnect with an updated OAuthAccessToken property when the current token expires.
GETANDREFRESH The connector handles the entire OAuth flow (both GET and REFRESH). This means that if a token already exists, the connector refreshes it when necessary; if no token currently exists, the connector obtains it by prompting the user to login.
REFRESH The user obtains the OAuth Access Token and sets up the sequence for refreshing the OAuth Access Token. (The user is never prompted to log in to authenticate.) After the user logs in, the connector handles the refresh of the OAuth Access Token.

For more information on how to set up OAuth and use this property when configuring a connection, see Establishing a Connection.

CData Python Connector for QuickBooks Online

OAuthClientId

Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.

Data Type

string

Default Value

""

Remarks

This property is required in two cases:

  • When using a custom OAuth application, such as in web-based authentication flows, service-based authentication, or certificate-based flows that require application registration.
  • If the driver does not provide embedded OAuth credentials.

(When the driver provides embedded OAuth credentials, this value may already be provided by the connector and thus not require manual entry.)

OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.

OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.

While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for QuickBooks Online

OAuthClientSecret

Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).

Data Type

string

Default Value

""

Remarks

This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.

The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.

OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.

Notes:

  • This value should be stored securely and never exposed in public repositories, scripts, or unsecured environments.
  • Client secrets may also expire after a set period. Be sure to monitor expiration dates and rotate secrets as needed to maintain uninterrupted access.

For more information on how this property is used when configuring a connection, see Establishing a Connection

CData Python Connector for QuickBooks Online

OAuthAccessToken

Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.

Data Type

string

Default Value

""

Remarks

OAuthAccessToken is a temporary credential that authorizes access to protected resources. It is typically returned by the identity provider after the user or client application completes an OAuth authentication flow. This property is most commonly used in automated workflows or custom OAuth implementations where you want to manage token handling outside of the driver.

The OAuth access token has a server-dependent timeout, limiting user access. The timeout is set using the OAuthExpiresIn property. However, it can be reissued between requests to keep access alive as long as the user keeps working.

If InitiateOAuth is set to REFRESH, we recommend that you also set both OAuthExpiresIn and OAuthTokenTimestamp. The connector uses these properties to determine when the token expires so it can refresh most efficiently. If OAuthExpiresIn and OAuthTokenTimestamp are not specified, the connector refreshes the token immediately.

Note: Access tokens should be treated as sensitive credentials and stored securely. Avoid exposing them in logs, scripts, or configuration files that are not access-controlled.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for QuickBooks Online

CompanyId

Specifies the unique identifier of the company in QuickBooks Online.

Data Type

string

Default Value

""

Remarks

This value identifies the specific QuickBooks Online company (also called the Realm ID) that the connection targets.

The connector retrieves this value automatically during OAuth authentication and returns it from the GetOAuthAccessToken stored procedure.

You must specify this property manually if InitiateOAuth is set to OFF or REFRESH.

You can find the CompanyId in the following ways:

  • Press Ctrl+Alt+? from any screen in QuickBooks Online.
  • Copy the RealmId value returned in the OAuth authorization URL. This method is useful for headless systems where a browser cannot be launched.

See Establishing a Connection for details on obtaining the RealmId value when retrieving the OAuthVerifier value.

This property is useful when connecting to QuickBooks Online environments where OAuth tokens are managed manually or reused across sessions.

CData Python Connector for QuickBooks Online

Scope

Specifies the OAuth scopes that define the level of QuickBooks Online API access requested by your application.

Data Type

string

Default Value

""

Remarks

OAuth scopes determine what data and features your application can access in QuickBooks Online. You can specify multiple scopes as space-delimited values.

Available scopes include:

  • com.intuit.quickbooks.accounting
  • com.intuit.quickbooks.payment

Set this property to match the scopes configured for your app in the Intuit Developer portal.

This property is useful when customizing authorization to specific QuickBooks Online services or restricting access for security compliance.

CData Python Connector for QuickBooks Online

OAuthSettingsLocation

Specifies the location of the settings file where OAuth values are saved.

Data Type

string

Default Value

"%APPDATA%\\CData\\QuickBooksOnline Data Provider\\OAuthSettings.txt"

Remarks

Storing OAuth settings in a central location avoids the need for users to enter OAuth connection properties manually each time they log in. It also enables credentials to be shared across connections or processes.

You can store OAuth values in a central file for shared access to those values, in either of the following ways:

  • Set InitiateOAuth to either GETANDREFRESH or REFRESH and specify a filepath to the OAuth settings file.
  • Use memory storage to load the credentials into static memory.

The following sections provide more detail on each of these methods.

Specifying the OAuthSettingsLocation Filepath

The default OAuth setting location is %APPDATA%\\CData\\QuickBooksOnline Data Provider\\OAuthSettings.txt, with %APPDATA% set to the user's configuration directory. Default values vary, depending on the user's operating system.

  • Windows (ODBC and Power BI): registry://%DSN%
  • Windows: %APPDATA%CDataQuickBooksOnline Data Provider\OAuthSettings.txt
  • Mac: %APPDATA%/CData/QuickBooksOnline Data Provider/OAuthSettings.txt
  • Linux: %APPDATA%/CData/QuickBooksOnline Data Provider/OAuthSettings.txt

Loading Credentials Via Memory Storage

Memory locations are specified by using a value starting with memory://, followed by a unique identifier for that set of credentials (for example, memory://user1). The identifier can be anything you choose, but it should be unique to the user.

Unlike file-based storage, where credentials persist across connections, memory storage loads the credentials into static memory and the credentials are shared between connections using the same identifier for the life of the process. To persist credentials outside the current process, you must manually store the credentials prior to closing the connection. This enables you to set them in the connection when the process is started again.

To retrieve OAuth property values, query the sys_connection_props system table. If there are multiple connections using the same credentials, the properties are read from the previously closed connection.

Supported Storage Types

  • memory://: Stores OAuth tokens in-memory (unique identifier, shared within same process, etc.)
  • registry://: Only supported in the Windows ODBC and Power BI editions. Stores OAuth tokens in the registry under the DSN settings. Must end in a DSN name like registry://CData Python Connector for QuickBooks Online Data Source, or registry://%DSN%.
  • %DSN%: The name of the DSN you are connecting with.
  • Default (no prefix): Stores OAuth tokens within files. The value can be either an absolute path, or a path starting with %APPDATA% or %PROGRAMFILES%.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for QuickBooks Online

CallbackURL

Identifies the URL users return to after authenticating to QuickBooks Online via OAuth (Custom OAuth applications only).

Data Type

string

Default Value

""

Remarks

If you created a custom OAuth application, the OAuth authorization server redirects the user to this URL during the authentication process. This value must match the callback URL you specified when you configured the custom OAuth application.

CData Python Connector for QuickBooks Online

OAuthVerifier

Specifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.

Data Type

string

Default Value

""

Remarks

For detailed instructions about how to obtain the OAuthVerifier value, see Establishing a Connection.

CData Python Connector for QuickBooks Online

OAuthRefreshToken

Specifies the OAuth refresh token used to request a new access token after the original has expired.

Data Type

string

Default Value

""

Remarks

The refresh token is used to obtain a new access token when the current one expires. It enables seamless authentication for long-running or automated workflows without requiring the user to log in again. This property is especially important in headless, CI/CD, or server-based environments where interactive authentication is not possible.

The refresh token is typically obtained during the initial OAuth exchange by calling the GetOAuthAccessToken stored procedure. After that, it can be set using this property to enable automatic token refresh, or passed to the RefreshOAuthAccessTokenproc; stored procedure if you prefer to manage the refresh manually.

When InitiateOAuth is set to REFRESH, the driver uses this token to retrieve a new access token automatically. After the first refresh, the driver saves updated tokens in the location defined by OAuthSettingsLocation, and uses those values for subsequent connections.

Note: The OAuthRefreshToken should be handled securely and stored in a trusted location. Like access tokens, refresh tokens can expire or be revoked depending on the identity provider’s policies.

For more information on how this property is used when configuring a connection, see Establishing a Connection.

CData Python Connector for QuickBooks Online

OAuthExpiresIn

Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.

Data Type

string

Default Value

""

Remarks

The OAuth Access Token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthExpiresIn is the number of seconds the token is valid from when it was created. For example, a token generated at 2024-01-29 20:00:00 UTC that expires at 2024-01-29 21:00:00 UTC (an hour later) would have an OAuthExpiresIn value of 3600, no matter what the current time is.

To determine how long the user has before the Access Token will expire, check OAuthTokenTimestamp.

CData Python Connector for QuickBooks Online

OAuthTokenTimestamp

Displays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.

Data Type

string

Default Value

""

Remarks

The OAuth access token is assigned to an authenticated user, granting that user access to the network for a specified period of time. The access token is used in place of the user's login ID and password, which stay on the server.

An access token created by the server is only valid for a limited time. OAuthTokenTimestamp is the Unix timestamp when the server created the token. For example, OAuthTokenTimestamp=1706558400 indicates the OAuthAccessToken was generated by the server at 2024-01-29 20:00:00 UTC.

CData Python Connector for QuickBooks Online

SSL

This section provides a complete list of the SSL properties you can configure in the connection string for this provider.


PropertyDescription
SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL.
CData Python Connector for QuickBooks Online

SSLServerCert

Specifies the certificate to be accepted from the server when connecting using TLS/SSL.

Data Type

string

Default Value

""

Remarks

If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE-----
MIIChTCCAe4CAQAwDQYJKoZIhv......Qw==
-----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY-----
MIGfMA0GCSq......AQAB
-----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space- or colon-separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space- or colon-separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.

CData Python Connector for QuickBooks Online

Firewall

This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.


PropertyDescription
FirewallTypeSpecifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
FirewallServerIdentifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
FirewallPortSpecifies the TCP port to be used for a proxy-based firewall.
FirewallUserIdentifies the user ID of the account authenticating to a proxy-based firewall.
FirewallPasswordSpecifies the password of the user account authenticating to a proxy-based firewall.
CData Python Connector for QuickBooks Online

FirewallType

Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.

Possible Values

NONE, TUNNEL, SOCKS4, SOCKS5

Data Type

string

Default Value

"NONE"

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

Note: By default, the connector connects to the system proxy. To disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

The following table provides port number information for each of the supported protocols.

Protocol Default Port Description
TUNNEL 80 The port where the connector opens a connection to QuickBooks Online. Traffic flows back and forth via the proxy at this location.
SOCKS4 1080 The port where the connector opens a connection to QuickBooks Online. SOCKS 4 then passes theFirewallUser value to the proxy, which determines whether the connection request should be granted.
SOCKS5 1080 The port where the connector sends data to QuickBooks Online. If the SOCKS 5 proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.

CData Python Connector for QuickBooks Online

FirewallServer

Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for QuickBooks Online

FirewallPort

Specifies the TCP port to be used for a proxy-based firewall.

Data Type

int

Default Value

0

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for QuickBooks Online

FirewallUser

Identifies the user ID of the account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for QuickBooks Online

FirewallPassword

Specifies the password of the user account authenticating to a proxy-based firewall.

Data Type

string

Default Value

""

Remarks

A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.

Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.

CData Python Connector for QuickBooks Online

Proxy

This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.


PropertyDescription
ProxyAutoDetectSpecifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
ProxyServerIdentifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
ProxyPortIdentifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
ProxyAuthSchemeSpecifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
ProxyUserProvides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
ProxyPasswordSpecifies the password of the user specified in the ProxyUser connection property.
ProxySSLTypeSpecifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
ProxyExceptionsSpecifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.
CData Python Connector for QuickBooks Online

ProxyAutoDetect

Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.

Data Type

bool

Default Value

true

Remarks

When this connection property is set to True, the connector checks your system proxy settings for existing proxy server configurations (no need to manually supply proxy server details).

This connection property takes precedence over other proxy settings. If you want to configure the connector to connect to a specific proxy server, set ProxyAutoDetect to False.

On Windows, the connector reads the proxy settings from the Internet Options in the registry, specifically the registry key HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\. On Windows 10 and later, this corresponds to the Proxy Settings found in the Windows Settings.

Note that these settings apply only to the current user of the machine. If you're running an application as a service, the connector does not read your own user's settings. You must instead manually supply the proxy settings in the connector's connection properties.

On Mac, the connector reads proxy settings from the system-configured CFNetwork settings.

On Linux, this property is unsupported, and is set to False by default.

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.

CData Python Connector for QuickBooks Online

ProxyServer

Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.

Data Type

string

Default Value

""

Remarks

The connector only routes HTTP traffic through the proxy server specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server specified in your system proxy settings.

CData Python Connector for QuickBooks Online

ProxyPort

Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.

Data Type

int

Default Value

80

Remarks

The connector only routes HTTP traffic through the ProxyServer port specified in this connection property when ProxyAutoDetect is set to False.

If ProxyAutoDetect is set to True (the default), the connector instead routes HTTP traffic through the proxy server port specified in your system proxy settings.

For other proxy types, see FirewallType.

CData Python Connector for QuickBooks Online

ProxyAuthScheme

Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.

Possible Values

BASIC, DIGEST, NONE, NEGOTIATE, NTLM

Data Type

string

Default Value

"BASIC"

Remarks

Note: The connector only uses this ProxyAuthScheme when ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the authentication method specified in your system proxy settings.

Supported authentication types :

  • BASIC: The connector performs HTTP basic authentication.
  • DIGEST: The connector performs HTTP digest authentication.
  • NTLM: The connector retrieves an NTLM token.
  • NEGOTIATE: The connector retrieves an NTLM or Kerberos token based on the applicable protocol for authentication.
  • NONE: Signifies that the ProxyServer does not require authentication.

For all values other than NONE, you must also set the ProxyUser and ProxyPassword connection properties.

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.

CData Python Connector for QuickBooks Online

ProxyUser

Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyUser
BASIC The username of a user registered with the proxy server.
DIGEST The username of a user registered with the proxy server.
NEGOTIATE The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NTLM The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user.
NONE Do not set the ProxyPassword connection property.

Note: The connector only uses this username if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the username specified in your system proxy settings.

CData Python Connector for QuickBooks Online

ProxyPassword

Specifies the password of the user specified in the ProxyUser connection property.

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:

ProxyAuthScheme Value Value to set for ProxyPassword
BASIC The password associated with the proxy server user specified in ProxyUser.
DIGEST The password associated with the proxy server user specified in ProxyUser.
NEGOTIATE The password associated with the Windows user account specified in ProxyUser.
NTLM The password associated with the Windows user account specified in ProxyUser.
NONE Do not set the ProxyPassword connection property.

For SOCKS 5 authentication or tunneling, see FirewallType.

Note: The connector only uses this password if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the connector instead uses the password specified in your system proxy settings.

CData Python Connector for QuickBooks Online

ProxySSLType

Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.

Possible Values

AUTO, ALWAYS, NEVER, TUNNEL

Data Type

string

Default Value

"AUTO"

Remarks

This property determines when to use SSL for the connection to the HTTP proxy specified by ProxyServer. You can set this connection property to the following values :

AUTODefault setting. If ProxyServer is set to an HTTPS URL, the connector uses the TUNNEL option. If ProxyServer is set to an HTTP URL, the component uses the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is made through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.

CData Python Connector for QuickBooks Online

ProxyExceptions

Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.

Data Type

string

Default Value

""

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note: The connector uses the system proxy settings by default, without further configuration needed. If you want to explicitly configure proxy exceptions for this connection, set ProxyAutoDetect to False.

CData Python Connector for QuickBooks Online

Logging

This section provides a complete list of the Logging properties you can configure in the connection string for this provider.


PropertyDescription
LogfileSpecifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.
VerbositySpecifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
LogModulesSpecifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
MaxLogFileSizeSpecifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.
MaxLogFileCountSpecifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.
CData Python Connector for QuickBooks Online

Logfile

Specifies the file path to the log file where the provider records its activities, such as authentication, query execution, and connection details.

Data Type

string

Default Value

""

Remarks

This property specifies the location and name of the log file where the connector records its operations, including authentication events, query execution, and connection details. If the specified file does not exist, the connector creates it. Ensure that the user or the service running the connector has write access to the specified path or file. Without sufficient permissions, the log file is not created.

Sensitive information from the connection string, such as passwords and tokens, is automatically masked in the logs. However, sensitive information present in the data itself may not be masked.

If you specify a relative path for Logfile, and if the Location property is set, that directory is used as the base path for the log file.

Additional properties allow you to customize logging behavior:

CData Python Connector for QuickBooks Online

Verbosity

Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.

Data Type

string

Default Value

"1"

Remarks

This property defines the level of detail the connector includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.

The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.

When combined with the LogModules property, Verbosity can refine logging to specific categories of information.

CData Python Connector for QuickBooks Online

LogModules

Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.

Data Type

string

Default Value

""

Remarks

The connector writes details about each operation it performs into the logfile specified by the Logfile connection property.

Each of these logged operations are assigned to a themed category called a module, and each module has a corresponding short code used to labels individual connector operations as belonging to that module.

When this connection property is set to a semicolon-separated list of module codes, only operations belonging to the specified modules are written to the logfile. Note that this only affects which operations are logged moving forward and doesn't retroactively alter the existing contents of the logfile. For example: INFO;EXEC;SSL;META;

By default, logged operations from all modules are included.

You can explicitly exclude a module by prefixing it with a "-". For example: -HTTP

To apply filters to submodules, identify them with the syntax <module name>.<submodule name>. For example, the following value causes the connector to only log actions belonging to the HTTP module, and further refines it to exclude actions belonging to the Res submodule of the HTTP module: HTTP;-HTTP.Res

Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.

The available modules and submodules are:

Module Name Module Description Submodules
INFO General Information. Includes the connection string, product version (build number), and initial connection messages.
  • Connec – Information related to creating or destroying connections.
  • Messag – Generic label for messages pertaining to connections, the connection string, and product version. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
EXEC Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well.
  • Messag – Messages pertaining to query execution. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Normlz – Query normalization steps. Query normalization is when the product takes the user-submitted query and rewrites the query to get the same results with optimal performance.
  • Origin – This label applies to any messages recording a user's original query (the exact, unaltered, non-normalized query executed by the user).
  • Page – Messages related to query paging.
  • Parsed – Query parsing steps. Parsing is the process of converting the user-submitted query into a standardized format for easier processing.
HTTP HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages.
  • KERB – HTTP requests related to Kerberos.
  • Messag – Messages pertaining to HTTP protocols. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • Unpack – This label applies to messages about zipped data being returned from the service API and unpacked by the product.
  • Res – Messages containing HTTP responses.
  • Req – Messages containing HTTP requests.
WSDL Messages pertaining to the generation of WSDL/XSD files.
SSL SSL certificate messages.
  • Certif – Messages pertaining to SSL certificates.
AUTH Authentication related failure/success messages.
  • Messag – Messages pertaining to authentication. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • OAuth – Messages related to OAuth authentication.
  • Krbros – Kerberos-related authentication messages.
SQL Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages.
  • Bulk – Messages pertaining to bulk query execution.
  • Cache – Messages related to reading row data from and writing row data to the product's cache for better performance.
  • Messag – Messages pertaining to SQL transactions. These messages are typically specific to the connector, rather than being received and passed along directly from the service.
  • ResSet – Query resultsets.
  • Transc – Messages related to handling transactions, including information about the number of jobs executed and backup table handling.
META Metadata cache and schema messages.
  • Cache – Messages related to reading from and modifying column and table definitions in the product's cache for better performance.
  • Schema – Messages related to retrieving metadata from or modifying the service schema.
  • MemSto – Messages related to writing to or reading from in-memory metadata cache.
  • Storag – Messages relating to storing metadata on disk or in an external data store, rather than in memory.
FUNC Information related to executing SQL functions.
  • Errmsg – Error messages related to executing SQL functions.
TCP Incoming and outgoing raw bytes on TCP transport layer messages.
  • Send – Raw data sent via the TCP protocol.
  • Receiv – Raw data received via the TCP protocol.
FTP Messages pertaining to the File Transfer Protocol.
  • Info – Status messages related to communication in the FTP protocol.
  • Client – Messages related to actions taken by the FTP client (the product) during FTP communication.
  • Server – Messages related to actions taken by the FTP server during FTP communication.
SFTP Messages pertaining to the Secure File Transfer Protocol.
  • Info – Status messages related to communication in the SFTP protocol.
  • To_Server – Messages related to actions taken by the SFTP client (the product) during SFTP communication.
  • From_Server – Messages related to actions taken by the SFTP server during SFTP communication.
POP Messages pertaining to data transferred via the Post Office Protocol.
  • Client – Messages related to actions taken by the POP client (the product) during POP communication.
  • Server – Messages related to actions taken by the POP server during POP communication.
  • Status – Status messages related to communication in the POP protocol.
SMTP Messages pertaining to data transferred via the Simple Mail Transfer Protocol.
  • Client – Messages related to actions taken by the SMTP client (the product) during SMTP communication.
  • Server – Messages related to actions taken by the SMTP server during SMTP communication.
  • Status – Status messages related to communication in the SMTP protocol.
CORE Messages relating to various internal product operations not covered by other modules.
DEMN Messages related to SQL remoting.
CLJB Messages about bulk data uploads (cloud job).
  • Commit – Submissions for bulk data uploads.
SRCE Miscellaneous messages produced by the product that don't belong in any other module.
TRANCE Advanced messages concerning low-level product operations.

CData Python Connector for QuickBooks Online

MaxLogFileSize

Specifies the maximum size of a single log file in bytes. For example, '10 MB'. When the file reaches the limit, the provider creates a new log file with the date and time appended to the name.

Data Type

string

Default Value

"100MB"

Remarks

For values lower than 100 KB, the connector uses 100 KB as the minimum allowable size.

To control the total number of log files retained, use the MaxLogFileCount property in conjunction with this property. Together, these properties allow you to manage the size and retention of log files effectively.

CData Python Connector for QuickBooks Online

MaxLogFileCount

Specifies the maximum number of log files the provider retains. When the limit is reached, the oldest log file is deleted to make space for a new one.

Data Type

int

Default Value

-1

Remarks

Each log file name includes the date and time for easier identification.

This property accepts the following values:

  • A value of 2 or higher sets the maximum number of log files retained.
  • A value of 1 retains only one log file. When it reaches the maximum size, the file is deleted and replaced by a new one, leaving no history beyond the current log.
  • A value of 0 or negative indicates no limit on the number of log files, and logging continues indefinitely.

To manage log file size, use the MaxLogFileSize property. The two properties work together to control the size and retention of log files in the logging folder.

CData Python Connector for QuickBooks Online

Schema

This section provides a complete list of the Schema properties you can configure in the connection string for this provider.


PropertyDescription
LocationSpecifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
BrowsableSchemasOptional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
TablesOptional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
ViewsOptional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .
CData Python Connector for QuickBooks Online

Location

Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.

Data Type

string

Default Value

"%APPDATA%\\CData\\QuickBooksOnline Data Provider\\Schema"

Remarks

The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) or extend the data model with new tables, views, or stored procedures.

If left unspecified, the default location is %APPDATA%\\CData\\QuickBooksOnline Data Provider\\Schema, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

CData Python Connector for QuickBooks Online

BrowsableSchemas

Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .

Data Type

string

Default Value

""

Remarks

Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.

CData Python Connector for QuickBooks Online

Tables

Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .

Data Type

string

Default Value

""

Remarks

Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.

If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.

CData Python Connector for QuickBooks Online

Views

Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .

Data Type

string

Default Value

""

Remarks

Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.

If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may exist in multiple catalogs or schemas.

CData Python Connector for QuickBooks Online

Caching

This section provides a complete list of the Caching properties you can configure in the connection string for this provider.


PropertyDescription
AutoCacheSpecifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.
CacheProviderThe namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.
CacheDriverThe driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.
CacheConnectionSpecifies the connection string for the specified cache database.
CacheLocationSpecifies the path to the cache when caching to a file.
CacheToleranceNotes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.
OfflineGets the data from the specified cache database instead of live QuickBooks Online data.
CacheMetadataDetermines whether the provider caches table metadata to a file-based cache database.
CData Python Connector for QuickBooks Online

AutoCache

Specifies whether the content of tables targeted by SELECT queries is automatically cached to the specified cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, the connector automatically caches the contents of tables targeted by SELECT queries. The content of these tables is cached to the cache database specified by the CacheConnection and CacheProvider connection properties.

See Also

For additional information, see:

  • CacheMetadata: With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from QuickBooks Online.
  • Explicitly Caching Data: This topic provides examples for using AutoCache in Offline mode.
  • CACHE Statements: You can use the CACHE statement to explicitly cache the content of any table targeted by a SELECT query.

CData Python Connector for QuickBooks Online

CacheProvider

The namespace of an ADO.NET provider. The specified provider is used as the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to ADO.NET providers saved in your ADO.NET global assembly cache (GAC).

CData ADO.NET providers automatically register themselves with the GAC during installation, so you don't need to do so manually.

Third-party ADO.NET providers may or may not automatically register themselves with the GAC during installation. If you want to cache to a third-party ADO.NET provider, consult the documentation for that provider to determine what steps (if any) you must take to register them with the GAC. Once they have been registered, you can supply their namespace in this connection property.

You must also set the CacheConnection connection property to provide a connection string for the specified ADO.NET provider.

The following sections show connection examples and address other requirements for several popular database providers. Refer to CacheConnection for more information on typical connection properties.

SQLite

You can use the Microsoft ADO.NET Provider for SQLite to cache to SQLite databases.

CacheProvider=Microsoft.Data.Sqlite;CacheConnection='DataSource=C:\\Users\\Public\\cache.db;'InitiateOAuth=GETANDREFRESH;

MySQL

To cache to MySQL, you can use the CData ADO.NET Provider for MySQL:
Cache Provider=System.Data.CData.MySQL;Cache Connection='Server=localhost;Port=3306;Database=cache;User=root;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

SQL Server

You can use the Microsoft .NET Framework Provider for SQL Server, included in the .NET Framework, to cache to SQL Server:

Cache Provider=System.Data.SqlClient;Cache Connection="Server=MyMACHINE\MyInstance;Database=SQLCACHE;User Id=root;Password=admin";InitiateOAuth=GETANDREFRESH;

Oracle

To cache to Oracle, you can use the Oracle Data Provider for .NET, as shown in the following example:

Cache Provider=Oracle.DataAccess.Client;Cache Connection='User Id=scott;Password=tiger;Data Source=ORCL';InitiateOAuth=GETANDREFRESH;

The Oracle Data Provider for .NET also requires the Oracle Database Client. When you download the Oracle Database Client, ensure that its bitness matches the bitness of your machine. When you install, select either the Runtime or Administrator installation type. The Instant Client is not sufficient.

PostgreSQL

To cache to PostgreSQL, you can use the CData ADO.NET Provider for PostgreSQL:
Cache Provider=System.Data.CData.PostgreSQL;Cache Connection='Server=localhost;Port=5432;Database=cache;User=postgres;Password=123456';User=myUser;Password=myPassword;Security Token=myToken;

CData Python Connector for QuickBooks Online

CacheDriver

The driver class of a JDBC driver. The specified driver is used to connect to the target database for all caching operations.

Data Type

string

Default Value

""

Remarks

You can cache to any database for which you have a JDBC driver, including CData JDBC drivers.

Note: You must add the JAR file of the specified JDBC driver to the classpath. For CData JDBC drivers, you can find this JAR file in the "lib" subfolder of that driver's installation directory.

You must also set the CacheConnection connection property to provide a connection string for the specified JDBC driver.

For Linux systems and macOS, you need to create a config.ini file on the installation path of the driver (site-packages/cdata). The config.ini file has the following format (the driver and the path of the JDBC driver):

[salesforce.cpython-38-x86_64-linux-gnu.so]
CLASSPATH = /home/usrname/Downloads/lib/cdata.jdbc.postgresql.jar

Examples

The following examples show how to cache to several major databases. For more information on the JDBC URL syntax and typical connection properties, see CacheConnection.

Derby and Java DB

Java DB is the Oracle distribution of Derby. You must add the Derby JDBC driver's JAR file, derbytools.jar, to your classpath to cache to Java DB.

The Derby JDBC driver's JAR file is bundled in db-derby-10.17.1.0-bin.zip, which you can download from this page. You can find derbytools.jar in the "lib" subfolder of this zip file.

After adding derbytools.jar to the classpath, you can cache to a Java DB database as follows:

jdbc:quickbooksonline:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:sample';InitiateOAuth=GETANDREFRESH;
To cache to an in-memory database, use a JDBC URL like the following:
jdbc:quickbooksonline:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';InitiateOAuth=GETANDREFRESH;

SQLite

The following is a JDBC URL for the SQLite JDBC driver:

jdbc:quickbooksonline:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';InitiateOAuth=GETANDREFRESH;

MySQL

The following is a JDBC URL for the CData JDBC Driver for MySQL:

  jdbc:quickbooksonline:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';InitiateOAuth=GETANDREFRESH;
  

SQL Server

The following JDBC URL uses the Microsoft JDBC Driver for SQL Server:

jdbc:quickbooksonline:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';InitiateOAuth=GETANDREFRESH;

Oracle

The following is a JDBC URL for the Oracle Thin Client:

jdbc:quickbooksonline:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';InitiateOAuth=GETANDREFRESH;
NOTE: If using a version of Oracle older than 9i, the cache driver will instead be oracle.jdbc.driver.OracleDriver .

PostgreSQL

The following JDBC URL uses the official PostgreSQL JDBC driver:

jdbc:quickbooksonline:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';InitiateOAuth=GETANDREFRESH;

CData Python Connector for QuickBooks Online

CacheConnection

Specifies the connection string for the specified cache database.

Data Type

string

Default Value

""

Remarks

The target cache database is determined by a combination of this connection property and the CacheProvider connection property. Both properties are required to use the specified cache database.

The connection string specified in this connection property is passed directly to the specified in the CacheProvider connection property. Consult the documentation for the specified for more information on its available connection properties.

Examples of common cache database settings can be found below.

SQLite

MySQL

The following are typical connection properties:

  • Server: The IP address or domain name of the server hosting the MySQL database that you want to cache to.
  • Port: The port on the specified server where your MySQL instance is running.
  • Database: The name of the MySQL database that you want to cache to. Must match the name of a MySQL database hosted on the specified server.
  • User: The username of a user registered with the selected MySQL database.
  • Password: The password associated with the specified MySQL user.

SQL Server

The following are typical SQL Server connection properties:

  • Server: The name or network address of the computer running SQL Server. To connect to a named instance instead of the default instance, specify the host name and the instance name, separated by a backslash.
  • Port: The port on the specified server where your SQL Server instance is running.
  • Database: The name of the SQL Server database you want to cache to. Must match the name of a SQL Server database hosted on the specified server.
  • Integrated Security: To use the current Windows account for authentication, set this option to True. To authenticate with User and Password instead, set this option to False.
  • User Id: The username of a user registered with the selected SQL Server database. This property is only needed if you are not using integrated security.
  • Password: The password associated with the specified SQL Server user. This property is only needed if you are not using integrated security.

Oracle

The following are typical connection properties:

  • Data Source: The connect descriptor that identifies the Oracle database. This can be a TNS connect descriptor, an Oracle Net Services name that resolves to a connect descriptor, or, after version 11g, an Easy Connect naming (the host name of the Oracle server with an optional port and service name).

  • User Id: The username of a user registered with the selected Oracle database.
  • Password: The password associated with the specified Oracle user.

PostgreSQL

The following are typical connection properties:

  • Host: The address of the server hosting the PostgreSQL database.
  • Port: The port on the specified host server where your PostgreSQL database is hosted.
  • Database: The name of the PostgreSQL database you want to cache to. Must match the name of a PostgreSQL database hosted on the specified server.
  • User name: The username of a user registered with the selected PostgreSQL database.
  • Password: The password associated with the specified user.

CData Python Connector for QuickBooks Online

CacheLocation

Specifies the path to the cache when caching to a file.

Data Type

string

Default Value

"%APPDATA%\\CData\\QuickBooksOnline Data Provider"

Remarks

The CacheLocation is a simple, file-based cache.

If left unspecified, the default location is %APPDATA%\\CData\\QuickBooksOnline Data Provider, where %APPDATA% is set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Linux ~/.config

See Also

  • AutoCache: Set to implicitly create and maintain a cache for later offline use.
  • CacheMetadata: Set to persist the QuickBooks Online catalog in CacheLocation.

CData Python Connector for QuickBooks Online

CacheTolerance

Notes the tolerance, in seconds, for stale data in the specified cache database. Requires AutoCache to be set to True.

Data Type

int

Default Value

600

Remarks

When you execute a query for tables in the cache, the connector checks the time elapsed since the last update to the cache.

If the last update to the cache is older than the value of this connection property (measured in seconds), the connector refreshes the cache.

Otherwise, the connector returns data directly from the cache.

CData Python Connector for QuickBooks Online

Offline

Gets the data from the specified cache database instead of live QuickBooks Online data.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, all queries execute against the cache database instead of the live QuickBooks Online data.

In this mode, some SQL operations like INSERT, UPDATE, DELETE, and CACHE are disabled.

CData Python Connector for QuickBooks Online

CacheMetadata

Determines whether the provider caches table metadata to a file-based cache database.

Data Type

bool

Default Value

false

Remarks

When this connection property is set to True, as you execute queries, table metadata in the QuickBooks Online catalog is cached to the cache database specified by CacheConnection and CacheProvider, or, if those connection properties are not set, to the user's home directory.

The location of your home directory varies by platform:

PlatformHome Directory
Windows %APPDATA%\\CData\\QuickBooksOnline Data Provider
Mac ~/Library/Application Support/CData/QuickBooksOnline Data Provider
Unix ~/.config/CData/QuickBooksOnline Data Provider

A table's metadata is retrieved only once, when the table is queried for the first time.

When to Use CacheMetadata

When there are a large number of QuickBooks Online tables and columns for the connector to retrieve during metadata discovery, the connector may take a while to list all table metadata.

You may experience slow metadata retrieval when:

  • Your QuickBooks Online instance naturally has a large table count.
  • The connector has been configured, via its connection properties, to discover more tables than it would under its default configuration.
  • You make many short-lived connections to the connector.
With CacheMetadata enabled, all retrieved metadata is mirrored in the cache database. This means that any subsequent attempts by the connector to discover metadata are much faster, as this metadata is then read directly from the cache database, without needing to spend time requesting metadata from QuickBooks Online.

When Not to Use CacheMetadata

The connector automatically persists metadata in memory for up to an hour when you first discover the metadata for a table or view, so CacheMetadata is generally not necessary.

CacheMetadata is not ideal in scenarios where you are working with volatile metadata. The first time you query a table, the connector caches its metadata to the cache database file. This cache is not dynamically updated to reflect updates to the table schema, so you must delete and rebuild the cache database file to pick up new, changed, or deleted columns.

CData Python Connector for QuickBooks Online

Miscellaneous

This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.


PropertyDescription
AllowDuplicateDocNumberSpecifies whether the provider allows duplicate document numbers in transaction records.
ArchiveModeSpecifies whether the provider includes deleted records when executing a SELECT query.
CountryCodeSpecifies the country code for the QuickBooks Online edition you are connecting to.
HideLineTotalsSpecifies whether the provider hides subtotal lines returned in line-item tables.
IncludeCustomFieldsSpecifies whether the provider includes custom fields in query results.
MaxRowsSpecifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
MaxThreadsSpecifies the number of concurrent requests.
OtherSpecifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
PagesizeSpecifies the maximum number of records per page the provider returns when requesting data from QuickBooks Online.
PseudoColumnsSpecifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
ReadonlyToggles read-only access to QuickBooks Online from the provider.
RTKSpecifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.
ThrowMoreDataErrorSpecifies whether to throw an exception when a report's selected range exceeds the allowable limits. The default is false.
TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
UserDefinedViewsSpecifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
CData Python Connector for QuickBooks Online

AllowDuplicateDocNumber

Specifies whether the provider allows duplicate document numbers in transaction records.

Data Type

bool

Default Value

false

Remarks

QuickBooks Online normally requires unique document numbers for transactions such as invoices, sales receipts, bills, deposits, estimates, and journal entries.

Set this property to control how document numbers are handled:

  • When this property is set to false, the connector enforces unique document numbers to match QuickBooks Online rules.
  • When this property is set to true, the connector permits inserting or updating records with duplicate document numbers.

This property applies to INSERT and UPDATE statements and is useful when working with legacy data or external systems that reuse document identifiers.

CData Python Connector for QuickBooks Online

ArchiveMode

Specifies whether the provider includes deleted records when executing a SELECT query.

Data Type

bool

Default Value

false

Remarks

By default, QuickBooks Online only returns active (non-deleted) records.

Set this property to control whether deleted records are included in query results:

  • When this property is set to false, only active records are returned.
  • When this property is set to true, deleted records are also included in query results.

This property applies to the following tables:

CData Python Connector for QuickBooks Online

CountryCode

Specifies the country code for the QuickBooks Online edition you are connecting to.

Possible Values

US, AU, CA, UK

Data Type

string

Default Value

"US"

Remarks

This property identifies the regional edition of QuickBooks Online.

Values include:

  • US – United States
  • UK – United Kingdom
  • AU – Australia
  • CA – Canada

Set this property to match the country edition of your QuickBooks Online company.

CData Python Connector for QuickBooks Online

HideLineTotals

Specifies whether the provider hides subtotal lines returned in line-item tables.

Data Type

bool

Default Value

false

Remarks

In most line-item tables, QuickBooks Online returns at least one subtotal row that is not an actual line item.

Set this property to control whether those subtotal lines are included in query results:

  • When this property is set to false, subtotal lines are included in the results.
  • When this property is set to true, subtotal lines are hidden.

This property is useful when you only want to retrieve actual line items without subtotal or summary rows.

CData Python Connector for QuickBooks Online

IncludeCustomFields

Specifies whether the provider includes custom fields in query results.

Data Type

bool

Default Value

true

Remarks

Custom fields in QuickBooks Online are user-defined fields added to certain entities.

Set this property to control whether those custom fields are included in results:

  • When this property is set to true, custom fields are included.
  • When this property is set to false, custom fields are excluded.

This property is useful when you want to simplify results or improve performance by excluding user-defined fields.

CData Python Connector for QuickBooks Online

MaxRows

Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.

Data Type

int

Default Value

-1

Remarks

The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)

Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.

This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.

CData Python Connector for QuickBooks Online

MaxThreads

Specifies the number of concurrent requests.

Data Type

string

Default Value

"2"

Remarks

This property allows you to issue multiple requests simultaneously, thereby improving performance.

CData Python Connector for QuickBooks Online

Other

Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.

Data Type

string

Default Value

""

Remarks

This property allows advanced users to configure hidden properties for specialized situations, with the advice of our Support team. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. To define multiple properties, use a semicolon-separated list.

Note: It is strongly recommended to set these properties only when advised by the Support team to address specific scenarios or issues.

Caching Configuration

PropertyDescription
CachePartial=TrueCaches only a subset of columns, which you can specify in your query.
QueryPassthrough=TruePasses the specified query to the cache database instead of using the SQL parser of the connector.

Integration and Formatting

PropertyDescription
DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMT=TrueConverts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time).
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.

CData Python Connector for QuickBooks Online

Pagesize

Specifies the maximum number of records per page the provider returns when requesting data from QuickBooks Online.

Data Type

int

Default Value

1000

Remarks

When processing a query, instead of requesting all of the queried data at once from QuickBooks Online, the connector can request the queried data in pieces called pages.

This connection property determines the maximum number of results that the connector requests per page.

Note: Setting large page sizes may improve overall query execution time, but doing so causes the connector to use more memory when executing queries and risks triggering a timeout.

CData Python Connector for QuickBooks Online

PseudoColumns

Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.

Data Type

string

Default Value

""

Remarks

This property allows you to define which pseudocolumns the connector exposes as table columns.

To specify individual pseudocolumns, use the following format:

Table1=Column1;Table1=Column2;Table2=Column3

To include all pseudocolumns for all tables use:

*=*

CData Python Connector for QuickBooks Online

Readonly

Toggles read-only access to QuickBooks Online from the provider.

Data Type

bool

Default Value

false

Remarks

When set to True, the connector allows only SELECT queries. Attempting an INSERT, UPDATE, DELETE, or stored procedure query fails with an error message.

CData Python Connector for QuickBooks Online

RTK

Specifies the runtime key for licensing the provider. If unset or invalid, the provider defaults to the standard licensing method. This property is only required in environments where the standard licensing method is unsupported or requires a runtime key.

Data Type

string

Default Value

""

Remarks

This property is typically unnecessary, as most configurations support a standard licensing mechanism.

Warning: The value of this property takes precedence over all existing licensing information. To avoid licensing errors, ensure the provided runtime key is correct.

CData Python Connector for QuickBooks Online

ThrowMoreDataError

Specifies whether to throw an exception when a report's selected range exceeds the allowable limits. The default is false.

Data Type

bool

Default Value

false

Remarks

This property determines how the connector handles scenarios where the API returns the message: "Unable to display more data. Please reduce the date range." This occurs when the selected range for a report exceeds the API’s limits.

By default, the connector logs a warning message if logging is enabled, but does not interrupt execution.

Setting this property to true instructs the connector to throw an exception in these cases, allowing the application to handle the error programmatically.

Use this property to enforce stricter error handling for large report queries, particularly in scenarios where silent failures or warnings are insufficient.

CData Python Connector for QuickBooks Online

Timeout

Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.

Data Type

int

Default Value

60

Remarks

The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.

Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.

Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.

Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.

CData Python Connector for QuickBooks Online

UserDefinedViews

Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.

Data Type

string

Default Value

""

Remarks

UserDefinedViews allows you to define and manage custom views through a JSON-formatted configuration file called UserDefinedViews.json. These views are automatically recognized by the connector and enable you to execute custom SQL queries as if they were standard database views. The JSON file defines each view as a root element with a child element called "query", which contains the SQL query for the view.

For example:

{
	"MyView": {
		"query": "SELECT * FROM Customers WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}

You can use this property to define multiple views in a single file and specify the filepath. For example:

UserDefinedViews=C:\Path\To\UserDefinedViews.json
When you specify a view in UserDefinedViews, the connector only sees that view.

For further information, see User Defined Views.

CData Python Connector for QuickBooks Online

Third Party Copyrights

LZMA from 7Zip LZMA SDK

LZMA SDK is placed in the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

LZMA2 from XZ SDK

Version 1.9 and older are in the public domain.

Xamarin.Forms

Xamarin SDK

The MIT License (MIT)

Copyright (c) .NET Foundation Contributors

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

NSIS 3.10

Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:

i) changes to the Program, and

ii) additions to the Program;

where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

"Contributor" means any person or entity that distributes the Program.

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

2. GRANT OF RIGHTS

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.

d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.

3. REQUIREMENTS

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;

ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and

iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

4. COMMERCIAL DISTRIBUTION

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

AdoptOpenJDK / Adoptium Temurin JRE 17.0.19_10

Copyright (c) Eclipse Foundation AISBL. All Rights Reserved.

Apache License, Version 2.0

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
  2. You must cause any modified files to carry prominent notices stating that You changed the files; and
  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

Eclipse Distribution License - v 1.0

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Eclipse Public License - v 2.0

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS "Contribution" means:

  • a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and
  • b) in the case of each subsequent Contributor:
    • i) changes to the Program, and
    • ii) additions to the Program;
    where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution "originates" from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works.
"Contributor" means any person or entity that Distributes the Program. "Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions Distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors.

"Derivative Works" shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship.

"Modified Works" shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof.

"Distribute" means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy.

"Source Code" means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Secondary License" means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor.

2. GRANT OF RIGHTS

  • a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works.
  • b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
  • c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
  • d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
  • e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3).

3. REQUIREMENTS 3.1 If a Contributor Distributes the Program in any form, then:

  • a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and
  • b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license:
    • i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
    • ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
    • iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and
    • iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3.
3.2 When the Program is Distributed as Source Code:
  • a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and
  • b) a copy of this Agreement must be included with each copy of the Program.
3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (‘notices') contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices.

4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version.

Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third-party beneficiary rights are created under this Agreement.

Exhibit A – Form of Secondary Licenses Notice "This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}."

Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.

If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

You may add additional accurate notices of copyright ownership.

GNU Classpath

Classpath is distributed under the terms of the GNU General Public License with the following clarification and special exception.

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the java languge, or for a program written in the java programming language it does not affect the licensing for distributing those programs directly.

OpenJDK Assembly Exception

The OpenJDK source code made available by Oracle America, Inc. (Oracle) at openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2 only ("GPL2"), with the following clarification and special exception.

Linking this OpenJDK Code statically or dynamically with other code is making a combined work based on this library. Thus, the terms and conditions of GPL2 cover the whole combination.

As a special exception, Oracle gives you permission to link this OpenJDK Code with certain code licensed by Oracle as indicated at http://openjdk.java.net/legal/exception-modules-2007-05-08.html ("Designated Exception Modules") to produce an executable, regardless of the license terms of the Designated Exception Modules, and to copy and distribute the resulting executable under GPL2, provided that the Designated Exception Modules continue to be governed by the licenses under which they were offered by Oracle.

As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code to build an executable that includes those portions of necessary code that Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 with the Classpath exception). If you modify or add to the OpenJDK code, that new GPL2 code may still be combined with Designated Exception Modules if the new code is made subject to this exception by its copyright holder.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9666