QuickBooks Connection Details
Introduction
Connector Version
This documentation is based on version 25.0.9368 of the connector.
Get Started
QuickBooks Version Support
The connector supports QuickBooks Premier, Professional, Enterprise, and Simple Start. All QuickBooks editions are supported starting from 2002 to the most recent QuickBooks version. In addition, the Canada, New Zealand, Australia, and UK editions are supported starting from 2003. The QuickBooks Point of Sale and QuickBooks for Mac editions are not supported.
Establish a Connection
Connect to QuickBooks
The connector makes requests to QuickBooks through the QuickBooks Gateway. The QuickBooks Gateway runs on the same machine as QuickBooks and accepts connections through a lightweight, embedded Web server. The server supports SSL/TLS, enabling users to connect securely from remote machines. The first time you connect, you will need to authorize the connector with QuickBooks. For more information, refer to our Using the QuickBooks Gateway guide.
Connect to a Local Company File
Follow the steps below to authorize with QuickBooks and connect to a company file when both QuickBooks and the connector are running on your local machine.
-
Open QuickBooks as an administrator and open the company file you want to connect to.
-
Connect to QuickBooks. A dialog will appear in QuickBooks prompting you to authorize the connector. After granting access to the connector, you can now execute commands to QuickBooks.
-
If you want to connect to the company file when QuickBooks is closed, set the CompanyFile connection option when you execute commands. QuickBooks will open automatically in the background with the file specified.
Note that if QuickBooks is open through the application UI, only that CompanyFile can be used.
Use the CData QuickBooks Desktop Gateway
The QuickBooks Desktop Gateway can be used to read and write to QuickBooks in situations where direct COM access to QuickBooks is not available (e.g., ASP.NET, Java, or QuickBooks on a remote machine). Follow the procedure below to connect to QuickBooks for the first time through the Desktop Gateway:
-
If you have not already done so, download the QuickBooks Desktop Gateway from here and install it.
-
Open the company file you want to connect to in QuickBooks using an administrator account in single-user mode.
-
Open the QuickBooks Desktop Gateway from the system tray and add a user on the Users tab. Enter a User and Password and select the level of access in the Data Access menu.
Note: The QuickBooks Desktop Gateway does not use the User and Password properties to access QuickBooks; the User and Password properties authenticate the user. Authentication to QuickBooks is handled by the ApplicationName property.
-
When you first connect, a dialog appears in QuickBooks prompting you to authorize the application. After authorizing, you can execute commands to QuickBooks.
Specify the URL of the Desktop Gateway and the User and Password. By default, the Gateway connects to the currently open company file.
-
If you want to access QuickBooks when QuickBooks is not running, save the company file information for the user. The Desktop Gateway automatically opens QuickBooks in the background with the company file for that user.
Note
If the QuickBooks UI is open, you can only connect to that company file. Additionally, the user permissions you specify for the Desktop Gateway must match the user permissions you used for QuickBooks. The Desktop Gateway installs as a service in the current user account.
How do I Connect to QuickBooks over SSL/TLS?
You can enable SSL/TLS on the Advanced tab.
You also need to send your public key certificate to the connector. You can do so by setting the SSLServerCert property.
Troubleshooting/Advanced
The following sections show how to resolve common connection errors and detail functionality that may be needed in more advanced integrations. Contact the support team for help tracing the source of an error or circumventing a performance issue.
Troubleshooting
Automatic Login Access Denied or Access Denied
Try the following to resolve this error:
- If this error occurs the first time that you connect to a company file, ensure that QuickBooks is open as an administrator in single-user mode. Be sure to open the company file that you want to allow access to.
- The application may have permission to access the company file but not to log in automatically. To allow automatic login, open the company file preferences in QuickBooks by clicking Edit -> Preferences -> Integrated Applications -> Company Preferences and then select the QuickBooks Gateway application. Then, try connecting again.
- In the company file preferences, ensure that the following option is NOT checked: "Don't allow any applications to access this company file".
- Set DelayAfterClose.
Could Not Start QuickBooks
This is the most common error and the solution depends on your specific QuickBooks installation. Follow the steps below to identify several typical causes for this error.
-
Check the log for the QuickBooks request processor, QBSDKLOG.txt. The file is not necessarily in the same directory as QuickBooks. The location of the file depends on the version of QuickBooks and the operating system you are using. The qbsdklog.txt may be in the following locations:
----------------------------------------------------------- ----- C:\Program Files\Common Files\Intuit\QuickBooks C:\ProgramData\Intuit\QuickBooks C:\Documents and Settings\All Users\Intuit\QuickBooks Modify the QBSDK.INI file by appending the following value to the end:
[LOG] LEVEL=verbose UnlimitedSize=YThis ensures that the log is not cleared and that the error message in the QBSDKLOG.txt file is actually captured.
-
Check if the error message in this file matches one of those below:
Fine Tuning Data Access
You can use the following properties to gain more granular control over how the connector surfaces functionality in the QuickBooks API:
- CustomFieldMode: By default, custom fields are displayed and modified as XML values. However, you can also use JSON to work with custom fields.
- IncludeLineItems: By default, line items are returned only when you query a line item table such as InvoiceLineItems. This saves performance when querying base transaction tables such as Invoices. Set this property to true to retrieve line item data when you query the base transaction table.
- IncludeLinkedTxns: By default, the connector does not retrieve linked transactions when you query a base table, similar to IncludeLineItems.
Important Notes
Configuration Files and Their Paths
- All references to adding configuration files and their paths refer to files and locations on the Jitterbit agent where the connector is installed. These paths are to be adjusted as appropriate depending on the agent and the operating system. If multiple agents are used in an agent group, identical files will be required on each agent.
QuickBooks Gateway
The QuickBooks Desktop Gateway is a simple application that facilitates connections to company files from your application. The Desktop Gateway accepts connections via a lightweight embedded Web server that runs on the machine where QuickBooks is installed. The server supports SSL/TLS, enabling users to connect securely from remote machines.
The first time you connect to QuickBooks, you must authorize your application. Complementing the per-application authentication of QuickBooks, the Desktop Gateway has per-user authentication. Before connecting to QuickBooks for the first time, configure at least one Desktop Gateway user.
You can configure users through the UI on the Users tab. You can then follow the procedure in Getting Started to connect an application to QuickBooks. After connecting, you can monitor QuickBooks connections on the Status tab.
It is recommended to configure the Desktop Gateway in the UI, but you can also run the Desktop Gateway from the command line. See the Advanced page to configure the Desktop Gateway when you are not using the UI.
The Desktop Gateway automatically manages the connection to QuickBooks, but you can configure almost every aspect of how users connect to QuickBooks through the Desktop Gateway. The following pages outline the capabilities of the Desktop Gateway and how to get started.
Users
The Users tab provides an interface to add, edit, and delete users. At least one user must be added before communicating with QuickBooks.
This tab displays a list of existing users along with information about the user's configuration.
When adding or editing a user, the following options are available:
User: Sets the username. This is required.Password: Sets the password for the user. This is required when using Basic authentication (default).Authentication: Specifies the type of authentication to perform when the user connects. The Desktop Gateway supports the following authentication methods: | | | |-------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | | | | Basic Authentication (default): | Authenticates the user with a username and password. | | Windows Authentication: | Authenticates the user as a Windows user. In this case, the Password field is not applicable. When the Desktop Gateway receives a connection request, it authenticates the user to Windows using the credentials supplied in the request. |Software: The QuickBooks product you are connecting to.Company File: Specifies the company file with which the application will communicate. By default this is the company file that is currently open in QuickBooks. This can also be set to the absolute path to a company file (.qbw file). A company file must be specified in order to access the company file when QuickBooks is closed.Application Name: Optionally sets the name of the application as seen by QuickBooks. Authentication to QuickBooks is handled based on the provided application name.Data Access: Specifies the allowed access for the user. | | | |----------------|-----------------------------------------------------------------------------------------| | | | | Full: | Allows read and write access for the user. | | Read-only: | Restricts the user to read-only operations, so that QuickBooks data cannot be modified. |
The
Test Connectionbutton provides a quick way to verify that the application can connect with QuickBooks.When a user is added, the Desktop Gateway prompts you to authorize the application with QuickBooks, if necessary.
Import Users
The Import button prompts you to select an .ini file containing one or more user profiles.
Imported .ini files must conform to the following syntax:
[MyUserName] Config1 = Value1 Config2 = Value2 ...The following configurations are available:
Password: Corresponds to the "Password" option in the "Add User" form. Required when using basic authentication.AuthMode: Corresponds to the "Authentication" option in the "Add User" form. Options include:- 0 (corresponds to "Basic Authentication")
- 1 (corresponds to "Windows Authentication")
Software: Corresponds to the "Software" option in the "Add User" form. Options include:- QB Desktop
- QB Point of Sale 10
- QB Point of Sale 11
- QB Point of Sale 12
- QB Point of Sale 18
CompanyFile: Corresponds to the "Company File" option in the "Add User" form.AppName: Corresponds to the "Application Name" option in the "Add User" form.ReadOnly: Corresponds to the "Data Access" option in the "Add User" form. Options include:- 0 (corresponds to "Full")
- 1 (corresponds to "Read-only")
Here is an example configuration:
[TestUser] Password = SamplePassword AuthMode = 0 Software = QB Desktop CompanyFile = C:\Users\test\Documents\samplefile.qbw AppName = Remote Connector ReadOnly = 0Status
The Status tab provides a log of the activity happening with the Desktop Gateway. Logs can be cleared or copied by right-clicking in the Recent Activity window.
You can adjust the detail of the logs to include information useful when troubleshooting: Select the granularity in the Log Mode menu on the Advanced tab. On the Advanced tab, you can also configure the Desktop Gateway to write logs to a file and select the log rotation interval.
Advanced
The Advanced tab enables granular control over the Desktop Gateway's server.
The Desktop Gateway contains an embedded Web server that runs as a Windows service and listens for HTTP requests. Each request contains the XML data to be communicated to QuickBooks, as well as configuration settings specifying how the connection is opened. The Desktop Gateway then communicates with QuickBooks via COM, and returns the QuickBooks response (or an error message) in the HTTP reply.
This chapter details how to control each of these aspects of connecting to QuickBooks through the UI, command-line interface, and the registry. The following sections detail the options available on the Advanced tab.
Log Options
Write Logs to a Folder: Enables or disables writing log files to the specified folder in addition to writing logs to the Status tab.Folder: Specifies the folder where log files are written.Log Rotation: Determines how logs are organized on disk. Creates one file for each day, week, or month, depending on the following values: | | | |----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| | | | | Daily (default): | Uses a new log file every day. Files are written with the format "yyyy_MM_dd.txt". For example, "2013_09_23.txt". | | Weekly: | Uses a new log file every week. Files are written with the format "yyyy_ww.txt". For example, "2013_34.txt", where 34 means this is the 34th week of 2013. | | Monthly: | Uses a new log file every month. Files are written with the format "yyyy_mm.txt". For example, "2013_09.txt". |Log Mode: Sets the verbosity of the log output. In most situations, Info (the default) is sufficient. The Verbose option is helpful for debugging purposes.
IP Options
Port: The port on which the server listens.Allowed Clients: A comma-separated list of host names or IP addresses that can access the server. The wildcard character '*' is supported. If unspecified (default) any client can connect.
Enable Persistent Connections
All communications to QuickBooks company files must first go through QuickBooks. If QuickBooks is closed, this means that for each attempt to connect to the company file, QuickBooks needs to be launched and then closed again. By default the Desktop Gateway queues requests for data and performs the necessary authentication for each request. The following options can be used to override this behavior and keep the connection to the company file alive after the query finishes executing, so further requests will respond more quickly.
Warning: If a user attempts to manually open QuickBooks while a persistent connection is opened, QuickBooks will return an error stating that the company file is already in use.
Enable Persistent Connection: This is disabled by default: Normally your code controls when the connection to QuickBooks is opened and closed by calling the Open and Close methods; however, when this setting is enabled, the Desktop Gateway establishes a persistent connection to QuickBooks even when Open and Close are not used. This allows multiple applications to share the connection and simultaneously access the Desktop Gateway.Idle Timeout: Sets the idle timeout for the persistent connection in seconds. This is only applicable to the persistent connection. If there is no activity within this time window the Desktop Gateway closes the connection.
Enable TLS/SSL
Enable TLS (1.x) to encrypt communication between your application and the Desktop Gateway. TLS/SSL uses digital certificates to protect the confidentiality, integrity, and authenticity of your data: You can generate these certificates on the Advanced tab. Once you have enabled TLS, you will need to send your public key certificate to any connecting applications.
The following options are used to configure TLS/SSL:
Enable TLS: Enables or disables TLS (1.x) communication.Select Certificate: Loads an existing certificate.Generate Certificate: Creates a new certificate.
Loading a certificate displays information about the certificate; the properties of the certificate cannot be set directly. Note: Enabling TLS disables plaintext connections.
Command-Line Interface
In addition to the UI, the Desktop Gateway has a command-line interface that makes it easy to deploy on machines such as Web servers. To facilitate deployment to these environments, the Desktop Gateway contains two executables:
Is your company file on a mapped drive? If so, the QBSDKLOG will contain entries similar to the ones below: 20140623.102658 E 5136 RequestProcessor Unknown QBInstanceFinder error. File Name: "S:\Quickbooks\MyCompanyFile.qbw" hr = 80070057
The solution is to use the network path instead of a mapped drive.20140623.102658 E 5136 RequestProcessor Could not find or create an instance of QuickBooks using InstanceFinder hr = 80040403Does the QBSDKLOG contain many error messages like the one below?
This error can occur if a request is received to start a new QuickBooks instance while the previous QuickBooks instance is closing. Repeated connections to QuickBooks in short succession can cause abnormal behavior. You can set DelayAfterClose to wait before a new connection is opened. You can also reuse the same connection for multiple requests by enabling persistent connections on the Advanced tab in the QuickBooks Gateway and then setting the QBXMLVersion property in the connection string.20140612.145409 I 272 RequestProcessor Previous instance of QB is going down..! Wait and retry to get a new instance.In addition to enabling persistent connections, you can use the following QuickBooks Gateway settings to have more control over starting and stopping the QuickBooks process. When enabled, the QuickBooks Gateway will take steps to resolve connection issues if the conditions below are met. In some scenarios, the QuickBooks Gateway may forcibly end the QuickBooks process. USE THESE SETTINGS WITH CAUTION: CloseAndRetryConnect: Boolean with a default of 'false'. If set to true, the QuickBooks Gateway will attempt to close the QuickBooks process if an error is encountered when the QuickBooks Gateway attempts to launch a new instance of QuickBooks. All other settings are only applicable when this setting is set to true. CloseAndRetryCount: Integer with a default of 3. The number of times to try to close and relaunch QuickBooks. Our developers found that 3 worked in all cases we encountered. CloseAndRetryTimeout: Integer with a default of 30. The number of seconds to wait for the current QuickBooks process to close before trying to connect again. CloseAndRetryErrorList: Comma-separated list of error codes with a default of '0x80040408, 0x80040402'. Specifies a list of error codes that will cause the QuickBooks Gateway to try and forcibly end the QuickBooks process. A value of '*' means all errors. It is not recommended that you change this property unless you have a very specific reason to do so. You can set each of these properties as registry keys in HKEY_LOCAL_MACHINE\SOFTWARE\RemoteConnector. In most situations, only CloseAndRetryConnect needs to be set the True. Restart the QuickBooks Gateway for the changes to take effect. Property Description RemoteConnector.exeProvides the user interface and allows configuration of the application. RemoteConnectorService.exeProcesses requests and performs all interaction with QuickBooks. The syntax for managing the Desktop Gateway Windows service from the command line is as follows:
RemoteConnectorService.exe /Service <Command>The following commands are available:
Property Description InstallInstalls the Windows service. DeleteDeletes the Windows service. StartStarts the Windows service. StopStops the Windows service. StateReports the current state of the Windows service (started or stopped). AutoChanges the Windows service startup type to Automatic. ManualChanges the Windows service startup type to Manual. DisabledChanges the Windows service startup type to Disabled. Registry Keys
All configuration data is read from the registry at "HKEY_LOCAL_MACHINE\SOFTWARE\RemoteConnector". Each user will have a separate subkey with user-specific settings. For instance "HKEY_LOCAL_MACHINE\SOFTWARE\RemoteConnector\User1".
Application-Level Settings
Name Type Description LocalAuth String A randomly generated administrator password that is used for authorization between the user interface and the Windows service. This is only used when authorizing a user configured for Windows authentication to QuickBooks from the user interface. This may be removed or changed if desired. AllowedClients String A comma-separated list of host names or IP addresses that can access the server. The wildcard character '*' is supported (default). If unspecified any client can connect. AuthFlags DWORD Specifies the versions of QuickBooks to which the application can connect. The value is a binary OR of the values below, represented in hex. The default value is "0xF" (all editions are supported). CloseAndRetryConnect DWORD Specifies whether connection retry logic is enabled. When set to 1 (True), if an error is encountered while opening a connection to QuickBooks the application will attempt to stop the QuickBooks process and reconnect. The CloseAndRetryTimeout, CloseAndRetryCount, and CloseAndRetryErrorList settings are applicable when this setting is 1 (True). CloseAndRetryTimeout DWORD Sets the time in seconds that the application will wait for the connection to QuickBooks to be established. The default value is 30 (seconds). If the timeout is reached, the QuickBooks process will be closed and the connection will be retried. Note that this setting should be adjusted with caution. If the timeout is set too low the QuickBooks process may not have time to open normally before reaching the timeout. This setting is only applicable when CloseAndRetryConnect is True. CloseAndRetryCount DWORD Sets the number of times to retry the connection. If an error is encountered while opening a connection to QuickBooks, the application will stop the QuickBooks process and retry until this limit is reached. The default value is 3. This setting is only applicable when CloseAndRetryConnect is True. CloseAndRetryErrorList String Specifies a comma-separated list of QuickBooks error codes on which to retry a connection. If QuickBooks returns an error code listed in this property, the QuickBooks process will be stopped and the connection will be retried. If the error is not in this list the application will return the error as normal. The default value is "0x80040402,0x80040408". Specify the value "*" to indicate all errors. This setting is only applicable when CloseAndRetryConnect is True. QBInstanceFile String Specifies the full path to the QBINSTANCEFINDER file in the QuickBooks installation. For instance: "C:\ProgramData\Intuit\QuickBooks\QBINSTANCEFINDER17.INI". This setting is only applicable when CloseAndRetryConnect is set to True. If the connection retry logic stops the QuickBooks process the specified QBINSTANCEFINDER file will be cleared of any previous entries. QuickBooks uses the QBINSTANCEFINDER file to keep track of open instances, however, in some situations it may not be properly reset after stopping the process. When specified this setting allows the application to properly reset the file after stopping the process. LocalHost String Sets the host name or user-assigned IP interface through which connections are initiated or accepted. In most cases this does not need to be set, as the application will use the default interface on the machine. If you have multiple interfaces, you can specify the interface to use here. For instance, "192.168.1.102". LogEnabled DWORD Enables or disables logging to a file. Logs are always written to the console. The default is 0 (False). LogDir String Sets the path to a folder on disk where log files will be written. This is only applicable if LogEnabled is set to True. LogFormat DWORD Sets how often new log files are created. Possible values are the following: LogLevel DWORD Sets the logging level. Possible values are the following: LogPort DWORD Sets a separate port for logging. Log messages are sent over UDP from RemoteConnectorService.exe to the UI. By default this is the same value as the port defined in the Port option. Set this option to avoid using the same port as another UDP service running on the same machine. Port DWORD Sets the port where the server listens for incoming connections. The default value is 8166. PersistentEnabled DWORD Enables or disables persistent connections to QuickBooks. The default is 0 (False), meaning that your code controls when the connection to QuickBooks is opened and closed by calling the Open and Close methods. However, when this setting is enabled, a persistent connection to QuickBooks is established by the Desktop Gateway even when Open and Close are not used. This is helpful in situations when multiple applications may be simultaneously accessing the Desktop Gateway, because it allows them to share the connection. PersistentIdleTimeout DWORD Sets the idle timeout for the persistent connection in seconds. If there is no activity within this time window, the connection to QuickBooks will be closed. This is only applicable when PersistentEnabled is True. PromptForRegPermissions DWORD Specifies whether to prompt to modify registry permissions when access is not allowed. This is only applicable when saving settings from the UI. RunAsService DWORD Run the application as a service or with the standard run-time permissions. The default value is 1 (True). SSLCertPassword String Sets the password of the SSL certificate. SSLCertStore String Sets the location of the SSL certificate. This may be a path to a file or the name of a Windows certificate store: "MY", "ROOT", "CA", or "SPC". SSLCertSubject String Sets the subject of the SSL certificate. SSLCertType String Sets the type of SSL certificate to use. A certificate must be specified when SSL is enabled. The PFX option signifies a .pfx file on disk. The User option signifies the user's Windows certificate store. The Machine option signifies the Windows certificate store of the machine. SSLEnabled DWORD Sets whether TLS/SSL connections are allowed. The default value is 0 (False). Enabling TLS/SSL disables plaintext connections. Timeout DWORD Sets the operational timeout for connected clients. The default value is 60. UseInteractiveLogon DWORD Sets whether interactive or network logon will authorize users when AuthMode is set to 1 (Windows). In most cases this does not need to be set. This should be set to 1 (True) if your domain controller is Samba. The default value is 0 (False). User-Level Settings
AppName String Sets the name of the application that will be used to provide authentication to QuickBooks when a connection is made. If this value is not set, the Desktop Gateway uses the value provided by the client. CompanyFile String Sets the path to a QuickBooks company file (.qbw). If this is not set, the currently open company file is used. When QuickBooks is not running, this option must be set. Password String Sets the password of the user. This is required when AuthMode is set to 0 (Basic Authentication). The Desktop Gateway application will always store the SHA-256 hash of the password for security. However, this may also be manually set to a plaintext password to allow backward compatibility. AuthMode DWORD Sets the type of authentication to perform when the user connects. From the client side the process of connecting is exactly the same no matter which option you choose. Possible values are the following: Authorized DWORD Specifies whether the AppName has been authorized for the CompanyFile. If 1 (True) the AppName has been authorized with the CompanyFile. This is an indicator used by the application when changing settings in the UI. ConnectionMode String Sets the connection mode for the user. The default is DontCare. In most cases you do not need to set this value. If this is not set, the application will connect in whatever mode QuickBooks is already open in. Possible values are the following: ReadOnly DWORD Specifies whether the user has read-only (1) or full access (0). Advanced Features
This section details a selection of advanced features of the QuickBooks 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".
Proxy
To configure the connector using private agent proxy settings, select the
Use Proxy Settingscheckbox on the connection configuration screen.Query Processing
The connector offloads as much of the SELECT statement processing as possible to QuickBooks and then processes the rest of the query in memory (client-side).
For further information, see Query Processing.
Log
For an overview of configuration settings that can be used to refine 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.
User Defined Views
The QuickBooks connector 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 Jitterbit.
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.
Define 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"Define 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
UserViewsschema by default. To change the name of the schema used for UserViews, reset the UserViewsSchemaName property.Work with User Defined Views
For example, a SQL statement with a user defined view called
UserViews.RCustomersonly 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.
Insert 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#TEMPIn 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>')Note
The connector also supports the use of XML/JSON aggregates.
Example for QuickBooks
For a working example of how temp tables can be used for bulk insert in QuickBooks, please see the following:
// Insert into Invoices table INSERT INTO InvoiceLineItems#TEMP (ItemName, ItemQuantity) VALUES ('Repairs','1') INSERT INTO InvoiceLineItems#TEMP (ItemName, ItemQuantity) VALUES ('Removal','2') INSERT INTO Invoices (CustomerName, Memo, ItemAggregate) VALUES ('Abercrombie, Kristy', 'NUnit Memo', 'InvoiceLineItems#TEMP') // Insert into InvoiceLineItems table INSERT INTO InvoiceLineItems#TEMP (CustomerName, Date, ShipMethod, ShipDate, Memo, Message, DueDate, Other, ItemName, ItemQuantity, ItemRate) VALUES ('Abercrombie, Kristy', '2011-01-01', 'UPS', '2011-01-02', 'NUnit Memo', 'We appreciate your prompt payment.', '2011-01-03', 'Some other data', 'Repairs', '1', '3.50') INSERT INTO InvoiceLineItems#TEMP (CustomerName, Date, ShipMethod, ShipDate, Memo, Message, DueDate, Other, ItemName, ItemQuantity, ItemRate) VALUES ('Abercrombie, Kristy', '2011-01-01', 'UPS', '2011-01-02', 'NUnit Memo', 'We appreciate your prompt payment.', '2011-01-03', 'Some other data', 'Removal', '2', '3.50') INSERT INTO InvoiceLineItems (CustomerName, Date, ShipMethod, ShipDate, Memo, Message, DueDate, Other, ItemName, ItemQuantity, ItemRate) SELECT CustomerName, Date, ShipMethod, ShipDate, Memo, Message, DueDate, Other, ItemName, ItemQuantity, ItemRate InvoiceLineItems#TEMP //Insert into JournalEntry INSERT Into JournalEntries#TEMP (ReferenceNumber, LineAggregate) VALUES ('Setup 13', '<JournalEntryLines> <Row><LineType>Credit</LineType><LineAccount>Retained Earnings</LineAccount><LineAmount>100</LineAmount></Row> <Row><LineType>Credit</LineType><LineAccount>Note Payable - Bank of Anycity</LineAccount><LineAmount>20</LineAmount></Row> <Row><LineType>Debit</LineType><LineAccount>Checking</LineAccount><LineAmount>120</LineAmount></Row> </JournalEntryLines>'); INSERT Into JournalEntries#TEMP (ReferenceNumber, LineAggregate) VALUES ('Setup 14','<JournalEntryLines> <Row><LineType>Credit</LineType><LineAccount>Retained Earnings</LineAccount><LineAmount>100</LineAmount></Row> <Row><LineType>Credit</LineType><LineAccount>Note Payable - Bank of Anycity</LineAccount><LineAmount>20</LineAmount></Row> <Row><LineType>Debit</LineType><LineAccount>Checking</LineAccount><LineAmount>120</LineAmount></Row> </JournalEntryLines>' ); INSERT INTO JournalEntries (ReferenceNumber,LineAggregate) SELECT ReferenceNumber,LineAggregate from JournalEntries#TEMP; //Insert into TimeTracking table INSERT INTO timetracking#TEMP (BillableStatus, Duration, Date, EmployeeId,CustomerId,CustomerName, ServiceItemName, ServiceItemId) Values ('Billable','4:10','2002-09-09', '370000-933272659', '800013DE-1702639725', 'Testing02','Blueprint changess','340000-1071522351'); INSERT INTO timetracking#TEMP (BillableStatus, Duration, Date, EmployeeId,CustomerId,CustomerName, ServiceItemName, ServiceItemId) Values ('Empty','1:10','2002-09-02', '370000-933272659', '800013DE-1702639725', 'Testing02','Blueprint changess','340000-1071522351'); INSERT INTO timetracking (BillableStatus, Duration, Date, EmployeeId,CustomerId,CustomerName, ServiceItemName, ServiceItemId) SELECT BillableStatus, Duration, Date, EmployeeId,CustomerId,CustomerName, ServiceItemName, ServiceItemId from timetracking#TEMP; //Insert into SalesReceipts INSERT INTO SalesReceiptLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Theodor', 'Repairs', 1); INSERT INTO SalesReceipts#TEMP (CustomerName, ItemAggregate) VALUES ('name1', SalesReceiptLineItems#TEMP); INSERT INTO SalesReceipts#TEMP (CustomerName, ItemAggregate) VALUES ('name2',SalesReceiptLineItems#TEMP); INSERT INTO SalesReceipts (CustomerName, ItemAggregate) SELECT CustomerName, ItemAggregate from SalesReceipts#TEMP; //Insert into Bills INSERT INTO BillLineItems#TEMP (ReferenceNumber, ItemName, ItemQuantity) VALUES (1, 'Repairs','1'); INSERT INTO BillLineItems#TEMP (ReferenceNumber, ItemName, ItemQuantity) VALUES (2, 'Removal','2'); INSERT INTO Bills#TEMP (ReferenceNumber, VendorName, Date, ItemAggregate) VALUES (1, 'Cal Telephone', '1/1/2021', 'BillLineItems#TEMP'); INSERT INTO Bills#TEMP (ReferenceNumber, VendorName, Date, ItemAggregate) VALUES (2, 'Cal Telephone', '1/2/2021', 'BillLineItems#TEMP'); INSERT INTO Bills (ReferenceNumber, VendorName, Date, ItemAggregate) select ReferenceNumber, VendorName, Date, ItemAggregate from Bills#TEMP");SSL Configuration
Customize the SSL Configuration
To enable TLS, set the following:
- URL: Prefix the connection string with
https://
With this configuration, 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.
Data Model
The QuickBooks connector models QuickBooks data as an easy-to-use SQL database. There are three parts to the data model: tables, views, and stored procedures.
Tables
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your QuickBooks account.
Common tables include:
Table Description AccountsManages accounts, allowing users to create, update, delete, and query account data. CustomersHandles customers, supporting creation, updates, deletion, and queries for managing customer data effectively. VendorsManages vendors, supporting creation, updates, deletion, and queries for supplier relationship management. InvoicesHandles invoices, supporting creation, updates, deletion, and queries for billing and receivables tracking. BillsHandles the management of bills, including creating, updating, deleting, and querying data for expense tracking. ReceivePaymentsManages receive payment transactions, supporting creation, updates, deletion, and queries for customer payments. ItemsManages items, including creation, updates, deletion, and queries for inventory and service tracking. JournalEntriesHandles journal entries, supporting creation, updates, deletion, and queries for accounting adjustments. EmployeesManages employees, allowing creation, updates, deletion, and queries for employee records and payroll data. PurchaseOrdersHandles purchase orders, supporting creation, updates, deletion, and queries for supplier management. SalesReceiptsHandles sales receipts, supporting creation, updates, deletion, and queries for tracking point-of-sale transactions. CreditMemosManages credit memos, supporting creation, updates, deletion, and queries for issuing and tracking customer credits. EstimatesHandles estimates, including creation, updates, deletion, and queries for tracking potential sales. TimeTrackingManages time tracking events, supporting creation, updates, deletion, and queries for employee or job time entries. DepositsManages deposits, allowing users to create, update, delete, and query financial deposits. TransfersManages transfers, supporting creation, updates, and queries for tracking movement of funds between accounts. CreditCardChargesManages credit card charges, allowing users to create, update, delete, and query financial transactions. CreditCardCreditsManages credit card credits, allowing users to create, update, delete, and query credit transactions for accurate accounting. SalesOrdersHandles sales orders, supporting creation, updates, deletion, and queries for tracking customer orders. PaymentMethodsHandles payment methods, supporting creation, updates, deletion, and queries for payment categorization. Note
During bulk insert operations, the connector only supports multiple values for aggregate columns. Other columns allow single values.
The connector uses the QuickBooks API to process supported filters. The connector processes other filters client-side within the connector.
Stored Procedures
Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard CRUD operations, including exposing QuickBooks reports as tables, merging accounts, and voiding transactions.
Tables
The connector models the data in QuickBooks as a list of tables in a relational database that can be queried using standard SQL statements.
QuickBooks Connector Tables
Name Description AccountsManages QuickBooks Accounts, allowing users to create, update, delete, and query account data. Ensure the QBXML Version is set to 6.0 or higher for updates. BillExpenseItemsManages QuickBooks Bill Expense Line Items, supporting creation, updates, deletions, and queries for detailed expense tracking. BillLineItemsHandles creation, updates, deletion, and querying of individual line items associated with QuickBooks Bills. BillPaymentChecksManages Bill Payment Checks in QuickBooks, including creating, updating, deleting, and querying checks. Requires QBXML Version 6.0 or higher for updates. BillPaymentChecksAppliedToTracks the bill transactions to which Bill Payments are applied, with support for creating, updating, deleting, and querying aggregates. In a Bill Payment, each AppliedTo aggregate represents the Bill transaction to which this part of the payment is being applied. BillPaymentCreditCardsManages QuickBooks Bill Payments made via credit cards, including creation, updates, deletion, and queries. BillPaymentCreditCardsAppliedToTracks the application of credit card payments to specific Bill transactions, supporting creation, updates, deletion, and queries. In a Bill Payment, each AppliedTo aggregate represents the Bill transaction to which this part of the payment is being applied. BillsHandles the management of QuickBooks Bills, including creating, updating, deleting, and querying data for expense tracking. BuildAssembliesManages Build Assembly transactions in QuickBooks, allowing users to insert, update, delete, and query assemblies for inventory management. BuildAssemblyLineItemsSupports creation and querying of individual line items within QuickBooks Build Assembly transactions. CheckExpenseItemsHandles QuickBooks Check Expense Line Items, allowing users to create, update, delete, and query detailed expense records. CheckLineItemsSupports management of individual line items within QuickBooks Checks, including creation, updates, deletion, and queries. ChecksManages QuickBooks Checks, allowing users to create, update, delete, and query check transactions for financial tracking. ClassFacilitates the management of QuickBooks Classes, including creating, updating, deleting, and querying classifications. Updates require QBXML Version 8.0 or higher. CreditCardChargeExpenseItemsHandles QuickBooks Credit Card Charge Expense Line Items, supporting creation, updates, deletion, and detailed queries. CreditCardChargeLineItemsManages individual line items associated with QuickBooks Credit Card Charges, including creation, updates, deletion, and queries. CreditCardChargesManages QuickBooks Credit Card Charges, allowing users to create, update, delete, and query financial transactions. CreditCardCreditExpenseItemsSupports management of expense items associated with QuickBooks Credit Card Credits, including creation, updates, deletion, and queries. CreditCardCreditLineItemsHandles individual line items within QuickBooks Credit Card Credits, supporting creation, updates, deletion, and queries. CreditCardCreditsManages QuickBooks Credit Card Credits, allowing users to create, update, delete, and query credit transactions for accurate accounting. CreditCardRefundsFacilitates the creation and querying of QuickBooks AR Credit Card Refund transactions for managing customer refunds. CreditMemoLineItemsManages individual line items within QuickBooks Credit Memos, allowing creation, updates, deletion, and detailed queries. CreditMemosManages QuickBooks Credit Memos, supporting creation, updates, deletion, and queries for issuing and tracking customer credits. CurrencyHandles QuickBooks currency management, including creation, updates, deletion, and querying of supported currencies. Requires QBXML Version 8.0 or higher, with multi-currency enabled. CustomerContactsManages QuickBooks Customer Contacts, allowing creation, updates, deletion, and queries for customer relationship management. Requires QBXML Version 12.0 or higher and is only available in QuickBooks editions 2016 and above. CustomerMessagesSupports creating, deleting, and querying Customer Messages within QuickBooks to streamline communication. CustomerNotesManages QuickBooks Customer Notes, allowing creation, updates, and queries for tracking customer-specific information. Requires QBXML Version 12.0 or higher. CustomersHandles QuickBooks Customers, supporting creation, updates, deletion, and queries for managing customer data effectively. CustomerShippingAddressesManages multiple shipping addresses for QuickBooks Customers, including creation, updates, deletion, and queries. Requires QBXML Version 12.0 or higher and is supported in QuickBooks 2013 and higher. CustomerTypesFacilitates the management of QuickBooks Customer Types, supporting creation, updates, deletion, and queries to classify customers. DateDrivenTermsSupports the creation, deletion, and querying of QuickBooks Date-Driven Terms for payment and invoice schedules. DepositLineItemsHandles individual line items within QuickBooks Deposits, supporting creation, updates, deletion, and queries. Requires QBXML Version 7.0 or higher. DepositsManages QuickBooks Deposits, allowing users to create, update, delete, and query financial deposits. Requires QBXML Version 7.0 or higher for updates. EmployeeEarningsFacilitates the management of QuickBooks Employee Earnings, supporting creation, updates, deletion, and queries for payroll tracking. EmployeesManages QuickBooks Employees, allowing creation, updates, deletion, and queries for employee records and payroll data. EstimateLineItemsManages individual line items within QuickBooks Estimates, supporting creation, updates, deletion, and queries for sales planning. EstimatesHandles QuickBooks Estimates, including creation, updates, deletion, and queries for tracking potential sales. InventoryAdjustmentLineItemsManages individual line items within QuickBooks Inventory Adjustments, supporting creation and queries for stock control. InventoryAdjustmentsHandles QuickBooks Inventory Adjustments, allowing creation, queries, and deletion to reconcile stock discrepancies. InventorySitesManages QuickBooks Inventory Sites, including creation, updates, deletion, and queries. Available only in QuickBooks Enterprise with Advanced Inventory and QBXML Version 10.0 or higher. InvoiceLineItemsManages individual line items within QuickBooks Invoices, supporting creation, updates, deletion, and queries for billing details. InvoicesHandles QuickBooks Invoices, supporting creation, updates, deletion, and queries for billing and receivables tracking. ItemLineItemsManages individual line items in QuickBooks Items, including creation, updates, deletion, and queries for detailed inventory tracking. ItemReceiptExpenseItemsHandles QuickBooks Item Receipt Expense Line Items, supporting creation, updates, deletion, and queries for purchase expense tracking. ItemReceiptLineItemsManages individual line items within QuickBooks Item Receipts, supporting creation, updates, deletion, and queries for purchase tracking. ItemReceiptsHandles QuickBooks Item Receipts, supporting creation, updates, deletion, and queries for tracking goods received. ItemsManages QuickBooks Items, including creation, updates, deletion, and queries for inventory and service tracking. JobTypesManages QuickBooks Job Types, supporting creation and queries to classify customer jobs for better project tracking. JournalEntriesHandles QuickBooks Journal Entries, supporting creation, updates, deletion, and queries for accounting adjustments. Note: Journal Entry Lines cannot be modified in existing entries. JournalEntryLinesManages individual lines within QuickBooks Journal Entries, supporting creation, updates, deletion, and queries for detailed accounting entries. OtherNamesManages QuickBooks 'Other Name' entities, allowing creation, updates, deletion, and queries for non-customer or vendor names. PaymentMethodsHandles QuickBooks Payment Methods, supporting creation, updates, deletion, and queries for payment categorization. PayrollNonWageItemsQueries non-wage payroll items in QuickBooks, providing insight into additional payroll expenses or deductions. PayrollWageItemsManages QuickBooks Wage Payroll Items, supporting creation and queries to streamline wage-based payroll processing. PriceLevelPerItemManages Per-Item Price Levels in QuickBooks, allowing creation and queries of individual item pricing for specific customers. Available in QuickBooks Premier and Enterprise with QBXML Version 4.0 or higher. In addition to adding Per-Item Price Levels, you can also add Price Levels from this table. To delete Price Levels, you must use the PriceLevels table. PriceLevelsHandles QuickBooks Price Levels, supporting creation, deletion, and queries for fixed-percentage pricing adjustments to a wide range of customers or items. You can add and delete Price Levels from this table, but you can only add fixed-percentage Price Levels. To add more specific per-item price levels, use the PriceLevelPerItem table. This table requires QBXML Version 4.0 or higher. PurchaseOrderLineItemsManages individual line items in QuickBooks Purchase Orders, supporting creation, updates, deletion, and queries for procurement tracking. PurchaseOrdersHandles QuickBooks Purchase Orders, supporting creation, updates, deletion, and queries for supplier management. ReceivePaymentsManages QuickBooks Receive Payment transactions, supporting creation, updates, deletion, and queries for customer payments. Requires QBXML Version 6.0 or higher. ReceivePaymentsAppliedToTracks individual transactions to which a QuickBooks Receive Payment is applied, supporting creation, updates, and queries. In a Receive Payment, each AppliedTo aggregate represents the transaction to which this part of the payment is being applied. Requires QBXML Version 6.0 or higher. SalesOrderLineItemsManages individual line items in QuickBooks Sales Orders, supporting creation, updates, deletion, and queries for order management. SalesOrdersHandles QuickBooks Sales Orders, supporting creation, updates, deletion, and queries for tracking customer orders. SalesReceiptLineItemsManages individual line items in QuickBooks Sales Receipts, supporting creation, updates, deletion, and queries for detailed sales tracking. SalesReceiptsHandles QuickBooks Sales Receipts, supporting creation, updates, deletion, and queries for tracking point-of-sale transactions. SalesRepsManages QuickBooks Sales Representatives, allowing creation, updates, deletion, and queries for tracking sales activities. SalesTaxCodesHandles QuickBooks Sales Tax Codes, supporting creation, updates, deletion, and queries for tax categorization. SalesTaxItemsManages QuickBooks Sales Tax Items, supporting creation, updates, deletion, and queries for tax calculations on invoices and sales. ShippingMethodsManages QuickBooks Shipping Methods, supporting creation, updates, deletion, and queries for shipping-related information. StandardTermsHandles QuickBooks Standard Terms, allowing creation, updates, deletion, and queries for payment terms configuration. StatementChargesManages QuickBooks Statement Charges, supporting creation, updates, deletion, and queries for customer billing statements. TimeTrackingManages QuickBooks Time Tracking events, supporting creation, updates, deletion, and queries for employee or job time entries. ToDoHandles QuickBooks To-Do entries, supporting creation, updates, deletion, and queries for task management. TransferInventoryManages QuickBooks Inventory Transfers, supporting queries and deletion for inventory movement tracking. Available in QuickBooks Enterprise with Advanced Inventory. TransferInventoryLineItemsHandles individual line items within QuickBooks Inventory Transfers, supporting creation and queries for detailed inventory tracking. TransfersManages QuickBooks Transfers, supporting creation, updates, and queries for tracking movement of funds between accounts. Requires QBXML Version 12.0 or higher. UnitOfMeasureHandles QuickBooks Units of Measure, supporting creation, updates, deletion, and queries. Requires QBXML Version 7.0 or higher. UnitOfMeasureDefaultUnitsManages default units within QuickBooks Units of Measure, supporting creation and queries for streamlined measurement configurations. Requires QBXML Version 7.0 or higher. UnitOfMeasureRelatedUnitsHandles related units in QuickBooks Units of Measure, supporting creation and queries for complex measurement systems. Requires QBXML Version 7.0 or higher. VehicleMileageManages QuickBooks Vehicle Mileage, supporting creation, updates, deletion, and queries for mileage tracking. Requires QBXML Version 6.0 or higher. VendorCreditExpenseItemsHandles QuickBooks Vendor Credit Expense Items, supporting creation, updates, deletion, and queries for tracking expenses linked to vendor credits. VendorCreditLineItemsManages individual line items in QuickBooks Vendor Credits, supporting creation, updates, deletion, and queries for detailed vendor credit tracking. VendorCreditsHandles QuickBooks Vendor Credits, supporting creation, updates, deletion, and queries for managing vendor refunds or adjustments. VendorsManages QuickBooks Vendors, supporting creation, updates, deletion, and queries for supplier relationship management. VendorTypesHandles QuickBooks Vendor Types, allowing creation, updates, deletion, and queries for categorizing vendors. WorkersCompCodeLinesQueries QuickBooks Workers Compensation Code details by line item, providing insight into specific payroll classifications. WorkersCompCodesQueries QuickBooks Workers Compensation Codes, providing an overview of payroll classifications. Requires QBXML Version 7.0 or higher. Accounts
Manages QuickBooks Accounts, allowing users to create, update, delete, and query account data. Ensure the QBXML Version is set to 6.0 or higher for updates.
Table Specific Information
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Accounts are Id, Name, Type, IsActive, and TimeModified. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Accounts WHERE Name LIKE '%Bank%' AND TimeModified > '1/1/2011' AND TimeModified < '2/1/2011'Insert
To add an Account, specify the Name and Type fields.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to the account in QuickBooks. This value is required and serves as a primary key. NameStringFalse 31 The name of the account. This must have a value when inserting a new account and is used for identification in QuickBooks. FullNameStringTrue 1000 The complete hierarchical name of the account, including all parent accounts, formatted as Parent:AccountName. TypeStringFalse 100 The type of the account, such as Expense, Income, or Bank. Defines the account's role in financial transactions. The allowed values are AccountsPayable, AccountsReceivable, Bank, CostOfGoodsSold, CreditCard, Equity, Expense, FixedAsset, Income, LongTermLiability, NonPosting, OtherAsset, OtherCurrentAsset, OtherCurrentLiability, OtherExpense, OtherIncome. SpecialTypeStringTrue 100 Specifies the special account type in QuickBooks, if applicable, such as Accounts Receivable or Accounts Payable. The allowed values are AccountsPayable, AccountsReceivable, CondenseItemAdjustmentExpenses, CostOfGoodsSold, DirectDepositLiabilities, Estimates, ExchangeGainLoss, InventoryAssets, ItemReceiptAccount, OpeningBalanceEquity, PayrollExpenses, PayrollLiabilities, PettyCash, PurchaseOrders, ReconciliationDifferences, RetainedEarnings, SalesOrders, SalesTaxPayable, UncategorizedExpenses, UncategorizedIncome, UndepositedFunds. NumberStringFalse The account number, typically used for bank accounts or other numeric identifiers. BalanceDoubleTrue The total balance of the account, including amounts from all associated subaccounts. AccountBalanceDoubleTrue The balance of the account itself, excluding balances from any subaccounts. BankAccountStringFalse The bank account number or an identifying note for this account, used for reference in banking transactions. DescriptionStringFalse 200 A detailed textual description of the account, used to provide additional context or notes. IsActiveBooleanFalse Indicates whether the account is currently active and available for use in QuickBooks. ParentNameStringFalse References the name of the parent account. If specified, this account is treated as a subaccount of the parent. ParentIdStringFalse Accounts.ID 255 References the unique identifier of the parent account. If specified, this account is treated as a subaccount or job under the parent. SublevelIntegerTrue Indicates the hierarchical level of the account. The value represents the number of ancestor accounts. CurrencyNameStringFalse 64 The name of the currency used for the account. Requires a minimum QBXML version of 8.0. CurrencyIdStringFalse Currency.ID 255 The unique identifier of the currency assigned to the account. Requires a minimum QBXML version of 8.0. CashFlowClassificationStringTrue Indicates how the account is classified for cash flow reporting. Possible values include None, Operating, Investing, Financing, or NotApplicable. TaxLineNameStringTrue 256 The name of the tax form line associated with this account, if any. Check CompanyInfo for details on the tax form used in the company file. TaxLineIdStringFalse 255 The unique identifier of the tax form line associated with this account, if any. Requires QBXML version 7.0 or later to modify. TimeModifiedDatetimeTrue The timestamp of the last modification made to the account in QuickBooks. TimeCreatedDatetimeTrue The timestamp of when the account was initially created in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description OpeningBalanceStringThe initial balance of the account, typically set during account creation. Defaults to 0 if not specified. OpeningDateStringThe date associated with the opening balance of the account. Used only when creating new accounts in QuickBooks. BillExpenseItems
Manages QuickBooks Bill Expense Line Items, supporting creation, updates, deletions, and queries for detailed expense tracking.
Table Specific Information
Bills may be inserted, queried, or updated via the Bills, BillExpenseItems, or BillLineItems tables. Bills may be deleted by using the Bills table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Bills are Id, Date, ReferenceNumber, VendorName, VendorId, AccountsPayable, AccountsPayableId, IsPaid, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Bills WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
You can also use Bills and BillExpenseItems to insert a Bill.
To add a Bill, specify a Vendor, Date, and at least one Expense or Line Item. All Expense Line Item columns can be used for inserting multiple expense Line Items for a new Bill transaction. For example, the following will insert a new Bill with two Expense Line Items:
INSERT INTO BillExpenseItems#TEMP (VendorName, Date, ExpenseAccount, ExpenseAmount) VALUES ('Cal Telephone', '1/1/2011', 'Utilities:Telephone', 52.25) INSERT INTO BillExpenseItems#TEMP (VendorName, Date, ExpenseAccount, ExpenseAmount) VALUES ('Cal Telephone', '1/1/2011', 'Professional Fees:Accounting', 235.87) INSERT INTO BillExpenseItems (VendorName, Date, ExpenseAccount, ExpenseAmount) SELECT VendorName, Date, ExpenseAccount, ExpenseAmount FROM BillExpenseItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the expense line item in the format BillId|ExpenseLineId, combining the bill and expense line information. BillIdStringFalse Bills.ID 255 The unique identifier for the bill associated with this transaction. VendorNameStringFalse 1000 The name of the vendor for this transaction. Either VendorName or VendorId must be provided when inserting. VendorIdStringFalse Vendors.ID 255 The unique identifier for the vendor associated with this transaction. Either VendorName or VendorId must be provided when inserting. ReferenceNumberStringFalse 21 The reference number for the transaction, used for tracking and identification. DateDateFalse The date of the transaction. If set in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. TxnNumberIntegerTrue A manually assigned transaction number that identifies this transaction separately from the Quickbooks generated ID. DueDateDateFalse The date when payment for this bill is due. TermsStringFalse 100 The payment terms associated with this bill, such as Net30 or COD. TermsIdStringFalse 255 The unique identifier for the payment terms associated with this bill. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with this bill. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier for the accounts payable account associated with this bill. AmountDecimalTrue The total amount of the transaction, calculated by QuickBooks based on the line items or expense line items. MemoStringFalse 5000 A memo providing additional details about the transaction. IsPaidBooleanTrue Indicates whether this bill has been paid. Returns true if paid, otherwise false. IsTaxIncludedBooleanFalse Specifies whether tax is included in the transaction amount. This field is available only in international editions of QuickBooks. ExpenseLineIdStringTrue 255 The unique identifier for the specific expense line item. ExpenseLineNumberStringTrue 255 The line number associated with this expense within the transaction. ExpenseAccountStringFalse 1000 The name of the account associated with this expense line. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAccountIdStringFalse Accounts.ID 255 The unique identifier for the account associated with this expense line. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAmountDecimalFalse The total monetary amount for this specific expense line. ExpenseBillableStatusStringFalse 13 The billing status of the expense line, such as Billable or Non-Billable. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. ExpenseCustomerStringFalse 1000 The name of the customer associated with this expense line. ExpenseCustomerIdStringFalse Customers.ID 255 The unique identifier for the customer associated with this expense line. ExpenseClassStringFalse 1000 The class name associated with this expense, used for categorization. ExpenseClassIdStringFalse Class.ID 255 The unique identifier for the class associated with this expense. ExpenseMemoStringFalse 5000 A memo providing details about this specific expense line. ExpenseTaxCodeStringFalse 3 The tax code associated with this expense line, indicating whether it is taxable or non-taxable. ExpenseTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the tax code associated with this expense line. ExpenseCustomFieldsStringTrue Custom fields defined for this specific expense line item. ExchangeRateDoubleFalse The exchange rate applied to convert this transaction's currency to the home currency of the QuickBooks company file. TimeModifiedDatetimeTrue The timestamp of the last modification made to the bill. TimeCreatedDatetimeTrue The timestamp of when the bill was created. OpenAmountDecimalTrue The current outstanding balance for the vendor associated with this bill. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description LinkToTxnIdStringThe identifier of a transaction, such as a purchase order, to link this bill to. This must be an open transaction, and linking requires a minimum QBXML Version 4.0. BillLineItems
Handles creation, updates, deletion, and querying of individual line items associated with QuickBooks Bills.
Table Specific Information
Bills may be inserted, queried, or updated via the Bills, BillExpenseItems, or BillLineItems tables. Bills may be deleted by using the Bills table.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Bills are Id, Date, ReferenceNumber, VendorName, VendorId, AccountsPayable, AccountsPayableId, IsPaid, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Bills WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
You can also use Bills and BillExpenseItems to insert a Bill.
To add a Bill, specify a Vendor, Date, and at least one Expense or Line Item. All Line Item columns can be used for inserting multiple Line Items for a new Bill transaction. For example, the following will insert a new Bill with two Line Items:
INSERT INTO BillLineItems#TEMP (VendorName, Date, ItemName, ItemQuantity) VALUES ('Cal Telephone', '1/1/2011', 'Repairs', 1) INSERT INTO BillLineItems#TEMP (VendorName, Date, ItemName, ItemQuantity) VALUES ('Cal Telephone', '1/1/2011', 'Removal', 2) INSERT INTO BillLineItems (VendorName, Date, ItemName, ItemQuantity) SELECT VendorName, Date, ItemName, ItemQuantity FROM BillLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the line item in the format BillId|ItemLineId, combining the bill and line item information. BillIdStringFalse Bills.ID 255 The unique identifier for the bill associated with this transaction. VendorNameStringFalse 1000 The name of the vendor for this transaction. Either VendorName or VendorId must be provided when inserting. VendorIdStringFalse Vendors.ID 255 The unique identifier for the vendor associated with this transaction. Either VendorName or VendorId must be provided when inserting. ReferenceNumberStringFalse 21 The reference number for the transaction, used for tracking and identification. DateDateFalse The date of the transaction. If set in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. TxnNumberIntegerTrue A manually assigned transaction number that identifies this transaction separately from the Quickbooks generated ID. DueDateDateFalse The date when payment for this bill is due. TermsStringFalse 100 The payment terms associated with this bill, such as Net30 or COD. TermsIdStringFalse 255 The unique identifier for the payment terms associated with this bill. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with this bill. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier for the accounts payable account associated with this bill. AmountDecimalTrue The total amount of the transaction, calculated by QuickBooks based on the line items. MemoStringFalse 5000 A memo providing additional details about the transaction. IsPaidBooleanTrue Indicates whether this bill has been paid. Returns true if paid, otherwise false. IsTaxIncludedBooleanFalse Specifies whether tax is included in the transaction amount. This field is available only in international editions of QuickBooks. ItemLineIdStringTrue 255 The unique identifier for the specific line item. ItemLineNumberStringTrue 255 The line number of this item within the transaction. ItemNameStringFalse The name of the item listed in this transaction. ItemIdStringFalse Items.ID 255 The unique identifier for the item listed in this transaction. ItemGroupStringFalse 100 The name of the item group this line item belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier for the item group this line item belongs to, if applicable. ItemDescriptionStringFalse 5000 A detailed description of the item listed in this transaction. ItemQuantityDoubleFalse The quantity of the item or item group specified in this line. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item as defined in the company's settings. Requires QBXML version 7.0 or above. ItemCostDoubleFalse The cost per unit of the item listed in this transaction. ItemAmountDecimalFalse The total amount for this item line, calculated as quantity multiplied by cost. ItemBillableStatusStringFalse 13 The billing status of the item, such as Billable or Non-Billable. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ItemCustomerStringFalse 1000 The name of the customer associated with this item line. ItemCustomerIdStringFalse Customers.ID 255 The unique identifier for the customer associated with this item line. ItemInventorySiteIdStringFalse InventorySites.ID 31 The unique identifier for the inventory site where this item is stored. Requires QBXML version 10.0 and the Advanced Inventory add-on. ItemInventorySiteNameStringFalse 255 The name of the inventory site where this item is stored. Requires QBXML version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationIdStringFalse 31 The unique identifier for the location within the inventory site for this item. Requires QBXML version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationNameStringFalse 255 The name of the location within the inventory site for this item. Requires QBXML version 10.0 and the Advanced Inventory add-on. ItemSerialNumberStringFalse 5000 The serial number of the item, if applicable. Requires QBXML version 11.0 and the Advanced Inventory add-on. ItemLotNumberStringFalse 40 The lot number of the item, if applicable. Requires QBXML version 11.0 and the Advanced Inventory add-on. ItemClassStringFalse 1000 The name of the class associated with this item, used for categorization. ItemClassIdStringFalse Class.ID 255 The unique identifier for the class associated with this item. ItemTaxCodeStringFalse 3 The tax code indicating whether the item is taxable or non-taxable. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the tax code associated with this item. ItemCustomFieldsStringFalse Custom fields defined for this specific line item. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number of this item. Requires QBXML version 16.0 or above. CurrencyNameStringFalse 64 The name of the currency used for this bill. CurrencyIdStringFalse Currency.ID 1000 The unique identifier for the currency used for this bill. ExchangeRateDecimalFalse The exchange rate used to convert the currency of this bill to the company's home currency. TimeModifiedDatetimeTrue The timestamp of the last modification made to the bill. TimeCreatedDatetimeTrue The timestamp of when the bill was created. OpenAmountDecimalTrue The current outstanding balance for the vendor associated with this bill. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description LinkToTxnIdStringThe unique identifier of a transaction, such as a purchase order, to link this bill to. This must be an open transaction and requires QBXML version 4.0. ItemOverrideAccountStringThe name of the account used to override the default account for the item. Available only during inserts and updates. ItemOverrideAccountIdStringThe unique identifier of the account used to override the default account for the item. Available only during inserts and updates. BillPaymentChecks
Manages Bill Payment Checks in QuickBooks, including creating, updating, deleting, and querying checks. Requires QBXML Version 6.0 or higher for updates.
Table Specific Information
BillPaymentChecks may be inserted, queried, or updated via the BillPaymentChecks or BillPaymentChecksAppliedTo tables. BillPaymentChecks may be deleted by using the BillPaymentChecks table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for BillPaymentChecks are Id, Date, ReferenceNumber, PayeeName, PayeeId, AccountsPayable, AccountsPayableId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM BillPaymentChecks WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a BillPaymentCheck, specify a Payee and BankAccount. The Payee must match the Vendor associated with the Bill you are adding a payment for. The AppliedToAggregate column may be used to specify an XML aggregate of AppliedTo data. The columns that may be used in these aggregates are defined in the BillPaymentChecksAppliedTo table and it starts with AppliedTo. For example, the following will insert a new BillPaymentCheck with two AppliedTo entries:
INSERT INTO BillPaymentChecks (PayeeName, BankAccountName, AppliedToAggregate) VALUES ('Vu Contracting', 'Checking', '<BillPaymentChecksAppliedTo> <Row><AppliedToRefId>178C1-1450221347</AppliedToRefId><AppliedToAmount>20.00</AppliedToAmount></Row> <Row><AppliedToRefId>178C1-1450221347</AppliedToRefId><AppliedToAmount>51.25</AppliedToAmount></Row> </BillPaymentChecksAppliedTo>')AppliedToRefId is a reference to a BillId and can be found in Bills, BillLineItems, or BillExpenseItems.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the bill payment transaction in QuickBooks. PayeeNameStringFalse 1000 The name of the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required when inserting. PayeeIdStringFalse Vendors.ID 255 The unique identifier for the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required when inserting. ReferenceNumberStringFalse 21 The reference number for the transaction, used for identification and tracking. TxnNumberIntTrue A manually assigned transaction number for identifying this payment separately from the Quickbooks generated ID. DateDateFalse The date of the transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. AmountDecimalTrue The total amount of the bill payment. This value is calculated by QuickBooks based on the associated line items or expense line items. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with this transaction. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier for the accounts payable account associated with this transaction. BankAccountNameStringFalse 1000 The name of the bank account from which funds are drawn for this bill payment. Applicable only for the check payment method. BankAccountIdStringFalse Accounts.ID 255 The unique identifier for the bank account from which funds are drawn for this bill payment. Applicable only for the check payment method. IsToBePrintedBooleanFalse Indicates whether the transaction is marked as 'To Be Printed' in QuickBooks. If true, the 'To Be Printed' box in the user interface is checked. The default value is false. MemoStringFalse 5000 A memo or note associated with the transaction, visible on internal reports. AppliedToAggregateStringFalse 5000 An aggregate of data showing which bills the payment is applied to. Used for adding a bill payment check and its associated data. ExchangeRateDoubleFalse The currency exchange rate used to convert this payment's currency to the company's home currency. AmountInHomeCurrencyDoubleTrue The total amount of the payment converted to the company's home currency. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. TimeModifiedDatetimeTrue The timestamp of the last modification made to this bill payment. TimeCreatedDatetimeTrue The timestamp of when this bill payment was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description AppliedTo\*StringRepresents all applied-to-specific columns that can be used during insertion to specify details about which bills the payment applies to. BillPaymentChecksAppliedTo
Tracks the bill transactions to which Bill Payments are applied, with support for creating, updating, deleting, and querying aggregates. In a Bill Payment, each AppliedTo aggregate represents the Bill transaction to which this part of the payment is being applied.
Table Specific Information
BillPaymentChecks may be inserted, queried, or updated via the BillPaymentChecks or BillPaymentChecksAppliedTo tables. BillPaymentChecks may be deleted by using the BillPaymentChecks table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for BillPaymentChecks are Id, Date, ReferenceNumber, PayeeName, PayeeId, AccountsPayable, AccountsPayableId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM BillPaymentChecksAppliedTo WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a BillPaymentCheck entry, specify the Payee and BankAccount fields. The Payee must match the Vendor associated with the Bill you are adding a payment for. All AppliedTo columns can be used to explicitly identify the Bills being paid. For example, the following will insert a new BillPaymentCheck with two AppliedTo entries:
INSERT INTO BillPaymentChecksAppliedTo#TEMP (PayeeName, BankAccountName, AppliedToRefId, AppliedToAmount) VALUES ('Vu Contracting', 'Checking', '178C1-1450221347', 20.00) INSERT INTO BillPaymentChecksAppliedTo#TEMP (PayeeName, BankAccountName, AppliedToRefId, AppliedToAmount) VALUES ('Vu Contracting', 'Checking', '881-933371709', 51.25) INSERT INTO BillPaymentChecksAppliedTo (PayeeName, BankAccountName, AppliedToRefId, AppliedToAmount) SELECT PayeeName, BankAccountName, AppliedToRefId, AppliedToAmount FROM BillPaymentChecksAppliedTo#TEMPAppliedToRefId is a reference to a BillId and can be found in Bills, BillLineItems, or BillExpenseItems.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the applied-to entry, formatted as BillPaymentId|AppliedToId. BillPaymentIdStringFalse BillPaymentChecks.ID 255 The unique identifier for the bill payment transaction associated with this applied-to entry. PayeeNameStringFalse 1000 The name of the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required and must match the vendor associated with the bill being paid when inserting. PayeeIdStringFalse Vendors.ID 255 The unique identifier for the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required and must match the vendor associated with the bill being paid when inserting. ReferenceNumberStringFalse 21 The reference number for the transaction, used for identification and tracking. TxnNumberIntTrue A manually assigned transaction number for identifying this payment separately from the Quickbooks generated ID. DateDateFalse The date of the transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with this transaction. AccountsPayableIdStringFalse 255 The unique identifier for the accounts payable account associated with this transaction. BankAccountIdStringFalse 255 The unique identifier for the bank account from which funds are drawn for this bill payment. Applicable only for the check payment method. BankAccountNameStringFalse 1000 The name of the bank account from which funds are drawn for this bill payment. Applicable only for the check payment method. IsToBePrintedBooleanFalse Indicates whether the transaction is marked as 'To Be Printed' in QuickBooks. If true, the 'To Be Printed' box in the user interface is checked. The default value is false. MemoStringFalse 5000 A memo or note associated with the transaction, visible on internal reports. ExchangeRateDoubleFalse The currency exchange rate used to convert this payment's currency to the company's home currency. AmountInHomeCurrencyDoubleTrue The total amount of the payment converted to the company's home currency. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. AppliedToRefIdStringFalse 255 The unique identifier for the bill to which this payment is being applied. Found in the Bills table. AppliedToAmountDecimalFalse The amount of the payment being applied to the bill. AppliedToBalanceRemainingDecimalTrue The remaining balance of the bill after this payment is applied. AppliedToCreditAmountDecimalFalse The amount of credit being applied to the bill. AppliedToCreditMemoIdStringFalse 255 The unique identifier for the credit memo being applied to the bill. AppliedToDiscountAccountIdStringFalse 255 The unique identifier for the discount account being applied to the bill. AppliedToDiscountAccountNameStringFalse 1000 The name of the discount account being applied to the bill. AppliedToDiscountAmountDecimalFalse The discount amount being applied to the bill. AppliedToPaymentAmountDecimalFalse The specific payment amount being applied to the bill. AppliedToReferenceNumberStringTrue 21 The reference number associated with the bill being paid. AppliedToTxnDateDateTrue The date of the transaction being applied. AppliedToTxnTypeStringTrue 100 The type of transaction being applied, such as Bill or CreditMemo. TimeModifiedDatetimeTrue The timestamp of the last modification made to the bill payment. TimeCreatedDatetimeTrue The timestamp of when the bill payment was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description AppliedToCreditAppliedAmountStringThe amount of credit applied to the bill during this transaction. BillPaymentCreditCards
Manages QuickBooks Bill Payments made via credit cards, including creation, updates, deletion, and queries.
Table Specific Information
BillPaymentCreditCards may be inserted, queried, or updated via the BillPaymentCreditCards or BillPaymentCreditCardsAppliedTo tables. BillPaymentCreditCards may be deleted by using the BillPaymentCreditCards table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for BillPaymentCreditCards are Id, Date, ReferenceNumber, PayeeName, PayeeId, AccountsPayable, AccountsPayableId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM BillPaymentCreditCards WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a BillPaymentCreditCard, specify a Payee and CreditCard. The Payee must match the Vendor associated with the Bill you are adding a payment for. The AppliedToAggregate column may be used to specify an XML aggregate of AppliedTo data. The columns that may be used in these aggregates are defined in the BillPaymentCreditCardsAppliedTo table and it starts with AppliedTo. For example, the following will insert a new BillPaymentCreditCard with two AppliedTo entries:
INSERT INTO BillPaymentCreditCard (PayeeName, CreditCardName, AppliedToAggregate) VALUES ('Vu Contracting', 'CalOil Credit Card', '<BillPaymentCreditCardsAppliedTo> <Row><AppliedToRefId>178C1-1450221347</AppliedToRefId><AppliedToAmount>20.00</AppliedToAmount></Row> <Row><AppliedToRefId>881-933371709</AppliedToRefId><AppliedToAmount>51.25</AppliedToAmount></Row> </BillPaymentCreditCardsAppliedTo>')AppliedToRefId is a reference to a BillId and can be found in Bills, BillLineItems, or BillExpenseItems.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the bill payment transaction. PayeeNameStringFalse 1000 The name of the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required. PayeeIdStringFalse Vendors.ID 255 The unique identifier for the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required. ReferenceNumberStringFalse 21 The reference number for the transaction, used for identification and tracking. TxnNumberIntTrue A manually assigned transaction number for identifying this payment separately from the Quickbooks generated ID. DateDateFalse The date of the transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. AmountDecimalTrue The total amount of the bill payment. This value is calculated by QuickBooks based on the associated line items or expense line items. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with this transaction. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier for the accounts payable account associated with this transaction. CreditCardNameStringFalse 1000 The name of the credit card account this payment is charged to. Applicable only for credit card payment methods. CreditCardIdStringFalse 255 The unique identifier for the credit card account this payment is charged to. Applicable only for credit card payment methods. MemoStringFalse 5000 A memo or note associated with the transaction, visible on internal reports. AppliedToAggregateStringFalse 5000 An aggregate of data showing which bills the payment is applied to. Used for adding a bill payment credit card and its associated data. ExchangeRateDoubleFalse The currency exchange rate used to convert this payment's currency to the company's home currency. AmountInHomeCurrencyDoubleTrue The total amount of the payment converted to the company's home currency. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. TimeModifiedDatetimeTrue The timestamp of the last modification made to this bill payment. TimeCreatedDatetimeTrue The timestamp of when this bill payment was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description AppliedTo\*StringRepresents all applied-to-specific columns that can be used during insertion to specify details about which bills the payment applies to. BillPaymentCreditCardsAppliedTo
Tracks the application of credit card payments to specific Bill transactions, supporting creation, updates, deletion, and queries. In a Bill Payment, each AppliedTo aggregate represents the Bill transaction to which this part of the payment is being applied.
Table Specific Information
BillPaymentCreditCards may be inserted, queried, or updated via the BillPaymentCreditCards or BillPaymentCreditCardsAppliedTo tables. BillPaymentCreditCards may be deleted by using the BillPaymentCreditCards table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for BillPaymentCreditCards are Id, Date, ReferenceNumber, PayeeName, PayeeId, AccountsPayable, AccountsPayableId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM BillPaymentCreditCardsAppliedTo WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
You can also use BillPaymentCreditCards to insert a BillPaymentCreditCard.
To add a BillPaymentCreditCard, specify a Payee and CreditCard. The Payee must match the Vendor associated with the Bill you are adding a payment for. All AppliedTo columns can be used to explicitly identify the Bills being paid. For example, the following will insert a new BillPaymentCreditCard with two AppliedTo entries:
INSERT INTO BillPaymentCreditCardsAppliedTo#TEMP (PayeeName, CreditCardName, AppliedToRefId, AppliedToAmount) VALUES ('Vu Contracting', 'CalOil Credit Card', '178C1-1450221347', 20.00) INSERT INTO BillPaymentCreditCardsAppliedTo#TEMP (PayeeName, CreditCardName, AppliedToRefId, AppliedToAmount) VALUES ('Vu Contracting', 'CalOil Credit Card', '881-933371709', 51.25) INSERT INTO BillPaymentCreditCardsAppliedTo (PayeeName, CreditCardName, AppliedToRefId, AppliedToAmount) SELECT PayeeName, CreditCardName, AppliedToRefId, AppliedToAmount FROM BillPaymentCreditCardsAppliedTo#TEMPAppliedToRefId is a reference to a BillId and can be found in Bills, BillLineItems, or BillExpenseItems.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the applied-to entry, formatted as BillPaymentId|AppliedToId, combining the payment and application details. BillPaymentIdStringFalse BillPaymentCreditCards.ID 255 The unique identifier for the bill payment transaction associated with this applied-to entry. PayeeNameStringFalse 1000 The name of the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required and must match the vendor associated with the bill being paid when inserting. PayeeIdStringFalse Vendors.ID 255 The unique identifier for the entity (such as a vendor) to whom the payment is being made. Either PayeeId or PayeeName is required and must match the vendor associated with the bill being paid when inserting. ReferenceNumberStringFalse 21 The reference number for the transaction, used for identification and tracking. TxnNumberIntTrue A manually assigned transaction number for identifying this payment separately from the Quickbooks generated ID. DateDateFalse The date of the transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with this transaction. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier for the accounts payable account associated with this transaction. CreditCardNameStringFalse 1000 The name of the credit card account this payment is charged to. Applicable only for credit card payment methods. CreditCardIdStringFalse 255 The unique identifier for the credit card account this payment is charged to. Applicable only for credit card payment methods. IsToBePrintedBooleanFalse Indicates whether the transaction is marked as 'To Be Printed' in QuickBooks. If true, the 'To Be Printed' box in the user interface is checked. The default value is false. MemoStringFalse 5000 A memo or note associated with the transaction, visible on internal reports. ExchangeRateDoubleFalse The currency exchange rate used to convert this payment's currency to the company's home currency. AmountInHomeCurrencyDoubleTrue The total amount of the payment converted to the company's home currency. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. AppliedToRefIdStringTrue 255 The unique identifier for the bill to which this payment is being applied. Found in the Bills table. AppliedToAmountDecimalTrue The specific amount of the payment being applied to the bill. AppliedToBalanceRemainingDoubleTrue The remaining balance of the bill after this payment is applied. AppliedToCreditMemoIdStringFalse CreditMemos.ID 255 The unique identifier for the credit memo being applied to the bill. AppliedToDiscountAccountNameStringFalse 1000 The name of the discount account being applied to the bill. AppliedToDiscountAccountIdStringFalse Accounts.ID 255 The unique identifier for the discount account being applied to the bill. AppliedToDiscountAmountDecimalFalse The discount amount being applied to the bill. AppliedToPaymentAmountDecimalFalse The specific payment amount being applied to the bill. AppliedToReferenceNumberStringTrue 21 The reference number of the bill or transaction being paid. AppliedToTxnDateDateTrue The date of the transaction being applied. AppliedToTxnTypeStringTrue 100 The type of transaction being applied, such as Bill or CreditMemo. TimeModifiedDatetimeTrue The timestamp of the last modification made to the bill payment. TimeCreatedDatetimeTrue The timestamp of when the bill payment was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description AppliedToCreditAppliedAmountStringThe specific amount of credit applied to the bill during this transaction. Bills
Handles the management of QuickBooks Bills, including creating, updating, deleting, and querying data for expense tracking.
Table Specific Information
Bills may be inserted, queried, or updated via the Bills, BillExpenseItems, or BillLineItems tables. Bills may be deleted by using the Bills table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Bills are Id, Date, ReferenceNumber, VendorName, VendorId, AccountsPayable, AccountsPayableId, IsPaid, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Bills WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
You can also use BillLineItems and BillExpenseItems to insert a bill.
To add a Bill, specify a Vendor, Date, and at least one Expense or Line Item. The ItemAggregate and ExpenseAggregate columns may be used to specify an XML aggregate of Line or Expense Item data. The columns that may be used in these aggregates are defined in the BillLineItems and BillExpenseItems tables and it starts with Item and Expense. For example, the following will insert a new Bill with two Line Items:
INSERT INTO Bills (VendorName, Date, ItemAggregate) VALUES ('Cal Telephone', '1/1/2011', '<BillLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </BillLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the bill in QuickBooks. VendorNameStringFalse 1000 The name of the vendor associated with this bill. Either VendorName or VendorId must be provided when inserting. VendorIdStringFalse Vendors.ID 255 The unique identifier for the vendor associated with this bill. Either VendorName or VendorId must be provided when inserting. ReferenceNumberStringFalse 21 A reference number for the bill transaction, used for identification and tracking. DateDateFalse The date of the transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. AmountDecimalTrue The total amount of the bill. This value is calculated by QuickBooks based on the line items or expense line items. TxnNumberIntegerTrue A manually assigned transaction number to identify this bill separately from the Quickbooks generated ID. DueDateDateFalse The date when payment for this bill is due. TermsStringFalse 100 The payment terms associated with this bill, such as Net30 or COD. TermsIdStringFalse 255 The unique identifier for the payment terms associated with this bill. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with this bill. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier for the accounts payable account associated with this bill. MemoStringFalse 5000 A memo or note providing additional details about this bill. IsPaidBooleanTrue Indicates whether this bill has been paid. Returns true if paid, otherwise false. ExchangeRateDoubleFalse The exchange rate used to convert this bill's currency to the home currency of the QuickBooks company file. IsTaxIncludedBooleanFalse Specifies whether tax is included in the transaction amount. This field is available only in international editions of QuickBooks. ItemCountIntegerTrue The total number of line items associated with this bill. ItemAggregateStringFalse 5000 An aggregate of the line item data, used to add a bill and its line item data in a single operation. ExpenseItemCountIntegerTrue The total number of expense line items associated with this bill. ExpenseItemAggregateStringFalse 5000 An aggregate of the expense line item data, used to add a bill and its expense line item data in a single operation. TransactionCountIntegerTrue The total number of related transactions linked to this bill. TransactionAggregateStringTrue 5000 An aggregate of the linked transaction data associated with this bill. CurrencyNameStringFalse 64 The name of the currency used for this bill. CurrencyIdStringFalse Currency.ID 1000 The unique identifier for the currency used for this bill. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. TimeModifiedDatetimeTrue The timestamp of the last modification made to this bill. TimeCreatedDatetimeTrue The timestamp of when this bill was originally created. OpenAmountDecimalTrue The current outstanding balance for the vendor associated with this bill. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringRepresents all line-item-specific columns that can be used during insertion to specify line item details for this bill. Expense\*StringRepresents all expense-item-specific columns that can be used during insertion to specify expense item details for this bill. LinkToTxnIdStringThe unique identifier of a transaction, such as a purchase order, to link this bill to. This transaction must be open, and linking requires a minimum QBXML Version 4.0. BuildAssemblies
Manages Build Assembly transactions in QuickBooks, allowing users to insert, update, delete, and query assemblies for inventory management.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the build assembly transaction in QuickBooks. TxnNumberIntegerTrue A manually assigned transaction number for identifying this BuildAssembly separately from the Quickbooks generated ID. ItemInventoryAssemblyRef_ListIDStringFalse Items.ID 255 The unique identifier of the inventory assembly being built. Either this field or ItemInventoryAssemblyRef_FullName must be provided when inserting a BuildAssembly. ItemInventoryAssemblyRef_FullNameStringFalse 1000 The name of the inventory assembly being built. Either this field or ItemInventoryAssemblyRef_ListID must be provided when inserting a BuildAssembly. InventorySiteRef_ListIDStringFalse InventorySites.ID 255 The unique identifier of the inventory site where the assembly is being built. InventorySiteRef_FullNameStringFalse 31 The name of the inventory site where the assembly is being built. SerialNumberStringFalse 5000 The serial number of the asset being built. Cannot be used if LotNumber is specified. LotNumberStringFalse 40 The lot number of the asset being built. Cannot be used if SerialNumber is specified. TxnDateDateFalse The date of the transaction for the build assembly. RefNumberStringFalse 21 A reference number for the transaction, used for identification. This number does not have to be unique. MemoStringFalse 5000 A memo providing additional details about the build assembly transaction. IsPendingBooleanTrue Indicates whether the transaction is pending. If true, the build assembly has not yet been completed. QuantityToBuildDoubleFalse The number of assemblies to be built. The transaction fails if this number exceeds the available on-hand inventory. QuantityCanBuildDoubleTrue The maximum number of assemblies that can be built with the current parts on hand. QuantityOnHandDoubleTrue The total quantity of these items currently in inventory. Adjustments must be made using inventory adjustments. QuantityOnSalesOrderDoubleTrue The number of these items that have been sold but not yet delivered to customers (as recorded in sales orders). MarkPendingIfRequiredBooleanFalse Indicates whether the assembly should be marked as pending if there are insufficient parts to complete it. Requires QBXML Version 7.0 and is not returned in QuickBooks responses. ExternalGUIDStringTrue A user-defined globally unique identifier (GUID) for this transaction. Requires QBXML Version 9.0. BuildAssemblyLineAggregateStringTrue 5000 An aggregate of line item data for adding a build assembly and its associated line items in a single operation. TimeCreatedDatetimeTrue The timestamp of when this build assembly transaction was originally created. TimeModifiedDatetimeTrue The timestamp of the last modification made to this build assembly transaction. EditSequenceStringTrue A unique identifier used for version control of this build assembly transaction, ensuring data integrity during updates. ExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number associated with this item. Requires QBXML Version 16.0 or higher. BuildAssemblyLineItems
Supports creation and querying of individual line items within QuickBooks Build Assembly transactions.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for this build assembly line item. BuildAssemblyIdStringFalse BuildAssemblies.ID 255 The unique identifier of the build assembly transaction associated with this line item. TxnNumberIntegerTrue A manually assigned transaction number for identifying this build assembly transaction separately from the Quickbooks generated ID. ItemInventoryAssemblyRef_ListIDStringFalse Items.ID 255 The unique identifier of the inventory assembly being built. Either this field or ItemInventoryAssemblyRef_FullName must be provided when inserting a BuildAssembly. ItemInventoryAssemblyRef_FullNameStringFalse 1000 The name of the inventory assembly being built. Either this field or ItemInventoryAssemblyRef_ListID must be provided when inserting a BuildAssembly. InventorySiteRef_ListIDStringFalse InventorySites.ID 255 The unique identifier of the inventory site associated with this line item. Requires QBXML Version 10.0. InventorySiteRef_FullNameStringFalse 31 The name of the inventory site associated with this line item. Requires QBXML Version 10.0. SerialNumberStringFalse 5000 The serial number of the asset associated with this line item. Cannot be used if LotNumber is specified. LotNumberStringFalse 40 The lot number of the asset associated with this line item. Cannot be used if SerialNumber is specified. TxnDateDateFalse The date of the transaction for the build assembly. RefNumberStringFalse 21 A reference number for the transaction, used for identification. This number does not have to be unique. MemoStringFalse 5000 A memo providing additional details about this build assembly transaction. IsPendingBooleanTrue Indicates whether this transaction is pending. If true, the build assembly has not yet been completed. QuantityToBuildDoubleFalse The number of assemblies to be built. The transaction fails if this quantity exceeds the number of on-hand items. QuantityCanBuildDoubleTrue The maximum number of assemblies that can be built with the current parts on hand. QuantityOnHandDoubleTrue The total quantity of these items currently in inventory. Adjustments must be made using inventory adjustments. QuantityOnSalesOrderDoubleTrue The number of these items recorded in sales orders but not yet delivered to customers. MarkPendingIfRequiredBooleanFalse Specifies whether the build assembly should be marked as pending if there are insufficient parts to complete it. Requires QBXML Version 7.0 and is not returned in QuickBooks responses. ExternalGUIDStringTrue A user-defined globally unique identifier (GUID) for this transaction. Requires QBXML Version 9.0. ComponentItemLineRet_ItemRef_ListIDStringTrue Items.ID 255 The unique identifier of the item used in this assembly line. ComponentItemLineRet_ItemRef_FullNameStringTrue 255 The full name of the item used in this assembly line. ComponentItemLineRet_InventorySiteRef_ListIDStringTrue InventorySites.ID 255 The unique identifier of the inventory site where the component item is stored. Requires QBXML Version 10.0. ComponentItemLineRet_InventorySiteRef_FullNameStringTrue 31 The full name of the inventory site where the component item is stored. Requires QBXML Version 10.0. ComponentItemLineRet_DescStringTrue 5000 A description of the line item used in this assembly. ComponentItemLineRet_QuantityOnHandDoubleTrue The total quantity of the component item currently in inventory. ComponentItemLineRet_QuantityNeededDoubleTrue The quantity of the component item required to build the specified number of assemblies. TimeCreatedDatetimeTrue The timestamp of when this build assembly transaction was originally created. TimeModifiedDatetimeTrue The timestamp of the last modification made to this build assembly transaction. EditSequenceStringTrue A unique identifier used for version control of this build assembly transaction, ensuring data integrity during updates. ExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number associated with this line item. Requires QBXML Version 16.0 or higher. CheckExpenseItems
Handles QuickBooks Check Expense Line Items, allowing users to create, update, delete, and query detailed expense records.
Table Specific Information
Checks may be inserted, queried, or updated via the Checks, CheckExpenseItems, or CheckLineItems tables. Checks may be deleted by using the Checks table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Checks are Id, Date, ReferenceNumber, Payee, PayeeId, Account, AccountId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CheckExpenseItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%' SELECT * FROM CheckExpenseItems WHERE Date >= '2020-01-07' AND Date < '2020-01-10' SELECT * FROM CheckExpenseItems WHERE [Date] = '2020-01-07'Insert
To add a Check, specify an Account, a Date, and at least one Expense or Line Item. All Expense Line Item columns can be used for inserting multiple Expense Line Items for a new Check transaction. For example, the following will insert a new Check with two Expense Line Items:
INSERT INTO CheckExpenseItems#TEMP (Account, Date, ExpenseAccount, ExpenseAmount) VALUES ('Checking', '1/1/2011', 'Utilities:Telephone', 52.25,) INSERT INTO CheckExpenseItems#TEMP (Account, Date, ExpenseAccount, ExpenseAmount) VALUES ('Checking', '1/1/2011', 'Professional Fees:Accounting', 235.87) INSERT INTO CheckExpenseItems (Account, Date, ExpenseAccount, ExpenseAmount) SELECT Account, Date, ExpenseAccount, ExpenseAmount FROM CheckExpenseItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for this expense line, formatted as CheckId|ExpenseLineId, combining the check and line item details. CheckIdStringFalse Checks.ID 255 The unique identifier for the check associated with this expense. Obtained from the Checks table. ReferenceNumberStringFalse 21 The reference number for the check transaction, used for identification and tracking. TxnNumberIntegerTrue A manually assigned transaction number for identifying this check separately from the Quickbooks generated ID. AccountStringFalse 1000 The name of the account from which the funds for this check are being drawn. AccountIdStringFalse Accounts.ID 255 The unique identifier of the account from which the funds for this check are being drawn. PayeeStringFalse 1000 The name of the payee associated with this check. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this check. DateDateFalse The date of the check transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. AmountDecimalTrue The total amount of the check transaction. MemoStringFalse 5000 A memo providing additional details about this check transaction. AddressStringTrue The full address associated with this check, as returned by QuickBooks. Line1StringFalse 500 The first line of the address associated with this check. Line2StringFalse 500 The second line of the address associated with this check. Line3StringFalse 500 The third line of the address associated with this check. Line4StringFalse 500 The fourth line of the address associated with this check. Line5StringFalse 41 The fifth line of the address associated with this check. CityStringFalse 255 The city associated with the address of the check. StateStringFalse 255 The state associated with the address of the check. PostalCodeStringFalse 30 The postal code associated with the address of the check. CountryStringFalse 255 The country associated with the address of the check. NoteStringFalse 41 A note associated with the address of the check. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. ExpenseLineIdStringTrue 255 The unique identifier for the specific expense line item. ExpenseLineNumberStringTrue 255 The line number of this expense within the check transaction. ExpenseAccountStringFalse 1000 The name of the account associated with this expense line. ExpenseAccountIdStringFalse Accounts.ID 255 The unique identifier of the account associated with this expense line. ExpenseAmountDecimalFalse The total amount of this specific expense line. ExpenseBillableStatusStringFalse 13 The billing status of this expense line, such as Billable or Non-Billable. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. The default value is Empty. ExpenseCustomerStringFalse 1000 The name of the customer associated with this expense line. ExpenseCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this expense line. ExpenseClassStringFalse 1000 The name of the class associated with this expense line, used for categorization. ExpenseClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this expense line. ExpenseTaxCodeStringFalse 3 The tax code indicating whether the expense line is taxable or non-taxable. Available only in international editions of QuickBooks. ExpenseTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the tax code associated with this expense line. Available only in international editions of QuickBooks. ExpenseMemoStringFalse 5000 A memo providing additional details about this expense line. ExpenseCustomFieldsStringTrue Custom fields defined for this specific expense line. IsToBePrintedBooleanFalse Indicates whether this check transaction is marked as 'To Be Printed' in QuickBooks. If true, the 'To Be Printed' box is checked. The default value is false. IsTaxIncludedBooleanFalse Specifies whether tax is included in the transaction amount. Available only in international editions of QuickBooks. CurrencyNameStringFalse 64 The name of the currency used for this check. Requires QBXML Version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier of the currency used for this check. Requires QBXML Version 8.0 or higher. ExchangeRateDoubleFalse The exchange rate used to convert this check's currency to the home currency of the QuickBooks company file. TimeModifiedDatetimeTrue The timestamp of the last modification made to this check transaction. TimeCreatedDatetimeTrue The timestamp of when this check transaction was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ApplyCheckToTxnIdStringThe unique identifier of the transaction (such as a bill) to be paid by this check. Can be used during updates and inserts. ApplyCheckToTxnAmountStringThe amount of the transaction to be paid by this check. Can be used during updates and inserts. CheckLineItems
Supports management of individual line items within QuickBooks Checks, including creation, updates, deletion, and queries.
Table Specific Information
Checks may be inserted, queried, or updated via the Checks, CheckExpenseItems, or CheckLineItems tables. Checks may be deleted by using the Checks table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Checks are Id, Date, ReferenceNumber, Payee, PayeeId, Account, AccountId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CheckLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%' SELECT * FROM CheckLineItems WHERE Date >= '2020-01-07' AND Date < '2020-01-10' SELECT * FROM CheckLineItems WHERE [Date] = '2020-01-07'Insert
To add a Check, specify an Account, a Date, and at least one Expense or Line Item. All Line Item columns can be used for inserting multiple Line Items for a new Check transaction. For example, the following will insert a new Check with two Line Items:
INSERT INTO CheckLineItems#TEMP (Account, Date, ItemName, ItemQuantity) VALUES ('Checking', '1/1/2011', 'Repairs', 1) INSERT INTO CheckLineItems#TEMP (Account, Date, ItemName, ItemQuantity) VALUES ('Checking', '1/1/2011', 'Removal', 2) INSERT INTO CheckLineItems (Account, Date, ItemName, ItemQuantity) VALUES Account, Date, ItemName, ItemQuantity FROM CheckLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for this line item, formatted as CheckId|ItemLineId, combining the check and line item details. CheckIdStringFalse Checks.ID 255 The unique identifier for the check associated with this line item, obtained from the Checks table. ReferenceNumberStringFalse 21 The reference number for the check transaction, used for identification and tracking. TxnNumberIntegerTrue A manually assigned transaction number to identify this check separately from the Quickbooks generated ID. AccountStringFalse 1000 The name of the account from which the funds for this check are being drawn. AccountIdStringFalse Accounts.ID 255 The unique identifier of the account from which the funds for this check are being drawn. PayeeStringFalse 1000 The name of the payee associated with this check. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this check. DateDateFalse The date of the check transaction. AmountDecimalTrue The total amount of the check transaction. MemoStringFalse 5000 A memo providing additional details about this check transaction. AddressStringTrue The full address associated with this check, as returned by QuickBooks. Line1StringFalse 500 The first line of the address associated with this check. Line2StringFalse 500 The second line of the address associated with this check. Line3StringFalse 500 The third line of the address associated with this check. Line4StringFalse 500 The fourth line of the address associated with this check. Line5StringFalse 41 The fifth line of the address associated with this check. CityStringFalse 255 The city associated with the address of the check. StateStringFalse 255 The state associated with the address of the check. PostalCodeStringFalse 30 The postal code associated with the address of the check. CountryStringFalse 255 The country associated with the address of the check. NoteStringFalse 41 A note associated with the address of the check. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. ItemLineIdStringTrue 255 The unique identifier for the specific line item. ItemLineNumberStringTrue 255 The line number of this item within the check transaction. ItemNameStringFalse The name of the item listed in this transaction. ItemIdStringFalse Items.ID The unique identifier for the item listed in this transaction. ItemGroupStringFalse 100 The name of the item group this line item belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier for the item group this line item belongs to, if applicable. ItemDescriptionStringFalse 5000 A detailed description of the item listed in this transaction. ItemQuantityDoubleFalse The quantity of the item or item group specified in this line. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item as defined in the company's settings. Requires QBXML Version 7.0 or higher. ItemCostDoubleFalse The cost per unit of the item listed in this transaction. ItemAmountDecimalFalse The total amount for this item line, calculated as quantity multiplied by cost. ItemBillableStatusStringFalse 13 The billing status of the item, such as Billable or Non-Billable. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ItemCustomerStringFalse 1000 The name of the customer associated with this item line. ItemCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this item line. ItemClassStringFalse 1000 The name of the class associated with this item, used for categorization. ItemClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this item. ItemInventorySiteIdStringFalse InventorySites.ID 31 The unique identifier of the inventory site where this item is stored. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteNameStringFalse 255 The name of the inventory site where this item is stored. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationIdStringFalse 31 The unique identifier of the location within the inventory site for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationNameStringFalse 255 The name of the location within the inventory site for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number associated with this item. Requires QBXML Version 16.0 or higher. ItemTaxCodeStringFalse 3 The tax code indicating whether the item is taxable or non-taxable. Available only in international editions of QuickBooks. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the tax code associated with this item. Available only in international editions of QuickBooks. ItemCustomFieldsStringFalse Custom fields defined for this specific line item. IsToBePrintedBooleanFalse Indicates whether this check transaction is marked as 'To Be Printed' in QuickBooks. If true, the 'To Be Printed' box is checked. The default value is false. IsTaxIncludedBooleanFalse Specifies whether tax is included in the transaction amount. Available only in international editions of QuickBooks. CurrencyNameStringFalse 64 The name of the currency used for this check. Requires QBXML Version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier of the currency used for this check. Requires QBXML Version 8.0 or higher. ExchangeRateDoubleFalse The exchange rate used to convert this check's currency to the home currency of the QuickBooks company file. TimeModifiedDatetimeTrue The timestamp of the last modification made to this check transaction. TimeCreatedDatetimeTrue The timestamp of when this check transaction was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ApplyCheckToTxnIdStringThe unique identifier of the transaction (such as a bill) to be paid by this check. Can be used during updates and inserts. ApplyCheckToTxnAmountStringThe amount of the transaction to be paid by this check. Can be used during updates and inserts. Checks
Manages QuickBooks Checks, allowing users to create, update, delete, and query check transactions for financial tracking.
Table Specific Information
Checks may be inserted, queried, or updated via the Checks, CheckExpenseItems, or CheckLineItems tables. Checks may be deleted by using the Checks table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Checks are Id, Date, ReferenceNumber, Payee, PayeeId, Account, AccountId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Checks WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%' SELECT * FROM Checks WHERE Date >= '2020-01-07' AND Date < '2020-01-10' SELECT * FROM Checks WHERE [Date] = '2020-01-07'Insert
To add a Check, specify an Account, a Date, and at least one Expense or Line Item. The ItemAggregate and ExpenseAggregate columns may be used to specify an XML aggregate of Line or Expense Item data. The columns that may be used in these aggregates are defined in the CheckLineItems and CheckExpenseItems tables and it starts with Item and Expense. For example, the following will insert a new Check with two Line Items:
INSERT INTO Checks (Account, Date, ItemAggregate) VALUES ('Checking', '1/1/2011', '<CheckLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </CheckLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the check transaction in QuickBooks. ReferenceNumberStringFalse 21 The reference number for the check transaction, used for identification and tracking. TxnNumberIntegerTrue A manually assigned transaction number to identify this check separately from the Quickbooks generated ID. AccountStringFalse 1000 The name of the account from which the funds for this check are being drawn. AccountIdStringFalse Accounts.ID 255 The unique identifier of the account from which the funds for this check are being drawn. PayeeStringFalse 1000 The name of the payee associated with this check. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this check. DateDateFalse The date of the check transaction. AmountDecimalTrue The total amount of the check transaction. MemoStringFalse 5000 A memo providing additional details about this check transaction. AddressStringTrue The full address associated with this check, as returned by QuickBooks. Line1StringFalse 500 The first line of the address associated with this check. Line2StringFalse 500 The second line of the address associated with this check. Line3StringFalse 500 The third line of the address associated with this check. Line4StringFalse 500 The fourth line of the address associated with this check. Line5StringFalse 41 The fifth line of the address associated with this check. CityStringFalse 255 The city associated with the address of the check. StateStringFalse 255 The state associated with the address of the check. PostalCodeStringFalse 30 The postal code associated with the address of the check. CountryStringFalse 255 The country associated with the address of the check. NoteStringFalse 41 A note associated with the address of the check. ItemCountIntegerTrue The total number of line items associated with this check. ItemAggregateStringFalse 5000 An aggregate of line item data used to add a check and its line item data in a single operation. ExpenseItemCountIntegerTrue The total number of expense line items associated with this check. ExpenseItemAggregateStringFalse 5000 An aggregate of expense line item data used to add a check and its expense item data in a single operation. IsToBePrintedBooleanFalse Indicates whether this check transaction is marked as 'To Be Printed' in QuickBooks. If true, the 'To Be Printed' box is checked. The default value is false. IsTaxIncludedBooleanFalse Specifies whether tax is included in the transaction amount. Available only in international editions of QuickBooks. CurrencyNameStringFalse 64 The name of the currency used for this check. Requires QBXML Version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier of the currency used for this check. Requires QBXML Version 8.0 or higher. ExchangeRateDoubleFalse The exchange rate used to convert this check's currency to the home currency of the QuickBooks company file. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. TimeModifiedDatetimeTrue The timestamp of the last modification made to this check transaction. TimeCreatedDatetimeTrue The timestamp of when this check transaction was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringRepresents all line-item-specific columns that can be used during insertion to specify line item details for this check. Expense\*StringRepresents all expense-item-specific columns that can be used during insertion to specify expense item details for this check. ApplyCheckToTxnIdStringThe unique identifier of the transaction (such as a bill) to be paid by this check. Can be used during updates and inserts. ApplyCheckToTxnAmountStringThe amount of the transaction to be paid by this check. Can be used during updates and inserts. Class
Facilitates the management of QuickBooks Classes, including creating, updating, deleting, and querying classifications. Updates require QBXML Version 8.0 or higher.
Table Specific Information
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for the Class table are Id, Name, and IsActive. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax.
Insert
To insert a Class, specify the Name field.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to the class in QuickBooks. NameStringFalse 100 The name of the class, used for categorization or tracking within QuickBooks. FullNameStringTrue 1000 The full hierarchical name of the class, formatted as ParentName|ClassName if it has a parent. IsActiveBooleanFalse Indicates whether the class is active and available for use in QuickBooks. ParentRef_FullNameStringFalse The full name of the parent class, if applicable. Specify either ParentRef_FullName or ParentRef_ListId on INSERT/UPDATE operations, but not both. ParentRef_ListIdStringFalse Class.ID 255 The unique identifier of the parent class, if applicable. Specify either ParentRef_FullName or ParentRef_ListId on INSERT/UPDATE operations, but not both. SublevelIntegerTrue The hierarchical level of the class, indicating how many parent classes it has. EditSequenceStringTrue 16 A unique string used for versioning, representing the revision of the class. TimeCreatedDatetimeTrue The timestamp of when this class was originally created in QuickBooks. TimeModifiedDatetimeTrue The timestamp of the last modification made to this class in QuickBooks. CreditCardChargeExpenseItems
Handles QuickBooks Credit Card Charge Expense Line Items, supporting creation, updates, deletion, and detailed queries.
Table Specific Information
CreditCardCharges may be inserted, queried, or updated via the CreditCardCharges, CreditCardChargeExpenseItems, or CreditCardChargeLineItems tables. CreditCardCharges may be deleted by using the CreditCardCharges table.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditCardCharges are Id, ReferenceNumber, Date, TimeModified, AccountName, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditCardChargeExpenseItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditCardCharge, specify an Account and at least one Expense or Line Item. All Expense Line Item columns can be used for inserting multiple Expense Line Items for a new CreditCardCharge transaction. For example, the following will insert a new CreditCardCharge with two Expense Line Items:
INSERT INTO CreditCardChargeExpenseItems#TEMP (AccountName, ExpenseAccount ExpenseAmount) VALUES ('CalOil Credit Card', 'Job Expenses:Job Materials', 52.25) INSERT INTO CreditCardChargeExpenseItems#TEMP (AccountName, ExpenseAccount ExpenseAmount) VALUES ('CalOil Credit Card', 'Automobile:Fuel', 235.87) INSERT INTO CreditCardChargeExpenseItems (AccountName, ExpenseAccount, ExpenseAmount) SELECT AccountName, ExpenseAccount, ExpenseAmount FROM CreditCardChargeExpenseItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the expense line, formatted as CCChargeId|ItemLineId, combining the credit card charge and line item details. CCChargeIdStringFalse CreditCardCharges.ID 255 The unique identifier of the credit card charge associated with this expense line. DateDateFalse The date of the credit card charge transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. ReferenceNumberStringFalse 21 The reference number for the credit card charge transaction, used for identification and tracking. AccountNameStringFalse 1000 The name of the credit card account associated with this charge. Either AccountName or AccountId must be provided when inserting. AccountIdStringFalse Accounts.ID 255 The unique identifier of the credit card account associated with this charge. Either AccountName or AccountId must be provided when inserting. MemoStringFalse 5000 A memo providing additional details about this transaction, visible on internal reports only. PayeeNameStringFalse 1000 The name of the payee associated with this credit card charge. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this credit card charge. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Available only in international editions of QuickBooks. ExpenseLineIdStringTrue 255 The unique identifier of the specific expense line item. ExpenseLineNumberStringTrue 255 The line number of this expense within the credit card charge transaction. ExpenseAccountStringFalse 1000 The name of the account associated with this expense line. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAccountIdStringFalse Accounts.ID 255 The unique identifier of the account associated with this expense line. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAmountDecimalFalse The total amount of this specific expense line. ExpenseBillableStatusStringFalse 13 The billing status of this expense line, such as Billable or Non-Billable. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. ExpenseCustomerStringFalse 1000 The name of the customer associated with this expense line. ExpenseCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this expense line. ExpenseClassStringFalse 1000 The name of the class associated with this expense line, used for categorization. ExpenseClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this expense line. ExpenseMemoStringFalse 5000 A memo providing additional details about this specific expense line. ExpenseTaxCodeStringFalse 3 The tax code indicating whether this expense line is taxable or nontaxable. ExpenseTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the tax code associated with this expense line. ExchangeRateDoubleFalse The exchange rate used to convert this transaction's currency to the home currency of the QuickBooks company file. TimeModifiedDatetimeTrue The timestamp of the last modification made to this credit card charge transaction. TimeCreatedDatetimeTrue The timestamp of when this credit card charge transaction was originally created. CreditCardChargeLineItems
Manages individual line items associated with QuickBooks Credit Card Charges, including creation, updates, deletion, and queries.
Table Specific Information
CreditCardCharges may be inserted, queried, or updated via the CreditCardCharges, CreditCardChargeExpenseItems, or CreditCardChargeLineItems tables. CreditCardCharges may be deleted by using the CreditCardCharges table.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditCardCharges are Id, ReferenceNumber, Date, TimeModified, AccountName, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditCardChargeLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditCardCharge, specify an Account and at least one Expense or Line Item. All Line Item columns can be used for inserting multiple Line Items for a new CreditCardCharge transaction. For example, the following will insert a new CreditCardCharge with two Line Items:
INSERT INTO CreditCardChargeLineItems#TEMP (AccountName, ItemName, ItemQuantity) VALUES ('CalOil Credit Card', '1/1/2011', 'Repairs', 1) INSERT INTO CreditCardChargeLineItems#TEMP (AccountName, ItemName, ItemQuantity) VALUES ('CalOil Credit Card', '1/1/2011', 'Removal', 2) INSERT INTO CreditCardChargeLineItems (AccountName, ItemName, ItemQuantity) SELECT AccountName, ItemName, ItemQuantity FROM CreditCardChargeLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the line item, formatted as CCChargeId|ItemLineId, combining the credit card charge and line item details. CCChargeIdStringFalse CreditCardCharges.ID 255 The unique identifier for the credit card charge associated with this line item. DateDateFalse The date of the credit card charge transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. ReferenceNumberStringFalse 21 The reference number for the credit card charge transaction, used for identification and tracking. AccountNameStringFalse 1000 The name of the credit card account associated with this charge. Either AccountName or AccountId must be provided when inserting. AccountIdStringFalse Accounts.ID 255 The unique identifier of the credit card account associated with this charge. Either AccountName or AccountId must be provided when inserting. MemoStringFalse 5000 A memo providing additional details about this transaction, visible on internal reports only. PayeeNameStringFalse 1000 The name of the payee associated with this credit card charge. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this credit card charge. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Available only in international editions of QuickBooks. ItemLineIdStringTrue 255 The unique identifier for the specific line item. ItemLineNumberStringTrue 255 The line number of this item within the credit card charge transaction. ItemNameStringFalse The name of the item listed in this transaction. ItemIdStringFalse Items.ID 255 The unique identifier of the item listed in this transaction. ItemGroupStringFalse 100 The name of the item group this line item belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier of the item group this line item belongs to, if applicable. ItemDescriptionStringFalse 5000 A detailed description of the item listed in this transaction. ItemQuantityDoubleFalse The quantity of the item or item group specified in this line. ItemUnitOfMeasureStringFalse 100 The unit of measure for the item, selected from the available units. If the company file allows only a single unit of measure per item, this must be the base unit. Requires QBXML Version 7.0 or higher. ItemCostDoubleFalse The unit cost of the item listed in this transaction. ItemAmountDecimalFalse The total amount for this item line, calculated as quantity multiplied by cost. ItemBillableStatusStringFalse 13 The billing status of the item, such as Billable or Non-Billable. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ItemCustomerStringFalse 1000 The name of the customer associated with this item line. ItemCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this item line. ItemClassStringFalse 1000 The name of the class associated with this item, used for categorization. ItemClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this item. ItemTaxCodeStringFalse 3 The tax code indicating whether this item is taxable or nontaxable. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the tax code associated with this item. ItemInventorySiteIdStringFalse InventorySites.ID 31 The unique identifier of the inventory site where this item is stored. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteNameStringFalse 255 The name of the inventory site where this item is stored. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationIdStringFalse 31 The unique identifier of the location within the inventory site for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationNameStringFalse 255 The name of the location within the inventory site for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number associated with this item. Requires QBXML Version 16.0 or higher. ExchangeRateDoubleFalse The exchange rate used to convert this transaction's currency to the home currency of the QuickBooks company file. TimeModifiedDatetimeTrue The timestamp of the last modification made to this transaction. TimeCreatedDatetimeTrue The timestamp of when this transaction was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemOverrideAccountStringThe name of the account used to override the default account for this item. Applicable only during inserts and updates. ItemOverrideAccountIdStringThe unique identifier of the account used to override the default account for this item. Applicable only during inserts and updates. CreditCardCharges
Manages QuickBooks Credit Card Charges, allowing users to create, update, delete, and query financial transactions.
Table Specific Information
CreditCardCharges may be inserted, queried, or updated via the CreditCardCharges, CreditCardChargeExpenseItems, or CreditCardChargeLineItems tables. CreditCardCharges may be deleted by using the CreditCardCharges table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditCardCharges are Id, ReferenceNumber, Date, TimeModified, AccountName, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditCardCharges WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditCardCharge, specify an Account and at least one Expense or Line Item. The ItemAggregate and ExpenseAggregate columns may be used to specify an XML aggregate of Line or Expense Item data. The columns that may be used in these aggregates are defined in the CreditCardChargeLineItems and CreditCardChargeExpenseItems tables and it starts with Item and Expense. For example, the following will insert a new CreditCardCharge with two Line Items:
INSERT INTO CreditCardCharges (AccountName, ItemAggregate) VALUES ('CalOil Credit Card', '<CreditCardChargeLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </CreditCardChargeLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier of the credit card charge transaction in QuickBooks. DateDateFalse The date of the credit card charge transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. ReferenceNumberStringFalse 11 The reference number for the credit card charge transaction, used for identification and tracking. AccountNameStringFalse 1000 The name of the credit card account associated with this charge. Either AccountName or AccountId must be provided when inserting. AccountIdStringFalse Accounts.ID 255 The unique identifier of the credit card account associated with this charge. Either AccountName or AccountId must be provided when inserting. MemoStringFalse 5000 A memo providing additional details about this transaction, visible on internal reports only. PayeeNameStringFalse 1000 The name of the payee associated with this credit card charge. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this credit card charge. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Available only in international editions of QuickBooks. ItemCountIntegerTrue The total number of line items associated with this credit card charge. ItemAggregateStringFalse 5000 An aggregate of line item data used to add a credit card charge and its line items in a single operation. ExpenseItemCountIntegerTrue The total number of expense line items associated with this credit card charge. ExpenseItemAggregateStringFalse 5000 An aggregate of expense item data used to add a credit card charge and its expense items in a single operation. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. TimeModifiedDatetimeTrue The timestamp of the last modification made to this credit card charge transaction. TimeCreatedDatetimeTrue The timestamp of when this credit card charge transaction was originally created. TxnNumberIntegerTrue A manually assigned transaction number to identify this charge separately from the Quickbooks generated ID. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringRepresents all line-item-specific columns that can be used during insertion to specify line item details for this credit card charge. Expense\*StringRepresents all expense-item-specific columns that can be used during insertion to specify expense item details for this credit card charge. CreditCardCreditExpenseItems
Supports management of expense items associated with QuickBooks Credit Card Credits, including creation, updates, deletion, and queries.
Table Specific Information
CreditCardCredits may be inserted, queried, or updated via the CreditCardCredits, CreditCardCreditExpenseItems, or CreditCardCreditLineItems tables. CreditCardCredits may be deleted by using the CreditCardCredits table.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditCardCredits are Id, ReferenceNumber, Date, TimeModified, AccountName, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditCardCreditExpenseItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditCardCredit, specify an Account and at least one Expense or Line Item. All Expense Line Item columns can be used for inserting multiple Expense Line Items for a new CreditCardCredit transaction. For example, the following will insert a new CreditCardCredit with two Expense Line Items:
INSERT INTO CreditCardCreditExpenseItems#TEMP (AccountName, ExpenseAccount, ExpenseAmount) VALUES ('CalOil Credit Card', 'Job Expenses:Job Materials', 52.25) INSERT INTO CreditCardCreditExpenseItems#TEMP (AccountName, ExpenseAccount, ExpenseAmount) VALUES ('CalOil Credit Card', 'Automobile:Fuel', 235.87) INSERT INTO CreditCardCreditExpenseItems (AccountName, ExpenseAccount, ExpenseAmount) SELECT AccountName, ExpenseAccount, ExpenseAmount FROM CreditCardCreditExpenseItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the expense line, formatted as CCCreditId|ItemLineId, combining the credit card credit and line item details. CCCreditIdStringFalse CreditCardCredits.ID 255 The unique identifier of the credit card credit transaction associated with this expense line. DateDateFalse The date of the credit card credit transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. ReferenceNumberStringFalse 21 The reference number for the credit card credit transaction, used for identification and tracking. AccountNameStringFalse 1000 The name of the credit card account associated with this credit. Either AccountName or AccountId must be provided when inserting. AccountIdStringFalse Accounts.ID 255 The unique identifier of the credit card account associated with this credit. Either AccountName or AccountId must be provided when inserting. MemoStringFalse 5000 A memo providing additional details about this transaction, visible on internal reports only. PayeeNameStringFalse 1000 The name of the payee associated with this credit card credit. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this credit card credit. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Available only in international editions of QuickBooks. ExpenseLineIdStringTrue 255 The unique identifier of the specific expense line item. ExpenseLineNumberStringTrue 255 The line number of this expense within the credit card credit transaction. ExpenseAccountStringFalse 1000 The name of the account associated with this expense line. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAccountIdStringFalse Accounts.ID 255 The unique identifier of the account associated with this expense line. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAmountDecimalFalse The total amount of this specific expense line. ExpenseBillableStatusStringFalse 13 The billing status of this expense line, such as Billable or Non-Billable. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. ExpenseCustomerStringFalse 1000 The name of the customer associated with this expense line. ExpenseCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this expense line. ExpenseClassStringFalse 1000 The name of the class associated with this expense line, used for categorization. ExpenseClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this expense line. ExpenseMemoStringFalse 5000 A memo providing additional details about this specific expense line. ExpenseTaxCodeStringFalse 3 The tax code indicating whether this expense line is taxable or nontaxable. ExpenseTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the tax code associated with this expense line. ExchangeRateDoubleFalse The exchange rate used to convert this transaction's currency to the home currency of the QuickBooks company file. TimeModifiedDatetimeTrue The timestamp of the last modification made to this credit card credit transaction. TimeCreatedDatetimeTrue The timestamp of when this credit card credit transaction was originally created. CreditCardCreditLineItems
Handles individual line items within QuickBooks Credit Card Credits, supporting creation, updates, deletion, and queries.
Table Specific Information
CreditCardCredits may be inserted, queried, or updated via the CreditCardCredits, CreditCardCreditExpenseItems, or CreditCardCreditLineItems tables. CreditCardCredits may be deleted by using the CreditCardCredits table.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditCardCredits are Id, ReferenceNumber, Date, TimeModified, AccountName, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditCardCreditLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditCardCredit, specify an Account and at least one Expense or Line Item. All Line Item columns can be used for inserting multiple Line Items for a new CreditCardCredit transaction. For example, the following will insert a new CreditCardCredit with two Line Items:
INSERT INTO CreditCardCreditLineItems#TEMP (AccountName, ItemName, ItemQuantity) VALUES ('CalOil Credit Card', '1/1/2011', 'Repairs', 1) INSERT INTO CreditCardCreditLineItems#TEMP (AccountName, ItemName, ItemQuantity) VALUES ('CalOil Credit Card', '1/1/2011', 'Removal', 2) INSERT INTO CreditCardCreditLineItems (AccountName, ItemName, ItemQuantity) SELECT AccountName, ItemName ItemQuantity FROM CreditCardCreditLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the line item, formatted as CCCreditId|ItemLineId, combining the credit card credit and line item details. CCCreditIdStringFalse CreditCardCredits.ID 255 The unique identifier of the credit card credit transaction associated with this line item. DateDateFalse The date of the credit card credit transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. ReferenceNumberStringFalse 21 The reference number for the credit card credit transaction, used for identification and tracking. AccountNameStringFalse 1000 The name of the credit card account associated with this credit. Either AccountName or AccountId must be provided when inserting. AccountIdStringFalse Accounts.ID 255 The unique identifier of the credit card account associated with this credit. Either AccountName or AccountId must be provided when inserting. MemoStringFalse 5000 A memo providing additional details about this transaction, visible on internal reports only. PayeeNameStringFalse 1000 The name of the payee associated with this credit card credit. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this credit card credit. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Available only in international editions of QuickBooks. ItemLineIdStringTrue 255 The unique identifier for the specific line item. ItemLineNumberStringTrue 255 The line number of this item within the credit card credit transaction. ItemNameStringFalse The name of the item listed in this transaction. ItemIdStringFalse Items.ID 255 The unique identifier of the item listed in this transaction. ItemGroupStringFalse 100 The name of the item group this line item belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier of the item group this line item belongs to, if applicable. ItemDescriptionStringFalse 5000 A detailed description of the item listed in this transaction. ItemQuantityDoubleFalse The quantity of the item or item group specified in this line. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item, selected from the available units. If the company file allows only a single unit of measure per item, this must be the base unit. Requires QBXML Version 7.0 or higher. ItemCostDoubleFalse The unit cost of the item listed in this transaction. ItemAmountDecimalFalse The total amount for this item line, calculated as quantity multiplied by cost. ItemBillableStatusStringFalse 13 The billing status of the item, such as Billable or Non-Billable. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ItemCustomerStringFalse 1000 The name of the customer associated with this item line. ItemCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this item line. ItemClassStringFalse 1000 The name of the class associated with this item, used for categorization. ItemClassIdStringFalse Class.ID 1000 The unique identifier of the class associated with this item. ItemTaxCodeStringFalse 3 The tax code indicating whether this item is taxable or nontaxable. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the tax code associated with this item. ItemInventorySiteIdStringFalse InventorySites.ID 31 The unique identifier of the inventory site where this item is stored. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteNameStringFalse 255 The name of the inventory site where this item is stored. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationIdStringFalse 31 The unique identifier of the location within the inventory site for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationNameStringFalse 255 The name of the location within the inventory site for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ExchangeRateDoubleFalse The exchange rate used to convert this transaction's currency to the home currency of the QuickBooks company file. TimeModifiedDatetimeTrue The timestamp of the last modification made to this credit card credit transaction. TimeCreatedDatetimeTrue The timestamp of when this credit card credit transaction was originally created. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number associated with this item. Requires QBXML Version 16.0 or higher. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemOverrideAccountStringThe name of the account used to override the default account for this item. Applicable only during inserts and updates. ItemOverrideAccountIdStringThe unique identifier of the account used to override the default account for this item. Applicable only during inserts and updates. CreditCardCredits
Manages QuickBooks Credit Card Credits, allowing users to create, update, delete, and query credit transactions for accurate accounting.
Table Specific Information
CreditCardCredits may be inserted, queried, or updated via the CreditCardCredits, CreditCardCreditExpenseItems, or CreditCardCreditLineItems tables. CreditCardCredits may be deleted by using the CreditCardCredits table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditCardCredits are Id, ReferenceNumber, Date, TimeModified, AccountName, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditCardCredits WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditCardCredit, specify an Account and at least one Expense or Line Item. The ItemAggregate and ExpenseAggregate columns may be used to specify an XML aggregate of Line or Expense Item data. The columns that may be used in these aggregates are defined in the CreditCardCreditLineItems and CreditCardCreditExpenseItems tables and it starts with Item and Expense. For example, the following will insert a new CreditCardCredit with two Line Items:
INSERT INTO CreditCardCredits (AccountName, ItemAggregate) VALUES ('CalOil Credit Card', '<CreditCardCreditLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </CreditCardCreditLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier of the credit card credit transaction in QuickBooks. DateDateFalse The date of the credit card credit transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. ReferenceNumberStringFalse 21 The reference number for the credit card credit transaction, used for identification and tracking. AccountNameStringFalse 1000 The name of the credit card account associated with this credit. Either AccountName or AccountId must be provided when inserting. AccountIdStringFalse Accounts.ID 255 The unique identifier of the credit card account associated with this credit. Either AccountName or AccountId must be provided when inserting. MemoStringFalse 5000 A memo providing additional details about this transaction, visible on internal reports only. PayeeNameStringFalse 1000 The name of the payee associated with this credit card credit. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this credit card credit. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Available only in international editions of QuickBooks. ItemCountIntegerTrue The total number of line items associated with this credit card credit. ItemAggregateStringFalse 5000 An aggregate of line item data used to add a credit card credit and its line items in a single operation. ExpenseItemCountIntegerTrue The total number of expense line items associated with this credit card credit. ExpenseItemAggregateStringFalse 5000 An aggregate of expense item data used to add a credit card credit and its expense items in a single operation. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. TimeModifiedDatetimeTrue The timestamp of the last modification made to this credit card credit transaction. TimeCreatedDatetimeTrue The timestamp of when this credit card credit transaction was originally created. TxnNumberIntegerTrue A manually assigned transaction number to identify this credit separately from the Quickbooks generated ID. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringRepresents all line-item-specific columns that can be used during insertion to specify line item details for this credit card credit. Expense\*StringRepresents all expense-item-specific columns that can be used during insertion to specify expense item details for this credit card credit. CreditCardRefunds
Facilitates the creation and querying of QuickBooks AR Credit Card Refund transactions for managing customer refunds.
Table Specific Information
CreditCardRefunds may be inserted or queried via the CreditCardRefunds table. CreditCardRefunds may be deleted by using the CreditCardRefunds table. QuickBooks does not currently support updating CreditCardRefunds.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for ARCreditCardRefunds are Id, Date, ReferenceNumber, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditCardRefunds WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditCardRefund, specify a Customer, Date, and at least one reference to a Credit Memo. For example, the following will insert a new CreditCardRefunds:
INSERT INTO CreditCardRefunds#TEMP (CustomerRef_ListID, PaymentMethodRef_ListID, RefundAppliedToTxnAdd_TxnId, RefundAppliedToTxnAdd_RefundAmount) VALUES ('150000-933272658', '1D575-1544895769', '30000-933272660', 200.00) INSERT INTO CreditCardRefunds (CustomerRef_ListID, PaymentMethodRef_ListID, RefundAppliedToTxnAdd_TxnId, RefundAppliedToTxnAdd_RefundAmount) SELECT CustomerRef_ListID, PaymentMethodRef_ListID, RefundAppliedToTxnAdd_TxnId, RefundAppliedToTxnAdd_RefundAmount FROM CreditCardRefunds#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the credit card refund transaction. TxnDateDateFalse The date of the transaction when the refund was processed. TxnNumberIntegerTrue A manually assigned transaction number to identify this refund separately from the Quickbooks generated ID. RefNumberStringFalse 21 The transaction reference number for the refund. CustomerRef_ListIDStringFalse Customers.ID 255 The unique ID of the customer associated with the refund. Either CustomerRef_ListID or CustomerRef_FullName must be provided when inserting. CustomerRef_FullNameStringFalse 209 The full name of the customer associated with the refund. Either CustomerRef_ListID or CustomerRef_FullName must be provided when inserting. RefundFromAccountRef_ListIDStringFalse Accounts.ID 255 The unique ID of the account where the refund amount originates. RefundFromAccountRef_FullNameStringFalse 159 The full name of the account where the refund amount originates. ARAccountRef_ListIDStringFalse Accounts.ID 255 The unique ID of the accounts-receivable account receiving the money from the refund. ARAccountRef_FullNameStringFalse 159 The full name of the accounts-receivable account receiving the money from the refund. TotalAmountDecimalTrue The total amount refunded in the transaction. TotalAmountInHomeCurrencyDecimalTrue The total amount refunded, converted to the home currency. Address_Addr1StringFalse 41 The first line of the customer's address. Address_Addr2StringFalse 41 The second line of the customer's address. Address_Addr3StringFalse 41 The third line of the customer's address. Address_Addr4StringFalse 41 The fourth line of the customer's address. Address_Addr5StringFalse 41 The fifth line of the customer's address. Address_CityStringFalse 31 The city associated with the customer's address. Address_StateStringFalse 21 The state associated with the customer's address. Address_PostalCodeStringFalse 13 The postal code associated with the customer's address. Address_CountryStringFalse 31 The country associated with the customer's address. Address_NoteStringFalse 41 Additional notes related to the customer's address. PaymentMethodRef_ListIDStringFalse PaymentMethods.ID 255 The unique ID of the payment method used for the refund. PaymentMethodRef_FullNameStringFalse 31 The full name of the payment method used for the refund. MemoStringFalse 4095 Additional information or notes about the refund transaction. RefundAppliedToTxnAggregateStringFalse 5000 An aggregate of transactions to which this refund is applied. CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardNumberStringFalse 25 The credit card number used by the customer for this refund. CreditCardTxnInfo_CreditCardTxnInputInfo_ExpirationMonthIntegerFalse The expiration month of the customer's credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_ExpirationYearIntegerFalse The expiration year of the customer's credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_NameOnCardStringFalse 41 The name printed on the customer's credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardAddressStringFalse 41 The address associated with the customer's credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardPostalCodeStringFalse 18 The postal code associated with the address for the customer's credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_CommercialCardCodeStringFalse 24 An optional field for Visa and MasterCard commercial cards, containing additional card details. CreditCardTxnInfo_CreditCardTxnInputInfo_TransactionModeStringFalse 50 Indicates whether the transaction was processed as 'CardPresent' or 'CardNotPresent.' Defaults to 'CardNotPresent.' CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardTxnTypeStringFalse 50 Specifies the type of transaction, such as Authorization, Capture, Charge, Refund, or VoiceAuthorization. CreditCardTxnInfo_CreditCardTxnResultInfo_ResultCodeIntegerFalse The status code returned by the credit card processor for this transaction. CreditCardTxnInfo_CreditCardTxnResultInfo_ResultMessageStringFalse 60 The status message returned by the credit card processor for this transaction. CreditCardTxnInfo_CreditCardTxnResultInfo_CreditCardTransIDStringFalse 24 The transaction ID returned by the credit card processor. CreditCardTxnInfo_CreditCardTxnResultInfo_MerchantAccountNumberStringFalse 32 The account number of the merchant processing this refund. CreditCardTxnInfo_CreditCardTxnResultInfo_AuthorizationCodeStringFalse 12 The authorization code returned by the credit card processor. CreditCardTxnInfo_CreditCardTxnResultInfo_AVSStreetStringFalse 50 Indicates whether the street address supplied matches the customer's registered address. CreditCardTxnInfo_CreditCardTxnResultInfo_AVSZipStringFalse 50 Indicates whether the postal code supplied matches the customer's registered postal code. CreditCardTxnInfo_CreditCardTxnResultInfo_CardSecurityCodeMatchStringFalse 50 Indicates whether the supplied card security code matches the card's actual code. CreditCardTxnInfo_CreditCardTxnResultInfo_TxnAuthorizationTimeDatetimeFalse The timestamp when the card processor authorized this transaction. CustomFieldsStringFalse 5000 Custom fields returned from QuickBooks, formatted as XML. CurrencyRef_ListIDStringTrue Currency.ListID 255 The unique ID of the currency code used for this refund. CurrencyRef_NameStringTrue 64 The name of the currency code used for this refund. ExchangeRateDecimalFalse The exchange rate used to convert the transaction amount to the home currency. TimeCreatedDatetimeTrue The timestamp of when the refund transaction was created. TimeModifiedDatetimeTrue The timestamp of the last modification made to the refund transaction. EditSequenceStringTrue 16 A versioning identifier for this refund transaction. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description RefundAppliedToTxnAdd_TxnIDStringThe unique ID of the transaction to which the refund is applied. Required for insertion. RefundAppliedToTxnAdd_RefundAmountDecimalThe amount of the refund applied to the transaction. Required for insertion. CreditMemoLineItems
Manages individual line items within QuickBooks Credit Memos, allowing creation, updates, deletion, and detailed queries.
Table Specific Information
CreditMemos may be inserted, queried, or updated via the CreditMemoLineItems table. CreditMemos may be deleted by using the CreditMemos table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditMemos are Id, ReferenceNumber, Date, TimeModified, CustomerName, CustomerId, AccountsReceivable, and AccountsReceivableId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditMemoLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditMemo, specify a Customer and at least one Line Item. All Line Item columns can be used for inserting multiple Line Items for a new CreditMemo transaction. For example, the following will insert a new CreditMemo with two Line Items:
INSERT INTO CreditMemoLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Abercrombie, Kristy', 'Repairs', 1) INSERT INTO CreditMemoLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Abercrombie, Kristy', 'Removal', 2) INSERT INTO CreditMemoLineItems (CustomerName, ItemName, ItemQuantity) SELECT CustomerName, ItemName, ItemQuantity FROM CreditMemoLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the credit memo line item, formatted as CreditMemoId|ItemLineId. CreditMemoIdStringFalse CreditMemos.ID 255 The unique identifier of the credit memo associated with this line item. ReferenceNumberStringFalse 21 The reference number for the credit memo transaction. TxnNumberIntegerTrue A manually assigned transaction number to identify the credit memo separately from the Quickbooks generated ID. DateDateFalse The date of the credit memo transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. CustomerNameStringFalse 1000 The name of the customer on the credit memo. Either CustomerName or CustomerId must be provided when inserting. CustomerIdStringFalse Customers.ID 255 The unique identifier of the customer on the credit memo. Either CustomerName or CustomerId must be provided when inserting. AccountsReceivableStringFalse 1000 The name of the accounts-receivable account where the transaction is recorded. AccountsReceivableIdStringFalse Accounts.ID 255 The unique identifier of the accounts-receivable account where the transaction is recorded. ShipMethodStringFalse 1000 The method used for shipping associated with this credit memo. ShipMethodIdStringFalse ShippingMethods.ID 255 The unique identifier for the shipping method. ShipDateDateFalse The date when the items were shipped. MemoStringFalse 5000 A memo providing additional information about this credit memo transaction. AmountDecimalFalse The total amount for this transaction. MessageStringFalse 101 A message to be communicated to the customer. MessageIdStringFalse CustomerMessages.ID 255 The unique identifier for the message to the customer. SalesRepStringFalse 5 The initials or reference to the sales representative associated with this transaction. SalesRepIdStringFalse SalesReps.ID 255 The unique identifier for the sales representative. FOBStringFalse 13 The place where the ownership of goods transfers (Freight on Board). BillingAddressStringTrue The full billing address for this credit memo. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city associated with the billing address. BillingStateStringFalse 255 The state associated with the billing address. BillingPostalCodeStringFalse 30 The postal code associated with the billing address. BillingCountryStringFalse 255 The country associated with the billing address. BillingNoteStringFalse 41 A note associated with the billing address. ShippingAddressStringTrue The full shipping address for this credit memo. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city associated with the shipping address. ShippingStateStringFalse 255 The state associated with the shipping address. ShippingPostalCodeStringFalse 30 The postal code associated with the shipping address. ShippingCountryStringFalse 255 The country associated with the shipping address. ShippingNoteStringFalse 41 A note associated with the shipping address. SubtotalDecimalTrue The gross subtotal for this transaction, excluding tax or previously paid amounts. TaxDoubleFalse The total sales tax applied to this transaction. TaxItemStringFalse 100 The name of the sales tax item applied to this transaction. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique identifier of the sales tax item applied to this transaction. TaxPercentDoubleTrue The percentage rate charged for sales tax. IsPendingBooleanFalse Indicates whether the transaction is pending or completed. IsToBeEmailedBooleanFalse Indicates whether this credit memo is to be emailed to the customer. IsToBePrintedBooleanFalse Indicates whether this credit memo is to be printed. IsTaxIncludedBooleanFalse Determines if tax is included in the transaction amount. Available only in international editions of QuickBooks. PONumberStringFalse 25 The purchase order number associated with this transaction. TermsStringFalse 100 The payment terms for the transaction. TermsIdStringFalse 255 The unique identifier for the payment terms. CreditRemainingDoubleTrue The remaining credit amount available on this transaction. DueDateDateFalse The date when the credit is due. TemplateStringFalse 100 The name of the template applied to this transaction. TemplateIdStringFalse Templates.ID 255 The unique identifier of the template applied to this transaction. CustomerSalesTaxStringFalse 3 The sales tax information associated with the customer. CustomerSalesTaxIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax information for the customer. ClassStringFalse 1000 The class associated with the transaction for categorization. ClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this transaction. ExchangeRateDoubleFalse The exchange rate used for this transaction's currency conversion. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML. ItemLineIdStringTrue 255 The unique identifier for the line item. ItemLineNumberStringTrue 255 The line number for this item within the credit memo. ItemNameStringFalse The name of the item associated with this line. ItemIdStringFalse Items.ID 255 The unique identifier of the item associated with this line. ItemGroupStringFalse 100 The name of the group this item belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier of the group this item belongs to, if applicable. ItemDescriptionStringFalse 5000 A detailed description of the item listed in this line. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item. Requires QBXML Version 7.0 or higher. ItemQuantityDoubleFalse The quantity of the item specified in this line. ItemRateDoubleFalse The rate charged per unit for this item. ItemRatePercentDoubleFalse The rate percentage charged for this item, if applicable. ItemTaxCodeStringFalse 3 The sales tax code for this item, indicating taxable or nontaxable status. ItemTaxCodeIdStringFalse SalesTaxItems.ID 255 The unique identifier of the sales tax code for this item. ItemAmountDecimalFalse The total amount for this item line. ItemClassStringFalse 1000 The class associated with this item. ItemClassIdStringFalse Class.ID 255 The unique identifier for the class of this item. ItemInventorySiteNameStringFalse 31 The name of the inventory site for this item. Requires QBXML Version 10.0 or higher. ItemInventorySiteIdStringFalse InventorySites.ID 255 The unique identifier of the inventory site for this item. Requires QBXML Version 10.0 or higher. ItemInventorySiteLocationNameStringFalse 31 The name of the inventory site location for this item. Requires QBXML Version 10.0 or higher. ItemInventorySiteLocationIdStringFalse 255 The unique identifier of the inventory site location for this item. Requires QBXML Version 10.0 or higher. ItemSerialNumberStringFalse 5000 The serial number associated with this item. Requires QBXML Version 11.0 or higher. ItemLotNumberStringFalse 40 The lot number associated with this item. Requires QBXML Version 11.0 or higher. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number of this item. Requires QBXML Version 16.0 or higher. ItemOther1StringFalse 29 The custom field 'Other1' associated with this line item. Requires QBXML Version 6.0 or higher. ItemOther2StringFalse 29 The custom field 'Other2' associated with this line item. Requires QBXML Version 6.0 or higher. ItemCustomFieldsStringFalse Custom fields associated with this line item. ItemUOMSetFullNameStringFalse 1000 The full name of the unit of measure set for this item. ItemUOMSetListIDStringFalse UnitOfMeasure.ID 1000 The unique identifier of the unit of measure set for this item. ItemIsGetPrintItemsInGroupStringFalse 1000 Indicates whether a list of this group's individual items and their amounts appear on printed forms. EditSequenceStringTrue 16 An identifier used for versioning this transaction object. TimeModifiedDatetimeTrue The timestamp of the last modification made to this credit memo. TimeCreatedDatetimeTrue The timestamp of when this credit memo was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringThe price level associated with the item. QuickBooks does not return the price level. ItemOverrideAccountStringThe name of the account used to override the default account for this item. Available during inserts and updates. ItemOverrideAccountIdStringThe unique identifier of the account used to override the default account for this item. Available during inserts and updates. CreditMemos
Manages QuickBooks Credit Memos, supporting creation, updates, deletion, and queries for issuing and tracking customer credits.
Table Specific Information
CreditMemos may be inserted, queried, or updated via the CreditMemoLineItems table. CreditMemos may be deleted by using the CreditMemos table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for CreditMemos are Id, ReferenceNumber, Date, TimeModified, CustomerName, CustomerId, AccountsReceivable, and AccountsReceivableId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM CreditMemos WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a CreditMemo, specify a Customer and at least one Line Item. The ItemAggregate column may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the CreditMemoLineItems tableand it starts with Item. For example, the following will insert a new CreditMemo with two Line Items:
INSERT INTO CreditMemos (CustomerName, ItemAggregate) VALUES ('Abercrombie, Kristy', '<CreditMemoLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </CreditMemoLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the credit memo. ReferenceNumberStringFalse 21 The reference number associated with the credit memo transaction. TxnNumberIntegerTrue The manually assigned transaction number, used to distinguish this credit memo from others in QuickBooks. DateDateFalse The date of the credit memo transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. CustomerNameStringFalse 1000 The name of the customer associated with the credit memo. Either CustomerName or CustomerId is required when inserting. CustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with the credit memo. Either CustomerName or CustomerId is required when inserting. AccountsReceivableStringFalse 1000 The name of the accounts-receivable account where the credit memo is recorded. AccountsReceivableIdStringFalse Accounts.ID 255 The unique identifier of the accounts-receivable account where the credit memo is recorded. ShipMethodStringFalse 1000 The shipping method used for this transaction. ShipMethodIdStringFalse ShippingMethods.ID 255 The unique identifier for the shipping method used. ShipDateDateFalse The date when the items were shipped. MemoStringFalse 5000 A memo providing additional information about the credit memo transaction. AmountDecimalFalse The total amount for the credit memo transaction. MessageStringFalse 101 A message for the customer associated with this credit memo. MessageIdStringFalse CustomerMessages.ID 255 The unique identifier for the message sent to the customer. SalesRepStringFalse 5 The initials or reference to the sales representative associated with the transaction. SalesRepIdStringFalse SalesReps.ID 255 The unique identifier for the sales representative. FOBStringFalse 13 Freight on board: The location from which goods are shipped. BillingAddressStringTrue The full billing address associated with this credit memo. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city associated with the billing address. BillingStateStringFalse 255 The state associated with the billing address. BillingPostalCodeStringFalse 30 The postal code associated with the billing address. BillingCountryStringFalse 255 The country associated with the billing address. BillingNoteStringFalse 41 A note providing additional context for the billing address. ShippingAddressStringTrue The full shipping address associated with this credit memo. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city associated with the shipping address. ShippingStateStringFalse 255 The state associated with the shipping address. ShippingPostalCodeStringFalse 30 The postal code associated with the shipping address. ShippingCountryStringFalse 255 The country associated with the shipping address. ShippingNoteStringFalse 41 A note providing additional context for the shipping address. SubtotalDecimalTrue The gross subtotal of the credit memo, excluding tax or any applied payments. TaxDoubleFalse The total amount of sales tax applied to the credit memo. TaxItemStringFalse 100 The sales tax item applied to this transaction, collected at a specified rate and paid to a single agency. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique identifier of the sales tax item applied to this transaction. TaxPercentDoubleTrue The percentage rate charged for sales tax on this transaction. IsPendingBooleanFalse Indicates whether this transaction is pending or completed. IsToBeEmailedBooleanFalse Specifies whether the credit memo is to be emailed to the customer. IsToBePrintedBooleanFalse Specifies whether the credit memo is to be printed. IsTaxIncludedBooleanFalse Determines if the transaction amount includes tax. Available only in international editions of QuickBooks. PONumberStringFalse 25 The purchase order number associated with this transaction. TermsStringFalse 100 The payment terms associated with the credit memo. TermsIdStringFalse 255 The unique identifier for the payment terms. CreditRemainingDoubleTrue The remaining credit amount available for this credit memo. DueDateDateFalse The date when the credit memo payment is due. TemplateStringFalse 100 The name of the template applied to this credit memo transaction. TemplateIdStringFalse Templates.ID 255 The unique identifier of the template applied to this credit memo. CustomerSalesTaxStringFalse 3 The sales tax information for the customer associated with this transaction. CustomerSalesTaxIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax information for the customer. ClassStringFalse 1000 The class associated with this credit memo transaction for categorization. ClassIdStringFalse Class.ID 255 The unique identifier for the class associated with this credit memo transaction. ExchangeRateDoubleFalse The exchange rate used for converting currency in this transaction. ItemCountIntegerTrue The total number of line items in this credit memo. ItemAggregateStringFalse 5000 An aggregate of the line item data, useful for adding a credit memo with its line items. TransactionCountIntegerTrue The total number of related transactions linked to this credit memo. TransactionAggregateStringTrue 5000 An aggregate of the data for transactions linked to this credit memo. CustomFieldsStringFalse Custom fields associated with this credit memo, formatted as XML. EditSequenceStringTrue 16 An identifier used for versioning this specific credit memo object. TimeModifiedDatetimeTrue The timestamp of the last modification made to this credit memo. TimeCreatedDatetimeTrue The timestamp of when this credit memo was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringAll line-item-specific columns are available for insertions. Currency
Handles QuickBooks currency management, including creation, updates, deletion, and querying of supported currencies. Requires QBXML Version 8.0 or higher, with multi-currency enabled.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the currency. NameStringFalse 64 The full name of the currency, such as United States Dollar or Euro. IsActiveBooleanFalse Indicates whether the currency is currently active and available for use in transactions. CurrencyCodeStringFalse 3 A three-character code that represents the currency, such as USD for United States Dollar or EUR for Euro. CurrencyFormat_ThousandSeparatorStringFalse 10 The character used to separate thousands in currency values. For example, a comma in 1,000,000. The allowed values are Comma, Period, Space, Apostrophe. The default value is Comma. CurrencyFormat_ThousandSeparatorGroupingStringFalse 50 Specifies how currency values are grouped by thousands. For example, 10,000,000 may use a grouping pattern such as XX_XXX_XXX. CurrencyFormat_DecimalPlacesStringFalse 50 Specifies the number of decimal places to display in the currency value. For example, '2' for values like 1.00. The default value is 2. CurrencyFormat_DecimalSeparatorStringFalse 6 The character used to separate whole numbers from decimal values in currency. For example, a period in 1.00. The allowed values are Comma, Period. The default value is Period. IsUserDefinedCurrencyBooleanTrue Indicates whether the currency is a default currency provided by QuickBooks or a custom currency created by the user. ExchangeRateDoubleTrue The exchange rate for converting this currency to the home currency in the QuickBooks company file. The rate reflects the snapshot in effect at the AsOfDate. AsOfDateDateTrue The date when the exchange rate was last updated or modified. EditSequenceStringTrue 16 A string representing the version of this currency record. Useful for tracking changes. TimeCreatedDatetimeTrue The date and time when the currency record was originally created. TimeModifiedDatetimeTrue The date and time when the currency record was last modified. CustomerContacts
Manages QuickBooks Customer Contacts, allowing creation, updates, deletion, and queries for customer relationship management. Requires QBXML Version 12.0 or higher and is only available in QuickBooks editions 2016 and above.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the shipping address, formatted as CustomerId|ContactId. CustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with the shipping address. NameStringFalse 100 The name of the customer. This field is required when inserting a new record. FullNameStringTrue 1000 The full name of the customer, including hierarchical parent relationships, formatted as Parent:Customer. ContactIdStringFalse 500 The unique identifier of the contact associated with the customer. ContactEditSequenceStringFalse 500 An identifier used to track versioning for this specific copy of the contact object. ContactFirstNameStringFalse 500 The first name of the contact associated with the customer. ContactMiddleNameStringFalse 500 The middle name of the contact associated with the customer. ContactLastNameStringFalse 500 The last name of the contact associated with the customer. ContactJobTitleStringFalse 41 The job title or position of the contact within their organization. ContactSalutationStringFalse 255 The salutation for the contact, such as Mr., Ms., or Dr. ContactMethodsStringFalse 1000 A list of contact methods for the contact, such as phone numbers, email addresses, or fax numbers. EditSequenceStringFalse 16 An identifier used to track versioning for this specific copy of the object. TimeModifiedDatetimeFalse The timestamp indicating when the customer or contact record was last modified. TimeCreatedDatetimeFalse The timestamp indicating when the customer or contact record was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description IncludeJobsBooleanIndicates whether job information should be included in the query results. True to include jobs; false otherwise. The default value is TRUE. CustomerMessages
Supports creating, deleting, and querying Customer Messages within QuickBooks to streamline communication.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the customer message. NameStringFalse 101 The name or title of the customer message, used to identify it. IsActiveBooleanFalse Indicates whether the customer message is active and available for use. EditSequenceStringTrue 16 A string that represents the version of this customer message, useful for tracking changes. TimeCreatedDatetimeTrue The timestamp when the customer message was originally created. TimeModifiedDatetimeTrue The timestamp when the customer message was last modified. CustomerNotes
Manages QuickBooks Customer Notes, allowing creation, updates, and queries for tracking customer-specific information. Requires QBXML Version 12.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the note, formatted as CustomerId|NoteId. CustomerIDStringFalse Customers.ID 255 The unique identifier of the customer associated with the note. NameStringFalse 100 The name of the customer. This field is required when inserting a new record. FullNameStringTrue 1000 The full name of the customer, including any hierarchical parent relationships, formatted as Parent:Customer. NoteIdStringFalse 255 The unique identifier for the note associated with the customer. DateStringFalse 5000 The date when the note was created or last updated. NoteStringFalse 5000 The content of the note related to the customer. EditSequenceStringFalse 16 An identifier used to track versioning for this specific note object. TimeModifiedDatetimeFalse The timestamp indicating when the customer or note record was last modified. TimeCreatedDatetimeFalse The timestamp indicating when the customer or note record was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description IncludeJobsBooleanIndicates whether job-related information should be included in the query results. True to include jobs; false otherwise. The default value is TRUE. Customers
Handles QuickBooks Customers, supporting creation, updates, deletion, and queries for managing customer data effectively.
Table Specific Information
To add a Customer, you must specify the Name field.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Customers are Id, Name, Balance, IsActive, and TimeModified. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Balance may be used with the >=, <=, or = conditions but cannot be used to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Customers WHERE Name LIKE '%George%' AND TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND Balance > 100.00 AND Balance < 200.00Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the customer. NameStringFalse 41 The name of the customer. This is required when adding a new customer. FullNameStringTrue 159 The full name of the customer, including hierarchical parent relationships, formatted as Parent:Customer. SalutationStringFalse 15 The salutation for the customer, such as Mr., Mrs., Dr., etc. FirstNameStringFalse 25 The customer's first name as per the address information. MiddleInitialStringFalse 5 The middle name or initial of the customer. LastNameStringFalse 25 The customer's last name as per the address information. AccountNumberStringFalse 99 The account number associated with the customer. CompanyStringFalse 41 The name of the company the customer is associated with. BalanceDoubleTrue The total balance owed by the customer, including balances of any subcustomers. CustomerBalanceDoubleTrue The balance owed solely by this customer, excluding subcustomers. ContactStringFalse 41 The name of the primary contact person for the customer. TypeStringFalse 1000 The predefined customer type in QuickBooks, such as Commercial or Residential. TypeIdStringFalse CustomerTypes.ID 255 The unique identifier for the customer type in QuickBooks. PhoneStringFalse 21 The main phone number for the customer. FaxStringFalse 21 The fax number for the customer. AlternateContactStringFalse 41 The name of an alternate contact for the customer. AlternatePhoneStringFalse 21 The alternate phone number for the customer. EmailStringFalse 1023 The email address for the customer. CcStringFalse 1023 An additional email address for sending copies of communications to the customer. Requires QBXML Version 12.0 or higher. AdditionalContactInfoStringFalse Additional contact details for the customer. ContactsAggregateStringFalse 5000 An XML-formatted collection of additional contacts for the customer. Must include the contact's FirstName. Requires QBXML Version 12.0. ClassNameStringFalse The name of the class associated with the customer. Requires QBXML Version 12.0 or higher. ClassIdStringFalse The unique identifier for the class associated with the customer. Requires QBXML Version 12.0 or higher. NotesStringFalse 5000 The first note associated with the customer. For all notes, refer to NotesAggregate or the CustomerNotes table. NotesAggregateStringFalse 5000 An XML-formatted collection of additional notes for the customer, including NoteId and Note elements. Requires QBXML Version 12.0. ParentNameStringFalse The name of the parent job for this customer. ParentIdStringFalse Customers.ID 255 The unique identifier for the parent job associated with this customer. SublevelIntegerFalse The number of levels in the customer's hierarchy. JobStatusStringFalse 10 The current status of the customer's job, if applicable. The allowed values are Awarded, Closed, InProgress, None, NotAwarded, Pending. JobStartDateDateFalse The starting date of the customer's job. JobProjectedEndDateDateFalse The projected end date of the customer's job. JobEndDateDateFalse The actual end date of the customer's job. JobDescriptionStringFalse 99 A description of the customer's job. JobTypeStringFalse 1000 The name of the job type. JobTypeIdStringFalse JobTypes.ID 255 The unique identifier for the job type. CreditCardAddressStringFalse 41 The billing address associated with the customer's credit card. CreditCardExpMonthIntegerFalse The expiration month of the customer's credit card. CreditCardExpYearIntegerFalse The expiration year of the customer's credit card. CreditCardNameOnCardStringFalse 41 The name appearing on the customer's credit card. CreditCardNumberStringFalse 25 The credit card number associated with the customer. CreditCardPostalCodeStringFalse 41 The postal code linked to the customer's credit card address. CreditLimitDoubleFalse The credit limit for the customer. If zero, no credit limit applies. BillingAddressStringTrue The complete billing address for the customer. BillingLine1StringFalse 41 The first line of the billing address. BillingLine2StringFalse 41 The second line of the billing address. BillingLine3StringFalse 41 The third line of the billing address. BillingLine4StringFalse 41 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 31 The city in the billing address. BillingStateStringFalse 21 The state in the billing address. BillingPostalCodeStringFalse 13 The postal code in the billing address. BillingCountryStringFalse 31 The country in the billing address. BillingNoteStringFalse 41 A note associated with the billing address. ShippingAddressStringTrue The complete shipping address for the customer. ShippingLine1StringFalse 41 The first line of the shipping address. ShippingLine2StringFalse 41 The second line of the shipping address. ShippingLine3StringFalse 41 The third line of the shipping address. ShippingLine4StringFalse 41 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 31 The city in the shipping address. ShippingStateStringFalse 21 The state in the shipping address. ShippingPostalCodeStringFalse 13 The postal code in the shipping address. ShippingCountryStringFalse 31 The country in the shipping address. ShippingNoteStringFalse 41 A note associated with the shipping address. ShippingAggregateStringFalse 5000 An XML-formatted collection of shipping addresses for the customer. Requires QBXML Version 12.0. ResaleNumberStringFalse 16 The resale number associated with the customer, if applicable. Can only be set on inserts. SalesRepStringFalse SalesReps.ID 5 The name of the sales representative assigned to the customer. SalesRepIdStringFalse 255 The unique identifier for the sales representative assigned to the customer. TermsStringFalse 100 The payment terms for the customer, such as '2% 10 Net 60'. Can only be set on inserts. TermsIdStringFalse 255 The unique identifier for the payment terms associated with the customer. CurrencyNameStringFalse 64 The name of the currency used by this customer. Requires QBXML Version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier for the currency used by this customer. Requires QBXML Version 8.0 or higher. TaxCodeStringFalse 3 A reference to the predefined sales tax code in QuickBooks. Can only be set on inserts. TaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the predefined sales tax code. Can only be set on inserts. TaxItemStringFalse 100 A sales tax item specifying a single tax collected at a specific rate and paid to an agency. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique identifier for the sales tax item. SalesTaxCountryStringFalse 100 The country that collects applicable sales taxes. Available only in international editions of QuickBooks. PriceLevelStringFalse 100 The name of the price level associated with the customer. PriceLevelIdStringFalse PriceLevels.ID 255 The unique identifier for the price level associated with the customer. PreferredDeliveryMethodStringFalse 20 The preferred delivery method for customer communications, such as email, fax, or none. Requires QBXML Version 12.0. PreferredPaymentMethodNameStringFalse 100 The preferred payment method for the customer. PreferredPaymentMethodIdStringFalse PaymentMethods.ID 255 The unique identifier for the preferred payment method. IsActiveBooleanFalse Indicates whether the customer is currently active. CustomFieldsStringFalse An XML-formatted collection of custom fields for the customer. EditSequenceStringTrue 16 An identifier used to track the version of this customer object. TimeModifiedDatetimeTrue The timestamp when the customer was last modified. TimeCreatedDatetimeTrue The timestamp when the customer was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description IncludeJobsBooleanIndicates whether job-related information should be included in the results. The default value is TRUE. CustomerShippingAddresses
Manages multiple shipping addresses for QuickBooks Customers, including creation, updates, deletion, and queries. Requires QBXML Version 12.0 or higher and is supported in QuickBooks 2013 and higher.
Table Specific Information
Insert
To insert a new Shipping Address, specify the CustomerId and the ShipToName of the new Address. Fields designated with a Shipping may be used as to insert multiple Addresses in one statement. For example:
INSERT INTO CustomerShippingAddresses#TEMP (CustomerId, ShipToName, ShipToCity) VALUES ('123456789-9999', 'Shipto Addr 1', 'London') INSERT INTO CustomerShippingAddresses#TEMP (CustomerId, ShipToName, ShipToCity) VALUES ('123456789-9999', 'Shipto Addr 2', 'Paris') INSERT INTO CustomerShippingAddresses (CustomerId, ShipToName, ShipToCity) SELECT CustomerId, ShipToName, ShipToCity FROM CustomerShippingAddresses#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the shipping address, formatted as CustomerId|ShipToName. CustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this shipping address. NameStringFalse 100 The name of the customer. This is required when adding a new shipping address. FullNameStringTrue 1000 The full hierarchical name of the customer, formatted as Parent:Customer. ShipToNameStringFalse 500 The name assigned to the shipping address in QuickBooks. This field is required when adding additional shipping addresses for a customer. ShipToAddr1StringFalse 500 The first line of the shipping address. ShipToAddr2StringFalse 500 The second line of the shipping address. ShipToAddr3StringFalse 500 The third line of the shipping address. ShipToAddr4StringFalse 500 The fourth line of the shipping address. ShipToAddr5StringFalse 41 The fifth line of the shipping address. ShipToCityStringFalse 255 The city associated with the shipping address. ShipToStateStringFalse 255 The state or province associated with the shipping address. ShipToPostalCodeStringFalse 30 The postal code or ZIP code of the shipping address. ShipToCountryStringFalse 255 The country associated with the shipping address. ShipToNoteStringFalse 41 Additional notes or information about the shipping address. ShipToDefaultShipToBooleanFalse Indicates whether this shipping address is set as the default for the customer. EditSequenceStringFalse 16 An identifier used to track versioning for this shipping address. TimeModifiedDatetimeFalse The timestamp of the last modification made to this shipping address. TimeCreatedDatetimeFalse The timestamp when this shipping address was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description IncludeJobsBooleanSpecifies whether to include job-related information in the results. The default value is TRUE. CustomerTypes
Facilitates the management of QuickBooks Customer Types, supporting creation, updates, deletion, and queries to classify customers.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the customer type. NameStringFalse 31 The name assigned to the customer type. FullNameStringTrue 159 The full hierarchical name of the customer type, formatted as Parent:CustomerType. ParentNameStringFalse The name of the parent customer type, if applicable. ParentIdStringFalse CustomerTypes.ID 255 The unique identifier of the parent customer type, if applicable. IsActiveBooleanFalse Indicates whether this customer type is active and available for use. TimeCreatedDatetimeTrue The timestamp indicating when the customer type was created. TimeModifiedDatetimeTrue The timestamp indicating when the customer type was last modified. EditSequenceStringTrue 16 A versioning identifier used to track changes to this customer type. DateDrivenTerms
Supports the creation, deletion, and querying of QuickBooks Date-Driven Terms for payment and invoice schedules.
Table Specific Information
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for DateDrivenTerms are Name, TimeModified, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax.
Insert
To insert DateDrivenTerms, specify the Name and DayOfMonthDue.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the date-driven payment term. NameStringFalse 31 The name assigned to the date-driven payment term. IsActiveBooleanFalse Indicates whether the date-driven payment term is currently active and available for use. DayOfMonthDueIntegerFalse Specifies the day of the month when the full payment is due without any discount. DueNextMonthDaysIntegerFalse Defines the number of days before the due date within which, if the invoice or bill is issued, the payment deadline is extended to the following month. DiscountDayOfMonthIntegerFalse The day of the month by which payment must be made to qualify for a discount. DiscountPctDoubleFalse The percentage discount applied to payments made by the specified discount day of the month. Must be between 0 and 100. EditSequenceStringTrue 16 An identifier used for versioning and tracking changes to this payment term. TimeCreatedDatetimeTrue The timestamp indicating when this payment term was created. TimeModifiedDatetimeTrue The timestamp indicating the last modification to this payment term. DepositLineItems
Handles individual line items within QuickBooks Deposits, supporting creation, updates, deletion, and queries. Requires QBXML Version 7.0 or higher.
Table Specific Information
Deposits may be inserted, queried, or updated via the Deposits or DepositLineItems tables. Deposits may be deleted by using the Deposits table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Deposits are Id, Date, TimeModified, DepositToAccount, and DepositToAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. For example:
SELECT * FROM DepositLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011'Insert
To add a Deposit, specify the DepositToAccount field and at least one Line Item. All Line Items must have an ItemAccount specified.
All Line Item columns can be used for inserting multiple Line Items for a new Deposit transaction. For example, the following will insert a new Deposit with two Line Items:
INSERT INTO DepositLineItems#TEMP (DepositToAccount, ItemAccount, ItemAmount) VALUES ('Checking', 'Undeposited Funds', 12.25) INSERT INTO DepositLineItems#TEMP (DepositToAccount, ItemAccount, ItemAmount) VALUES ('Checking', 'Savings', 155.35) INSERT INTO DepositLineItems (DepositToAccount, ItemAccount, ItemAmount) SELECT DepositToAccount, ItemAccount, ItemAmount FROM DepositLineItems#TEMPFollowing is an example to Insert with Transaction Id(ItemPaymentId)
INSERT INTO DepositLineItems (DepositToAccount, Date, ItemPaymentId) VALUES ('Petty Cash', '2022-06-21', '28D31-1702630754')Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the deposit line item, formatted as DepositId|ItemLineId. DepositIdStringFalse Deposits.ID 255 The unique identifier for the deposit. Set this value to add line items to an existing deposit, or leave blank to create a new deposit. TxnNumberIntegerTrue A unique transaction number assigned to this deposit, distinct from the Quickbooks generated ID. DateDateFalse The date of the deposit transaction. If used in the WHERE clause of a SELECT query, this overrides the pseudo columns StartDate and EndDate. CashBackAccountStringFalse 1000 The account reference for the bank or credit card company receiving the cash back. CashBackAccountIdStringFalse Accounts.ID 255 The unique ID of the account for the bank or credit card company receiving the cash back. CashBackAmountDecimalFalse The amount of cash back received in this deposit transaction. CashBackIdStringTrue 255 The unique ID of the cash back transaction. CashBackMemoStringFalse 5000 Additional details or notes regarding the cash back transaction. DepositToAccountStringFalse 1000 The account where the deposit funds are to be credited. DepositToAccountIdStringFalse Accounts.ID 255 The unique ID of the account where the deposit funds are to be credited. MemoStringFalse 5000 A note or comment to appear on internal reports related to this deposit. TotalDepositDoubleTrue The total sum of the deposit transaction, including all line items and cash back. CustomFieldsStringFalse Custom fields for the deposit, formatted as XML and returned by QuickBooks. ItemLineIdStringTrue 255 The unique identifier for the specific line item within the deposit. ItemAccountStringFalse 1000 The account associated with this deposit line item. ItemAccountIdStringFalse Accounts.ID 255 The unique ID of the account associated with this deposit line item. ItemAmountDecimalFalse The total monetary amount for this specific deposit line item. This value should always be positive. ItemCheckNumberStringFalse 11 The check number associated with this deposit line item, if applicable. ItemClassStringFalse 1000 The classification of this deposit line item. ItemClassIdStringFalse Class.ID 255 The unique ID for the classification of this deposit line item. ItemEntityNameStringFalse 209 The name of the entity associated with this deposit line item, such as a vendor or customer. ItemEntityIdStringFalse 255 The unique ID of the entity associated with this deposit line item. ItemMemoStringFalse 5000 A memo or note specific to this deposit line item. ItemPaymentMethodStringFalse 31 The payment method used for this deposit line item, such as cash, check, or credit card. ItemPaymentMethodIdStringFalse PaymentMethods.ID 255 The unique ID of the payment method used for this deposit line item. ItemPaymentIdStringFalse 255 The transaction ID for the payment associated with this deposit line item. For example, a TxnID from a related ReceivePayment transaction. ItemPaymentLineIdStringFalse 255 The unique line ID of the payment transaction associated with this deposit line item. ItemRefIdStringTrue 255 The unique reference ID of the transaction linked to this deposit line item. ItemTxnTypeStringTrue 100 The type of transaction linked to this deposit line item, such as ReceivePayment or Invoice. CurrencyNameStringFalse 64 The name of the currency used for this deposit. Requires QBXML Version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique ID of the currency used for this deposit. Requires QBXML Version 8.0 or higher. ExchangeRateDoubleFalse The exchange rate at which the currency can be converted to the company's home currency. TimeModifiedDatetimeTrue The date and time when the deposit was last modified. TimeCreatedDatetimeTrue The date and time when the deposit was created. PayeeStringFalse 1000 The name of the payee associated with this deposit line item. PayeeIdStringFalse Vendors.ID 255 The unique ID of the payee associated with this deposit line item. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringThe price level name associated with the item. QuickBooks does not return this field. Deposits
Manages QuickBooks Deposits, allowing users to create, update, delete, and query financial deposits. Requires QBXML Version 7.0 or higher for updates.
Table Specific Information
Deposits may be inserted, queried, or updated via the Deposits or DepositLineItems tables. Deposits may be deleted by using the Deposits table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Deposits are Id, DepositToAccount, and DepositToAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. For example:
SELECT * FROM Deposits WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011'Insert
To add a Deposit, specify the DepositToAccount field and at least one Line Item. The ItemAggregate column may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the DepositLineItems table and it starts with Item. For example, the following will insert a new Deposit with two Line Items:
INSERT INTO Deposits (DepositToAccount, ItemAggregate) VALUES ('Checking', '<DepositLineItems> <Row><ItemAccount>Undeposited Funds</ItemAccount><ItemAmount>12.25</ItemAmount></Row> <Row><ItemAccount>Savings</ItemAccount><ItemAmount>155.35</ItemAmount></Row> </DepositLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the deposit transaction. TxnNumberIntegerTrue A unique transaction number assigned to this deposit, distinct from the Quickbooks generated ID. DateDateFalse The date of the deposit transaction. If specified in the WHERE clause of a SELECT query, this overrides the pseudo columns StartDate and EndDate. CashBackAccountStringFalse 1000 The account reference for the bank or credit card company associated with cash back transactions. CashBackAccountIdStringFalse Accounts.ID 255 The unique ID of the account for the bank or credit card company handling cash back transactions. CashBackAmountDecimalFalse The amount of cash back received in this deposit transaction. CashBackIdStringTrue 255 The unique identifier for the cash back transaction. CashBackMemoStringFalse 5000 Additional details or notes about the cash back transaction. DepositToAccountStringFalse 1000 The account where the deposit funds are credited. DepositToAccountIdStringFalse Accounts.ID 255 The unique ID of the account where the deposit funds are credited. MemoStringFalse 5000 A note or comment for internal use, appearing on reports related to this deposit. TotalDepositDoubleTrue The total monetary value of the deposit, including all line items and cash back. ItemCountIntegerTrue The number of line items included in this deposit. ItemAggregateStringFalse 5000 An XML aggregate of line item data that can be used to add or manage deposits and their associated line items. CurrencyNameStringFalse 64 The name of the currency used for this deposit. Requires QBXML Version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier for the currency used in this deposit. Requires QBXML Version 8.0 or higher. ExchangeRateDoubleFalse The exchange rate at which the currency can be converted into the company's home currency. CustomFieldsStringFalse Custom fields for the deposit, formatted as XML and returned by QuickBooks. TimeModifiedDatetimeTrue The timestamp indicating when the deposit was last modified. TimeCreatedDatetimeTrue The timestamp indicating when the deposit was created. PayeeStringFalse 1000 The name of the payee associated with this deposit transaction. PayeeIdStringFalse Vendors.ID 255 The unique identifier of the payee associated with this deposit transaction. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringIncludes all specific columns for deposit line items, which can be used during insertions. EmployeeEarnings
Facilitates the management of QuickBooks Employee Earnings, supporting creation, updates, deletion, and queries for payroll tracking.
Table Specific Information
The Ids for the EmployeeEarnings table operate a bit differently than Line Items. Unlike Line Items, QuickBooks does not return a unique ID for EmployeeEarnings. Instead, each EmployeeEarnings entry is returned in a specific order, and Employee Earnings entries can be updated in that order back to QuickBooks. To give the Employee Earnings unique Ids, we have appended the index number of each EmployeeEarnings entry to the Id. It will be up to the programmer to ensure that any modifications to Employee entries through the QuickBooks UI (or another application between a SELECT and an UPDATE call) are handled.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Employees are Id, Name, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM EmployeeEarnings WHERE Name LIKE '%George%' AND TimeModified > '1/1/2011' AND TimeModified < '2/1/2011'Insert
To add an EmployeeEarnings entry, specify the EmployeeId field in the INSERT statement. If you instead specify the Employee Name, the connector will attempt to add a new Employee. For example:
INSERT INTO EmployeeEarnings (Name, EarningsWageName, EarningsRate) VALUES ('370000-933272659', 'Regular Pay', 21.32)Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the employee earnings record, formatted as EmployeeId|EmployeeEarningsId. NameStringTrue 255 The name of the employee associated with the earnings record. PayPeriodStringFalse 255 Specifies the frequency of employee payments, such as weekly, biweekly, or monthly. The allowed values are Daily, Weekly, Biweekly, Semimonthly, Monthly, Quarterly, Yearly. EmployeeIdStringFalse Employees.ID 255 The unique identifier for the employee. This field is required when inserting a new earnings entry. EarningsIdStringTrue 255 The unique identifier for the specific employee earnings entry. EarningsWageNameStringFalse 31 The name of the wage or earning type, such as 'Regular Hours' or 'Overtime.' This field is required when inserting a new entry. EarningsWageIdStringFalse 255 A reference identifier for the specific wage or earning type, used for payroll processing. EarningsRateDoubleFalse The rate of pay for the employee's earnings, typically in the format of hourly or salary rates. EarningsRatePercentStringFalse The percentage rate for specific earnings, such as commission or bonus calculations, if applicable. TimeModifiedDatetimeTrue The timestamp indicating when this employee earnings record was last modified. TimeCreatedDatetimeTrue The timestamp indicating when this employee earnings record was created. Employees
Manages QuickBooks Employees, allowing creation, updates, deletion, and queries for employee records and payroll data.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Employees are Id, Name, TimeModified, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Employees WHERE Name LIKE '%George%' AND TimeModified > '1/1/2011' AND TimeModified < '2/1/2011'Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the employee record. NameStringFalse 100 The name of the employee. This field is required when inserting a new record. SalutationStringFalse 15 A salutation for the employee, such as Mr., Mrs., or Dr. FirstNameStringFalse 25 The first name of the employee. MiddleInitialStringFalse 25 The middle name or middle initial of the employee. LastNameStringFalse 25 The last name of the employee. JobTitleStringFalse 41 The job title or position of the employee. Requires QBXML Version 12.0 or higher. AccountNumberStringFalse 99 The account number assigned to the employee. SSNStringFalse 11 The social security number (SSN) of the employee. EmployeeTypeStringFalse 13 Specifies the type of employee, such as full-time, part-time, or contractor. The allowed values are Regular, Unspecified, Officer, Statutory, Owner. GenderStringFalse 12 The gender of the employee. Note that this field cannot be updated after insertion. The allowed values are Unspecified, Male, Female. AddressStringTrue The full address of the employee as returned by QuickBooks. Line1StringFalse 500 The first line of the employee's address. Line2StringFalse 500 The second line of the employee's address. CityStringFalse 255 The city of the employee's address. StateStringFalse 255 The state of the employee's address. PostalCodeStringFalse 30 The postal code of the employee's address. AlternatePhoneStringFalse 21 An alternate phone number for the employee. EmailStringFalse 1023 The email address of the employee. PrintAsStringFalse 110 Specifies how the employee's name should appear on printed documents. MobilePhoneStringFalse 21 The mobile phone number of the employee. PagerStringFalse 21 The pager number of the employee. PagerPINStringFalse 10 The personal identification number (PIN) for the pager. FaxStringFalse 21 The fax number of the employee. BirthDateDateFalse The date of birth of the employee. USCitizenStringFalse 10 Indicates whether the employee is a U.S. citizen. The allowed values are Unspecified, Yes, No. EthnicityStringFalse 20 Specifies the ethnicity of the employee. The allowed values are Unspecified, AmericanIndian, Asian, Black, Hawaiian, Hispanic, White, TwoOrMoreRaces. DisabledStringFalse 10 Indicates whether the employee has a disability. The allowed values are Unspecified, Yes, No. DisabilityDescriptionStringFalse 25 A description of the employee's disability, if applicable. FormOnFileStringFalse 10 Indicates whether the I-9 form is on file for the employee. The allowed values are Unspecified, Yes, No. USVeteranStringFalse 10 Indicates whether the employee is a U.S. veteran. The allowed values are Unspecified, Yes, No. MilitaryStatusStringFalse 10 The current military status of the employee. The allowed values are Unspecified, Active, Reserve. HiredDateDateFalse The date the employee was hired. IsActiveBooleanFalse Indicates whether the employee is currently active in QuickBooks. NotesStringFalse 5000 Any notes or comments related to the employee. PayPeriodStringFalse 13 The frequency of the employee's pay period (for example, weekly, bi-weekly, monthly). The allowed values are NotSet, Daily, Weekly, Biweekly, Semimonthly, Monthly, Quarterly, Yearly. PayrollClassNameStringFalse 159 The payroll class name associated with the employee. PayrollClassIdStringFalse Class.ID 1000 The payroll class ID associated with the employee. PhoneStringFalse 21 The primary phone number of the employee. ReleasedDateDateFalse The date the employee's employment was terminated, if applicable. TimeDataForPaychecksStringFalse 18 Indicates if time data is used to calculate the employee's paychecks. The allowed values are NotSet, UseTimeData, DoNotUseTimeData. SickTimeAccrualPeriodStringFalse 19 The accrual period for sick time. The allowed values are BeginningOfYear, EveryHourOnPaycheck, EveryPaycheck. SickTimeAccrualStartDateDateFalse The date when sick time accrual starts. SickTimeAccruedStringFalse 30 The total accrued sick time, represented in hours and minutes (for example, 2:30 for 2 hours and 30 minutes). SickTimeAvailableStringFalse 30 The available sick time, represented in hours and minutes. SickTimeMaximumStringFalse 30 The maximum allowable sick time, represented in hours and minutes. SickTimeYearlyResetBooleanFalse Indicates whether sick time resets annually. Defaults to false. SickTimeUsedStringFalse 30 The amount of sick time used, represented in hours and minutes. VacationTimeAccrualPeriodStringFalse 19 The accrual period for vacation time. The allowed values are BeginningOfYear, EveryHourOnPaycheck, EveryPaycheck. VacationTimeAccrualStartDateDateFalse The date when vacation time accrual starts. VacationTimeAccruedStringFalse 30 The total accrued vacation time, represented in hours and minutes. VacationTimeAvailableStringFalse 30 The available vacation time, represented in hours and minutes. VacationTimeMaximumStringFalse 30 The maximum allowable vacation time, represented in hours and minutes. VacationTimeYearlyResetBooleanFalse Indicates whether vacation time resets annually. Defaults to false. VacationTimeUsedStringFalse 30 The amount of vacation time used, represented in hours and minutes. CustomFieldsStringFalse Custom fields associated with the employee, formatted as XML. EditSequenceStringTrue 16 A string used for versioning the employee record. TimeModifiedDatetimeTrue The timestamp of the last modification to the employee record. TimeCreatedDatetimeTrue The timestamp of when the employee record was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description OpeningBalanceStringThe opening balance of the account, defaulting to 0. Used only when adding new accounts. OpeningDateStringThe date of the opening balance for the account. Used only when adding new accounts. EstimateLineItems
Manages individual line items within QuickBooks Estimates, supporting creation, updates, deletion, and queries for sales planning.
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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for Estimates are Id, ReferenceNumber, Date, TimeModified, CustomerName, and CustomerId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM EstimateLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add an Estimate, specify a Customer and at least one Line Item. All Line Item columns can be used for inserting multiple Line Items for a new Estimate transaction. For example, the following will insert a new Estimate with two Line Items:
INSERT INTO EstimateLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Abercrombie, Kristy', 'Repairs', 1) INSERT INTO EstimateLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Abercrombie, Kristy', 'Removal', 2) INSERT INTO EstimateLineItems (CustomerName, ItemName, ItemQuantity) SELECT CustomerName, ItemName, ItemQuantity FROM EstimateLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the estimate line item, formatted as EstimateId|ItemLineId. EstimateIdStringFalse Estimates.ID 255 A unique identifier for the estimate associated with this line item. ReferenceNumberStringFalse 21 A user-defined reference number for the transaction. TxnNumberIntegerTrue A unique transaction number assigned by QuickBooks, different from the internal identifier. CustomerNameStringFalse 1000 The name of the customer linked to the estimate. This is required when creating an estimate. CustomerIdStringFalse Customers.ID 255 The internal ID of the customer associated with the estimate. This is required when creating an estimate. DateDateFalse The date when the estimate was created. MemoStringFalse 5000 Additional notes or details about this estimate. TotalAmountDoubleTrue The total monetary value of the estimate, including all line items and charges. ItemLineIDStringTrue 255 A unique identifier for a specific line item within the estimate. ItemLineNumberStringTrue 255 The sequential number for a line item in the estimate. ItemNameStringFalse The name of the product or service associated with this line item. ItemIdStringFalse Items.ID 255 The unique ID of the product or service associated with this line item. ItemGroupStringFalse 100 The name of the item group this line belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique ID of the item group this line belongs to, if applicable. ItemDescriptionStringFalse 5000 A detailed description of the product or service in this line item. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item, selected from predefined options. ItemQuantityDoubleFalse The quantity of the item specified in this line. ItemRateDoubleFalse The rate per unit for the item in this line. ItemRatePercentDoubleFalse The percentage rate applicable to this item, if charged as a percentage. ItemTaxCodeStringFalse 3 Indicates whether the item is taxable or non-taxable. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique ID of the tax code applied to this item. ItemAmountDecimalFalse The total amount for this line item, calculated as quantity times rate. ItemClassStringFalse 1000 The class assigned to this item, useful for categorization or reporting. ItemClassIdStringFalse Class.ID 255 The unique ID of the class assigned to this item. ItemInventorySiteIdStringFalse 255 The ID of the inventory site where this item is stored, applicable only with the Advanced Inventory add-on. ItemInventorySiteNameStringFalse InventorySites.ID 31 The name of the inventory site where this item is stored. ItemMarkupRateDoubleFalse The rate of markup applied to the base cost of this item. ItemMarkupRatePercentDoubleFalse The markup percentage applied to the base cost of this item. ItemOther1StringFalse 29 A custom field for additional information about this item. ItemOther2StringFalse 29 Another custom field for additional information about this item. ItemCustomFieldsStringFalse Custom fields specific to this line item, formatted as XML. ItemUOMSetFullNameStringFalse 1000 The full name of the unit of measure set applied to the item. ItemUOMSetListIDStringFalse UnitOfMeasure.ID 1000 The unique ID of the unit of measure set applied to the item. ItemIsGetPrintItemsInGroupStringFalse 1000 Specifies whether the details of this group should appear on printed forms. MessageStringFalse 101 A message or note intended for the customer. MessageIdStringFalse CustomerMessages.ID 1000 The unique ID of the customer message. ClassStringFalse 1000 The class assigned to this transaction, useful for tracking and reporting. ClassIdStringFalse Class.ID 255 The unique ID of the class assigned to this transaction. SalesRepStringFalse 5 The initials or reference to the sales representative associated with this transaction. SalesRepIdStringFalse SalesReps.ID 255 The unique ID of the sales representative associated with this transaction. FOBStringFalse 13 The location where ownership transfers, often used in shipping agreements. BillingAddressStringTrue The complete billing address for the transaction. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city in the billing address. BillingStateStringFalse 255 The state or region in the billing address. BillingPostalCodeStringFalse 30 The postal or ZIP code in the billing address. BillingCountryStringFalse 255 The country in the billing address. BillingNoteStringFalse 41 Notes or additional information about the billing address. ShippingAddressStringTrue The complete shipping address for the transaction. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city in the shipping address. ShippingStateStringFalse 255 The state or region in the shipping address. ShippingPostalCodeStringFalse 30 The postal or ZIP code in the shipping address. ShippingCountryStringFalse 255 The country in the shipping address. ShippingNoteStringFalse 41 Notes or additional information about the shipping address. SubtotalDoubleTrue The subtotal of all line items, excluding taxes and adjustments. TaxDoubleTrue The total sales tax applied to this transaction. TaxItemStringFalse 100 The name of the sales tax item applied to this transaction. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique ID of the sales tax item applied to this transaction. TaxPercentDoubleTrue The percentage rate of sales tax applied. IsActiveBooleanFalse Indicates whether this estimate is active. IsToBeEmailedBooleanFalse Indicates whether this estimate is set to be emailed to the customer. IsTaxIncludedBooleanFalse Indicates whether taxes are included in the total amount. PONumberStringFalse 25 The purchase order number associated with this estimate. TermsStringFalse 100 The payment terms for this estimate. TermsIdStringFalse 255 The unique ID of the payment terms applied to this estimate. TemplateStringFalse 100 The name of the template used for this estimate. TemplateIdStringFalse Templates.ID 255 The unique ID of the template used for this estimate. CustomerSalesTaxNameStringFalse 3 The name of the sales tax information associated with the customer. CustomerSalesTaxIdStringFalse SalesTaxCodes.ID 255 The unique ID of the sales tax information associated with the customer. ExchangeRateDoubleFalse The exchange rate applied to this transaction. DueDateDateTrue The date when payment for this estimate is due. CustomFieldsStringFalse Custom fields specific to this estimate, formatted as XML. EditSequenceStringTrue 16 A versioning identifier for this estimate. TimeModifiedDatetimeTrue The date and time when this estimate was last modified. TimeCreatedDatetimeTrue The date and time when this estimate was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringThe name of the price level used for the items in this estimate. ItemOverrideAccountStringThe account name used to override the default account for an item. ItemOverrideAccountIdStringThe account ID used to override the default account for an item. Estimates
Handles QuickBooks Estimates, including creation, updates, deletion, and queries for tracking 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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Estimates are Id, Date, TimeModified, ReferenceNumber, CustomerName, and CustomerId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Estimates WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add an Estimate, specify a Customer and at least one Line Item. The ItemAggregate column may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the EstimateLineItems table and it starts with Item. For example, the following will insert a new Estimate with two Line Items:
INSERT INTO Estimates (CustomerName, ItemAggregate) VALUES ('Abercrombie, Kristy', '<EstimateLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </EstimateLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the estimate. ReferenceNumberStringFalse 21 A user-defined reference number for the estimate transaction. TxnNumberIntegerTrue A Quickbooks assigned transaction number for this estimate, distinct from its internal ID. CustomerNameStringFalse 1000 The name of the customer associated with this estimate. This is required for creating an estimate. CustomerIdStringFalse Customers.ID 255 The internal ID of the customer linked to this estimate. This is required for creating an estimate. DateDateFalse The date when the estimate was created. MemoStringFalse 5000 Additional notes or information about this estimate. TotalAmountDecimalTrue The total monetary value of the estimate, including all items and charges. MessageStringFalse 101 A custom message or note directed to the customer. MessageIdStringFalse CustomerMessages.ID 255 The internal ID of the customer message. ClassStringFalse 1000 The classification assigned to this estimate for tracking or reporting purposes. ClassIdStringFalse Class.ID 255 The unique ID of the class assigned to this estimate. SalesRepStringFalse 5 The initials or reference to the sales representative associated with this estimate. SalesRepIdStringFalse SalesReps.ID 255 The unique ID of the sales representative linked to this estimate. FOBStringFalse 13 Freight on board location, indicating the shipping origin or transfer point. BillingAddressStringTrue The complete billing address associated with this estimate. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city listed in the billing address. BillingStateStringFalse 255 The state or region listed in the billing address. BillingPostalCodeStringFalse 30 The postal or ZIP code for the billing address. BillingCountryStringFalse 255 The country listed in the billing address. BillingNoteStringFalse 41 Additional notes or details about the billing address. ShippingAddressStringTrue The complete shipping address associated with this estimate. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city listed in the shipping address. ShippingStateStringFalse 255 The state or region listed in the shipping address. ShippingPostalCodeStringFalse 30 The postal or ZIP code for the shipping address. ShippingCountryStringFalse 255 The country listed in the shipping address. ShippingNoteStringFalse 41 Additional notes or details about the shipping address. SubtotalDecimalTrue The total amount of all line items before taxes or discounts are applied. TaxDoubleTrue The total sales tax applied to this estimate. TaxItemStringFalse 100 The name of the tax item applied to this estimate. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique ID of the tax item applied to this estimate. TaxPercentDoubleTrue The percentage rate of the sales tax applied to this estimate. IsActiveBooleanFalse Indicates whether this estimate is currently active or not. IsToBeEmailedBooleanFalse Indicates whether this estimate is set to be emailed to the customer. IsTaxIncludedBooleanFalse Indicates whether the sales tax is included in the total amount. PONumberStringFalse 25 The purchase order number associated with this estimate. TermsStringFalse 100 The payment terms predefined in QuickBooks and applied to this estimate. TermsIdStringFalse 255 The unique ID of the payment terms applied to this estimate. TemplateStringFalse 100 The name of the template applied to this estimate for formatting. TemplateIdStringFalse Templates.ID 255 The unique ID of the template applied to this estimate. CustomerSalesTaxNameStringFalse 3 The name of the sales tax item associated with the customer linked to this estimate. CustomerSalesTaxIdStringFalse SalesTaxCodes.ID 255 The unique ID of the sales tax item associated with the customer. ExchangeRateDoubleFalse The exchange rate applied to this estimate, if dealing with foreign currency. DueDateDateTrue The date when payment for this estimate is due. OtherStringFalse 29 Additional data or notes associated with this estimate. ItemCountIntegerTrue The total number of line items in this estimate. ItemAggregateStringFalse 5000 A collection of all line items included in this estimate, represented as an aggregate. TransactionCountIntegerTrue The total number of related transactions associated with this estimate. TransactionAggregateStringTrue 5000 A collection of related transaction data linked to this estimate. CustomFieldsStringFalse Custom fields defined in QuickBooks for this estimate, formatted as XML. EditSequenceStringTrue 16 A versioning identifier for tracking changes to this estimate. TimeModifiedDatetimeTrue The date and time when this estimate was last updated. TimeCreatedDatetimeTrue The date and time when this estimate was initially created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringA placeholder for all item-specific columns that can be used during insertions or updates. InventoryAdjustmentLineItems
Manages individual line items within QuickBooks Inventory Adjustments, supporting creation and queries for stock control.
Table Specific Information
InventoryAdjustments may be inserted, queried, or deleted via the InventoryAdjustments or InventoryAdjustmentLineItems tables. InventoryAdjustments may be deleted by using the InventoryAdjustments table.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for InventoryAdjustments are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, Account, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM InventoryAdjustmentLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add an InventoryAdjustment, specify an Account and at least one Line Item. To add a Line Item, either the ItemName or ItemId is required, as well as either ItemNewQuantity, ItemNewValue, or ItemQuantityDiff. All Line Item columns can be used for inserting multiple Line Items for a new InventoryAdjustment transaction. For example, the following will insert a new InventoryAdjustment with two Line Items:
INSERT INTO InventoryAdjustmentLineItems#TEMP (Account, ItemName, ItemNewQuantity) VALUES ('Cost of Good Sold', 'Wood Door:Exterior', 100) INSERT INTO InventoryAdjustmentLineItems#TEMP (Account, ItemName, ItemNewQuantity) VALUES ('Cost of Good Sold', 'Wood Door:Interior', 200) INSERT INTO InventoryAdjustmentLineItems (Account, ItemName, ItemNewQuantity) SELECT Account, ItemName, ItemNewQuantity FROM InventoryAdjustmentLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier combining the Inventory Adjustment ID and Item Line ID, formatted as InventoryAdjustmentId|ItemLineId. InventoryAdjustmentIDStringTrue InventoryAdjustments.ID 255 The unique identifier of the Inventory Adjustment transaction. ReferenceNumberStringFalse 21 A reference number for the transaction, often used for tracking or identification. AccountStringFalse 1000 The name of the account associated with this inventory adjustment. Either this or AccountId must be provided during insertion. AccountIdStringFalse Accounts.ID 255 The ID of the account associated with this inventory adjustment. Either this or Account must be provided during insertion. ClassStringFalse 1000 The name of the class associated with this inventory adjustment, used for categorization or reporting. ClassIdStringFalse Class.ID 255 The ID of the class associated with this inventory adjustment, used for categorization or reporting. CustomerNameStringFalse 1000 The name of the customer associated with this inventory adjustment, if applicable. CustomerIdStringFalse Customers.ID 255 The ID of the customer associated with this inventory adjustment, if applicable. MemoStringFalse 5000 Additional notes or details about this transaction. InventorySiteStringFalse 31 The name of the inventory site where the adjustment takes place. InventorySiteIdStringFalse InventorySites.ID 255 The ID of the inventory site where the adjustment takes place. DateDateFalse The date when the inventory adjustment transaction occurred. ItemLineIdStringFalse 255 A unique identifier for the specific line item within the inventory adjustment. ItemLineNumberStringTrue 255 The sequential number assigned to this line item within the inventory adjustment. ItemNameStringFalse The name of the item being adjusted. Either ItemName or ItemId must be provided during insertion. ItemIdStringFalse Items.ID 255 The ID of the item being adjusted. Either ItemName or ItemId must be provided during insertion. ItemNewQuantityDoubleFalse The updated quantity of the item after the adjustment. Only applicable during insertion; no value is returned. ItemNewValueDoubleFalse The updated value of the item after the adjustment. Only applicable during insertion; no value is returned. ItemQuantityDiffDoubleFalse The change in the quantity of the item as a result of this adjustment. ItemValueDiffDoubleFalse The change in the total value of the item as a result of this adjustment. ItemLotNumberStringFalse 40 The lot number associated with the adjusted item. Requires QBXML Version 11.0 or higher. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial lot number of this item. Requires QBXML Version 16.0 or higher. ItemSerialNumberStringFalse 4095 The serial number associated with the adjusted item. Requires QBXML Version 11.0 or higher. ItemSerialNumberAddedOrRemovedStringFalse Indicates whether the serial number was added or removed during the adjustment. Requires QBXML Version 11.0 or higher. The allowed values are Added, Removed. ItemInventorySiteLocationIdStringFalse 255 The ID of the specific location within the inventory site for this adjustment. Requires QBXML Version 12.0 or higher. ItemInventorySiteLocationNameStringFalse The name of the specific location within the inventory site for this adjustment. Requires QBXML Version 12.0 or higher. EditSequenceStringTrue A versioning identifier used to track changes to this record. TimeModifiedDatetimeTrue The timestamp of the last modification to this inventory adjustment. TimeCreatedDatetimeTrue The timestamp of when this inventory adjustment was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description LinkToTxnIdStringSpecifies another transaction to which this adjustment is linked. Available only during insertion and requires QBXML Version 6.0 or higher. InventoryAdjustments
Handles QuickBooks Inventory Adjustments, allowing creation, queries, and deletion to reconcile stock discrepancies.
Table Specific Information
InventoryAdjustments may be inserted, queried, or deleted via the InventoryAdjustments or InventoryAdjustmentLineItems tables. InventoryAdjustments may be deleted by using the InventoryAdjustments table.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for InventoryAdjustments are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, Account, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM InventoryAdjustments WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add an InventoryAdjustment, specify an Account and at least one Line Item. To add a Line Item, either the ItemName or the ItemId is required, as well as either ItemNewQuantity, ItemNewValue, ItemQuantityDiff, or ItemValueDiff. The ItemAggregate columns may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the InventoryAdjustmentLineItems tables and it starts with Item. For example, the following will insert a new InventoryAdjustment with two Line Items:
INSERT INTO InventoryAdjustments (Account, ItemAggregate) VALUES ('Cost of Good Sold', '<InventoryAdjustmentLineItems> <Row><ItemName>Wood Door:Exterior</ItemName><ItemNewQuantity>100</ItemNewQuantity></Row> <Row><ItemName>Wood Door:Interior</ItemName><ItemNewQuantity>200</ItemNewQuantity></Row> </InventoryAdjustmentLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the inventory adjustment transaction. ReferenceNumberStringFalse 21 A reference number for the inventory adjustment, used for tracking and identification purposes. AccountStringFalse 1000 The name of the account associated with this inventory adjustment. Either this or AccountId must be provided during insertion. AccountIdStringFalse Accounts.ID 255 The ID of the account associated with this inventory adjustment. Either this or Account must be provided during insertion. ClassStringFalse 1000 The name of the class associated with this inventory adjustment, used for categorization or reporting. ClassIdStringFalse Class.ID 255 The ID of the class associated with this inventory adjustment, used for categorization or reporting. CustomerNameStringFalse 1000 The name of the customer associated with this inventory adjustment, if applicable. CustomerIdStringFalse Customers.ID 255 The ID of the customer associated with this inventory adjustment, if applicable. MemoStringFalse 5000 Additional notes or details about this inventory adjustment. InventorySiteStringFalse 31 The name of the inventory site where the adjustment occurs. InventorySiteIdStringFalse InventorySites.ID 255 The ID of the inventory site where the adjustment occurs. DateDateFalse The date when the inventory adjustment transaction was recorded. ItemCountIntegerTrue The total number of line items included in this inventory adjustment. ItemAggregateStringFalse 5000 A data structure containing aggregated information about the line items, used for adding inventory adjustments along with their associated line item data. EditSequenceStringTrue A versioning identifier used to track changes to this inventory adjustment. TimeModifiedDatetimeTrue The timestamp of the last modification made to this inventory adjustment. TimeCreatedDatetimeTrue The timestamp of when this inventory adjustment was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringA placeholder for all line-item-specific columns that can be included during insertions or updates. InventorySites
Manages QuickBooks Inventory Sites, including creation, updates, deletion, and queries. Available only in QuickBooks Enterprise with Advanced Inventory and QBXML Version 10.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the inventory site. NameStringFalse 31 The name of the inventory site, used for identification within QuickBooks. IsActiveBooleanFalse Indicates whether the inventory site is currently active and available for use. SiteDescStringFalse 100 A detailed description of the inventory site, providing additional context or notes. ContactStringFalse 41 The name of the primary contact person for the inventory site. PhoneStringFalse 21 The phone number associated with the inventory site for communication. FaxStringFalse 21 The fax number associated with the inventory site. EmailStringFalse 1023 The email address associated with the inventory site for correspondence. SiteAddress_Addr1StringFalse 500 The first line of the inventory site's address, typically the street address. SiteAddress_Addr2StringFalse 500 The second line of the inventory site's address, often used for suite or unit numbers. SiteAddress_Addr3StringFalse 500 The third line of the inventory site's address, used for additional location details. SiteAddress_Addr4StringFalse 500 The fourth line of the inventory site's address, used as needed for further address details. SiteAddress_Addr5StringFalse 41 The fifth line of the inventory site's address, for any remaining address information. SiteAddress_CityStringFalse 255 The city where the inventory site is located. SiteAddress_StateStringFalse 255 The state or province where the inventory site is located. SiteAddress_PostalCodeStringFalse 30 The postal or ZIP code for the inventory site's location. SiteAddress_CountryStringFalse 255 The country where the inventory site is located. EditSequenceStringTrue 16 A version control string that tracks changes made to the inventory site. TimeCreatedDatetimeTrue The date and time when the inventory site was first created. TimeModifiedDatetimeTrue The date and time when the inventory site was last updated. IsDefaultSiteBooleanTrue Indicates whether this inventory site is set as the default site for the company. InvoiceLineItems
Manages individual line items within QuickBooks Invoices, supporting creation, updates, deletion, and queries for billing details.
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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Invoices are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, IsPaid, Account, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM InvoiceLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add an Invoice, specify a Customer and at least one Line Item. All Line Item columns can be used for inserting multiple Line Items for a new Invoice transaction. For example, the following will insert a new Invoice with two Line Items:
INSERT INTO InvoiceLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Abercrombie, Kristy', 'Repairs', 1) INSERT INTO InvoiceLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Abercrombie, Kristy', 'Removal', 2) INSERT INTO InvoiceLineItems (CustomerName, ItemName, ItemQuantity) SELECT CustomerName, ItemName, ItemQuantity FROM InvoiceLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier combining the InvoiceId and ItemLineId, used to reference specific line items in an invoice. InvoiceIdStringFalse Invoices.ID The unique identifier for the invoice to which this line item belongs. ReferenceNumberStringFalse 21 The transaction reference number for identifying this invoice. TxnNumberIntegerTrue The unique transaction number assigned by QuickBooks, separate from the InvoiceId. CustomerNameStringFalse 1000 The name of the customer associated with this invoice. Either CustomerName or CustomerId must be specified when inserting. CustomerIdStringFalse Customers.ID 255 The Quickbooks generated identifier for the customer associated with this invoice. Can be used instead of CustomerName during inserts. AccountStringFalse 1000 The name of the accounts-receivable account where funds from this invoice will be deposited. AccountIdStringFalse Accounts.ID 255 The unique identifier for the accounts-receivable account where funds from this invoice will be deposited. DateDateFalse The transaction date of this invoice. If specified in a query, it overrides StartDate and EndDate pseudo-columns. ShipMethodStringFalse 1000 The shipping method associated with the invoice, such as FedEx or UPS. ShipMethodIdStringFalse ShippingMethods.ID 255 The unique identifier for the shipping method associated with the invoice. ShipDateDateFalse The shipping date related to this invoice. MemoStringFalse 5000 A memo or note providing additional details about this invoice. ClassStringFalse 1000 A reference to the class of the transaction for categorization purposes. ClassIdStringFalse Class.ID 255 The unique identifier for the class associated with this transaction. AmountDecimalTrue The total monetary value of this invoice. MessageStringFalse 101 A custom message for the customer or vendor, to be displayed on the invoice. MessageIdStringFalse CustomerMessages.ID 255 The unique identifier for the message displayed on the invoice. SalesRepStringFalse 5 A reference to the sales representative (identified by initials or name) responsible for this transaction. SalesRepIdStringFalse SalesReps.ID 255 The unique identifier for the sales representative responsible for this transaction. FOBStringFalse 13 Indicates the location from which the goods are shipped (Freight On Board). BillingAddressStringTrue The complete billing address associated with the invoice. BillingLine1StringFalse 500 The first line of the billing address, typically containing the street address. BillingLine2StringFalse 500 The second line of the billing address, often used for suite or apartment numbers. BillingLine3StringFalse 500 The third line of the billing address, for additional details if necessary. BillingLine4StringFalse 500 The fourth line of the billing address, if required for additional address information. BillingLine5StringFalse 41 The fifth line of the billing address, if applicable. BillingCityStringFalse 255 The city name for the billing address. BillingStateStringFalse 255 The state or province name for the billing address. BillingPostalCodeStringFalse 30 The postal code or ZIP code for the billing address. BillingCountryStringFalse 255 The country name for the billing address. BillingNoteStringFalse 41 A note associated with the billing address. ShippingAddressStringTrue The complete shipping address associated with the invoice. ShippingLine1StringFalse 500 The first line of the shipping address, typically containing the street address. ShippingLine2StringFalse 500 The second line of the shipping address, often used for suite or apartment numbers. ShippingLine3StringFalse 500 The third line of the shipping address, for additional details if necessary. ShippingLine4StringFalse 500 The fourth line of the shipping address, if required for additional address information. ShippingLine5StringFalse 41 The fifth line of the shipping address, if applicable. ShippingCityStringFalse 255 The city name for the shipping address. ShippingStateStringFalse 255 The state or province name for the shipping address. ShippingPostalCodeStringFalse 30 The postal code or ZIP code for the shipping address. ShippingCountryStringFalse 255 The country name for the shipping address. ShippingNoteStringFalse 41 A note associated with the shipping address. SubtotalDecimalTrue The total of the line items before taxes or additional charges are applied. TaxDoubleTrue The total sales tax amount applied to this transaction. TaxItemStringFalse 100 A sales tax item representing a specific tax rate and agency collecting the tax. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique identifier for the sales tax item associated with this invoice. TaxPercentDoubleTrue The percentage of sales tax applied to the invoice. PONumberStringFalse 25 The purchase order number associated with this invoice. DueDateDateFalse The date by which payment for this invoice is due. TermsStringFalse 100 The payment terms agreed upon for this invoice. TermsIdStringFalse 255 The unique identifier for the payment terms applied to this invoice. CustomFieldsStringFalse Custom fields containing additional data returned from QuickBooks, formatted as XML. ItemLineIdStringTrue The unique identifier for the specific line item within the invoice. ItemLineNumberStringTrue 255 The line number of this item in the invoice. ItemNameStringFalse 1000 The name of the item included in this invoice. ItemIdStringFalse Items.ID 255 The unique identifier for the item included in this invoice. ItemGroupStringFalse 100 The name of the item group this line item belongs to. ItemGroupIdStringFalse Items.ID 255 The unique identifier for the item group this line item belongs to. ItemDescriptionStringFalse 5000 A detailed description of the item included in this line. ItemUnitOfMeasureStringFalse 31 The unit of measure for this item, such as pounds, pieces, or liters. ItemQuantityDoubleFalse The quantity of the item included in this invoice line. ItemRateDoubleFalse The unit rate charged for this item. ItemRatePercentDoubleFalse The percentage rate charged for this item. ItemTaxCodeStringFalse 3 The tax code applied to this item, specifying whether it is taxable or not. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the tax code applied to this item. ItemAmountDecimalFalse The total cost for this item in the invoice line. ItemClassStringFalse 1000 The class name assigned to this item for categorization. ItemClassIdStringFalse Class.ID 255 The unique identifier for the class assigned to this item. ItemServiceDateDateFalse The date the service associated with this item was performed. ItemInventorySiteIdStringFalse InventorySites.ID 31 The unique identifier for the inventory site storing this item. ItemInventorySiteNameStringFalse 255 The name of the inventory site storing this item. ItemInventorySiteLocationIdStringFalse 31 The unique identifier for the location within the inventory site. ItemInventorySiteLocationNameStringFalse 255 The name of the location within the inventory site storing this item. ItemSerialNumberStringFalse 5000 The serial number of this item, if applicable. ItemLotNumberStringFalse 40 The lot number associated with this item, if applicable. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial lot number of this item. ItemOther1StringFalse 29 An additional field for custom data related to this item. ItemOther2StringFalse 29 Another field for custom data related to this item. ItemCustomFieldsStringFalse Additional custom fields specific to this line item. ItemUOMSetFullNameStringFalse 1000 The full name of the unit of measure set applied to this item. ItemUOMSetListIDStringFalse UnitOfMeasure.ID 1000 The unique identifier for the unit of measure set applied to this item. ItemIsGetPrintItemsInGroupStringFalse 1000 Indicates if individual items in a group appear on printed forms. AppliedAmountDecimalTrue The total amount of applied credits and payments for this invoice. BalanceDecimalFalse The remaining unpaid amount for this invoice. CustomerTaxCodeStringFalse 3 The tax code specifically associated with this customer. CustomerTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the customer's tax code. IsToBePrintedBooleanFalse Indicates if this invoice is marked for printing. IsToBeEmailedBooleanFalse Indicates if this invoice is marked for emailing. IsPaidBooleanTrue Indicates if this invoice has been fully paid. IsTaxIncludedBooleanFalse Specifies whether the tax is included in the transaction amount. IsPendingBooleanFalse Indicates if the invoice is pending or completed. IsFinanceChargeStringFalse 16 Indicates if this invoice includes a finance charge. The allowed values are NotSet, IsFinanceCharge, NotFinanceCharge. The default value is NotSet. TemplateStringFalse 100 The name of the template applied to this invoice for formatting. TemplateIdStringFalse Templates.ID 255 The unique identifier for the template applied to this invoice. SuggestedDiscountAmountDecimalFalse The discount amount suggested for this invoice. SuggestedDiscountDateDateFalse The suggested date by which a discount applies to this invoice. ExchangeRateDoubleFalse The currency exchange rate applied to this invoice. BalanceInHomeCurrencyDoubleFalse The remaining balance converted to the home currency. CurrencyNameStringFalse 64 The name of the currency used for this invoice. CurrencyIdStringFalse Currency.ID 1000 The unique identifier for the currency used for this invoice. OtherStringFalse 29 Additional data associated with this invoice. EditSequenceStringTrue 16 A version control string that tracks changes to this invoice. TimeModifiedDatetimeTrue The timestamp indicating when the invoice was last modified. TimeCreatedDatetimeTrue The timestamp indicating when the invoice was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description LinkToTxnIdStringLinks this invoice to another transaction. SetCreditAggregateStringAllows applying multiple credit memos to this invoice. ItemLinkToTxnIdStringLinks this specific line item to another transaction. ItemLinkToTxnLineIdStringLinks this specific line item to another transaction line item. ItemOverrideAccountStringOverrides the default account for this line item with a specified account name. ItemOverrideAccountIdStringOverrides the default account for this line item with a specified account ID. Invoices
Handles QuickBooks Invoices, supporting creation, updates, deletion, and queries for billing and receivables tracking.
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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Invoices are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, IsPaid, Account, and AccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Invoices WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add an Invoice, specify a Customer and at least one Line Item. The ItemAggregate columns may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the InvoiceLineItems tables and it starts with Item. For example, the following will insert a new Invoice with two Line Items:
INSERT INTO Invoices (CustomerName, ItemAggregate) VALUES ('Abercrombie, Kristy', '<InvoiceLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </InvoiceLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the invoice, used to reference the invoice within QuickBooks. ReferenceNumberStringFalse 21 A transaction reference number assigned to the invoice for tracking and identification. TxnNumberIntegerTrue A unique number assigned to the transaction by QuickBooks, distinct from the invoice ID. CustomerNameStringFalse 1000 The name of the customer associated with the invoice. Either CustomerName or CustomerId must be provided when inserting a new invoice. CustomerIdStringFalse Customers.ID 255 The Quickbooks generated unique identifier for the customer associated with the invoice. Can be used as an alternative to CustomerName during insertion. AccountStringFalse 1000 The name of the accounts-receivable account where funds from this invoice will be recorded. AccountIdStringFalse Accounts.ID 255 The unique identifier of the accounts-receivable account where funds from this invoice will be recorded. DateDateFalse The date of the invoice transaction. If specified in a query, it overrides the StartDate and EndDate pseudo-columns. ShipMethodStringFalse 1000 The shipping method used for the items in the invoice, such as UPS or FedEx. ShipMethodIdStringFalse ShippingMethods.ID 255 The unique identifier for the shipping method associated with the invoice. ShipDateDateFalse The date when the shipment for the invoice is scheduled or completed. MemoStringFalse 5000 A memo providing additional details or notes related to the invoice transaction. ClassStringFalse 1000 A reference to the class associated with the invoice, useful for categorization and reporting. ClassIdStringFalse Class.ID 255 The unique identifier for the class associated with the invoice. AmountDecimalTrue The total monetary value of the invoice, including all items, taxes, and fees. MessageStringFalse 101 A message displayed to the customer or vendor on the invoice. MessageIdStringFalse CustomerMessages.ID 255 The unique identifier for the message displayed to the customer or vendor on the invoice. SalesRepStringFalse 5 A reference to the sales representative responsible for the transaction, identified by initials. SalesRepIdStringFalse SalesReps.ID 255 The unique identifier for the sales representative responsible for the transaction. FOBStringFalse 13 Freight on board: Specifies the location from which the shipment originates or becomes the buyer's responsibility. BillingAddressStringTrue The full billing address for the customer, as returned by QuickBooks. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city associated with the billing address. BillingStateStringFalse 255 The state or province associated with the billing address. BillingPostalCodeStringFalse 30 The postal code associated with the billing address. BillingCountryStringFalse 255 The country associated with the billing address. BillingNoteStringFalse 41 Additional notes or comments related to the billing address. ShippingAddressStringTrue The full shipping address for the customer, as returned by QuickBooks. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city associated with the shipping address. ShippingStateStringFalse 255 The state or province associated with the shipping address. ShippingPostalCodeStringFalse 30 The postal code associated with the shipping address. ShippingCountryStringFalse 255 The country associated with the shipping address. ShippingNoteStringFalse 41 Additional notes or comments related to the shipping address. SubtotalDecimalTrue The gross subtotal for the invoice before applying taxes or payments. TaxDoubleTrue The total sales tax applied to the invoice. TaxItemStringFalse 100 The specific sales tax item applied to the invoice, collected at a specified rate and paid to a single agency. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique identifier for the sales tax item applied to the invoice. TaxPercentDoubleTrue The percentage rate applied as sales tax for the invoice. POnumberStringFalse 25 The purchase order number associated with the invoice. DueDateDateFalse The date when payment for the invoice is due. TermsStringFalse 100 The payment terms agreed upon for the invoice, such as Net 30. TermsIdStringFalse 255 The unique identifier for the payment terms associated with the invoice. ItemCountIntegerTrue The total number of items included in the invoice. ItemAggregateStringFalse 5000 A structured summary of all line items included in the invoice. TransactionCountIntegerTrue The number of transactions linked to the invoice. TransactionAggregateStringTrue 5000 A structured summary of all linked transactions associated with the invoice. AppliedAmountDecimalTrue The total amount of credits or payments applied to the invoice. BalanceDecimalFalse The remaining unpaid balance for the invoice. CustomerTaxCodeStringFalse 3 The tax code associated with the customer receiving the invoice. CustomerTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the tax code associated with the customer. IsToBePrintedBooleanFalse Indicates whether the invoice is marked for printing. IsToBeEmailedBooleanFalse Indicates whether the invoice is marked for emailing. IsPaidBooleanTrue Indicates whether the invoice has been paid in full. IsTaxIncludedBooleanFalse Indicates whether taxes are included in the line item amounts on the invoice. IsPendingBooleanFalse Indicates whether the transaction is pending completion or finalization. IsFinanceChargeStringFalse 16 Indicates whether the invoice includes a finance charge. The allowed values are NotSet, IsFinanceCharge, NotFinanceCharge. The default value is NotSet. TemplateStringFalse 100 The template used for printing or displaying the invoice. TemplateIdStringFalse Templates.ID 255 The unique identifier for the template associated with the invoice. SuggestedDiscountAmountDecimalFalse A suggested discount amount for early payment of the invoice. SuggestedDiscountDateDateFalse A suggested discount deadline for early payment of the invoice. ExchangeRateDoubleFalse The currency exchange rate applied to the invoice. BalanceInHomeCurrencyDoubleFalse The remaining balance for the invoice, converted to the company's home currency. CurrencyNameStringFalse 64 The name of the currency used for the invoice. CurrencyIdStringFalse Currency.ID 1000 The unique identifier for the currency used for the invoice. OtherStringFalse 29 Additional data or information related to the invoice. CustomFieldsStringFalse Custom-defined fields for the invoice, returned in XML format. EditSequenceStringTrue 16 A unique identifier used for versioning the current copy of the invoice. TimeModifiedDatetimeTrue The date and time when the invoice was last modified. TimeCreatedDatetimeTrue The date and time when the invoice was originally created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringIncludes all line-item-specific columns that can be used for inserting or updating line items in the invoice. LinkToTxnIdStringLinks this invoice to another transaction. Available only during inserts and requires QBXML Version 6.0 or higher. SetCreditAggregateStringApplies multiple credit memos to this invoice. Available during inserts and updates with QBXML Version 10.0 or higher. ItemLineItems
Manages individual line items in QuickBooks Items, including creation, updates, deletion, and queries for detailed inventory tracking.
Table Specific Information
Item Line Items may be inserted, deleted, and updated via the ItemLineItems table. Item Line Items refer to the Line Items associated with item groups, inventory assemblies, or sales tax groups.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Items are Id, TimeModified, Name, Type, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ItemLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND Name LIKE '%12345%'Insert
To add a Line Item, specify the ItemId or Assembly ID columns of the Item Group or Assembly you want to add the Line Item to when making the insertion. For example:
INSERT INTO ItemLineItems (ItemId, LineItemName, LineItemQuantity) VALUES ('430001-1071511103|130000-933272656', 'Hardware:Doorknobs Std', 1)To insert a new Inventory Assembly, Item Group, or Sales Tax Group with Line Items, provide the Name and Type columns and at least one Line Item. For example:
INSERT INTO ItemLineItems#TEMP (Name, Type, LineItemName, LineItemQuantity) VALUES ('MyItemGroup', 'ItemGroup', 'Hardware:Doorknobs Std', 1) INSERT INTO ItemLineItems#TEMP (Name, Type, LineItemName, LineItemQuantity) VALUES ('MyItemGroup', 'ItemGroup', 'Cabinets', 2) INSERT INTO ItemLineItems (Name, Type, LineItemName, LineItemQuantity) SELECT Name, Type, LineItemName, LineItemQuantity FROM ItemLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the line item, formatted as ItemId|ItemLineNumber. ItemIdStringFalse Items.ID 255 The unique identifier for the inventory assembly or group item within QuickBooks. NameStringFalse 100 The name of the inventory assembly or group item. FullNameStringTrue 1000 The full name of the item, including parent item names if it is a subitem. Formatted as parentname:name. TypeStringFalse 100 The type of item, such as inventory, non-inventory, or service. This field is required when inserting new items. The default value is ALL. BarcodeStringFalse The barcode assigned to the item for scanning and identification purposes. AccountStringFalse 1000 The name of the account associated with the inventory assembly or group. AccountIdStringFalse Accounts.ID 255 The unique identifier of the account associated with the inventory assembly or group. COGSAccountStringFalse 1000 The name of the Cost of Goods Sold (COGS) account linked to the inventory assembly or group. COGSAccountIdStringFalse Accounts.ID 255 The unique identifier of the Cost of Goods Sold (COGS) account linked to the inventory assembly or group. AssetAccountStringFalse 1000 The name of the inventory asset account associated with the inventory assembly or group, applicable if it is an inventory item. AssetAccountIdStringFalse Accounts.ID 255 The unique identifier of the inventory asset account associated with the inventory assembly or group, applicable if it is an inventory item. LineItemNumberIntegerFalse The sequential number of the line item within the inventory assembly or group. LineItemIdStringFalse Items.ID 255 The unique identifier for the line item. Either LineItemId or LineItemName must be provided when inserting. LineItemNameStringFalse The name of the line item. Either LineItemId or LineItemName must be provided when inserting. LineItemQuantityDoubleFalse The quantity of the line item included in the inventory assembly or group. LineItemUnitOfMeasureStringFalse The unit of measure used for the line item, such as 'each' or 'dozen.' ParentNameStringFalse The name of the parent item for the inventory assembly or group, if it is a subitem. ParentIdStringFalse Items.ID 255 The unique identifier of the parent item for the inventory assembly or group, if it is a subitem. DescriptionStringFalse 5000 A description of the inventory assembly or group, providing details about its use or contents. PriceDoubleFalse The price of the inventory assembly or group, used for sales and pricing calculations. AverageCostDoubleTrue The average cost of the inventory assembly or group, calculated based on purchase and inventory data. IsActiveBooleanFalse Indicates whether the inventory assembly or group item is active and available for use. PurchaseCostDoubleFalse The cost of purchasing the inventory assembly or group item. PurchaseDescriptionStringFalse 5000 A description of the inventory assembly or group item specific to purchasing transactions. PreferredVendorStringFalse 1000 The name of the preferred vendor for procuring the inventory assembly or group item. PreferredVendorIdStringFalse Vendors.ID 255 The unique identifier of the preferred vendor for procuring the inventory assembly or group item. TaxCodeStringFalse 3 A reference to a predefined sales tax code within QuickBooks, applicable to the item. TaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the sales tax code within QuickBooks, applicable to the item. IsTaxIncludedBooleanFalse Indicates whether taxes are included in the transaction amount. This feature is available only in international editions of QuickBooks. CustomFieldsStringFalse Custom fields defined for the item, returned as XML data. TimeModifiedDatetimeTrue The date and time when the inventory assembly or group was last modified. TimeCreatedDatetimeTrue The date and time when the inventory assembly or group was originally created. ItemReceiptExpenseItems
Handles QuickBooks Item Receipt Expense Line Items, supporting creation, updates, deletion, and queries for purchase expense tracking.
Table Specific Information
ItemReceipts may be inserted, queried, or updated via the ItemReceipts, ItemReceiptExpenseItems, or ItemReceiptLineItems tables. ItemReceipts may be deleted by using the ItemReceipts table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for ItemReceipts are Id, Date, ReferenceNumber, Payee, PayeeId, VendorName, VendorId, Account, AccountId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. VendorName and ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ItemReceipts WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND VendorName LIKE '%Patton Hardware Supplies%' AND ReferenceNumber LIKE '12345%'Insert
To add an ItemReceipt, specify the Vendor, Date, and at least one Expense or Line Item. All Expense Line Item columns can be used for inserting multiple Expense Line Items for a new ItemReceipt transaction. For example, the following will insert a new ItemReceipt with two Expense Line Items:
INSERT INTO ItemReceiptExpenseItems#TEMP (VendorName, Date, ExpenseAccount, ExpenseAmount) VALUES ('Patton Hardware Supplies', '1/1/2011', 'Utilities:Telephone', 52.25) INSERT INTO ItemReceiptExpenseItems#TEMP (VendorName, Date, ExpenseAccount, ExpenseAmount) VALUES ('Patton Hardware Supplies', '1/1/2011', 'Professional Fees:Accounting', 235.87) INSERT INTO ItemReceiptExpenseItems (VendorName, Date, ExpenseAccount, ExpenseAmount) SELECT VendorName, Date, ExpenseAccount, ExpenseAmount FROM ItemReceiptExpenseItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the expense line item, formatted as ItemReceiptId|ExpenseLineId. ItemReceiptIdStringFalse ItemReceipts.ID 255 The unique identifier for the item receipt, sourced from the ItemReceipts table. VendorNameStringFalse 1000 The name of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting. VendorIdStringFalse Vendors.ID 255 The unique identifier of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting. DateDateFalse The date the transaction occurred or was recorded. ReferenceNumberStringFalse 21 A reference number assigned to this transaction for identification. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with the item receipt. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier of the accounts payable account associated with the item receipt. MemoStringFalse 5000 An optional note or memo describing the item receipt. AmountDecimalTrue The total monetary value of the item receipt. TxnNumberIntegerTrue A unique transaction number assigned to differentiate this transaction from others, apart from the Quickbooks generated ID. ExchangeRateDoubleFalse The exchange rate used to convert this transaction's currency to the home currency of the QuickBooks file. Requires QBXML Version 8.0 or higher. IsTaxIncludedBooleanFalse Indicates whether the transaction amount includes tax. This feature is available only in international editions of QuickBooks. ExpenseLineIdStringTrue 255 A unique identifier for this specific expense line. ExpenseLineNumberStringTrue 255 The line number of this expense within the item receipt. ExpenseAccountStringFalse 1000 The account name to which this expense line is associated. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAccountIdStringFalse Accounts.ID 255 The unique identifier of the account to which this expense line is associated. Either ExpenseAccount or ExpenseAccountId must be provided when inserting. ExpenseAmountDecimalFalse The monetary value of this specific expense line. ExpenseBillableStatusStringFalse 13 The billing status of this expense line, indicating whether it is billable, non-billable, or has already been billed. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. The default value is Empty. ExpenseCustomerStringFalse 1000 The name of the customer linked to this expense line, if applicable. ExpenseCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer linked to this expense line, if applicable. ExpenseClassStringFalse 1000 The class name categorizing this expense. ExpenseClassIdStringFalse Class.ID 255 The unique identifier of the class categorizing this expense. ExpenseTaxCodeStringFalse 3 The name of the sales tax code associated with this expense. This field is available only in QuickBooks UK and Canada editions. ExpenseTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax code associated with this expense. This field is available only in QuickBooks UK and Canada editions. ExpenseCustomFieldsStringTrue Custom fields specific to this expense item, formatted as XML. CustomFieldsStringFalse Custom fields related to the item receipt, formatted as XML. EditSequenceStringTrue 16 An identifier used for version control of this object in QuickBooks. TimeModifiedDatetimeTrue The date and time when the item receipt was last updated. TimeCreatedDatetimeTrue The date and time when the item receipt was initially created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description LinkToTxnIdStringThe unique identifier of a transaction (such as a purchase order) to which the new item receipt is linked. Available only during insertion. ItemReceiptLineItems
Manages individual line items within QuickBooks Item Receipts, supporting creation, updates, deletion, and queries for purchase tracking.
Table Specific Information
ItemReceipts may be inserted, queried, or updated via the ItemReceipts, ItemReceiptExpenseItems, or ItemReceiptLineItems tables. ItemReceipts may be deleted by using the ItemReceipts table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. Typically, These columns can typically be used with only the equals or = comparison. The available columns for ItemReceipts are Id, Date, ReferenceNumber, VendorName, VendorId, Payee, PayeeId, Account, AccountId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. VendorName and ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ItemReceipts WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND VendorName LIKE '%Patton Hardware Supplies%' AND ReferenceNumber LIKE '12345%'Insert
To add an ItemReceipt, specify the Vendor, Date, and at least one Expense or Line Item. To create LineItems, you must insert data in a temporary table called 'LineItems#TEMP'. For example, the following will insert a new ItemReceipt with two Line Items:
INSERT INTO ItemReceiptLineItems#TEMP (VendorName, Date, ItemName, ItemQuantity) VALUES ('Patton Hardware Supplies', '1/1/2011', 'Repairs', 1) INSERT INTO ItemReceiptLineItems#TEMP (VendorName, Date, ItemName, ItemQuantity) VALUES ('Patton Hardware Supplies', '1/1/2011', 'Removal', 2) INSERT INTO ItemReceiptLineItems (VendorName, Date, ItemName, ItemQuantity) SELECT FROM VendorName, Date, ItemName, ItemQuantity ItemReceiptLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the line item, formatted as ItemReceiptId|ItemLineId. ItemReceiptIdStringFalse ItemReceipts.ID 255 The unique identifier for the item receipt, sourced from the ItemReceipt table. VendorNameStringFalse 1000 The name of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting. VendorIdStringFalse Vendors.ID 255 The unique identifier of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting. DateDateFalse The date the transaction occurred or was recorded. ReferenceNumberStringFalse 21 A reference number assigned to this transaction for identification. AccountsPayableStringFalse 1000 The name of the accounts payable account associated with the item receipt. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier of the accounts payable account associated with the item receipt. MemoStringFalse 5000 An optional note or memo describing the item receipt. AmountDecimalTrue The total monetary value of the item receipt. TxnNumberIntegerTrue A unique transaction number assigned to differentiate this transaction from others, apart from the Quickbooks generated ID. ExchangeRateDoubleFalse The exchange rate used to convert this transaction's currency to the home currency of the QuickBooks file. Requires QBXML Version 8.0 or higher. IsTaxIncludedBooleanFalse Indicates whether the transaction amount includes tax. This feature is available only in international editions of QuickBooks. ItemLineIdStringTrue 255 A unique identifier for this specific line item. ItemLineNumberStringTrue 255 The sequential number of this line item within the item receipt. ItemNameStringFalse The name of the item associated with this line. ItemIdStringFalse Items.ID 255 The unique identifier of the item associated with this line. ItemGroupStringFalse 100 The name of the item group this line belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier of the item group this line belongs to, if applicable. ItemDescriptionStringFalse 5000 A brief description of the item associated with this line. ItemQuantityDoubleFalse The quantity of the item or item group specified in this line. ItemTaxCodeStringFalse 3 The name of the sales tax code applied to this line item. Available only in QuickBooks UK and Canada editions. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax code applied to this line item. Available only in QuickBooks UK and Canada editions. ItemUnitOfMeasureStringFalse 31 The unit of measure for this line item, selected from the item's available units. Only available in QBXML Version 7.0 and above. ItemInventorySiteIdStringFalse 255 The unique identifier of the inventory site associated with this item. Requires QBXML Version 10.0 or higher and the Advanced Inventory add-on. ItemInventorySiteNameStringFalse InventorySites.ID 31 The name of the inventory site associated with this item. Requires QBXML Version 10.0 or higher and the Advanced Inventory add-on. ItemInventorySiteLocationIdStringFalse 255 The unique identifier of the inventory site location associated with this item. Requires QBXML Version 12.0 or higher. ItemInventorySiteLocationNameStringFalse The name of the inventory site location associated with this item. Requires QBXML Version 12.0 or higher. ItemSerialNumberStringFalse 255 The serial number of this item. Requires QBXML Version 11.0 or higher and the Advanced Inventory add-on. ItemLotNumberStringFalse 40 The lot number of this item. Requires QBXML Version 11.0 or higher and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial lot number of this item. Available starting from QB Desktop 2023 (USA & Canada) and SDK 16.0. ItemCostDoubleFalse The unit cost for this item. ItemAmountDecimalFalse The total amount for this line item. ItemBillableStatusStringFalse 13 The billing status of this line item, indicating whether it is billable, non-billable, or has already been billed. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ItemCustomerStringFalse 1000 The name of the customer linked to this line item, if applicable. ItemCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer linked to this line item, if applicable. ItemClassStringFalse 1000 The name of the class assigned to this item. ItemClassIdStringFalse Class.ID 255 The unique identifier of the class assigned to this item. ItemCustomFieldsStringFalse Custom fields specific to this line item, formatted as XML. CustomFieldsStringFalse Custom fields related to the item receipt, formatted as XML. EditSequenceStringTrue 16 An identifier used for version control of this object in QuickBooks. TimeModifiedDatetimeTrue The date and time when the item receipt was last updated. TimeCreatedDatetimeTrue The date and time when the item receipt was initially created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description LinkToTxnIdStringThe unique identifier of a transaction (such as a purchase order) to which the new item receipt is linked. Available only during insertion. ItemLinkToTxnIdStringLinks this individual line item to another transaction. Available only during insertion and requires QBXML Version 6.0 or higher. ItemLinkToTxnLineIdStringLinks this individual line item to a specific line item in another transaction. Available only during insertion and requires QBXML Version 6.0 or higher. ItemOverrideAccountStringSpecifies the account name used to override the default account for this item. Available only during insertion and updates. ItemOverrideAccountIdStringSpecifies the account ID used to override the default account for this item. Available only during insertion and updates. ItemReceipts
Handles QuickBooks Item Receipts, supporting creation, updates, deletion, and queries for tracking goods received.
Table Specific Information
ItemReceipts may be inserted, queried, or updated via the ItemReceipts, ItemReceiptExpenseItems or ItemReceiptLineItems tables. ItemReceipts may be deleted by using the ItemReceipts table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically only be used with the equals or = comparison. The available columns for ItemReceipts are Id, Date, ReferenceNumber, VendorName, VendorId, Payee, PayeeId, Account, AccountId, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. VendorName and ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ItemReceipts WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND VendorName LIKE '%Patton Hardware Supplies%' AND ReferenceNumber LIKE '12345%'Insert
To add an ItemReceipt, specify the Vendor, Date, and at least one Expense or Line Item. The ItemAggregate and ExpenseAggregate columns may be used to specify an XML aggregate of Line Item or Expense Item data. The columns that may be used in these aggregates are defined in the ItemReceiptLineItems and ItemReceiptExpenseItems tables and it starts with Item. For example, the following will insert a new ItemReceipt with two Line Items:
INSERT INTO ItemReceipts (VendorName, Date, ItemAggregate) VALUES ('Patton Hardware Supplies', '1/1/2011', '<ItemReceiptLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </ItemReceiptLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the item receipt. VendorNameStringFalse 1000 The name of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting a new item receipt. VendorIdStringFalse Vendors.ID 255 The unique identifier of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting a new item receipt. DateDateFalse The date when the item receipt transaction was created or recorded. ReferenceNumberStringFalse 21 A reference number assigned to the item receipt transaction for identification purposes. AccountsPayableStringFalse Accounts.ID 1000 The name of the accounts payable account associated with the item receipt. AccountsPayableIdStringFalse 255 The unique identifier of the accounts payable account associated with the item receipt. MemoStringFalse 5000 An optional memo or note describing the item receipt transaction. AmountDecimalTrue The total monetary value of the item receipt. TxnNumberIntegerTrue A unique transaction number assigned to distinguish this transaction from others, apart from the Quickbooks generated ID. ExchangeRateDoubleFalse The exchange rate used to convert the transaction's currency into the home currency of the QuickBooks file. Requires QBXML Version 8.0 or higher. IsTaxIncludedBooleanFalse Specifies whether the transaction amount includes tax. This field is available only in international editions of QuickBooks. ItemCountIntegerTrue The number of item entries in the item receipt. ItemAggregateStringFalse 5000 An aggregate of all line item data, allowing the addition of an item receipt along with its line items. ExpenseItemCountIntegerTrue The number of expense line items in the item receipt. ExpenseItemAggregateStringFalse 5000 An aggregate of all expense line item data, allowing the addition of an item receipt along with its expense items. TransactionCountIntegerTrue The number of linked transactions associated with the item receipt. TransactionAggregateStringTrue 5000 An aggregate of data for all linked transactions associated with the item receipt. CustomFieldsStringFalse Any custom fields associated with this item receipt, formatted as XML. EditSequenceStringTrue 16 An identifier used for version control of this object in QuickBooks. TimeModifiedDatetimeTrue The date and time when the item receipt was last updated. TimeCreatedDatetimeTrue The date and time when the item receipt was initially created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringRepresents all line-item-specific fields that can be used in insertions. Expense\*StringRepresents all expense-item-specific fields that can be used in insertions. LinkToTxnIdStringThe identifier of a transaction (such as a purchase order) to link this item receipt to. This is only available for inserts. Items
Manages QuickBooks Items, including creation, updates, deletion, and queries for inventory and service tracking.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for Items are Id, TimeModified, FullName, Type, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. FullName may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Items WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND FullName LIKE '%12345%'Insert
When inserting the Item, specify the Type and Name fields. Depending on the Type, other columns may also be required in the insertion. See the list below to see which columns are required for special cases:
- FixedAsset: Requires Name, Type, AcquiredAs, PurchaseDesc, and PurchaseDate.
- SalesTaxGroup: Requires Name, Type, and at least one SalesTax Line Item. SalesTaxGroups must be inserted via the ItemLineItems table.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to the item in QuickBooks. NameStringFalse 31 The name of the item, used for identification in QuickBooks. FullNameStringTrue 159 The full name of the item, including the parent name if the item is a subitem, formatted as parentname:name. TypeStringFalse 100 The category or type of the item (for example, inventory, non-inventory). Required when adding a new item. The allowed values are Unknown, Service, Inventory, NonInventory, Payment, Discount, SalesTax, SubTotal, OtherCharge, InventoryAssembly, Group, SalesTaxGroup, FixedAsset. The default value is ALL. AccountStringFalse 1000 The name of the account associated with this item. AccountIdStringFalse Accounts.ID 255 The unique identifier of the account associated with this item. COGSAccountStringFalse 1000 The Cost of Goods Sold (COGS) account linked to this item. COGSAccountIdStringFalse Accounts.ID 255 The unique identifier of the COGS account linked to this item. AssetAccountStringFalse 1000 The inventory asset account linked to this item (applicable for inventory items). AssetAccountIdStringFalse Accounts.ID 255 The unique identifier of the inventory asset account linked to this item. ClassStringFalse 1000 A reference to the classification of this item. ClassIdStringFalse Class.ID 255 The unique identifier of the classification for this item. DateSoldDatetimeFalse The date the asset was sold (applicable only for fixed asset items). PurchaseDateDateFalse The date the asset was purchased (required for fixed-asset items). ItemCountIntegerFalse The number of line items associated with the inventory assembly. ParentNameStringFalse The name of the parent item if this item is a subitem. ParentIdStringFalse Items.ID 255 The unique identifier of the parent item if this item is a subitem. DescriptionStringFalse 5000 A detailed description of the item. PriceDoubleFalse The sales price of the item. PricePercentDoubleFalse The price expressed as a percentage, used in specific pricing scenarios like labor costs as a percentage of parts costs. If set, Price is 0. AverageCostDoubleTrue The average cost of the item. IsActiveBooleanFalse Indicates whether the item is active in QuickBooks. PurchaseCostDoubleFalse The cost to purchase this item. PurchaseDescriptionStringFalse 5000 A description used for purchasing this item. ExpenseAccountStringFalse 1000 The expense account associated with this item. ExpenseAccountIdStringFalse Accounts.ID 255 The unique identifier of the expense account associated with this item. PreferredVendorStringFalse 1000 The name of the preferred vendor for this item. PreferredVendorIdStringFalse Vendors.ID 255 The unique identifier of the preferred vendor for this item. QuantityOnHandDoubleTrue The current stock level of this inventory item. QuantityOnOrderDoubleTrue The quantity of this item that has been ordered from vendors but not yet received. QuantityOnSalesOrderDoubleTrue The quantity of this item that customers have ordered but has not yet been delivered. InventoryDateDateFalse The date this item was converted into an inventory item. ReorderPointDoubleFalse The stock level at which a reorder reminder is triggered. BarcodeStringFalse 50 The barcode associated with this item. TaxCodeStringFalse 3 A reference to the sales tax code assigned to this item. TaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax code assigned to this item. IsTaxIncludedBooleanFalse Indicates if the transaction amount includes tax (only available in international editions of QuickBooks). PurchaseTaxCodeStringFalse 3 A reference to the purchase tax code assigned to this item (available in international editions). PurchaseTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the purchase tax code assigned to this item (available in international editions). PartNumberStringFalse 31 The manufacturer's part number for this item (requires QBXML Version 7.0 or higher). PaymentMethodNameStringFalse 100 The payment method (for example, check, credit card) associated with this item. PaymentMethodIdStringFalse PaymentMethods.ID 255 The unique identifier of the payment method associated with this item. TaxRateDoubleFalse The tax rate applied to this item, expressed as a percentage. TaxVendorNameStringFalse 1000 The vendor or tax agency to whom taxes for this item are paid. TaxVendorIdStringFalse SalesTaxItems.ID 255 The unique identifier of the vendor or tax agency to whom taxes for this item are paid. SpecialItemTypeStringFalse 50 The specific type of item when the item type is unknown. Errors occur if this type is used for adding items. The allowed values are FinanceCharge, ReimbursableExpenseGroup, ReimbursableExpenseSubtotal. VendorOrPayeeNameStringFalse 50 The name of the vendor from whom this asset was purchased. IsPrintItemsInGroupBooleanFalse Indicates whether this item's group members and amounts should appear on printed forms. SalesExpenseStringFalse Any expenses incurred during the sale of a fixed asset. Applicable only if the asset has been sold. AssetAcquiredAsStringFalse 3 Indicates if the asset was acquired new or used. If left blank, it is not included in the request. The allowed values are New, Old. AssetDescriptionStringFalse 5000 A detailed description of the fixed asset. AssetLocationStringFalse 50 The physical location of the fixed asset. AssetPONumberStringFalse 30 The purchase order number associated with this asset. AssetSerialNumberStringFalse 5000 The serial number of the fixed asset. AssetWarrantyExpiresDateFalse The date when the warranty for this asset expires. AssetNotesStringFalse 5000 Additional notes or details about the asset. AssetNumberStringFalse 10 The identifier used by QuickBooks Fixed Asset Manager to track this asset. AssetCostBasisDecimalFalse The total cost of the asset, including improvements or repairs, used to calculate depreciation. AssetDepreciationDoubleFalse The accumulated depreciation of the asset since purchase. AssetBookValueDoubleFalse An estimate of the asset's current sales value. UnitOfMeasureStringFalse 31 The unit of measure used for this item (requires QBXML Version 7.0 or higher). UnitOfMeasureIdStringFalse UnitOfMeasure.ID 255 The unique identifier of the unit of measure (requires QBXML Version 7.0 or higher). SublevelIntegerTrue The number of hierarchical levels above this item. LineAggregateStringTrue 5000 An aggregate of data for all line items associated with this item. CustomFieldsStringFalse Custom fields formatted as XML and returned from QuickBooks. EditSequenceStringTrue 16 An identifier for versioning this record in QuickBooks. TimeModifiedDatetimeTrue The date and time when this item was last modified. TimeCreatedDatetimeTrue The date and time when this item was created. JobTypes
Manages QuickBooks Job Types, supporting creation and queries to classify customer jobs for better project tracking.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the job type. NameStringFalse 100 The name of the job type. FullNameStringTrue 1000 The full hierarchical name of the job type, formatted as ParentName|JobTypeName, if applicable. IsActiveBooleanFalse Indicates whether the job type is active (true) or inactive (false). ParentRef_FullNameStringFalse The full name of the parent job type. Specify only ParentRef_FullName or ParentRef_ListId when inserting, not both. ParentRef_ListIdStringFalse JobTypes.ID 255 The unique ID of the parent job type. Specify only ParentRef_ListId or ParentRef_FullName when inserting, not both. SublevelIntegerTrue The number of hierarchical levels above this job type (how many parent types it has). EditSequenceStringTrue 16 A unique string used for version tracking of the job type in QuickBooks. TimeCreatedDatetimeTrue The timestamp indicating when this job type was created. TimeModifiedDatetimeTrue The timestamp indicating the last time this job type was modified. JournalEntries
Handles QuickBooks Journal Entries, supporting creation, updates, deletion, and queries for accounting adjustments. Note: Journal Entry Lines cannot be modified in existing entries.
Table Specific Information
JournalEntries are unique in that the Credit Line Items and Debit Line Items must add up to the same total in one transaction. It is not possible to change a Journal Line Item one at a time and thus end up with an unbalanced transaction.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for JournalEntries are Id, Date, TimeCreated, ReferenceNumber, LineEntityName, LineEntityId, LineAccount, and LineAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM JournalEntries WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a JournalEntry, specify at least one Credit and one Debit Line. The LineAggregate column may be used to specify an XML aggregate of JournalEntry Line data. The columns that may be used in these aggregates are defined in the JournalEntryLines table and it starts with Line. For example, the following will insert a new JournalEntry with two Credit Lines and one Debit Line:
INSERT INTO JournalEntries (ReferenceNumber, LineAggregate) VALUES ('12345', '<JournalEntryLines> <Row><LineType>Credit</LineType><LineAccount>Retained Earnings</LineAccount><LineAmount>100</LineAmount></Row> <Row><LineType>Credit</LineType><LineAccount>Note Payable - Bank of Anycity</LineAccount><LineAmount>20</LineAmount></Row> <Row><LineType>Debit</LineType><LineAccount>Checking</LineAccount><LineAmount>120</LineAmount></Row> </JournalEntryLines>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
To delete a JournalEntry, simply perform a DELETE statement and set the ID equal to the JournalEntryId you wish to delete. For example:
DELETE FROM JournalEntries WHERE ID = '16336-1450191232'Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the journal entry. ReferenceNumberStringFalse 21 The reference number assigned to the journal entry transaction. TxnNumberIntegerTrue An identifying number for the transaction, distinct from the Quickbooks generated ID. DateDateFalse The date of the transaction. When used in a WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. CreditLineCountIntegerFalse The total number of credit lines included in the journal entry. DebitLineCountIntegerFalse The total number of debit lines included in the journal entry. FirstCreditAccountStringFalse The name of the first credit account associated with the journal entry. FirstCreditAmountDecimalFalse The monetary amount of the first credit line in the journal entry. FirstCreditMemoStringFalse The memo text associated with the first credit line in the journal entry. FirstCreditEntityNameStringFalse The name of the entity linked to the first credit line of the journal entry. FirstCreditEntityIdStringFalse The unique ID of the entity linked to the first credit line of the journal entry. FirstDebitAccountStringFalse The name of the first debit account associated with the journal entry. FirstDebitAmountDecimalFalse The monetary amount of the first debit line in the journal entry. FirstDebitMemoStringFalse The memo text associated with the first debit line in the journal entry. FirstDebitEntityNameStringFalse The name of the entity linked to the first debit line of the journal entry. FirstDebitEntityIdStringFalse The unique ID of the entity linked to the first debit line of the journal entry. LineAggregateStringFalse 5000 An aggregate of the credit and debit line data, used for adding a journal entry and its line item data. CurrencyNameStringFalse 64 The name of the currency used for the journal entry. Requires QBXML version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier for the currency used for the journal entry. Requires QBXML version 8.0 or higher. ExchangeRateDoubleFalse The exchange rate applied to convert the foreign currency into the home currency of the QuickBooks file. IsHomeCurrencyAdjustmentBooleanFalse Indicates if the transaction uses the home currency. If true, the Currency and ExchangeRate fields are overridden to default to the home currency. EditSequenceStringFalse 16 A string used for versioning the journal entry in QuickBooks. TimeModifiedDatetimeFalse The timestamp indicating the last modification of the journal entry. TimeCreatedDatetimeFalse The timestamp indicating when the journal entry was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Line\*StringAll columns specific to journal entry line items can be included in insert operations. LineEntityNameStringFilters journal entry data by the name of an entity linked to a line item. LineEntityIdStringFilters journal entry data by the ID of an entity linked to a line item. LineAccountStringFilters journal entry data by the name of an account linked to a line item. LineAccountIdStringFilters journal entry data by the ID of an account linked to a line item. JournalEntryLines
Manages individual lines within QuickBooks Journal Entries, supporting creation, updates, deletion, and queries for detailed accounting entries.
Table Specific Information
JournalEntries are unique in that the Credit Line Items and Debit Line Items must add up to the same total in one transaction. It is not possible to change a Journal Line Item one at a time and thus end up with an unbalanced transaction. Note that while Journal Entry Lines can be created with a new Journal Entry, they cannot be added or removed from an existing Journal Entry.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for JournalEntries are Id, Date, TimeModified, ReferenceNumber, LineEntityName, LineEntityId, LineAccount, and LineAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM JournalEntryLines WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a JournalEntry, at least one Credit and one Debit Line must be added. Both types of lines are denoted by the Line columns. Debit Lines have a LineType of Debit while Credit Lines have a LineType of Credit. For example, to insert a JournalEntry:
INSERT INTO JournalEntryLines#TEMP (ReferenceNumber, LineType, LineAccount, LineAmount) VALUES ('12345', 'Credit', 'Retained Earnings', '100') INSERT INTO JournalEntryLines#TEMP (ReferenceNumber, LineType, LineAccount, LineAmount) VALUES ('12345', 'Credit', 'Note Payable - Bank of Anycity', '20') INSERT INTO JournalEntryLines#TEMP (ReferenceNumber, LineType, LineAccount, LineAmount) VALUES ('12345', 'Debit', 'Checking', '120') INSERT INTO JournalEntryLines (ReferenceNumber, LineType, LineAccount, LineAmount) SELECT ReferenceNumber, LineType, LineAccount, LineAmount FROM JournalEntryLines#TEMPTo delete a JournalEntry, simply perform a DELETE statement and set the ID equal to the JournalEntryId you wish to delete. For example:
DELETE FROM JournalEntries WHERE ID = '16336-1450191232'Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the journal entry line, formatted as JournalEntryId|ItemLineId. JournalEntryIDStringFalse JournalEntries.ID 255 The unique identifier of the journal entry to which this line belongs. ReferenceNumberStringFalse 21 The reference number assigned to the journal entry transaction. TxnNumberIntegerTrue The transaction number, which is distinct from the Quickbooks generated ID. DateDateFalse The date of the transaction. If specified in a SELECT query's WHERE clause, it overrides the pseudo columns StartDate and EndDate. CreditLineCountIntegerFalse The total number of credit lines included in the journal entry. DebitLineCountIntegerFalse The total number of debit lines included in the journal entry. LineIdStringTrue 255 The unique identifier for this specific journal entry line. LineTypeStringFalse 100 Specifies whether this line is a credit or a debit. LineAccountStringFalse 1000 The name of the account associated with this line, either a credit or a debit. LineAccountIdStringFalse Accounts.ID 255 The unique identifier of the account associated with this line, either a credit or a debit. LineAmountDecimalFalse The monetary amount associated with this credit or debit line. LineEntityNameStringFalse 1000 The name of the entity (such as a customer or vendor) linked to this line. LineEntityIdStringFalse 255 The unique identifier of the entity linked to this line. LineMemoStringFalse 5000 A memo or note providing additional details about this line. LineClassStringFalse 1000 The class name associated with this line, used for categorization. LineClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this line. LineStatusStringFalse 13 The billing status of this line, indicating whether it is billable or non-billable. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. LineTaxItemStringFalse 100 The name of the sales tax item applied to this line, available only in Canada, UK, and Australia versions of QuickBooks. LineTaxItemIdStringFalse SalesTaxItems.ID 255 The unique identifier of the sales tax item applied to this line, available only in Canada, UK, and Australia versions of QuickBooks. CurrencyNameStringFalse 64 The name of the currency used for this line. Requires QBXML version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier of the currency used for this line. Requires QBXML version 8.0 or higher. ExchangeRateDoubleFalse The exchange rate used to convert this currency into the home currency of the QuickBooks file. IsHomeCurrencyAdjustmentBooleanFalse Indicates if the transaction is adjusted for the home currency. If true, the Currency and ExchangeRate fields default to the home currency. EditSequenceStringFalse 16 A versioning identifier for this line item, used to track changes. TimeModifiedDatetimeFalse The timestamp of when this journal entry line was last modified. TimeCreatedDatetimeFalse The timestamp of when this journal entry line was created. OtherNames
Manages QuickBooks 'Other Name' entities, allowing creation, updates, deletion, and queries for non-customer or vendor names.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the other name entry. NameStringFalse 41 The name of the other name entry. This value is required when adding a new record. IsActiveBooleanFalse Indicates whether the other name entry is currently active. CompanyNameStringFalse 41 The company name associated with the customer, vendor, employee, or person listed under other names. SalutationStringFalse 15 A title or salutation, such as Mr., Mrs., Dr., etc., associated with the other name entry. FirstNameStringFalse 25 The first name of the individual listed under other names. MiddleNameStringFalse 25 The middle name of the individual listed under other names. LastNameStringFalse 25 The last name of the individual listed under other names. OtherNameAddress_Addr1StringFalse 500 The first line of the address associated with the other name entry. OtherNameAddress_Addr2StringFalse 500 The second line of the address associated with the other name entry. OtherNameAddress_Addr3StringFalse 500 The third line of the address associated with the other name entry. OtherNameAddress_Addr4StringFalse 500 The fourth line of the address associated with the other name entry. OtherNameAddress_Addr5StringFalse 41 The fifth line of the address associated with the other name entry. OtherNameAddress_CityStringFalse 255 The city name for the address associated with the other name entry. OtherNameAddress_StateStringFalse 255 The state or province name for the address associated with the other name entry. OtherNameAddress_PostalCodeStringFalse 30 The postal or ZIP code for the address associated with the other name entry. OtherNameAddress_CountryStringFalse 255 The country name for the address associated with the other name entry. OtherNameAddress_NoteStringFalse 41 Additional notes or information about the address associated with the other name entry. PhoneStringFalse 21 The primary phone number for the customer, vendor, employee, or person listed under other names. AltPhoneStringFalse 41 An alternate phone number for the customer, vendor, employee, or person listed under other names. FaxStringFalse 21 The fax number for the customer, vendor, employee, or person listed under other names. EmailStringFalse 1023 The email address for communication with the customer, vendor, employee, or person listed under other names. ContactStringFalse 41 The name of the primary contact person associated with the other name entry. AltContactStringFalse 41 The name of an alternate contact person associated with the other name entry. AccountNumberStringFalse 99 The account number linked to the other name entry. NotesStringFalse 5000 Any notes or additional details about the other name entry. ExternalGUIDStringFalse A user-defined globally unique identifier (GUID) for the other name entry, enclosed in curly brackets. Can be used only during inserts and requires QBXML 8.0 or higher. CustomFieldsStringFalse Custom fields associated with the other name entry, formatted in XML and returned by QuickBooks. TimeCreatedDatetimeTrue The timestamp when the other name entry was initially created. TimeModifiedDatetimeTrue The timestamp of the most recent modification to the other name entry. EditSequenceStringTrue 16 A versioning identifier for this copy of the other name entry object. PaymentMethods
Handles QuickBooks Payment Methods, supporting creation, updates, deletion, and queries for payment categorization.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the payment method. NameStringFalse 31 The name of the payment method (for example, Cash, Check, Credit Card). IsActiveBooleanFalse Indicates whether the payment method is currently active and available for use. PaymentMethodTypeStringFalse 100 The type of payment method, such as cash, check, or credit card. Requires QBXML version 7.0 or higher. The allowed values are AmericanExpress, Cash, Check, DebitCard, Discover, ECheck, GiftCard, MasterCard, Other, OtherCreditCard, Visa. EditSequenceStringTrue 16 An identifier used to track revisions to the payment method. TimeCreatedDatetimeTrue The timestamp indicating when the payment method was initially created. TimeModifiedDatetimeTrue The timestamp indicating the last time the payment method was modified. PayrollNonWageItems
Queries non-wage payroll items in QuickBooks, providing insight into additional payroll expenses or deductions.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue The unique identifier for this payroll non-wage item. NameStringFalse The name of the payroll non-wage item. This field is required when adding a new item. IsActiveBooleanFalse Indicates whether the payroll non-wage item is active. True if active, false otherwise. NonWageTypeStringFalse The type of non-wage payment, such as a bonus or reimbursement. The allowed values are Addition, CompanyContribution, Deduction, DirectDeposit, Tax. ExpenseAccountRef_FullNameStringFalse The full name of the expense account associated with this non-wage payroll item. Either the ExpenseAccount name or ExpenseAccountId must be provided when adding a new item. ExpenseAccountRef_ListIDStringFalse Accounts.ID The unique ID of the expense account associated with this non-wage payroll item. Either the ExpenseAccount name or ExpenseAccountId must be provided when adding a new item. LiabilityAccountRef_FullNameStringFalse The full name of the liability account associated with this non-wage payroll item. Either the LiabilityAccount name or LiabilityAccountId must be provided when adding a new item. LiabilityAccountRef_ListIDStringFalse Accounts.ID The unique ID of the liability account associated with this non-wage payroll item. Either the LiabilityAccount name or LiabilityAccountId must be provided when adding a new item. TimeCreatedDatetimeTrue The date and time when the payroll non-wage item was created in the system. TimeModifiedDatetimeTrue The date and time when the payroll non-wage item was last updated or modified. EditSequenceStringTrue A string used for versioning to track changes made to this specific item. PayrollWageItems
Manages QuickBooks Wage Payroll Items, supporting creation and queries to streamline wage-based payroll processing.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue The unique identifier for the payroll wage item, used to distinguish this item from others in the system. NameStringFalse The name of the payroll wage item, such as 'Hourly Wage' or 'Overtime Pay.' This field is required when creating a new payroll item. IsActiveBooleanFalse Indicates whether the payroll wage item is active and available for use in payroll processing. If false, the item is inactive and cannot be used in transactions. WageTypeStringFalse The type of wages associated with this payroll item, such as hourly, salary, or commission. This categorization determines how the wages are calculated and processed. The allowed values are Bonus, Commission, HourlyOvertime, HourlyRegular, HourlySick, HourlyVacation, SalaryRegular, SalarySick, SalaryVacation. ExpenseAccountRef_FullNameStringFalse The full name of the expense account where wages associated with this payroll item will be recorded. This account is used to track wage-related expenses in the company’s financial records. Either the account name or ID must be specified when creating the item. ExpenseAccountRef_ListIDStringFalse Accounts.ID The unique identifier of the expense account used to record wage expenses for this payroll item. This is an alternative to specifying the full account name and is required when creating the item if the account name is not provided. TimeCreatedDatetimeTrue The date and time when the payroll wage item was initially created in QuickBooks. This field helps track when the item was added to the system. TimeModifiedDatetimeTrue The date and time when the payroll wage item was last updated in QuickBooks. This information is useful for auditing and ensuring data accuracy. EditSequenceStringTrue A unique identifier for versioning this payroll wage item, used to detect and prevent conflicts when updating the record. PriceLevelPerItem
Manages Per-Item Price Levels in QuickBooks, allowing creation and queries of individual item pricing for specific customers. Available in QuickBooks Premier and Enterprise with QBXML Version 4.0 or higher. In addition to adding Per-Item Price Levels, you can also add Price Levels from this table. To delete Price Levels, you must use the PriceLevels table.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier that distinguishes this price level item from others in the system. PriceLevelIDStringFalse PriceLevels.ID 255 The unique identifier of the price level to which this item belongs. NameStringFalse 31 The descriptive name assigned to the price level, used to identify it in reports or applications. PriceLevelTypeStringTrue 15 Specifies the type of price level, such as fixed percentage discounts or per-item pricing. The allowed values are FixedPercentage, PerItem. IsActiveBooleanFalse Indicates whether this price level item is active and available for use. Inactive items cannot be applied to transactions. PriceLevelPerItemRet_ItemRef_ListIDStringFalse Items.ID 255 A reference to the item's identifier. Either the ID or FullName property of the item must be provided when inserting. PriceLevelPerItemRet_ItemRef_FullNameStringFalse A reference to the item's name. Either the ID or FullName property of the item must be provided when inserting. PriceLevelPerItemRet_CustomPriceDecimalFalse A fixed custom price specified for this item under the price level. PriceLevelPerItemRet_CustomPricePercentDoubleFalse A percentage discount or markup applied to this item under the price level. PriceLevelPerItemRet_CurrencyRef_ListIDStringFalse Currency.ID 255 A reference to the currency identifier for this price level item. Requires QBXML version 8.0 or higher with multi-currency enabled in the company file. PriceLevelPerItemRet_CurrencyRef_FullNameStringFalse 64 A reference to the currency name associated with this price level item. Requires QBXML version 8.0 or higher with multi-currency enabled in the company file. TimeCreatedDatetimeTrue The date and time when this price level item was created. TimeModifiedDatetimeTrue The date and time of the most recent modification to this price level item. EditSequenceStringTrue 16 A unique identifier used for versioning to track changes made to this price level item. PriceLevels
Handles QuickBooks Price Levels, supporting creation, deletion, and queries for fixed-percentage pricing adjustments to a wide range of customers or items. You can add and delete Price Levels from this table, but you can only add fixed-percentage Price Levels. To add more specific per-item price levels, use the PriceLevelPerItem table. This table requires QBXML Version 4.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier that distinguishes this price level from others in the system. NameStringFalse 31 The descriptive name assigned to the price level, used to identify it in reports or applications. PriceLevelTypeStringTrue 15 Specifies the type of price level, such as fixed percentage discounts or per-item pricing. The allowed values are FixedPercentage, PerItem. IsActiveBooleanFalse Indicates whether this price level is active and available for use. Inactive price levels cannot be applied to transactions. PriceLevelFixedPercentageDoubleFalse Represents a fixed percentage discount or markup applied to all items associated with this price level. PriceLevelPerItemAggregateStringFalse 5000 Contains details about per-item price adjustments for this price level, such as custom pricing rules. PriceLevelPerItemRet_CurrencyRef_ListIDStringFalse Currency.ID 255 A reference to the currency identifier for this price level. Requires QuickBooks XML (QBXML) version 8.0 or higher with multi-currency enabled in the company file. PriceLevelPerItemRet_CurrencyRef_FullNameStringFalse 64 A reference to the currency name associated with this price level. Requires QBXML version 8.0 or higher with multi-currency enabled in the company file. TimeCreatedDatetimeTrue The date and time when this price level was created. TimeModifiedDatetimeTrue The date and time of the most recent modification to this price level. EditSequenceStringTrue 16 A unique identifier used for versioning to track changes made to this price level object. PurchaseOrderLineItems
Manages individual line items in QuickBooks Purchase Orders, supporting creation, updates, deletion, and queries for procurement tracking.
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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for PurchaseOrders are Id, Date, TimeModified, ReferenceNumber, VendorName, and VendorId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM PurchaseOrderLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a PurchaseOrder, specify the Vendor and at least one Line Item. All Line Item columns and can be used for inserting multiple Line Items for a new PurchaseOrder transaction. For example, the following will insert a new PurchaseOrder with two Line Items:
INSERT INTO PurchaseOrderLineItems#TEMP (VendorName, ItemName, ItemQuantity) VALUES ('A Cheung Limited', 'Repairs', 1) INSERT INTO PurchaseOrderLineItems#TEMP (VendorName, ItemName, ItemQuantity) VALUES ('A Cheung Limited', 'Removal', 2) INSERT INTO PurchaseOrderLineItems (VendorName, ItemName, ItemQuantity) SELECT VendorName, ItemName, ItemQuantity FROM PurchaseOrderLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the line item, formatted as PurchaseOrderId|ItemLineId, providing specific reference to each line item within a purchase order. PurchaseOrderIDStringFalse PurchaseOrders.ID 255 The unique identifier of the purchase order to which this line item belongs. VendorNameStringFalse 1000 The name of the vendor for this purchase order. Either VendorName or VendorId must be provided when adding a new purchase order. VendorIdStringFalse Vendors.ID 255 The QuickBooks ID of the vendor for this purchase order. Either VendorId or VendorName must be provided when adding a new purchase order. VendorMessageStringFalse 99 A custom message or instructions included for the vendor, such as shipping or delivery notes. ReferenceNumberStringFalse 21 The reference number for tracking or identification of the transaction associated with this purchase order. TxnNumberIntegerTrue A unique transaction number assigned by QuickBooks, separate from the system-generated ID. DateDateFalse The creation date of the transaction. Overwrites pseudo-columns StartDate and EndDate if used in a WHERE clause. DueDateDateFalse The date when payment for the purchase order is due. ShipMethodStringFalse 1000 The shipping method specified for the purchase order, such as 'Ground' or 'Air'. ShipMethodIdStringFalse ShippingMethods.ID 255 The QuickBooks ID corresponding to the selected shipping method. ExpectedDateDateFalse The anticipated arrival date for the shipment. MemoStringFalse 5000 Notes or comments related to this transaction, typically for internal use. ClassStringFalse 1000 The classification of this transaction for categorization or reporting purposes. ClassIdStringFalse Class.ID 255 The ID of the class assigned to this transaction for categorization or reporting. TermsStringFalse 100 The payment terms associated with this purchase order, such as 'Net 30'. TermsIdStringFalse 255 The QuickBooks ID for the payment terms associated with this transaction. TotalAmountDecimalTrue The total monetary value of the purchase order. TemplateStringFalse 100 The name of a pre-existing template applied to this transaction for formatting or standardization. TemplateIdStringFalse Templates.ID 255 The QuickBooks ID of the template applied to this transaction. CurrencyNameStringFalse 64 The name of the currency used for this purchase order. Requires QBXML version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The ID of the currency used for this purchase order. Requires QBXML version 8.0 or higher. CustomFieldsStringFalse Custom fields associated with the purchase order, returned as formatted XML. ItemLineIdStringTrue 255 A unique identifier for this specific line item within the purchase order. ItemLineNumberStringTrue 255 The sequential number of the line item within the purchase order. ItemNameStringFalse The name of the item being ordered. ItemIdStringFalse Items.ID 255 The QuickBooks ID of the item being ordered. ItemGroupStringFalse 100 The name of the item group, if this item is part of a predefined group of line items. ItemGroupIdStringFalse Items.ID 255 The QuickBooks ID of the item group, if this item is part of a predefined group of line items. ItemDescriptionStringFalse 5000 A descriptive note about the item being ordered. ItemCustomerStringFalse 1000 The name of the customer or job associated with this item, if applicable. ItemCustomerIdStringFalse Customers.ID 255 The QuickBooks ID of the customer or job associated with this item, if applicable. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item, selected from the item's predefined units. Requires QBXML version 7.0 or higher. ItemQuantityDoubleFalse The number of units of the item being ordered. ItemRateDoubleFalse The unit price or rate for the item being ordered. ItemAmountDecimalFalse The total monetary value for this line item. ItemReceivedQuantityDoubleFalse The number of units of the item that have already been received against this purchase order. ItemClassStringFalse 1000 The classification of the item for categorization or reporting purposes. ItemClassIdStringFalse Class.ID 255 The QuickBooks ID of the class assigned to the item. ItemInventorySiteLocationIdStringFalse 31 The ID of the inventory site location where the item is stored. Requires QBXML version 10.0 and Advanced Inventory. ItemInventorySiteLocationNameStringFalse 255 The name of the inventory site location where the item is stored. Requires QBXML version 10.0 and Advanced Inventory. ItemIsManuallyClosedStringFalse 10 Indicates whether the item line is manually closed (no longer active). ItemPartNumberStringFalse The manufacturer's part number for the item. ItemServiceDateDateFalse The date when the service related to the item is performed. ItemOther1StringFalse 29 Additional custom field for the item. Requires QBXML version 6.0 or higher. ItemOther2StringFalse 29 Another custom field for the item. Requires QBXML version 6.0 or higher. ItemCustomFieldsStringFalse Custom fields specific to this line item, returned as formatted XML. IsFullyReceivedBooleanTrue Indicates whether all items in the purchase order have been received. IsManuallyClosedStringFalse 10 Indicates whether the entire purchase order is manually closed (no longer active). IsToBePrintedBooleanFalse Specifies whether the purchase order is marked for printing. IsToBeEmailedBooleanFalse Specifies whether the purchase order is marked for emailing. IsTaxIncludedBooleanFalse Indicates whether the amounts in the line items include tax. SalesTaxCodeNameStringFalse 3 The name of the sales tax code applied to this purchase order. SalesTaxCodeIdStringFalse SalesTaxCodes.ID 255 The ID of the sales tax code applied to this purchase order. FOBStringFalse 1000 The freight-on-board location indicating the shipping point or destination. VendorAddressStringTrue The complete address of the vendor as recorded in QuickBooks. VendorLine1StringFalse 500 The first line of the vendor's address. VendorLine2StringFalse 500 The second line of the vendor's address. VendorLine3StringFalse 500 The third line of the vendor's address. VendorLine4StringFalse 500 The fourth line of the vendor's address. VendorLine5StringFalse 41 The fifth line of the vendor's address. VendorCityStringFalse 255 The city of the vendor's address. VendorStateStringFalse 255 The state of the vendor's address. VendorPostalCodeStringFalse 30 The postal code of the vendor's address. VendorCountryStringFalse 255 The country of the vendor's address. VendorNoteStringFalse 41 Additional notes or comments about the vendor. ShipToEntityIdStringFalse 255 The ID of the entity (customer, vendor, or employee) receiving the shipment. ShipToEntityNameStringFalse 1000 The name of the entity (customer, vendor, or employee) receiving the shipment. ShippingAddressStringTrue The complete shipping address as recorded in QuickBooks. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city of the shipping address. ShippingStateStringFalse 255 The state of the shipping address. ShippingPostalCodeStringFalse 30 The postal code of the shipping address. ShippingCountryStringFalse 255 The country of the shipping address. ShippingNoteStringFalse 41 Additional notes or comments about the shipping address. ExchangeRateDoubleFalse The currency exchange rate applicable to this transaction. Other1StringFalse 25 A predefined custom field available for QuickBooks users. Other2StringFalse 29 Another predefined custom field available for QuickBooks users. EditSequenceStringTrue 16 A unique identifier for tracking the version of this record. TimeModifiedDatetimeTrue The date and time when the purchase order was last updated in QuickBooks. TimeCreatedDatetimeTrue The date and time when the purchase order was initially created in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringThe name of the item's price level. QuickBooks does not return this value. ItemOverrideAccountStringThe name of the account used to override the default account for the item. ItemOverrideAccountIdStringThe ID of the account used to override the default account for the item. PurchaseOrders
Handles QuickBooks Purchase Orders, supporting creation, updates, deletion, and queries for supplier management.
Table Specific Information
Purchase orders may be inserted, queried, or updated via the PurchaseOrders or PurchaseOrderLineItems tables. PurchaseOrders may be deleted by using the PurchaseOrders table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for PurchaseOrders are Id, Date, TimeModified, VendorName, and VendorId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM PurchaseOrders WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a PurchaseOrder, specify the Vendor and at least one Line Item. The ItemAggregate columns may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the PurchaseOrderLineItems table and it starts with Item. For example, the following will insert a new PurchaseOrder with two Line Items:
INSERT INTO PurchaseOrders (VendorName, ItemAggregate) VALUES ('A Cheung Limited', '<PurchaseOrderLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </PurchaseOrderLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the purchase order, formatted as PurchaseOrderId, used to track this transaction in the system. VendorNameStringFalse 1000 The name of the vendor to whom this purchase order is issued. Either VendorName or VendorId must be provided when inserting. VendorIdStringFalse Vendors.ID 255 The QuickBooks ID of the vendor to whom this purchase order is issued. Either VendorId or VendorName must be provided when inserting. VendorMessageStringFalse 99 A message or note included for the vendor, typically instructions or additional information. ReferenceNumberStringFalse 21 The reference number for the transaction, used for tracking or cross-referencing purposes. TxnNumberIntegerTrue A unique transaction number, separate from the Quickbooks generated ID, for additional identification. DateDateFalse The date when the purchase order was created or recorded. DueDateDateFalse The date by which payment for this purchase order is due. ShipMethodStringFalse 1000 The method of shipping for this purchase order, such as 'Ground' or 'Air'. ShipMethodIdStringFalse ShippingMethods.ID 255 The QuickBooks ID associated with the selected shipping method. ExpectedDateDateFalse The date when the items on the purchase order are expected to arrive. MemoStringFalse 5000 A memo or note related to the purchase order, used for internal tracking or documentation. ClassStringFalse 1000 The class assigned to this transaction, typically for categorization or reporting purposes. ClassIdStringFalse Class.ID 255 The QuickBooks ID of the class assigned to this transaction. TermsStringFalse 100 The payment terms for this purchase order, such as 'Net 30' or 'Due on Receipt'. TermsIdStringFalse 255 The QuickBooks ID of the payment terms applied to this transaction. TotalAmountDecimalTrue The total amount for this purchase order, including all items and taxes. TemplateStringFalse 100 The name of a template applied to this purchase order for formatting or customization. TemplateIdStringFalse Templates.ID 255 The QuickBooks ID of the template applied to this purchase order. CurrencyNameStringFalse 64 The name of the currency used for this purchase order. Requires QBXML version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The QuickBooks ID of the currency used for this purchase order. Requires QBXML version 8.0 or higher. ItemCountIntegerTrue The number of line items included in this purchase order. ItemAggregateStringFalse 5000 A representation of all line-item data for adding purchase orders with their items. IsFullyReceivedBooleanTrue Indicates if all items in the purchase order have been received and no items are manually closed. IsManuallyClosedStringFalse 10 Specifies whether the purchase order is manually closed. IsToBePrintedBooleanFalse Indicates if the purchase order is marked for printing. IsToBeEmailedBooleanFalse Indicates if the purchase order is marked to be emailed. IsTaxIncludedBooleanFalse Determines if the line item amounts include tax. SalesTaxCodeNameStringFalse 3 The name of the sales tax code applied to this purchase order. SalesTaxCodeIdStringFalse SalesTaxCodes.ID 255 The QuickBooks ID of the sales tax code applied to this purchase order. FOBStringFalse 1000 Freight on board: the location from which the goods are shipped. VendorAddressStringTrue The complete address of the vendor as recorded in QuickBooks. VendorLine1StringFalse 500 The first line of the vendor's address. VendorLine2StringFalse 500 The second line of the vendor's address. VendorLine3StringFalse 500 The third line of the vendor's address. VendorLine4StringFalse 500 The fourth line of the vendor's address. VendorLine5StringFalse 41 The fifth line of the vendor's address. VendorCityStringFalse 255 The city in the vendor's address. VendorStateStringFalse 255 The state in the vendor's address. VendorPostalCodeStringFalse 30 The postal code in the vendor's address. VendorCountryStringFalse 255 The country in the vendor's address. VendorNoteStringFalse 41 A note associated with the vendor's address for additional context. ShipToEntityNameStringFalse 1000 The name of the entity (customer, vendor, or employee) to whom the shipment is directed. ShipToEntityIdStringFalse 255 The QuickBooks ID of the entity (customer, vendor, or employee) to whom the shipment is directed. ShippingAddressStringTrue The complete shipping address returned by QuickBooks. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city in the shipping address. ShippingStateStringFalse 255 The state in the shipping address. ShippingPostalCodeStringFalse 30 The postal code in the shipping address. ShippingCountryStringFalse 255 The country in the shipping address. ShippingNoteStringFalse 41 A note associated with the shipping address for additional context. ExchangeRateDoubleFalse The exchange rate used to convert the transaction's currency to the home currency. Other1StringFalse 25 A predefined custom field from QuickBooks for additional information. Other2StringFalse 29 Another predefined custom field from QuickBooks for supplementary details. CustomFieldsStringFalse Custom fields formatted as XML and returned by QuickBooks. EditSequenceStringTrue A version identifier used for tracking changes to this purchase order. TimeModifiedDatetimeTrue The date and time when the purchase order was last updated in QuickBooks. TimeCreatedDatetimeTrue The date and time when the purchase order was created in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringRepresents all line-item-specific columns for use in inserting or managing line items in this transaction. ReceivePayments
Manages QuickBooks Receive Payment transactions, supporting creation, updates, deletion, and queries for customer payments. Requires QBXML Version 6.0 or higher.
Table Specific Information
ReceivePayments may be inserted, queried, or updated via the ReceivePayments or ReceivePaymentsAppliedTo tables. ReceivePayments may be deleted by using the ReceivePayments table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for ReceivePayments are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, DepositToAccountName, and DepositToAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ReceivePayments WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a ReceivePayment, specify the Customer and Amount. The AppliedToAggregate column may be used to specify an XML aggregate of AppliedTo data. In a Receive Payment, each AppliedTo aggregate represents the transaction to which this part of the payment is being applied. The columns that may be used in these aggregates are defined in the ReceivePaymentsAppliedTo table and it starts with AppliedTo. To use the ApplyToAggregate column, set the AutoApply pseudo column to Custom. For example, the following will insert a new ReceivePayment with two AppliedTo entries:
INSERT INTO ReceivePayments (CustomerName, Amount, AutoApply, AppliedToAggregate) VALUES ('Cook, Brian', '300.00', 'Custom', '<ReceivePaymentsAppliedTo> <Row><AppliedToRefId>178C1-1450221347</AppliedToRefId><AppliedToPaymentAmount>200.00</AppliedToPaymentAmount></Row> <Row><AppliedToRefId>881-933371709</AppliedToRefId><AppliedToPaymentAmount>100.00</AppliedToPaymentAmount></Row> </ReceivePaymentsAppliedTo>')If you would like to insert a ReceivePayment and let QuickBooks automatically determine which transaction to apply it to, you can use the AutoApply pseudo column to apply the transaction to an existing transaction. For example:
INSERT INTO ReceivePayments (CustomerName, Amount, AutoApply) VALUES ('Cook, Brian', '300.00', 'ExistingTransactions')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the transaction, used to distinguish it in the system. ReferenceNumberStringFalse 21 The reference number assigned to the transaction for identification purposes, such as a check or invoice number. TxnNumberIntegerTrue An identifying number for the transaction that differs from the Quickbooks generated ID, often used for internal tracking. DateDateFalse The date when the payment transaction occurred, essential for recording and reconciliation. UnusedPaymentDecimalTrue The portion of the payment amount that has not been applied to outstanding invoices or transactions. AmountDecimalFalse The total payment amount received from the customer in this transaction. AccountsReceivableNameStringFalse 1000 The name of the accounts-receivable account where this payment is recorded, such as 'Accounts Receivable'. AccountsReceivableIdStringFalse Accounts.ID 255 The unique QuickBooks ID of the accounts-receivable account where this payment is recorded. CustomerNameStringFalse 1000 The name of the customer making the payment. This is required if CustomerId is not specified during insertion. CustomerIdStringFalse Customers.ID 255 The unique QuickBooks ID of the customer making the payment. This is required if CustomerName is not specified during insertion. DepositToAccountNameStringFalse 1000 The name of the account where this payment will be deposited, such as 'Checking Account'. DepositToAccountIdStringFalse Accounts.ID 255 The QuickBooks ID of the account where this payment will be deposited. PaymentMethodNameStringFalse 100 The name of the payment method used, such as 'Credit Card', 'Cash', or 'Check'. PaymentMethodIdStringFalse PaymentMethods.ID 255 The QuickBooks ID of the payment method used for this transaction. MemoStringFalse 5000 A memo or note associated with the transaction, typically used for internal documentation or reporting. ExchangeRateDoubleFalse The exchange rate applied to convert the payment amount from a foreign currency to the home currency. TotalAmountInHomeCurrencyDecimalFalse The payment amount converted to the home currency after applying the exchange rate. AppliedToAggregateStringFalse 5000 An aggregated representation of all the applied-to data for this payment, useful for linking it to specific invoices or transactions. CustomFieldsStringFalse Any custom fields associated with the payment, formatted as XML and returned by QuickBooks. TimeModifiedDatetimeTrue The date and time when the payment record was last modified in QuickBooks. TimeCreatedDatetimeTrue The date and time when the payment record was initially created in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description AutoApplyStringSpecifies whether the payment should be automatically applied to outstanding invoices or handled manually. The allowed values are ExistingTransactions, FutureTransactions, Custom. The default value is ExistingTransactions. ReceivePaymentsAppliedTo
Tracks individual transactions to which a QuickBooks Receive Payment is applied, supporting creation, updates, and queries. In a Receive Payment, each AppliedTo aggregate represents the transaction to which this part of the payment is being applied. Requires QBXML Version 6.0 or higher.
Table Specific Information
ReceivePayments may be inserted, queried, or updated via the ReceivePayments or ReceivePaymentsAppliedTo tables. ReceivePayments may be deleted by using the ReceivePayments table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for ReceivePayments are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, DepositToAccountName, and DepositToAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ReceivePaymentsAppliedTo WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a ReceivePayment, specify the Customer and the Amount. All AppliedTo columns can be used to explicitly identify the transactions the payment is applied to. An AppliedTo entry must at the minimum specify the AppliedToRefId and AppliedToPaymentAmount. Optionally, the INSERT may specify the AutoApply behavior.
For example, the following will insert a new ReceivePayment with two AppliedTo entries:
INSERT INTO ReceivePaymentsAppliedTo#TEMP (CustomerName, AppliedToAmount, AutoApply, AppliedToRefId, AppliedToPaymentAmount) VALUES ('Cook, Brian', '300.00', 'Custom', '178C1-1450221347', '200.00') INSERT INTO ReceivePaymentsAppliedTo#TEMP (CustomerName, AppliedToAmount, AutoApply, AppliedToRefId, AppliedToPaymentAmount) VALUES ('Cook, Brian', '300.00', 'Custom', '881-933371709', '100.00') INSERT INTO ReceivePaymentsAppliedTo (CustomerName, AppliedToAmount, AutoApply, AppliedToRefId, AppliedToPaymentAmount) SELECT CustomerName, AppliedToAmount, AutoApply, AppliedToRefId, AppliedToPaymentAmount FROM ReceivePaymentsAppliedTo#TEMPIf you would like to insert a ReceivePayment and let QuickBooks automatically determine which transaction to apply it to, you can use the AutoApply pseudo column to apply the transaction to an existing transaction. For example:
INSERT INTO ReceivePaymentsAppliedTo (CustomerName, Amount, AutoApply) VALUES ('Cook, Brian', '300.00', 'ExistingTransactions')Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier formatted as ReceivePaymentId|AppliedToRefId, used to track specific applications of payments. ReceivePaymentIdStringFalse ReceivePayments.ID 255 The unique identifier of the bill-payment transaction to which this payment is associated. ReferenceNumberStringFalse 21 The transaction reference number used for identification. Supports flexible search options such as starts with, ends with, or contains, as well as range searches. TxnNumberIntegerTrue An identifying number for the transaction, distinct from the Quickbooks generated Id, useful for tracking and reconciliation. DateDateFalse The date when the payment transaction occurred, relevant for accounting and audit purposes. UnusedPaymentDecimalTrue The portion of the payment amount that has not been applied to existing invoices or transactions. AmountDecimalFalse The total amount received from the customer in this payment transaction. AccountsReceivableNameStringFalse 1000 The name of the accounts-receivable account where the payment is recorded (for example, 'Accounts Receivable'). AccountsReceivableIdStringFalse Accounts.ID 255 The unique QuickBooks ID of the accounts-receivable account used to record the payment. CustomerNameStringFalse 1000 The full name of the customer making the payment. Required if CustomerId is not specified during insertion. CustomerIdStringFalse Customers.ID 255 The unique QuickBooks ID of the customer making the payment. Required if CustomerName is not specified during insertion. DepositToAccountNameStringFalse 1000 The name of the account where the payment should be deposited, such as 'Checking Account'. DepositToAccountIdStringFalse Accounts.ID 255 The unique QuickBooks ID of the deposit account where the payment is recorded. PaymentMethodNameStringFalse 100 The name of the payment method used for this transaction, such as 'Credit Card' or 'Check'. PaymentMethodIdStringFalse PaymentMethods.ID 255 The QuickBooks ID of the payment method used for the transaction. MemoStringFalse 5000 An optional memo to provide additional context about this payment, often used for internal notes or reports. ExchangeRateDoubleFalse The exchange rate applied to convert the payment currency into the home currency for reporting purposes. TotalAmountInHomeCurrencyDecimalFalse The total payment amount converted to the company's home currency after applying the exchange rate. AutoApplyStringFalse 20 Indicates how the payment is applied to transactions, such as automatically applying it to the oldest outstanding invoice. The allowed values are ExistingTransactions, FutureTransactions, Custom. The default value is ExistingTransactions. CustomFieldsStringFalse Any custom fields associated with the payment, formatted as XML and returned by QuickBooks. AppliedToRefIdStringFalse 255 The reference ID of the transaction (such as an invoice or journal entry) to which the payment is applied. AppliedToAmountDecimalTrue The amount of the payment that is applied to the specified transaction. AppliedToBalanceRemainingDoubleTrue The remaining balance for the specified transaction after applying the payment. AppliedToCreditAppliedAmountDecimalFalse The portion of a credit applied to the transaction as part of the payment. AppliedToCreditMemoIdStringFalse CreditMemos.ID 255 The unique ID of a credit memo applied to the transaction. AppliedToDiscountAccountNameStringFalse 1000 The name of the account where any discounts applied to the transaction are recorded. AppliedToDiscountAccountIdStringFalse Accounts.ID 255 The QuickBooks ID of the account where discounts applied to the transaction are recorded. AppliedToDiscountAmountDecimalFalse The amount of the discount applied to the transaction as part of the payment. AppliedToPaymentAmountDecimalFalse The portion of the payment amount directly applied to the transaction. AppliedToReferenceNumberStringTrue 21 The reference number of the transaction to which the payment is applied, for example, an invoice number. AppliedToTxnDateDateTrue The date of the transaction that the payment is applied to, useful for audit and tracking. AppliedToTxnTypeStringTrue 100 The type of transaction to which the payment is applied, such as 'Invoice' or 'Credit Memo'. TimeModifiedDatetimeTrue The date and time when the payment record was last modified in QuickBooks. TimeCreatedDatetimeTrue The date and time when the payment record was created in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description StartTxnDateStringThe earliest transaction date to include in a search for applied payments. EndTxnDateStringThe latest transaction date to include in a search for applied payments. StartModifiedDateStringThe earliest modification date to include in a search for applied payments. EndModifiedDateStringThe latest modification date to include in a search for applied payments. SalesOrderLineItems
Manages individual line items in QuickBooks Sales Orders, supporting creation, updates, deletion, and queries for order management.
Table Specific Information
SalesOrders may be inserted, queried, or updated via the SalesOrders or SalesOrderLineItems table. SalesOrders may be deleted by using the SalesOrders table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for SalesOrders are Id, Date, TimeModified, ReferenceNumber, CustomerName, and CustomerId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM SalesOrderLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a SalesOrder, specify the Customer and at least one Line Item. All Line Item columns can be used for inserting multiple Line Items for a new SalesOrder transaction. For example, the following will insert a new SalesOrder with two Line Items:
INSERT INTO SalesOrderLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Cook, Brian', 'Repairs', 1) INSERT INTO SalesOrderLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Cook, Brian', 'Removal', 2) INSERT INTO SalesOrderLineItems (CustomerName, ItemName, ItemQuantity) SELECT CustomerName, ItemName, ItemQuantity FROM SalesOrderLineItems#TEMPInserting Into an Existing SalesOrder
To add a SalesOrderLineItem to an existing SalesOrder, specify the SalesOrderId, the Item's name, and the Item's Quanitiy. For example:
INSERT INTO SalesOrderLineItems (SalesOrderId, ItemName, ItemQuantity) VALUES ('SalesOrderId', '01Item1', 1)Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier combining the sales order ID and the line item ID, formatted as SalesOrderId|ItemLineId. SalesOrderIdStringFalse SalesOrders.ID 255 The unique identifier of the sales order associated with this line item. ReferenceNumberStringFalse 21 The reference number assigned to the transaction, used for tracking and customer communication. TxnNumberIntegerTrue An internal transaction number assigned to the sales order, distinct from the Quickbooks generated ID. CustomerNameStringFalse 1000 The name of the customer associated with the sales order. This value is required when inserting data. CustomerIdStringFalse Customers.ID 255 The unique QuickBooks ID of the customer linked to the sales order. DateDateFalse The date when the sales order was created or last modified. ShipMethodStringFalse 1000 The shipping method used for the sales order, such as FedEx or USPS. ShipMethodIdStringFalse ShippingMethods.ID 255 The unique identifier of the shipping method. ShipDateDateFalse The date when the items in the sales order are scheduled to be shipped. MemoStringFalse 5000 Additional notes or details about this sales order, often used for internal tracking. ClassStringFalse 1000 A category or classification for the sales order, such as department or location. ClassIdStringFalse Class.ID 255 The unique identifier for the class associated with this sales order. TotalAmountDecimalFalse The total amount of the sales order, including all line items. DueDateDateFalse The date by which payment for this sales order is due. MessageStringFalse 101 A custom message intended for the customer, such as special instructions or greetings. MessageIdStringFalse CustomerMessages.ID 255 The unique identifier of the message sent to the customer. SalesRepStringFalse 5 The initials or name of the sales representative handling the transaction. SalesRepIdStringFalse SalesReps.ID 255 The unique identifier for the sales representative. TemplateStringFalse 100 The name of the template used to format the sales order, such as a custom invoice layout. TemplateIdStringFalse Templates.ID 255 The unique identifier for the template applied to the sales order. CurrencyNameStringFalse 64 The name of the currency used for the sales order, such as USD or EUR. CurrencyIdStringFalse Currency.ID 255 The unique identifier for the currency used in the sales order. ExchangeRateDoubleFalse The exchange rate applied if the sales order uses a currency different from the home currency. TotalAmountInHomeCurrencyDecimalFalse The total amount of the sales order converted to the home currency. BillingAddressStringTrue The complete billing address associated with the sales order. FOBStringFalse 13 Indicates the point of transfer of ownership for shipped goods, such as 'Origin' or 'Destination.' BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city of the billing address. BillingStateStringFalse 255 The state or province of the billing address. BillingPostalCodeStringFalse 30 The postal or ZIP code of the billing address. BillingCountryStringFalse 255 The country of the billing address. BillingNoteStringFalse 41 Additional notes related to the billing address. ShippingAddressStringTrue The complete shipping address for the sales order. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city of the shipping address. ShippingStateStringFalse 255 The state or province of the shipping address. ShippingPostalCodeStringFalse 30 The postal or ZIP code of the shipping address. ShippingCountryStringFalse 255 The country of the shipping address. ShippingNoteStringFalse 41 Additional notes related to the shipping address. SubtotalDecimalTrue The gross subtotal for the sales order, excluding tax and payments received. TaxDoubleTrue The total sales tax applied to this sales order. TaxItemStringFalse 100 A specific sales tax item associated with this sales order. TaxItemIdStringFalse SalesTaxItems.ID 255 The unique identifier for the sales tax item. TaxPercentDoubleTrue The percentage of sales tax applied. PONumberStringFalse 41 The purchase order number associated with the sales order. TermsStringFalse 100 The payment terms agreed upon for the sales order, such as 'Net 30'. TermsIdStringFalse 255 The unique identifier for the payment terms. ItemLineIdStringTrue 255 The unique identifier for the specific line item in the sales order. ItemLineNumberStringTrue 255 The sequential number of the line item within the sales order. ItemNameStringFalse The name of the item listed in this line. ItemIdStringFalse Items.ID 255 The unique identifier for the item in this line. ItemGroupStringFalse 100 The group or category this item belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier for the item group. ItemDescriptionStringFalse 5000 A detailed description of the item. ItemQuantityDoubleFalse The quantity of the item ordered in this line. ItemRateDoubleFalse The rate charged per unit of this item. ItemRatePercentDoubleFalse The discount or surcharge percentage applied to the item rate. ItemTaxCodeStringFalse 3 The tax code applied to this item, indicating if it is taxable or non-taxable. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the tax code of this item. ItemInvoicedAmountDecimalTrue The portion of this item's amount that has been invoiced. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item, such as 'Each' or 'Box.' ItemAmountDecimalFalse The total amount for this item, considering quantity and rate. ItemClassStringFalse 1000 The class or category associated with this item. ItemClassIdStringFalse Class.ID 255 The unique identifier for the class associated with this item. ItemInventorySiteNameStringFalse 1000 The inventory site where this item is stored. Requires QBXML version 10.0 or higher. ItemInventorySiteIdStringFalse InventorySites.ID 255 The unique identifier for the inventory site. Requires QBXML version 10.0 or higher. ItemSerialNumberStringFalse 5000 The serial number of this item, applicable to serialized inventory. Requires QBXML version 11.0 or higher. ItemLotNumberStringFalse 40 The lot number of this item, applicable to lot-tracked inventory. Requires QBXML version 11.0 or higher. ItemExpirationDateForSerialLotNumberStringTrue The expiration date for this item's serial or lot number. Supported from QB Desktop 2023 version 3 and SDK 16.0. ItemIsManuallyClosedStringFalse 10 Indicates whether this line item has been manually closed. ItemOther1StringFalse 29 A custom field for additional details about the item (requires QBXML version 6.0 or higher). ItemOther2StringFalse 29 Another custom field for the item (requires QBXML version 6.0 or higher). ItemCustomFieldsStringFalse Custom fields containing additional metadata for the item. ItemUOMSetFullNameStringFalse 1000 The full name of the unit of measure set for this item. ItemUOMSetListIDStringFalse UnitOfMeasure.ID 1000 The unique identifier for the unit of measure set. ItemIsGetPrintItemsInGroupStringFalse 1000 Indicates whether group items and their details should appear on printed forms. CustomerTaxCodeStringFalse 3 The tax code specific to the customer for this sales order. CustomerTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier for the customer's tax code. IsToBePrintedBooleanFalse Indicates whether this sales order is flagged for printing. IsToBeEmailedBooleanFalse Indicates whether this sales order is flagged for emailing. IsManuallyClosedStringFalse 10 Indicates whether this sales order has been manually closed. IsFullyInvoicedBooleanTrue Indicates whether all items in this sales order have been invoiced. IsTaxIncludedBooleanFalse Indicates whether the tax is included in the amounts for this sales order. CustomFieldsStringFalse Custom fields containing additional metadata for the sales order. EditSequenceStringTrue 16 A versioning identifier for the current state of the sales order. TimeModifiedDatetimeTrue The date and time when this sales order was last modified. TimeCreatedDatetimeTrue The date and time when this sales order was initially created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringThe price level applied to items in this sales order. QuickBooks does not return this directly. SalesOrders
Handles QuickBooks Sales Orders, supporting creation, updates, deletion, and queries for tracking customer orders.
Table Specific Information
SalesOrders may be inserted, queried, or updated via the SalesOrders or SalesOrderLineItems table. SalesOrders may be deleted by using the SalesOrders table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for SalesOrders are Id, Date, TimeModified, ReferenceNumber, CustomerName, and CustomerId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM SalesOrders WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a SalesOrder, specify the Customer and at least one Line Item. The ItemAggregate column may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the SalesOrderLineItems tables and it starts with Item. For example, the following will insert a new SalesOrder with two Line Items:
INSERT INTO SalesOrders (CustomerName, ItemAggregate) VALUES ('Cook, Brian', '<SalesOrderLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </SalesOrderLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the sales order, used to track and manage the transaction within QuickBooks. ReferenceNumberStringFalse 21 The sales order reference number, which can be used for tracking and customer communication. TxnNumberIntegerTrue A unique transaction number within QuickBooks, distinct from the system-generated ID, for referencing purposes. CustomerNameStringFalse 1000 The name of the customer associated with this sales order. This field is required when CustomerId is not provided. CustomerIdStringFalse Customers.ID 255 The QuickBooks ID of the customer linked to this sales order. This field is required when CustomerName is not provided. DateDateFalse The date the sales order was created, used for recordkeeping and reporting purposes. ShipMethodStringFalse 1000 The method of shipping chosen for the order, such as FedEx, UPS, or DHL. ShipMethodIdStringFalse ShippingMethods.ID 255 The QuickBooks ID for the shipping method associated with this sales order. ShipDateDateFalse The date the items in the sales order are expected to ship. MemoStringFalse 5000 An internal note or message regarding the sales order, not visible to customers. ClassStringFalse 1000 The class assigned to the sales order for categorization and tracking purposes. ClassIdStringFalse Class.ID 255 The QuickBooks ID of the class associated with the sales order. TotalAmountDecimalFalse The total monetary value of the sales order, including all line items and applicable taxes. DueDateDateFalse The date by which payment for the sales order is expected, if applicable. MessageStringFalse 101 A note or message intended for the customer, often displayed on the printed or emailed sales order. MessageIdStringFalse CustomerMessages.ID 255 The QuickBooks ID of the customer-facing message included in the sales order. SalesRepStringFalse 5 The initials or identifier of the sales representative responsible for this sales order. SalesRepIdStringFalse SalesReps.ID 255 The QuickBooks ID of the sales representative associated with this sales order. TemplateStringFalse 100 The name of the template applied to this sales order for layout and formatting purposes. TemplateIdStringFalse Templates.ID 255 The QuickBooks ID of the template used for this sales order. CurrencyNameStringFalse 64 The name of the currency used for this sales order, helpful for international transactions. CurrencyIdStringFalse Currency.ID 255 The QuickBooks ID of the currency applied to this sales order. ExchangeRateDoubleFalse The exchange rate applied if the sales order involves foreign currency. TotalAmountInHomeCurrencyDecimalFalse The total value of the sales order converted into the home currency. FOBStringFalse 13 The Freight on Board location indicating the point from which the shipment originates. BillingAddressStringTrue The complete billing address associated with this sales order. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city included in the billing address. BillingStateStringFalse 255 The state or region in the billing address. BillingPostalCodeStringFalse 30 The postal code for the billing address. BillingCountryStringFalse 255 The country included in the billing address. BillingNoteStringFalse 41 Additional notes regarding the billing address. ShippingAddressStringTrue The complete shipping address associated with this sales order. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city included in the shipping address. ShippingStateStringFalse 255 The state or region in the shipping address. ShippingPostalCodeStringFalse 30 The postal code for the shipping address. ShippingCountryStringFalse 255 The country included in the shipping address. ShippingNoteStringFalse 41 Additional notes regarding the shipping address. SubtotalDecimalTrue The gross subtotal of the sales order, excluding taxes or payments already made. TaxDoubleTrue The total sales tax applied to the sales order. TaxItemStringFalse 100 The name of the sales tax item applied to the sales order. TaxItemIdStringFalse SalesTaxItems.ID 255 The QuickBooks ID of the sales tax item applied to the sales order. TaxPercentDoubleTrue The percentage of sales tax applied to the sales order. PONumberStringFalse 41 The purchase order number associated with this sales order, if applicable. TermsStringFalse 100 The payment terms agreed upon for this sales order. TermsIdStringFalse 255 The QuickBooks ID of the payment terms for this sales order. ItemCountIntegerTrue The total number of line items included in this sales order. ItemAggregateStringFalse 5000 An aggregated view of the line item data for batch processing or reference. TransactionCountIntegerTrue The number of transactions linked to this sales order. TransactionAggregateStringTrue 5000 An aggregated view of linked transaction data for reference or processing. CustomerTaxCodeStringFalse 3 The tax code specifically assigned to the customer for this sales order. CustomerTaxCodeIdStringFalse SalesTaxCodes.ID 255 The QuickBooks ID of the tax code assigned to the customer. IsPrintedBooleanTrue Indicates whether the sales order has been printed. IsManuallyClosedStringFalse 10 Indicates whether the sales order has been manually closed. IsFullyInvoicedBooleanTrue Indicates whether the entire sales order has been invoiced. IsTaxIncludedBooleanFalse Specifies whether the tax is included in the transaction amount. IsToBePrintedBooleanFalse Specifies whether the sales order is marked for printing. IsToBeEmailedBooleanFalse Specifies whether the sales order is marked for emailing. OtherStringFalse 29 A predefined custom field within QuickBooks. CustomFieldsStringFalse Custom fields associated with this sales order, formatted in XML. EditSequenceStringTrue 16 A unique versioning identifier for this sales order, used to track updates. TimeModifiedDatetimeTrue The last time the sales order was updated. TimeCreatedDatetimeTrue The date and time the sales order was initially created. ShippingDetailTrackingIDIntegerTrue The tracking ID for the shipped sales order. ShippingDetailCarrierNameStringTrue The name of the shipping carrier used for the sales order. ShippingDetailShippingMethodStringTrue The method of shipping used for the sales order. ShippingDetailShippingChargesDecimalTrue The shipping charges applied to the sales order. FulfillmentStatusStringTrue The current fulfillment status of the sales order. SOChannelStringTrue The sales channel through which the sales order was generated. StoreNameStringTrue The name of the store where the sales order was created. StoreTypeStringTrue The type of store (for example, online or physical) where the sales order was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringAll columns specific to line items can be used for insertion, providing details about each item in the sales order. SalesReceiptLineItems
Manages individual line items in QuickBooks Sales Receipts, supporting creation, updates, deletion, and queries for detailed sales tracking.
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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for SalesReceipts are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, DepositAccount, and DepositAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM SalesReceiptLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a SalesReceipt, specify the Customer column and at least one Line Item. All Line Item columns can be used for inserting multiple Line Items for a new SalesReceipt transaction. For example, the following will insert a new SalesReceipt with two Line Items:
INSERT INTO SalesReceiptLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Cook, Brian', 'Repairs', 1) INSERT INTO SalesReceiptLineItems#TEMP (CustomerName, ItemName, ItemQuantity) VALUES ('Cook, Brian', 'Removal', 2) INSERT INTO SalesReceiptLineItems (CustomerName, ItemName, ItemQuantity) SELECT CustomerName, ItemName, ItemQuantity FROM SalesReceiptLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the line item, combining the sales receipt ID and line item ID for precise tracking. SalesReceiptIdStringFalse SalesReceipts.ID 255 The QuickBooks ID for the associated sales receipt, used to group line items under the correct transaction. ReferenceNumberStringFalse 21 The reference number assigned to this sales receipt, helpful for identifying and organizing transactions. TxnNumberIntegerTrue A unique transaction number within QuickBooks, distinct from the ID, for additional reference. CustomerNameStringFalse 1000 The name of the customer associated with this sales receipt, required when CustomerId is not provided. CustomerIdStringFalse Customers.ID 255 The QuickBooks ID of the customer linked to this sales receipt, required when CustomerName is not provided. DateDateFalse The date the transaction occurred, used for recording and reporting purposes. Setting this field can override date filters. ShipMethodStringFalse 1000 The shipping method chosen for the transaction, such as FedEx or UPS. ShipMethodIdStringFalse ShippingMethods.ID 255 The QuickBooks ID of the shipping method associated with this transaction. ShipDateDateFalse The date when the items in this transaction are scheduled to be shipped. MemoStringFalse 5000 An internal note or memo related to this transaction, not visible to customers. ClassStringFalse 1000 A QuickBooks classification to categorize the transaction for tracking or reporting purposes. ClassIdStringFalse Class.ID 255 The QuickBooks ID of the class assigned to this transaction for categorization. DueDateDateFalse The date by which payment for the sales receipt is due, if applicable. TotalAmountDecimalTrue The total amount for this sales receipt, including all line items and applicable taxes. MessageStringFalse 101 A note or message intended for the customer, often included on the printed or emailed sales receipt. MessageIdStringFalse CustomerMessages.ID 255 The QuickBooks ID of the customer-facing message for this transaction. SalesRepStringFalse 5 The initials or identifier of the sales representative responsible for this transaction. SalesRepIdStringFalse SalesReps.ID 255 The QuickBooks ID of the sales representative associated with this transaction. TemplateStringFalse 100 The name of the template applied to this sales receipt for formatting purposes. TemplateIdStringFalse Templates.ID 255 The QuickBooks ID of the template used for this transaction. ExchangeRateDoubleFalse The currency exchange rate applied to this sales receipt, if it involves a foreign currency. FOBStringFalse 13 Indicates the shipping origin (Freight on Board) for this transaction. BillingAddressStringTrue The full billing address associated with this transaction, as recorded in QuickBooks. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city in the billing address. BillingStateStringFalse 255 The state or region in the billing address. BillingPostalCodeStringFalse 30 The postal code for the billing address. BillingCountryStringFalse 255 The country in the billing address. BillingNoteStringFalse 41 Additional notes related to the billing address. ShippingAddressStringTrue The complete shipping address associated with this transaction, as recorded in QuickBooks. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city in the shipping address. ShippingStateStringFalse 255 The state or region in the shipping address. ShippingPostalCodeStringFalse 30 The postal code for the shipping address. ShippingCountryStringFalse 255 The country in the shipping address. ShippingNoteStringFalse 41 Additional notes related to the shipping address. SubtotalDecimalTrue The subtotal amount for this transaction, calculated before taxes and discounts. TaxDoubleTrue The total sales tax applied to the transaction. TaxItemStringFalse 100 The name of the sales tax item applied to this transaction. TaxItemIdStringFalse SalesTaxItems.ID 255 The QuickBooks ID of the sales tax item applied to this transaction. TaxPercentDoubleTrue The percentage rate of sales tax applied to this transaction. IsPendingBooleanFalse Indicates whether the transaction is pending completion or has been finalized. IsToBePrintedBooleanFalse Specifies if this transaction is marked for printing. IsTaxIncludedBooleanFalse Indicates whether tax is included in the line item amounts. Available only in specific regional editions. IsToBeEmailedBooleanFalse Indicates whether this transaction is marked to be emailed to the customer. Fails if no customer email is available. ItemLineIdStringTrue 255 A unique identifier for each line item within the sales receipt. ItemLineNumberStringTrue 255 The number representing the position of this line item within the sales receipt. ItemNameStringFalse The name of the item associated with this line. ItemIdStringFalse Items.ID 255 The QuickBooks ID of the item associated with this line. ItemGroupStringFalse 100 The name of the group that this item is part of, if applicable. ItemGroupIdStringFalse Items.ID 255 The QuickBooks ID of the group that this item is part of, if applicable. ItemDescriptionStringFalse 5000 A detailed description of the item in this line. ItemQuantityDoubleFalse The quantity of this item or group specified in this line. ItemUnitOfMeasureStringFalse 31 The unit of measure for the item, selected from the item's available options. Requires QBXML Version 7.0 or later. ItemRateDoubleFalse The rate charged per unit of this item. ItemRatePercentDoubleFalse The percentage rate applied to this item, if applicable. ItemTaxCodeStringFalse 3 The tax code indicating whether the item is taxable or non-taxable. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The QuickBooks ID of the tax code applied to this item. ItemAmountDecimalFalse The total amount for this line item, including quantity and rate. ItemInventorySiteNameStringFalse 31 The name of the inventory site where this item is stored. Requires QBXML version 10.0 or later and the Advanced Inventory add-on. ItemInventorySiteIdStringFalse InventorySites.ID 255 The QuickBooks ID of the inventory site where this item is stored. ItemSerialNumberStringFalse 5000 The serial number associated with this item. Requires QBXML version 11.0 or later and the Advanced Inventory add-on. ItemLotNumberStringFalse 40 The lot number associated with this item. Requires QBXML version 11.0 or later and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number of this item. Supported in QuickBooks Desktop 2023 and SDK 16.0. ItemClassStringFalse 1000 The class name categorizing this item for tracking and reporting purposes. ItemClassIdStringFalse Class.ID 255 The QuickBooks ID of the class associated with this item. ItemUOMSetFullNameStringFalse 1000 The full name of the unit of measure set associated with this item. ItemUOMSetListIDStringFalse UnitOfMeasure.ID 1000 The QuickBooks ID of the unit of measure set associated with this item. ItemIsGetPrintItemsInGroupStringFalse 1000 Indicates whether individual items in the group are printed on forms when true. CheckNumberStringFalse 25 The check number associated with the payment, if applicable. PaymentMethodStringFalse 100 The payment method used for this sales receipt. PaymentMethodIdStringFalse PaymentMethods.ID 255 The QuickBooks ID of the payment method used. DepositAccountStringFalse 1000 The account where the payment from this sales receipt is deposited. DepositAccountIdStringFalse Accounts.ID 255 The QuickBooks ID of the deposit account. CustomerTaxCodeStringTrue 3 The tax code assigned to the customer for this transaction. CustomerTaxCodeIdStringTrue SalesTaxCodes.ID 255 The QuickBooks ID of the customer’s tax code. CustomFieldsStringFalse Custom fields associated with this transaction, formatted as XML. EditSequenceStringTrue 16 A versioning identifier for tracking updates to this line item. TimeModifiedDatetimeTrue The timestamp indicating when this sales receipt was last modified. TimeCreatedDatetimeTrue The timestamp indicating when this sales receipt was created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringThe price level associated with the item, if applicable. ItemOverrideAccountStringThe name of the account overriding the default account for this item. Available during inserts and updates only. ItemOverrideAccountIdStringThe QuickBooks ID of the account overriding the default account for this item. Available during inserts and updates only. SalesReceipts
Handles QuickBooks Sales Receipts, supporting creation, updates, deletion, and queries for tracking point-of-sale transactions.
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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for SalesReceipts are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, DepositAccount, and DepositAccountId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM SalesReceipts WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a SalesReceipt, specify the Customer and at least one Line Item. The ItemAggregate columns may be used to specify an XML aggregate of Line Item data. The columns that may be used in these aggregates are defined in the SalesReceiptLineItems table and it starts with Item. For example, the following will insert a new SalesReceipt with two Line Items:
INSERT INTO SalesReceipts (CustomerName, ItemAggregate) VALUES ('Cook, Brian', '<SalesReceiptLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </SalesReceiptLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the sales receipt, essential for tracking and referencing transactions in QuickBooks. ReferenceNumberStringFalse 21 The reference number assigned to the sales receipt, often used for external or internal tracking. TxnNumberIntegerTrue The transaction number uniquely identifying this sales receipt within QuickBooks, separate from the ID. CustomerNameStringFalse 1000 The full name of the customer associated with this sales receipt. Required if CustomerId is not provided. CustomerIdStringFalse Customers.ID 255 The unique QuickBooks identifier for the customer associated with this sales receipt. Required if CustomerName is not provided. DateDateFalse The date of the transaction, determining when the sales receipt was recorded. If queried, can override other date filters. ShipMethodStringFalse 1000 The method of shipment for this transaction, such as FedEx or USPS. ShipMethodIdStringFalse ShippingMethods.ID 255 The QuickBooks identifier for the shipping method associated with this transaction. ShipDateDateFalse The date on which the items in this sales receipt are scheduled for shipment. MemoStringFalse 5000 A freeform text field for notes or comments about this sales receipt, visible in internal records. ClassStringFalse 1000 A reference to the class categorizing this transaction for tracking or reporting purposes. ClassIdStringFalse Class.ID 255 The QuickBooks identifier for the class associated with this transaction. DueDateDateFalse The date by which payment for this transaction is expected or due. TotalAmountDecimalTrue The total monetary value of this transaction, including items and applicable taxes. MessageStringFalse 101 A message or note intended for the customer, often included on printed receipts. MessageIdStringFalse CustomerMessages.ID 255 The QuickBooks identifier for the customer-facing message associated with this transaction. SalesRepStringFalse 5 The initials or identifier of the sales representative associated with this transaction. SalesRepIdStringFalse SalesReps.ID 255 The QuickBooks identifier for the sales representative linked to this transaction. TemplateStringFalse 100 The name of a QuickBooks template applied to format this transaction. TemplateIdStringFalse Templates.ID 255 The QuickBooks identifier for the template applied to this transaction. ExchangeRateDoubleFalse The exchange rate between the transaction's currency and the company's home currency at the time of the transaction. FOBStringFalse 13 Indicates the origin point (Freight on Board) for the shipment, often used for shipping agreements. BillingAddressStringTrue The complete billing address associated with this transaction. BillingLine1StringFalse 500 The first line of the billing address. BillingLine2StringFalse 500 The second line of the billing address. BillingLine3StringFalse 500 The third line of the billing address. BillingLine4StringFalse 500 The fourth line of the billing address. BillingLine5StringFalse 41 The fifth line of the billing address. BillingCityStringFalse 255 The city in the billing address. BillingStateStringFalse 255 The state or region in the billing address. BillingPostalCodeStringFalse 30 The postal code for the billing address. BillingCountryStringFalse 255 The country in the billing address. BillingNoteStringFalse 41 Additional notes related to the billing address. ShippingAddressStringTrue The full shipping address for this transaction. ShippingLine1StringFalse 500 The first line of the shipping address. ShippingLine2StringFalse 500 The second line of the shipping address. ShippingLine3StringFalse 500 The third line of the shipping address. ShippingLine4StringFalse 500 The fourth line of the shipping address. ShippingLine5StringFalse 41 The fifth line of the shipping address. ShippingCityStringFalse 255 The city in the shipping address. ShippingStateStringFalse 255 The state or region in the shipping address. ShippingPostalCodeStringFalse 30 The postal code for the shipping address. ShippingCountryStringFalse 255 The country in the shipping address. ShippingNoteStringFalse 41 Additional notes related to the shipping address. SubtotalDecimalTrue The gross total of all line items before taxes or discounts are applied. TaxDoubleTrue The total sales tax applied to the transaction. TaxItemStringFalse 100 The specific tax item used to calculate the sales tax for this transaction. TaxItemIdStringFalse SalesTaxItems.ID 255 The QuickBooks identifier for the tax item used. TaxPercentDoubleTrue The percentage rate applied for sales tax on this transaction. IsPendingBooleanFalse Indicates whether the transaction is still pending or has been completed. IsToBePrintedBooleanFalse Specifies if this transaction should be printed. IsTaxIncludedBooleanFalse Indicates if tax is already included in the transaction amount. Available only in UK and CA editions. IsToBeEmailedBooleanFalse Indicates if this transaction is set to be emailed. Fails if no email address is provided for the customer. ItemCountIntegerTrue The number of line items included in this transaction. ItemAggregateStringFalse 5000 A consolidated representation of all line item details, used when inserting sales receipts with items. CheckNumberStringFalse 25 The check number associated with this payment, if applicable. PaymentMethodStringFalse 100 The method of payment used, such as cash, check, or credit card. PaymentMethodIdStringFalse PaymentMethods.ID 255 The QuickBooks identifier for the payment method. DepositAccountStringFalse 1000 The name of the account where this payment is deposited. DepositAccountIdStringFalse Accounts.ID 255 The QuickBooks identifier for the deposit account. CustomerTaxCodeStringTrue 3 The tax code assigned to the customer for this transaction. CustomerTaxCodeIdStringTrue SalesTaxCodes.ID 255 The QuickBooks identifier for the customer's tax code. CustomFieldsStringFalse Custom fields associated with this transaction, formatted as XML. EditSequenceStringTrue 16 A versioning identifier that updates with each modification to ensure data integrity. TimeModifiedDatetimeTrue The timestamp for when this sales receipt was last updated. TimeCreatedDatetimeTrue The timestamp for when this sales receipt was initially created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringIncludes all item-specific columns for use during transaction insertion or updates. SalesReps
Manages QuickBooks Sales Representatives, allowing creation, updates, deletion, and queries for tracking sales activities.
Table Specific Information
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for SalesReps are Id, TimeModified, Initial, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM SalesReps WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND Initial LIKE '%12345%'Insert
To insert a SalesRep, specify the Initial column and an existing SalesRepEntityRef. The SalesRepEntityRef can be taken from an existing entity (Employee, Vendor, or OtherName).
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the sales representative, used for tracking and referencing within QuickBooks. InitialStringFalse 5 The initials of the sales representative. These must be unique for each sales rep and are used as shorthand identifiers in records and reports. IsActiveBooleanFalse Indicates whether the sales representative is currently active and available for assignment in QuickBooks. SalesRepEntityRef_FullNameStringFalse 1000 The full name of the sales representative, linked to the employee, vendor, or other-name list in QuickBooks. When adding or updating, you can provide this field or SalesRepEntityRef_ListId, but not both. SalesRepEntityRef_ListIdStringFalse 255 The unique identifier of the sales representative from the employee, vendor, or other-name list in QuickBooks. When adding or updating, you can provide this field or SalesRepEntityRef_FullName, but not both. EditSequenceStringTrue 16 A versioning string that updates whenever changes are made to the sales representative's record, ensuring accurate modification tracking. TimeCreatedDatetimeTrue The date and time when this sales representative record was originally created in QuickBooks. TimeModifiedDatetimeTrue The date and time when this sales representative record was last updated in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description MaxResultsStringThe maximum number of sales representative records to return in a query, providing control over the size of the result set. SalesTaxCodes
Handles QuickBooks Sales Tax Codes, supporting creation, updates, deletion, and queries for tax categorization.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the sales tax code, used to distinguish it from other tax codes. NameStringFalse 3 The name assigned to the sales tax code, which is typically used to label transactions or items as taxable or non-taxable. DescriptionStringFalse 31 A brief description of the sales tax code, providing additional context or details about its purpose or usage. IsActiveBooleanFalse Indicates whether this sales tax code is currently active and available for use in QuickBooks. IsTaxableBooleanFalse Specifies whether the sales tax code represents taxable items or transactions. ItemPurchaseTaxRef_FullNameStringFalse 1000 The full name of the purchase tax item associated with this tax code. This field is applicable in international versions of QuickBooks where purchase tax applies. ItemPurchaseTaxRef_ListIdStringFalse 255 The unique identifier of the purchase tax item associated with this tax code. This field is applicable in international versions of QuickBooks. ItemSalesTaxRef_FullNameStringFalse 1000 The full name of the sales tax item associated with this tax code. This field is applicable in international versions of QuickBooks. ItemSalesTaxRef_ListIdStringFalse SalesTaxItems.ID 255 The unique identifier of the sales tax item associated with this tax code. This field is applicable in international versions of QuickBooks. TimeCreatedDatetimeTrue The date and time when this sales tax code was originally created in QuickBooks. TimeModifiedDatetimeTrue The date and time of the most recent modification to this sales tax code. EditSequenceStringTrue 16 A versioning identifier that changes with each update to the sales tax code, ensuring accurate synchronization and tracking of changes. SalesTaxItems
Manages QuickBooks Sales Tax Items, supporting creation, updates, deletion, and queries for tax calculations on invoices and sales.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier assigned to the sales tax item for tracking and reference purposes. NameStringFalse 31 The name of the sales tax item. This field is mandatory when creating a new sales tax item and is used to identify it within QuickBooks. IsActiveBooleanFalse Indicates whether the sales tax item is currently active and available for use in transactions. ClassRef_FullNameStringFalse 1000 The full name of the class associated with this sales tax item, providing additional categorization for transactions. This requires QBXML version 12.0 or later. ClassRef_ListIDStringFalse Class.ID 255 The unique identifier of the class associated with this sales tax item, ensuring proper categorization. This requires QBXML version 12.0 or later. ItemDescStringFalse 4096 A detailed description of the sales tax item, often used to clarify its purpose or applicability. TaxRateDoubleFalse The rate of tax applied for this item, expressed as a percentage. If a nonzero TaxRate is specified, a TaxVendorRef is required to indicate the responsible tax agency. TaxVendorRef_FullNameStringFalse 1000 The full name of the tax agency to whom collected taxes are owed. This corresponds to an entry in the vendor list. TaxVendorRef_ListIDStringFalse Vendors.ID 255 The unique identifier of the tax agency to whom collected taxes are owed. This corresponds to an entry in the vendor list. CustomFieldsStringFalse Custom fields that provide additional information specific to this sales tax item. These fields are formatted in XML and returned from QuickBooks. EditSequenceStringTrue 16 A versioning identifier that updates with each change to the sales tax item, ensuring accurate tracking of modifications. TimeModifiedDatetimeTrue The date and time when this sales tax item was last modified in QuickBooks. TimeCreatedDatetimeTrue The date and time when this sales tax item was originally created in QuickBooks. ShippingMethods
Manages QuickBooks Shipping Methods, supporting creation, updates, deletion, and queries for shipping-related information.
Table Specific Information
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for ShippingMethods are Id, TimeModified, Name, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM ShippingMethods WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND Name LIKE '%12345%'Insert
To insert a ShippingMethod, specify the Name column.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier assigned to each shipping method, used to differentiate it from others in the system. NameStringFalse 15 The descriptive name of the shipping method, such as 'FedEx Overnight' or 'Standard Ground Shipping.' IsActiveBooleanFalse Indicates whether the shipping method is currently active and available for use in transactions. A value of true means it is active. EditSequenceStringTrue 16 A system-generated value that tracks changes to the shipping method record, used to prevent conflicts during updates. TimeCreatedDatetimeTrue The date and time when the shipping method record was first created in QuickBooks. TimeModifiedDatetimeTrue The date and time when the shipping method record was last updated, reflecting its most recent modification. StandardTerms
Handles QuickBooks Standard Terms, allowing creation, updates, deletion, and queries for payment terms configuration.
Table Specific Information
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for StandardTerms records are Id, TimeModified, Name, and IsActive. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM StandardTerms WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND Name LIKE '%12345%'Insert
To insert a StandardTerm, specify the Name column.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 A unique identifier for the standard payment term, used to distinguish it from others in QuickBooks. NameStringFalse 100 The name assigned to the standard payment term, typically descriptive of the term's purpose or condition (for example, 'Net 30'). IsActiveBooleanFalse Indicates whether the payment term is currently active and available for use in transactions. StdDueDaysIntegerFalse The number of days from the transaction date that payment is expected to be received. For example, '30' means payment is due 30 days after the invoice date. StdDiscountDaysIntegerFalse The number of days within which a payment must be made to qualify for a discount. This is typically used in conjunction with the DiscountPct field. DiscountPctDoubleFalse The percentage discount offered if payment is made within the number of days specified in StdDiscountDays. The value must be between 0 and 100 (for example, '2' represents a 2% discount). EditSequenceStringTrue 16 A system-generated identifier indicating the version or revision of this record, used for conflict detection in updates. TimeCreatedDatetimeTrue The date and time when this payment term record was initially created in QuickBooks. TimeModifiedDatetimeTrue The date and time when this payment term record was last updated or modified. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description MaxResultsStringSpecifies the maximum number of records to retrieve in a query, allowing control over the result set size. StatementCharges
Manages QuickBooks Statement Charges, supporting creation, updates, deletion, and queries for customer billing statements.
Table Specific Information
To add a StatementCharge, specify the CustomerName or CustomerId and the ItemName or ItemId.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for StatementCharges are Id, Date, TimeModified, ReferenceNumber, CustomerName, CustomerId, IsPaid, AccountsReceivable, and AccountsReceivableId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM StatementCharges WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the statement charge. This is used to uniquely identify each record in QuickBooks. TxnNumberIntegerTrue The transaction number, which provides an additional identifier for the transaction but is not the Quickbooks generated ID. ReferenceNumberStringFalse The reference number assigned to this statement charge. Typically used for tracking or reconciliation purposes. CustomerNameStringFalse 1000 The name of the customer associated with this statement charge. Either CustomerName or CustomerId must be provided when creating a record. CustomerIdStringFalse Customers.ID 255 The unique identifier for the customer associated with this statement charge. Either CustomerName or CustomerId must be provided when creating a record. DateDateFalse The date when the transaction occurred. This is the primary transaction date recorded in QuickBooks. ItemNameStringFalse The name of the item associated with this statement charge. This is a reference to the product or service being billed. ItemIdStringFalse Items.ID The unique identifier of the item associated with this statement charge. This links the charge to the corresponding product or service in QuickBooks. QuantityDoubleFalse The quantity of the item being billed in this statement charge. Relevant for inventory items or services billed per unit. UnitOfMeasureStringFalse 31 The unit of measure selected for the transaction line item. This value must be the base unit if only a single unit of measure per item is enabled. Requires QBXML Version 7.0 or later. OverrideUnitOfMeasureStringFalse 100 The unit of measure used to override the default for this transaction line. Specify the unit of measure set from which the value is chosen. Requires QBXML Version 7.0 or later. OverrideUnitOfMeasureIdStringFalse UnitOfMeasure.ID The unique identifier for the unit of measure set used to override the default for this transaction line. Requires QBXML Version 7.0 or later. RateDoubleFalse The rate charged per unit of the item for this statement charge. AmountDecimalFalse The total monetary value of the transaction. This is calculated as Rate multiplied by Quantity. BalanceDoubleTrue The remaining balance for this statement charge. This represents the amount still owed. DescriptionStringFalse A descriptive text field providing details about the statement charge. This is often used for additional context or notes. AccountsReceivableStringFalse 1000 The name of the accounts-receivable account where the transaction amount will be recorded. AccountsReceivableIdStringFalse Accounts.ID The unique identifier for the accounts-receivable account where the transaction amount will be recorded. ClassStringFalse 1000 The name of the class associated with this transaction. Classes are used to categorize transactions for reporting purposes. ClassIdStringFalse Class.ID The unique identifier of the class associated with this transaction. BilledDateDateFalse The date when the customer was billed for this transaction. DueDateDateFalse The date when payment for this statement charge is due. This helps track overdue transactions. IsPaidBooleanTrue Indicates whether the statement charge has been fully paid. True means it has been paid, and false means it is outstanding. CustomFieldsStringFalse Custom fields specific to this statement charge, formatted as XML. These fields provide additional user-defined details. EditSequenceStringTrue 16 An identifier used for versioning this record. This changes each time the record is modified. TimeModifiedDatetimeTrue The date and time when this statement charge was last updated in QuickBooks. TimeCreatedDatetimeTrue The date and time when this statement charge was initially created in QuickBooks. TimeTracking
Manages QuickBooks Time Tracking events, supporting creation, updates, deletion, and queries for employee or job time entries.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for TimeTracking entries are Id, TimeModified, Date, EmployeeName, and EmployeeId. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM TimeTracking WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To insert a TimeTracking entry, specify the Employee and Duration columns.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned by QuickBooks when the time-tracking entry is created. It is guaranteed to be unique across all time-tracking entries. BillableStatusStringFalse 15 The billing status of the time entry. If no billing status is set in QuickBooks, this value empty. Common statuses include Billable, NotBillable, or HasBeenBilled. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. DateDateFalse The date of the time-tracking entry in the format YYYY-MM-DD (for example, 2025-01-01). This field is required when adding a new time-tracking record. CustomerNameStringFalse 1000 The name of the customer associated with the time-tracking entry. This is required when BillableStatus is set to Billable and CustomerId is not provided. CustomerIdStringFalse Customers.ID 255 The unique identifier for the customer associated with the time-tracking entry. This is required when BillableStatus is set to Billable and CustomerName is not provided. DurationStringFalse 50 The duration of time being tracked, represented in the format HH:MM. For example, 2 hours and 30 minutes is represented as '2:30'. EmployeeNameStringFalse 1000 The name of the employee, vendor, or subcontractor whose time is being tracked. This is required when EmployeeId is not provided. EmployeeIdStringFalse Employees.ID 255 The unique identifier for the employee, vendor, or subcontractor whose time is being tracked. This is required when EmployeeName is not provided. NotesStringFalse 5000 Optional notes or comments about the time-tracking entry. ClassStringFalse 1000 The name of the class associated with the time-tracking entry, used for categorization. ClassIdStringFalse Class.ID 255 The unique identifier for the class associated with the time-tracking entry. PayrollWageItemNameStringFalse 100 The name of the payroll wage item, such as Regular Pay or Overtime Pay. This can only be specified if the tracked entity is an employee (not a vendor or subcontractor) and the 'Use time data to create paychecks' option is enabled for the employee in QuickBooks. PayrollWageItemIdStringFalse PayrollWageItems.ID 255 The unique identifier for the payroll wage item, such as Regular Pay or Overtime Pay. This can only be specified if the tracked entity is an employee (not a vendor or subcontractor) and the 'Use time data to create paychecks' option is enabled for the employee in QuickBooks. ServiceItemNameStringFalse 1000 The name of the service item representing the type of work performed. This is required if BillableStatus is set to Billable and ServiceItemId is not provided. ServiceItemIdStringFalse Items.ID 255 The unique identifier for the service item representing the type of work performed. This is required if BillableStatus is set to Billable and ServiceItemName is not provided. EditSequenceStringTrue 16 A string used for version control to track updates to the time-tracking entry. TimeModifiedDatetimeTrue The date and time when the time-tracking entry was last modified in QuickBooks. TimeCreatedDatetimeTrue The date and time when the time-tracking entry was created in QuickBooks. ToDo
Handles QuickBooks To-Do entries, supporting creation, updates, deletion, and queries for task management.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for this To-Do entry, assigned by QuickBooks. NotesStringFalse Additional notes or comments related to this To-Do entry. IsActiveBooleanFalse Indicates whether the To-Do entry is active. If false, the entry is considered inactive. TypeStringFalse The type of this To-Do entry, such as Call, Meeting, or Task. Requires QBXML Version 13.0 or higher. PriorityStringFalse The priority level of this To-Do entry, such as High, Medium, or Low. Requires QBXML Version 13.0 or higher. IsDoneBooleanFalse Indicates whether this To-Do entry has been marked as complete. True if completed, false otherwise. ReminderDateDatetimeFalse The date for the reminder associated with this To-Do entry, formatted as YYYY-MM-DD. ReminderTimeStringFalse The time for the reminder associated with this To-Do entry, formatted as HH:MM. Requires QBXML Version 13.0 or higher. EditSequenceStringTrue 16 A string used for versioning to track updates to this To-Do entry. TimeCreatedDatetimeTrue The date and time when this To-Do entry was initially created in QuickBooks. TimeModifiedDatetimeTrue The date and time when this To-Do entry was last modified in QuickBooks. TransferInventory
Manages QuickBooks Inventory Transfers, supporting queries and deletion for inventory movement tracking. Available in QuickBooks Enterprise with Advanced Inventory.
Table Specific Information
TransferInventory transactions may be queried via the TransferInventory or TransferInventoryLineItems tables. TransferInventory transactions may be added by using the TransferInventoryLineItems table. TransferInventory transactions may be deleted by using the TransferInventory table. Updates to existing TransferInventory transactions are not supported at this time.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for the TransferInventory table are Id, TimeModified, TxnDate, and RefNumber. TimeModified and TxnDate may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. RefNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM TransferInventoryLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND RefNumber LIKE '%12345%'To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to this inventory transfer transaction by QuickBooks. It ensures each transaction is distinct. TxnDateDateFalse The date when the inventory transfer occurred, formatted as YYYY-MM-DD. This field is required when inserting a transaction. TxnNumberIntegerTrue An identifying number assigned to this transaction, typically used for tracking purposes. RefNumberStringFalse 21 A user-defined reference number for the transaction, such as a document or tracking number. FromInventorySiteRef_ListIDStringFalse InventorySites.ID 255 The unique identifier (ListID) of the inventory site from which the inventory was transferred. FromInventorySiteRef_FullNameStringFalse 31 The full name of the inventory site from which the inventory was transferred. ToInventorySiteRef_ListIDStringFalse InventorySites.ID 255 The unique identifier (ListID) of the inventory site to which the inventory was transferred. ToInventorySiteRef_FullNameStringFalse 31 The full name of the inventory site to which the inventory was transferred. MemoStringFalse 5000 Optional additional information or notes about the inventory transfer. ExternalGUIDStringFalse A user-defined globally unique identifier (GUID) that can be attached to this transaction for tracking purposes. TransferInventoryLineAggregateStringFalse 5000 A collection of line item data representing the details of the inventory being transferred. Use this field to include multiple items in a single transaction. TimeCreatedDatetimeTrue The date and time when the inventory transfer transaction was created, in the format YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when the inventory transfer transaction was last modified, in the format YYYY-MM-DD HH:MM:SS. EditSequenceStringTrue 16 A unique identifier used for version control to ensure this copy of the transaction is up to date. TransferInventoryLineItems
Handles individual line items within QuickBooks Inventory Transfers, supporting creation and queries for detailed inventory tracking.
Table Specific Information
TransferInventory transactions may be queried via the TransferInventory or TransferInventoryLineItems tables. TransferInventory transactions may be added by using the TransferInventoryLineItems table. Transfer-inventory transactions may be deleted by using the TransferInventory table. Updates to existing TransferInventory transactions are not supported at this time.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for the TransferInventory table are Id, TxnDate, TimeModified, and RefNumber. TimeModified and TxnDate may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. RefNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM TransferInventoryLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND RefNumber LIKE '%12345%'Insert
To add a TransferInventory transaction, specify a FromInventorySite, ToInventorySite, and at least one Line Item. All Line Item columns can be used for inserting multiple Line Items for a new TransferInventory transaction. For example, the following will insert a new TransferInventory transaction with one Line Items:
INSERT INTO TransferInventoryLineItems#TEMP (FromInventorySiteRef_FullName, ToInventorySiteRef_FullName, ItemRef_FullName, QuantityToTransfer) VALUES ('Site A', 'Site B', 'Cabinets', 10) INSERT INTO TransferInventoryLineItems#TEMP (FromInventorySiteRef_FullName, ToInventorySiteRef_FullName, ItemRef_FullName, QuantityToTransfer) VALUES ('Site A', 'Site B', 'Door Knobs', 12) INSERT INTO TransferInventoryLineItems (FromInventorySiteRef_FullName, ToInventorySiteRef_FullName, ItemRef_FullName, QuantityToTransfer ) SELECT FromInventorySiteRef_FullName, ToInventorySiteRef_FullName, ItemRef_FullName, QuantityToTransfer FROM TransferInventoryLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the transaction line item, formatted as TransferInventoryId|TransferInventoryLineRet_TxnLineID. TransferInventoryIdStringFalse 255 The unique identifier of the parent inventory transfer transaction. TxnDateDateFalse The date when the inventory transfer occurred, formatted as YYYY-MM-DD. This field is required when inserting a transaction. TxnNumberIntegerTrue A unique identifying number assigned to this transaction, typically used for tracking. RefNumberStringFalse 21 A user-defined reference number for the transaction, such as a document or tracking number. FromInventorySiteRef_ListIDStringFalse InventorySites.ID 255 The unique identifier (ListID) of the inventory site from which the inventory was transferred. FromInventorySiteRef_FullNameStringFalse 31 The full name of the inventory site from which the inventory was transferred. ToInventorySiteRef_ListIDStringFalse InventorySites.ID 255 The unique identifier (ListID) of the inventory site to which the inventory was transferred. ToInventorySiteRef_FullNameStringFalse 31 The full name of the inventory site to which the inventory was transferred. MemoStringFalse 5000 Optional additional notes or information about the transaction. ExternalGUIDStringFalse A user-defined globally unique identifier (GUID) that can be attached to this transaction for tracking purposes. TransferInventoryLineRet_TxnLineIDStringTrue 255 The unique identifier for the transaction line item within the transfer. TransferInventoryLineRet_ItemRef_ListIDStringFalse Items.ID 255 The unique identifier (ListID) of the item that was transferred. TransferInventoryLineRet_ItemRef_FullNameStringFalse The full name of the item that was transferred. TransferInventoryLineRet_FromInventorySiteLocationRef_ListIDStringFalse 255 The unique identifier (ListID) of the specific location within the source inventory site where the transfer originated. TransferInventoryLineRet_FromInventorySiteLocationRef_FullNameStringFalse The full name of the specific location within the source inventory site where the transfer originated. TransferInventoryLineRet_ToInventorySiteLocationRef_ListIDStringFalse 255 The unique identifier (ListID) of the specific location within the destination inventory site where the transfer was sent. TransferInventoryLineRet_ToInventorySiteLocationRef_FullNameStringFalse The full name of the specific location within the destination inventory site where the transfer was sent. TransferInventoryLineRet_QuantityToTransferDoubleFalse The quantity of items to be transferred. This value is used when creating a transfer transaction. TransferInventoryLineRet_QuantityTransferredDoubleTrue The quantity of items that were actually transferred. This value is returned in the response. TransferInventoryLineRet_SerialNumberStringFalse 5000 The serial number of the transferred item, if applicable. TransferInventoryLineRet_LotNumberStringFalse 40 The lot number associated with the transferred item, if applicable. TimeCreatedDatetimeTrue The date and time when the transaction was created, formatted as YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when the transaction was last modified, formatted as YYYY-MM-DD HH:MM:SS. EditSequenceStringTrue 16 A unique identifier used for version control to ensure the transaction data is current. Transfers
Manages QuickBooks Transfers, supporting creation, updates, and queries for tracking movement of funds between accounts. Requires QBXML Version 12.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the transfer transaction. TxnNumberStringTrue 21 A user-defined transaction number for identifying the transfer. This is different from the Quickbooks generated ID. TxnDateDateFalse The date when the transfer occurred, formatted as YYYY-MM-DD. TransferFromAccountRef_ListIDStringFalse Accounts.ID 255 The unique identifier (ListID) of the account from which the funds are transferred. TransferFromAccountRef_FullNameStringFalse 1000 The full name of the account from which the funds are transferred. FromAccountBalanceDoubleTrue The balance of the source account from which the funds are being transferred. TransferToAccountRef_ListIDStringFalse Accounts.ID 255 The unique identifier (ListID) of the account to which the funds are transferred. TransferToAccountRef_FullNameStringFalse 1000 The full name of the account to which the funds are transferred. ToAccountBalanceDoubleTrue The balance of the destination account to which the funds are being transferred. ClassRef_ListIDStringFalse Class.ID 255 The unique identifier (ListID) of the class assigned to this transfer transaction. ClassRef_FullNameStringFalse 1000 The full name of the class assigned to this transfer transaction. AmountDecimalFalse The total amount of money being transferred in this transaction. MemoStringFalse 5000 Optional notes or comments associated with this transfer transaction. TimeCreatedDatetimeTrue The date and time when this transfer transaction was created, formatted as YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when this transfer transaction was last modified, formatted as YYYY-MM-DD HH:MM:SS. EditSequenceStringTrue 16 A unique identifier used for version control to ensure the transaction data is current. UnitOfMeasure
Handles QuickBooks Units of Measure, supporting creation, updates, deletion, and queries. Requires QBXML Version 7.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to the unit of measure. NameStringFalse 31 The descriptive name of the unit of measure, such as 'Pounds' or 'Liters'. IsActiveBooleanFalse Indicates whether the unit of measure is currently active. A value of true means it is active, and false means it is inactive. UnitOfMeasureTypeStringFalse 1000 Specifies the category or type of the unit of measure, such as 'Count', 'Weight', or 'Volume'. BaseUnit_NameStringFalse 31 The name of the base unit of measure from which other related units are derived. For example, 'Gram' could be the base unit for weight measurements. BaseUnit_AbbreviationStringFalse 31 The shorthand or abbreviation for the base unit of measure, such as 'g' for grams or 'mL' for milliliters. RelatedUnitAggregateStringFalse 5000 An XML aggregate that defines the related units of measure, including conversions and relationships to the base unit. DefaultUnitAggregateStringFalse 5000 An XML aggregate that specifies the default unit of measure settings, including default quantities or relationships for transactions. EditSequenceStringTrue 16 A unique string used for version control, ensuring the unit of measure entity is current and updated. TimeCreatedDatetimeTrue The date and time when this unit of measure entity was created, formatted as YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when this unit of measure entity was last modified, formatted as YYYY-MM-DD HH:MM:SS. UnitOfMeasureDefaultUnits
Manages default units within QuickBooks Units of Measure, supporting creation and queries for streamlined measurement configurations. Requires QBXML Version 7.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to the unit-of-measure default unit. UnitOfMeasureSetIdStringFalse UnitOfMeasure.ID 255 The unique identifier for the unit of measure set to which this default unit belongs. NameStringFalse 31 The descriptive name of the unit of measure, such as 'Kilogram' or 'Inch'. IsActiveBooleanFalse Indicates whether this default unit of measure is currently active. A value of true means it is active, and false means it is inactive. UnitOfMeasureTypeStringFalse 1000 Specifies the type or category of the unit of measure, such as 'Count', 'Length', or 'Weight'. BaseUnit_NameStringFalse 31 The name of the base unit of measure used for conversions or as a reference for related units, such as 'Meter' or 'Gram'. BaseUnit_AbbreviationStringFalse 31 The shorthand or abbreviation for the base unit of measure, such as 'm' for meters or 'kg' for kilograms. DefaultUnit_UnitUsedForStringFalse 100 Specifies the purpose or context in which the default unit is used, such as sales, purchases, or inventory tracking. DefaultUnit_UnitStringFalse 31 Defines the default unit of measure used for the specified purpose, such as 'Box' or 'Dozen'. EditSequenceStringTrue 16 A unique string used to track the revision history of this record, ensuring it reflects the most current version. TimeCreatedDatetimeTrue The date and time when this default unit of measure record was created, formatted as YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when this default unit of measure record was last modified, formatted as YYYY-MM-DD HH:MM:SS. UnitOfMeasureRelatedUnits
Handles related units in QuickBooks Units of Measure, supporting creation and queries for complex measurement systems. Requires QBXML Version 7.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to the related unit of measure. UnitOfMeasureSetIdStringFalse UnitOfMeasure.ID 255 The unique identifier for the unit of measure set that this related unit belongs to. NameStringFalse 31 The descriptive name of the unit of measure, such as 'Liter' or 'Pound'. IsActiveBooleanFalse Indicates whether this related unit of measure is currently active. A value of true means it is active, and false means it is inactive. UnitOfMeasureTypeStringFalse 1000 Specifies the category or type of the unit of measure, such as 'Count', 'Length', or 'Volume'. BaseUnit_NameStringFalse 31 The name of the base unit of measure used for conversions or as a standard reference, such as 'Meter' or 'Kilogram'. BaseUnit_AbbreviationStringFalse 31 The abbreviation or shorthand for the base unit of measure, such as 'm' for meters or 'kg' for kilograms. RelatedUnit_NameStringFalse 31 The name of the related unit of measure, such as 'Centimeter' or 'Ounce'. RelatedUnit_AbbreviationStringFalse 31 The abbreviation or shorthand for the related unit of measure, such as 'cm' for centimeters or 'oz' for ounces. RelatedUnit_ConversionRatioStringFalse 5000 Defines the conversion ratio from the base unit to the related unit. For example, '100' if 1 meter equals 100 centimeters. EditSequenceStringTrue 16 A unique string used to track the revision history of this record, ensuring it reflects the most current version. TimeCreatedDatetimeTrue The date and time when this related unit of measure record was created, formatted as YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when this related unit of measure record was last modified, formatted as YYYY-MM-DD HH:MM:SS. VehicleMileage
Manages QuickBooks Vehicle Mileage, supporting creation, updates, deletion, and queries for mileage tracking. Requires QBXML Version 6.0 or higher.
Table Specific Information
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for the VehicleMileage table are Id, Name, and TimeModified. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM VehicleMileage WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND Name LIKE '%12345%'Insert
To insert a VehicleMileage entry, specify an existing VehicleRef and either TotalMiles or both OdometerStart and OdometerEnd.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier assigned to the vehicle mileage transaction. VehicleRef_FullNameStringFalse 100 The full name of the vehicle used in the mileage transaction. Each vehicle name must be unique within QuickBooks. VehicleRef_ListIDStringFalse 255 The unique identifier for the referenced vehicle used in the mileage transaction. CustomerRef_FullNameStringFalse 1000 The full name of the customer associated with the vehicle mileage transaction. Specify only CustomerRef_FullName or CustomerRef_ListID when inserting or updating records. CustomerRef_ListIDStringFalse Customers.ID 255 The unique identifier of the customer associated with the vehicle mileage transaction. Specify only CustomerRef_FullName or CustomerRef_ListID when inserting or updating records. ItemRef_FullNameStringFalse The full name of the item (service or other charge) associated with the mileage transaction. Specify only ItemRef_FullName or ItemRef_ListID when inserting or updating records. ItemRef_ListIDStringFalse Items.ID 255 The unique identifier of the item (service or other charge) associated with the mileage transaction. Specify only ItemRef_FullName or ItemRef_ListID when inserting or updating records. ClassRef_FullNameStringFalse 1000 The full name of the class associated with the vehicle mileage transaction. Specify only ClassRef_FullName or ClassRef_ListID when inserting or updating records. ClassRef_ListIDStringFalse Class.ID 255 The unique identifier of the class associated with the vehicle mileage transaction. Specify only ClassRef_FullName or ClassRef_ListID when inserting or updating records. TripStartDateStringFalse The start date of the trip. If left blank during insertion, QuickBooks uses the current date at the time of the transaction. TripEndDateStringFalse The end date of the trip. If left blank during insertion, QuickBooks uses the current date at the time of the transaction. OdometerStartIntegerFalse The odometer reading at the start of the trip. If TotalMiles is specified, OdometerStart and OdometerEnd cannot be provided. OdometerEndIntegerFalse The odometer reading at the end of the trip. If TotalMiles is specified, OdometerStart and OdometerEnd cannot be provided. TotalMilesDoubleFalse The total miles traveled during the trip. If specified, OdometerStart and OdometerEnd cannot be provided. NotesStringFalse 5000 Additional notes or comments about the trip or mileage transaction. BillableStatusStringFalse 13 Indicates the billing status of the vehicle mileage. Options include Billable, NotBillable, or HasBeenBilled. The allowed values are Billable, NotBillable, HasBeenBilled. StandardMileageRateDoubleFalse The standard mileage rate allowed by the tax authority for calculating vehicle expenses at the time of the transaction. StandardMileageTotalAmountDoubleFalse The total amount calculated by multiplying the total trip miles by the standard mileage rate in effect. BillableRateDoubleFalse The rate used to bill the mileage to a customer in a billable mileage transaction. This rate is typically defined in the associated service or other charge item referenced in the ItemRef columns. BillableAmountDecimalFalse The total billable amount calculated by multiplying the total trip miles by the billable rate specified in the item referenced in the ItemRef columns. EditSequenceStringTrue 16 A unique string used to track revisions to this vehicle mileage transaction, ensuring it reflects the most current version. TimeCreatedDatetimeTrue The date and time when this vehicle mileage transaction was created, formatted as YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when this vehicle mileage transaction was last modified, formatted as YYYY-MM-DD HH:MM:SS. VendorCreditExpenseItems
Handles QuickBooks Vendor Credit Expense Items, supporting creation, updates, deletion, and queries for tracking expenses linked to vendor credits.
Table Specific Information
VendorCredits may be inserted, updated, or queried via the VendorCredits, VendorCreditExpenseItems, or VendorCreditLineItems tables. VendorCredits may be deleted by using the VendorCredits table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for the VendorCredits table are Id, Date, TimeModified, VendorName, VendorId, AccountsPayableId, and AccountsPayableName. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM VendorCreditExpenseItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a VendorCredit, specify the Vendor and at least one Expense or Line Item. All Expense Line Item columns can be used for inserting multiple Expense Line Items for a new VendorCredit transaction. For example, the following will insert a new VendorCredit with two Expense Line Items:
INSERT INTO VendorCreditExpenseItems#TEMP (VendorName, ExpenseAccount, ExpenseAmount) VALUES ('A Cheung Limited', 'Utilities:Telephone', 52.25) INSERT INTO VendorCreditExpenseItems#TEMP (VendorName, ExpenseAccount, ExpenseAmount) VALUES ('A Cheung Limited', 'Professional Fees:Accounting', 235.87) INSERT INTO VendorCreditExpenseItems (VendorName, ExpenseAccount, ExpenseAmount) SELECT VendorName, ExpenseAccount, ExpenseAmount FROM VendorCreditExpenseItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier of the expense line in the format VendorCreditId|ExpenseLineId, combining the vendor credit transaction ID and the expense line item ID. VendorCreditIdStringFalse VendorCredits.ID 255 The unique identifier for the VendorCredit transaction associated with this expense line. VendorNameStringFalse 1000 The name of the vendor for this transaction. Either VendorName or VendorId must be provided when inserting a new record. VendorIdStringFalse Vendors.ID 255 The unique identifier of the vendor for this transaction. Either VendorName or VendorId must be provided when inserting a new record. DateDateFalse The date of the transaction. If specified in a SELECT query, it overrides the pseudo columns StartDate and EndDate. Dates should be formatted as YYYY-MM-DD. TxnNumberIntegerTrue The transaction number, which uniquely identifies the transaction but differs from the Quickbooks generated ID. ReferenceNumberStringFalse 21 The reference number for the transaction, provided by the user or external system. AccountsPayableStringFalse 1000 The name of the accounts-payable account associated with this transaction. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier of the accounts-payable account associated with this transaction. AmountDecimalTrue The total amount of the vendor credit transaction, including or excluding taxes based on the IsTaxIncluded field. MemoStringFalse 5000 A memo or note associated with the vendor credit transaction. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Valid values are true or false. TaxCodeStringFalse 3 The sales tax code applied to this vendor credit. Represents the type of tax charged for the transaction. TaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax code applied to this vendor credit. CustomFieldsStringFalse Custom fields associated with this transaction, returned from QuickBooks and formatted as XML. ExchangeRateStringFalse The exchange rate used for this transaction if it involves a foreign currency. ExpenseLineIdStringTrue 255 The unique identifier for this specific expense line within the VendorCredit transaction. ExpenseLineNumberStringTrue 255 The line number for this expense entry in the VendorCredit transaction. ExpenseAccountStringFalse 1000 The name of the expense account associated with this line. Either ExpenseAccount or ExpenseAccountId must be specified when inserting a new record. ExpenseAccountIdStringFalse Accounts.ID 255 The unique identifier of the expense account associated with this line. Either ExpenseAccount or ExpenseAccountId must be specified when inserting a new record. ExpenseAmountDecimalFalse The total amount for this specific expense line item. ExpenseBillableStatusStringFalse 13 Indicates whether this expense line is billable to a customer. Valid values include Billable, NotBillable, and HasBeenBilled. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. The default value is Empty. ExpenseCustomerStringFalse 1000 The name of the customer associated with this expense line, if applicable. ExpenseCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this expense line, if applicable. ExpenseClassStringFalse 1000 The name of the class associated with this expense line, used for categorization or tracking purposes. ExpenseClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this expense line, used for categorization or tracking purposes. ExpenseTaxCodeStringFalse 3 The sales tax code applied to this expense line, indicating whether it is taxable or non-taxable. ExpenseTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax code applied to this expense line, indicating whether it is taxable or non-taxable. ExpenseMemoStringFalse 5000 A memo or note associated with this specific expense line. TimeModifiedDatetimeTrue The date and time when this expense line was last modified, formatted as YYYY-MM-DD HH:MM:SS. TimeCreatedDatetimeTrue The date and time when this expense line was created, formatted as YYYY-MM-DD HH:MM:SS. VendorCreditLineItems
Manages individual line items in QuickBooks Vendor Credits, supporting creation, updates, deletion, and queries for detailed vendor credit tracking.
Table Specific Information
VendorCredits may be inserted, updated, or queried via the VendorCredits, VendorCreditExpenseItems, or VendorCreditLineItems tables. VendorCredits may be deleted by using the VendorCredits table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for the VendorCredits table are Id, Date, TimeModified, VendorName, VendorId, AccountsPayableId, and AccountsPayableName. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM VenderCreditLineItems WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a VendorCredit, specify a Vendor and at least one Expense or Line Item. All Line Item columns can be used for inserting multiple Line Items for a new VendorCredit transaction. For example, the following will insert a new VendorCredit with two Line Items:
INSERT INTO VendorCreditLineItems#TEMP (VendorName, ItemName, ItemQuantity) VALUES ('A Cheung Limited', 'Repairs', 1) INSERT INTO VendorCreditLineItems#TEMP (VendorName, ItemName, ItemQuantity) VALUES ('A Cheung Limited', 'Removal', 2) INSERT INTO VendorCreditLineItems (VendorName, ItemName, ItemQuantity) SELECT VendorName, ItemName, ItemQuantity FROM VendorCreditLineItems#TEMPColumns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier of the vendor credit line item, formatted as VendorCreditId|ItemLineId to combine the vendor credit transaction ID and the line item ID. VendorCreditIdStringFalse VendorCredits.ID 255 The unique identifier of the VendorCredit transaction associated with this line item. VendorNameStringFalse 1000 The name of the vendor for this transaction. Either VendorName or VendorId must be provided when inserting. VendorIdStringFalse Vendors.ID 255 The unique identifier of the vendor for this transaction. Either VendorName or VendorId must be provided when inserting. DateDateFalse The date of the transaction in the format YYYY-MM-DD. When specified in a WHERE clause, it overrides StartDate and EndDate pseudo columns. TxnNumberIntegerTrue An identifying number for the transaction, different from the Quickbooks generated ID. ReferenceNumberStringFalse 21 The reference number assigned to this transaction, provided by the user or external system. AccountsPayableStringFalse 1000 The name of the accounts-payable account associated with this transaction. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier of the accounts-payable account associated with this transaction. AmountDecimalTrue The total amount of the vendor credit transaction, including or excluding taxes based on the IsTaxIncluded field. MemoStringFalse 5000 A memo or note associated with the vendor credit transaction. IsTaxIncludedBooleanFalse Indicates whether tax is included in the transaction amount. Valid values are true or false. TaxCodeStringFalse 3 The sales tax code applied to this vendor credit. Represents the type of tax charged for the transaction. TaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax code applied to this vendor credit. ExchangeRateStringFalse The exchange rate used for the transaction if it involves foreign currency. ItemLineIdStringTrue 255 The unique identifier for this specific line item within the VendorCredit transaction. ItemLineNumberStringTrue 255 The line number for this item in the VendorCredit transaction. ItemAmountDecimalFalse The total amount for this vendor credit line item. Must be a positive number. ItemClassStringFalse 1000 The class associated with this vendor credit line item, used for categorization or tracking purposes. ItemClassIdStringFalse Class.ID 255 The unique identifier of the class associated with this vendor credit line item. ItemTaxCodeStringFalse 3 The tax code applied to this item, indicating whether it is taxable or non-taxable. ItemTaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the tax code applied to this item, indicating whether it is taxable or non-taxable. ItemNameStringFalse The name of the item associated with this line. ItemIdStringFalse Items.ID 255 The unique identifier of the item associated with this line. ItemGroupStringFalse 100 The name of the item group this item belongs to, if applicable. ItemGroupIdStringFalse Items.ID 255 The unique identifier of the item group this item belongs to, if applicable. ItemDescriptionStringFalse 5000 A description of the item associated with this line. ItemQuantityDoubleFalse The quantity of the item or item group specified in this line. ItemUnitOfMeasureStringFalse 31 The unit of measure for this item. If the company file allows only a single unit of measure per item, this must be the base unit. Requires QBXML Version 7.0 or higher. ItemCostDoubleFalse The unit cost for this item. ItemBillableStatusStringFalse 13 Indicates whether this item is billable to a customer. Valid values include Billable, NotBillable, and HasBeenBilled. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ItemCustomerStringFalse 1000 The name of the customer associated with this item, if applicable. ItemCustomerIdStringFalse Customers.ID 255 The unique identifier of the customer associated with this item, if applicable. ItemInventorySiteIdStringFalse InventorySites.ID 31 The inventory site ID for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteNameStringFalse 255 The inventory site name for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationIdStringFalse 31 The inventory site location ID for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationNameStringFalse 255 The inventory site location name for this item. Requires QBXML Version 10.0 and the Advanced Inventory add-on. ExpirationDateForSerialLotNumberStringTrue 1099 The expiration date for the serial or lot number of this item. Supported in QB Desktop 2023 Version 3 (USA & Canada) and SDK 16.0. CustomFieldsStringFalse Custom fields associated with this line item, returned from QuickBooks and formatted as XML. EditSequenceStringTrue 16 An identifier for versioning this copy of the object. TimeModifiedDatetimeTrue The date and time when this vendor credit line item was last modified, in the format YYYY-MM-DD HH:MM:SS. TimeCreatedDatetimeTrue The date and time when this vendor credit line item was created, in the format YYYY-MM-DD HH:MM:SS. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemOverrideAccountStringThe name of the account used to override the default account for this item. Only available during inserts and updates. ItemOverrideAccountIdStringThe ID of the account used to override the default account for this item. Only available during inserts and updates. VendorCredits
Handles QuickBooks Vendor Credits, supporting creation, updates, deletion, and queries for managing vendor refunds or adjustments.
Table Specific Information
VendorCredits may be inserted, updated, or queried via the VendorCredits, VendorCreditExpenseItems, or VendorCreditLineItems tables. VendorCredits may be deleted by using the VendorCredits table.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for VendorCredits are Id, Date, TimeModified, VendorName, VendorId, AccountsPayableId, and AccountsPayableName. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM VendorCredits WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Insert
To add a VendorCredit, specify a Vendor and at least one Expense or Line Item. The ItemAggregate and ExpenseAggregate columns may be used to specify an XML aggregate of Line Item or Expense Item data. The columns that may be used in these aggregates are defined in the VendorCreditLineItems and VendorCreditExpenseItems tables and it starts with Item and Expense. For example, the following will insert a new VendorCredit with two Line Items:
INSERT INTO VendorCredits (VendorName, ItemAggregate) VALUES ('A Cheung Limited', '<VendorCreditLineItems> <Row><ItemName>Repairs</ItemName><ItemQuantity>1</ItemQuantity></Row> <Row><ItemName>Removal</ItemName><ItemQuantity>2</ItemQuantity></Row> </VendorCreditLineItems>')To insert subitems, set the ItemName field to the FullName of the item; for example, '<Row><ItemName>Subs:Carpet</ItemName><ItemQuantity>0</ItemQuantity></Row>'
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue The unique identifier (refId) of the vendor credit record. VendorNameStringFalse 1000 The name of the vendor associated with this transaction. Either VendorName or VendorId must be specified when inserting. VendorIdStringFalse Vendors.ID 255 The unique identifier of the vendor associated with this transaction. Either VendorName or VendorId must be specified when inserting. DateDateFalse The date of the vendor credit transaction in the format YYYY-MM-DD. Overrides StartDate and EndDate pseudo columns when used in a WHERE clause. TxnNumberIntegerTrue A unique transaction number assigned to the vendor credit, different from the Quickbooks generated ID. ReferenceNumberStringFalse 21 A reference number provided for the vendor credit transaction. AccountsPayableStringFalse 1000 The name of the accounts-payable account associated with this vendor credit. AccountsPayableIdStringFalse Accounts.ID 255 The unique identifier of the accounts-payable account associated with this vendor credit. AmountDecimalTrue The total amount of the vendor credit transaction. MemoStringFalse 5000 An optional note or memo for the vendor credit transaction. IsTaxIncludedBooleanFalse Indicates whether the transaction amount includes tax. TaxCodeStringFalse 3 The name of the sales tax code applicable to this vendor credit. TaxCodeIdStringFalse SalesTaxCodes.ID 255 The unique identifier of the sales tax code applicable to this vendor credit. ExchangeRateStringFalse The exchange rate applied to this transaction for converting foreign currency to the home currency. ItemCountIntegerTrue The total number of line items included in this vendor credit. ItemAggregateStringFalse 5000 An XML aggregate containing data for all line items in this vendor credit transaction. Useful for bulk insertions or updates. ExpenseItemCountIntegerTrue The total number of expense line items included in this vendor credit. ExpenseItemAggregateStringFalse 5000 An XML aggregate containing data for all expense items in this vendor credit transaction. Useful for bulk insertions or updates. TransactionCountIntegerTrue The total number of transactions related to this vendor credit. TransactionAggregateStringTrue 5000 An XML aggregate containing details of all linked transactions associated with this vendor credit. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML for additional metadata. TimeModifiedDatetimeTrue The date and time when this vendor credit record was last modified, formatted as YYYY-MM-DD HH:MM:SS. TimeCreatedDatetimeTrue The date and time when this vendor credit record was created, formatted as YYYY-MM-DD HH:MM:SS. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description Item\*StringIncludes all columns specific to line items. These can be used for inserting or updating line-item details in the vendor credit. Expense\*StringIncludes all columns specific to expense items. These can be used for inserting or updating expense-item details in the vendor credit. Vendors
Manages QuickBooks Vendors, supporting creation, updates, deletion, and queries for supplier relationship management.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can only be used with the equals or = comparison. The available columns for the Vendors table are Id, TimeModified, Balance, and Name. TimeModified may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. Balance may be used with the >=, <=, or = conditions but cannot be used to specify a range. Name may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Vendors WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND Name LIKE '%12345%'Insert
To add a Vendor, specify the Name column.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier of the vendor record in QuickBooks. NameStringFalse 100 The vendor's name. This field is required when adding a new vendor record. SalutationStringFalse 15 A salutation for the vendor, such as Mr., Mrs., Ms., or Dr. FirstNameStringFalse 25 The first name of the vendor or primary contact. MiddleInitialStringFalse 25 The middle initial of the vendor or primary contact. LastNameStringFalse 25 The last name of the vendor or primary contact. CompanyStringFalse 50 The name of the vendor's company or organization. ContactStringFalse 1023 The name of the primary contact person for the vendor. AccountNumberStringFalse 99 The account number assigned to the vendor. TypeStringFalse 1000 The type or category of the vendor, predefined in QuickBooks. TypeIdStringFalse 255 The unique identifier for the vendor type or category, predefined in QuickBooks. CreditLimitDoubleFalse The credit limit assigned to the vendor. TaxIdentityStringFalse 20 The tax identification number for the vendor, used for IRS reporting. SalesTaxCountryStringFalse 100 The country responsible for collecting applicable sales taxes. Available in international versions of QuickBooks with QBXML Version 8.0 or higher. AlternateContactStringFalse 41 The name of an alternate contact for the vendor. PhoneStringFalse 21 The primary telephone number of the vendor. FaxStringFalse 21 The fax number of the vendor. AlternatePhoneStringFalse 21 An alternate telephone number for the vendor. EmailStringFalse 1023 The vendor's email address. CcStringFalse 1023 An additional email address for the vendor. NotesStringFalse 5000 Notes or additional information about the vendor. AddressStringTrue The complete address of the vendor as returned by QuickBooks. Line1StringFalse 500 The first line of the vendor's address. Line2StringFalse 500 The second line of the vendor's address. Line3StringFalse 500 The third line of the vendor's address. Line4StringFalse 500 The fourth line of the vendor's address. Line5StringFalse 41 The fifth line of the vendor's address. CityStringFalse 255 The city for the vendor's address. StateStringFalse 255 The state for the vendor's address. PostalCodeStringFalse 30 The postal or ZIP code for the vendor's address. CountryStringFalse 255 The country for the vendor's address. NoteStringFalse 41 A note associated with the vendor's address. ShippingAddressStringTrue The complete shipping address for the vendor. Requires QBXML Version 11.0 or higher. ShippingLine1StringFalse 500 The first line of the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingLine2StringFalse 500 The second line of the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingLine3StringFalse 500 The third line of the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingLine4StringFalse 500 The fourth line of the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingLine5StringFalse 41 The fifth line of the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingCityStringFalse 255 The city for the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingStateStringFalse 255 The state for the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingPostalCodeStringFalse 30 The postal or ZIP code for the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingCountryStringFalse 255 The country for the vendor's shipping address. Requires QBXML Version 11.0 or higher. ShippingNoteStringFalse 41 A note associated with the vendor's shipping address. Requires QBXML Version 11.0 or higher. BalanceDoubleTrue The open balance for this vendor. TermsStringFalse 100 The payment terms associated with this vendor, such as '2% 10 Net 60'. This field can be set during inserts but not updates. TermsIdStringFalse 255 The unique identifier for the payment terms associated with this vendor. EligibleFor1099BooleanFalse Indicates whether the vendor is eligible for 1099 reporting. NameOnCheckStringFalse 110 The name that appears on checks for this vendor. CurrencyNameStringFalse 64 The name of the currency used for this vendor. Requires QBXML Version 8.0 or higher. CurrencyIdStringFalse Currency.ID 255 The unique identifier for the currency used for this vendor. Requires QBXML Version 8.0 or higher. IsActiveBooleanFalse Indicates whether the vendor is active. CustomFieldsStringFalse Custom fields returned from QuickBooks, formatted as XML for additional metadata. EditSequenceStringTrue 16 An identifier used for versioning of this vendor record. TimeModifiedDatetimeTrue The date and time when this vendor record was last modified, formatted as YYYY-MM-DD HH:MM:SS. TimeCreatedDatetimeTrue The date and time when this vendor record was created, formatted as YYYY-MM-DD HH:MM:SS. PrefillAccountId1StringFalse The unique identifier for the first prefill account associated with this vendor. PrefillAccountName1StringFalse The name of the first prefill account associated with this vendor. PrefillAccountId2StringFalse The unique identifier for the second prefill account associated with this vendor. PrefillAccountName2StringFalse The name of the second prefill account associated with this vendor. PrefillAccountId3StringFalse The unique identifier for the third prefill account associated with this vendor. PrefillAccountName3StringFalse The name of the third prefill account associated with this vendor. VendorTypes
Handles QuickBooks Vendor Types, allowing creation, updates, deletion, and queries for categorizing vendors.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier for the vendor type record in QuickBooks. NameStringFalse 31 The name of the vendor type, used to categorize vendors for reporting and organization purposes. FullNameStringFalse 159 The full name of the vendor type, including its hierarchy if it is a sublevel of another vendor type. IsActiveBooleanFalse Indicates whether the vendor type is active. Set to true for active vendor types or false for inactive ones. ParentRef_FullNameStringFalse The full name of the parent vendor type, if applicable. You may specify either ParentRef_FullName or ParentRef_ListId when inserting or updating, but not both. ParentRef_ListIdStringFalse VendorTypes.ID 255 The unique identifier of the parent vendor type, if applicable. You may specify either ParentRef_FullName or ParentRef_ListId when inserting or updating, but not both. SublevelIntegerTrue Indicates the depth of the vendor type in the hierarchy, where 0 represents a top-level vendor type and higher numbers indicate sublevels. EditSequenceStringTrue 16 A string used for versioning to indicate the revision of this vendor type record. TimeCreatedDatetimeTrue The date and time when the vendor type record was created, formatted as YYYY-MM-DD HH:MM:SS. TimeModifiedDatetimeTrue The date and time when the vendor type record was last modified, formatted as YYYY-MM-DD HH:MM:SS. WorkersCompCodeLines
Queries QuickBooks Workers Compensation Code details by line item, providing insight into specific payroll classifications.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier of the workers' compensation code line item. WorkersCompCodeIdStringFalse 255 The unique identifier of the workers' compensation code this line belongs to. Serves as the primary key for the workers' compensation code. NameStringFalse 13 The name of the workers' compensation code. This field is required when inserting new records. DescStringFalse 31 A description of the workers' compensation code, providing context or details about its purpose. CurrentRateDoubleFalse The workers' compensation insurance premium rate currently in effect for this code. This field is empty if no current rate exists and the code only has a future effective date. CurrentEffectiveDateDatetimeFalse The date when the current workers' compensation rate became effective. This field only contains a value if the code is currently in effect; otherwise, it remains empty. NextRateDoubleFalse The future workers' compensation insurance premium rate that will become effective after the current rate expires. NextEffectiveDateDatetimeFalse The date when the next workers' compensation rate becomes effective, succeeding the current rate's expiration date. RateHistory_RateDoubleFalse The historical premium rate for the workers' compensation code. Useful for tracking past rate changes. RateHistory_EffectiveDateDatetimeFalse The effective date corresponding to the historical workers' compensation premium rate. This provides a timeline of rate changes. IsActiveBooleanFalse Indicates whether the workers' compensation code is active and in use. TimeCreatedDatetimeTrue The date and time when this workers' compensation code line item was created. TimeModifiedDatetimeTrue The date and time when this workers' compensation code line item was last modified. EditSequenceStringTrue A versioning identifier for this workers' compensation code line item, used to track revisions. WorkersCompCodes
Queries QuickBooks Workers Compensation Codes, providing an overview of payroll classifications. Requires QBXML Version 7.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]StringTrue 255 The unique identifier of the workers' compensation code. NameStringFalse 13 The name of the workers' compensation code. This field is required when inserting new records. DescStringFalse 31 A description of the workers' compensation code, providing details about its purpose or usage. CurrentRateDoubleFalse The workers' compensation insurance premium rate currently in effect for this code. If no current rate exists and only a future effective date is set, this field is empty. CurrentEffectiveDateDatetimeFalse The date when the current workers' compensation rate became effective. This field is only populated if the code is actively in effect. NextRateDoubleFalse The upcoming workers' compensation insurance premium rate that will take effect after the current rate expires. NextEffectiveDateDatetimeFalse The date when the next workers' compensation rate becomes effective, following the expiration of the current rate. RateHistoryStringFalse A record of historical rates for the workers' compensation code, providing a timeline of past premium rates and their corresponding effective dates. IsActiveBooleanFalse Indicates whether the workers' compensation code is active and in use. TimeCreatedDatetimeTrue The date and time when the workers' compensation code was initially created. TimeModifiedDatetimeTrue The date and time when the workers' compensation code was last modified. EditSequenceStringTrue A versioning identifier for this workers' compensation code, used to track revisions. 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.
QuickBooks Connector Views
Name Description BalanceSheetDetailProvides a detailed breakdown of the Balance Sheet, including individual account balances and changes over time. BalanceSheetStandardGenerates a standard Balance Sheet report summarizing assets, liabilities, and equity. BalanceSheetSummarySummarizes the key figures of the Balance Sheet in a concise report format. BillingRateFacilitates the querying of QuickBooks Billing Rates. Requires QBXML Version 6.0 or higher for compatibility. BillLinkedTransactionsEnables querying of transactions linked to specific QuickBooks Bills, such as related payments or adjustments. CompanyInfoQueries detailed company information stored in QuickBooks, including company name, address, and settings. CreditMemoLinkedTransactionsEnables querying of transactions linked to specific QuickBooks Credit Memos, such as associated payments or adjustments. CustomColumnsQueries QuickBooks Custom Columns to retrieve user-defined data tailored to specific reporting needs. DeletedEntitiesQueries entities deleted in QuickBooks, providing an audit trail for tracking removed records. DeletedTransactionsQueries transactions deleted in QuickBooks, offering insight into adjustments or corrections made in the system. EmployeeStateTaxesDetailGenerates a detailed report on employee state taxes, including tax types and deductions. EstimateLinkedTransactionsQueries transactions linked to specific QuickBooks Estimates, such as associated invoices or adjustments. HostQueries the QuickBooks host process, offering information about the system executing the current QuickBooks tasks. InvoiceLinkedTransactionsQueries transactions linked to QuickBooks Invoices, such as payments or credits applied. ItemReceiptLinkedTransactionsQueries transactions linked to QuickBooks Item Receipts, such as associated bills or credits. ItemSitesSupports creation, updates, deletion, and queries of QuickBooks Item Sites for inventory management. Available in QuickBooks Enterprise with Advanced Inventory and QBXML Version 10.0 or higher. PayrollItemDetailGenerates detailed payroll item reports, listing payroll transactions and their corresponding payroll items. PayrollReviewDetailProduces detailed payroll review reports, showing how QuickBooks calculates taxes on paychecks and year-to-date transactions. PayrollTransactionDetailGenerates detailed payroll transaction reports, showing line-item details for all payroll transactions. PayrollTransactionsByPayeeCreates payroll transaction reports grouped by payee, offering insights into payment patterns and amounts. PreferencesQueries QuickBooks company file preferences to retrieve user-defined settings and configurations. ProfitAndLossDetailGenerates detailed Profit and Loss reports, providing in-depth financial analysis. ProfitAndLossStandardCreates year-to-date Profit and Loss comparison reports, offering insights into financial performance over time. PurchaseOrderLinkedTransactionsQueries transactions linked to QuickBooks Purchase Orders, such as receipts or bills. ReceivePaymentToDepositGenerates reports of payments received and ready to be deposited in QuickBooks. SalesOrderLinkedTransactionsQueries transactions linked to QuickBooks Sales Orders, such as associated invoices or shipments. StatementChargeLinkedTransactionsQueries transactions linked to QuickBooks Statement Charges, such as associated payments or invoices. TemplatesQueries QuickBooks templates for transactions, invoices, or reports, enabling customization and standardization. TransactionsQueries QuickBooks transactions by type, entity, account, or other attributes, providing detailed financial activity tracking. You can search Transactions using a number of values including Type, Entity, Account, ReferenceNumber, Item, Class, Date, and TimeModified. VendorCreditLinkedTransactionsQueries transactions linked to QuickBooks Vendor Credits, such as associated bills or payments. BalanceSheetDetail
Provides a detailed breakdown of the Balance Sheet, including individual account balances and changes over time.
Columns
Name Type References Description LabelStringThe label associated with each row in the BalanceSheetDetail report, providing descriptive information. TypeStringThe type of entry represented in the BalanceSheetDetail report, such as account type or transaction type. DateDateThe date of the transaction or entry in the BalanceSheetDetail report. NumStringThe reference or transaction number associated with the entry in the BalanceSheetDetail report. NameStringThe name associated with the entry, such as a customer, vendor, or employee. MemoStringA memo or note providing additional details about the entry in the BalanceSheetDetail report. ClassStringThe class assigned to the entry, used for categorization or tracking purposes. ClrStringIndicates the cleared status of the transaction, often related to bank reconciliation. SplitStringDetails of the account or accounts affected by the split transaction. AmountDecimalThe monetary value of the transaction or entry in the BalanceSheetDetail report. BalanceDoubleThe running balance for the associated account at the time of the transaction. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringReportDateRangeMacroStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringModifiedDateRangeMacroStringDetailLevelStringPostingStatusStringIncludeAccountsStringReportBasisStringSummarizeRowsByStringBalanceSheetStandard
Generates a standard Balance Sheet report summarizing assets, liabilities, and equity.
Columns
Name Type References Description LabelStringThe label describing each row in the BalanceSheetStandard report, such as account or entity names. TotalDoubleThe total value associated with the respective label in the BalanceSheetStandard report. AccountLabelStringThe label of the account column in the BalanceSheetStandard report, representing account details. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringReportDateRangeMacroStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringModifiedDateRangeMacroStringDetailLevelStringPostingStatusStringReportAsOfStringReportBasisStringReportCalendarStringBalanceSheetSummary
Summarizes the key figures of the Balance Sheet in a concise report format.
Columns
Name Type References Description AccountStringThe name or label of the account in the BalanceSheetSummary report, representing financial accounts such as Assets, Liabilities, or Equity. TotalDoubleThe total monetary value associated with the account in the BalanceSheetSummary report. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringReportDateRangeMacroStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringModifiedDateRangeMacroStringDetailLevelStringPostingStatusStringReportBasisStringReturnColumnsStringReturnRowsStringReportCalendarStringBillingRate
Facilitates the querying of QuickBooks Billing Rates. Requires QBXML Version 6.0 or higher for compatibility.
Columns
Name Type References Description ListIDStringThe unique identifier for the billing rate entry in QuickBooks. NameStringThe full name of the entity associated with the billing rate, such as an employee or vendor. BillingRateTypeStringSpecifies the type of billing rate, indicating whether it is a fixed rate or associated with specific service items. TimeCreatedDatetimeThe timestamp of when this billing rate entry was originally created. TimeModifiedDatetimeThe timestamp of the most recent modification made to this billing rate entry. EditSequenceStringA unique identifier used for version control of this billing rate entry, ensuring data integrity during updates. BillLinkedTransactions
Enables querying of transactions linked to specific QuickBooks Bills, such as related payments or adjustments.
Table Specific Information
Linked transactions are transactions that have been associated with the Bill specified by the BillId column.
Select
The following filters support server-side execution. Other filters are executed client-side.
QuickBooks allows only a small subset of columns to be used in the WHERE clause of a SELECT query. These columns can typically be used with only the equals or = comparison. The available columns for Bills are Id, Date, ReferenceNumber, VendorName, VendorId, AccountsPayable, AccountsPayableId, IsPaid, and TimeModified. TimeModified and Date may be used with the >, >=, <, <=, or = conditions and may be used twice to specify a range. ReferenceNumber may be used with the = or LIKE conditions to establish a starts-with, ends-with, or contains syntax. For example:
SELECT * FROM Bills WHERE TimeModified > '1/1/2011' AND TimeModified < '2/1/2011' AND ReferenceNumber LIKE '%12345%'Columns
Name Type References Description ID [KEY]StringA unique identifier for the linked transaction, formatted as BillId|ItemLineId, combining the bill and line item information. BillIdStringBills.ID The unique identifier for the bill associated with this linked transaction. TransactionIdStringThe unique identifier for the transaction linked to the bill. TransactionAmountDecimalThe monetary amount of the linked transaction. TransactionDateDateThe date when the linked transaction occurred. TransactionReferenceNumberStringThe reference number for the linked transaction, used for tracking and identification. TransactionTypeStringThe type of the linked transaction, such as PurchaseOrder or Invoice. TransactionLinkTypeStringThe relationship type between the bill and the linked transaction, such as 'AppliedTo' or 'ReferencedBy'. TimeModifiedDatetimeThe timestamp of the last modification made to the bill or linked transaction. TimeCreatedDatetimeThe timestamp of when the bill or linked transaction was created. CompanyInfo
Queries detailed company information stored in QuickBooks, including company name, address, and settings.
Columns
Name Type References Description ID [KEY]StringThe employer identification number (EIN) of the company, used for tax and identification purposes. NameStringThe name of the company as registered in QuickBooks. TypeStringThe type or classification of the company, such as Corporation or Sole Proprietorship. AddressStringThe complete address of the company as recorded in QuickBooks. Line1StringThe first line of the company's address. Line2StringThe second line of the company's address. Line3StringThe third line of the company's address. Line4StringThe fourth line of the company's address. Line5StringThe fifth line of the company's address. CityStringThe city name in the company's address. StateStringThe state name in the company's address. PostalCodeStringThe postal code in the company's address. CountryStringThe country name in the company's address. NoteStringA note or additional information related to the company's address. EmailStringThe email address associated with the company. PhoneStringThe company's primary phone number. FaxStringThe company's fax number. SSNStringThe Social Security Number (SSN) of the company, if applicable. TaxformStringThe tax form used by the company, such as Form 1120 or Schedule C. WebsiteStringThe URL of the company's official website. FirstMonthFiscalStringThe first month of the company's fiscal year. FirstMonthTaxStringThe first month of the company's taxable year. LegalAddressStringThe full legal address of the company. LegalCityStringThe city in the company's legal address. LegalCountryStringThe country in the company's legal address. LegalStateStringThe state in the company's legal address. LegalZipStringThe zip code in the company's legal address. LegalNameStringThe legal name of the company as registered. ShippingAddressStringThe full shipping address of the company as recorded in QuickBooks. ShippingLine1StringThe first line of the company's shipping address. ShippingLine2StringThe second line of the company's shipping address. ShippingLine3StringThe third line of the company's shipping address. ShippingLine4StringThe fourth line of the company's shipping address. ShippingLine5StringThe fifth line of the company's shipping address. ShippingCityStringThe city in the company's shipping address. ShippingStateStringThe state in the company's shipping address. ShippingPostalCodeStringThe postal code in the company's shipping address. ShippingCountryStringThe country in the company's shipping address. ShippingNoteStringA note or additional information related to the company's shipping address. OpenedCompanyFileStringThe full file path of the currently opened company file in QuickBooks. CreditMemoLinkedTransactions
Enables querying of transactions linked to specific QuickBooks Credit Memos, such as associated payments or adjustments.
Table Specific Information
Linked transactions are transactions that have been associated with the CreditMemo specified by the CreditMemoId column.
Columns
Name Type References Description ID [KEY]StringThe unique identifier for the credit memo linked transaction, formatted as CreditMemoId|ItemLineId. CreditMemoIdStringCreditMemos.ID The unique identifier of the credit memo associated with the linked transaction. ReferenceNumberStringThe reference number for the credit memo transaction. TxnNumberIntegerA manually assigned transaction number to identify the credit memo separately from the Quickbooks generated ID. DateDateThe date of the credit memo transaction. If specified in the WHERE clause of a SELECT query, it overrides the pseudo columns StartDate and EndDate. CustomerIdStringCustomers.ID The unique identifier of the customer associated with the credit memo. CustomerNameStringThe name of the customer associated with the credit memo. TransactionIdStringThe unique identifier of the linked transaction associated with this credit memo. TransactionAmountDecimalThe total monetary amount of the linked transaction. TransactionDateDateThe date when the linked transaction occurred. TransactionReferenceNumberStringThe reference number of the linked transaction for identification and tracking. TransactionTypeStringThe type of the linked transaction (for example, Invoice, Payment, or Bill). TransactionLinkTypeStringThe relationship type between the credit memo and the linked transaction (for example, AppliedTo or OffsetBy). TimeModifiedDatetimeThe timestamp of the last modification made to this credit memo or its linked transactions. TimeCreatedDatetimeThe timestamp of when this credit memo or its linked transactions were created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringCustomColumns
Queries QuickBooks Custom Columns to retrieve user-defined data tailored to specific reporting needs.
Columns
Name Type References Description DataExtID [KEY]StringThe unique identifier for the data extension. OwnerIDStringThe unique identifier of the owner of the data extension. DataExtNameStringThe name of the data extension, used to describe its purpose or content. DataExtTypeStringThe data type of the field associated with the data extension, such as string, integer, or date. AssignToObjectStringThe object type (for example, Customer, Invoice, or Item) associated with this data extension. DataExtListRequireBooleanIndicates whether the data extension must be used in lists. True if required, false otherwise. DataExtTxnRequireBooleanIndicates whether the data extension is required in transactions. True if required, false otherwise. DataExtFormatStringStringA string that specifies the format of the data in this extension, such as a date format or currency pattern. DeletedEntities
Queries entities deleted in QuickBooks, providing an audit trail for tracking removed records.
Table Specific Information
Select
The QuickBooks connector requires filtering on ListDelType in order to perform the query, for example:
SELECT * FROM DeletedEntities WHERE ListDelType='Account'Columns
Name Type References Description ListID [KEY]StringThe unique identifier of the deleted entity. ListDelTypeStringSpecifies the type of entity that was deleted. The allowed values are Account, BillingRate, Class, Currency, Customer, CustomerMsg, CustomerType, DateDrivenTerms, Employee, InventorySite, ItemDiscount, ItemFixedAsset, ItemGroup, ItemInventory, ItemInventoryAssembly, ItemNonInventory, ItemOtherCharge, ItemPayment, ItemSalesTax, ItemSalesTaxGroup, ItemService, ItemSubtotal, JobType, OtherName, PaymentMethod, PayrollItemNonWage, PayrollItemWage, PriceLevel, SalesRep, SalesTaxCode, ShipMethod, StandardTerms, ToDo, UnitOfMeasureSet, Vehicle, Vendor, VendorType, and WorkersCompCode. FullNameStringThe full name of the deleted entity, including any hierarchy if applicable. TimeCreatedDatetimeThe date and time when the entity was initially created in the system. TimeDeletedDatetimeThe date and time when the entity was deleted. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description TimeModifiedStringDeletedTransactions
Queries transactions deleted in QuickBooks, offering insight into adjustments or corrections made in the system.
Table Specific Information
Select
The QuickBooks connector requires filtering on TxnDelType in order to perform the query, for example:
SELECT * FROM DeletedTransactions WHERE TxnDelType='Estimate'Columns
Name Type References Description TxnID [KEY]StringThe unique identifier of the deleted transaction. TxnDelTypeStringSpecifies the type of transaction that was deleted. Valid values include ARRefundCreditCard, Bill, BillPaymentCheck, BillPaymentCreditCard, BuildAssembly, Charge, Check, CreditCardCharge, CreditCardCredit, CreditMemo, Deposit, Estimate, InventoryAdjustment, Invoice, ItemReceipt, JournalEntry, PurchaseOrder, ReceivePayment, SalesOrder, SalesReceipt, SalesTaxPaymentCheck, TimeTracking, TransferInventory, VehicleMileage, and VendorCredit. RefNumberStringThe reference number associated with the deleted transaction. TimeCreatedDatetimeThe date and time when the transaction was originally created in the system. TimeDeletedDatetimeThe date and time when the transaction was deleted from the system. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description TimeModifiedStringEmployeeStateTaxesDetail
Generates a detailed report on employee state taxes, including tax types and deductions.
Columns
Name Type References Description LabelStringRepresents the label or category associated with the employee state taxes detail report. Source_NameStringSpecifies the source name or entity relevant to the tax details in the report. SSN_Tax_IDStringThe social security number or tax ID associated with the employee in the report. DateDateThe transaction or reporting date associated with the state taxes detail entry. Payroll_ItemStringIdentifies the payroll item associated with the specific tax calculation. Income_Subject_To_TaxDoubleIndicates the amount of income subject to state taxation for the employee. Wage_BaseDoubleThe wage base used for calculating state taxes for the employee. AmountDoubleSpecifies the tax amount calculated or reported for the entry. RowTypeStringDenotes the type of data presented in the row, such as Text, Data, Subtotal, or Total. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringDetailLevelStringPostingStatusStringReportAsOfStringSummarizeColumnsByStringIncludeColumnsStringIncludeAccountsStringSummarizeRowsByStringEstimateLinkedTransactions
Queries transactions linked to specific QuickBooks Estimates, such as associated invoices or adjustments.
Table Specific Information
Linked transactions are transactions that have been associated with the Estimate specified by the EstimateId column.
Columns
Name Type References Description ID [KEY]StringA unique identifier representing the combination of the estimate and linked transaction, formatted as EstimateId|ItemLineId. EstimateIdStringEstimates.ID The unique identifier of the estimate associated with this transaction. ReferenceNumberStringA user-defined reference number for the estimate. TxnNumberIntegerA Quickbooks assigned transaction number for this estimate, distinct from its internal ID. CustomerNameStringThe name of the customer associated with the estimate and linked transaction. CustomerIdStringCustomers.ID The unique ID of the customer associated with the estimate and linked transaction. DateDateThe date when the estimate was created or last modified. TransactionIdStringThe unique identifier of the transaction linked to this estimate. TransactionAmountDecimalThe monetary amount associated with the linked transaction. TransactionDateDateThe date of the linked transaction. TransactionReferenceNumberStringA user-defined reference number for the linked transaction. TransactionTypeStringThe specific type of the linked transaction, such as Invoice, Sales Order, or Payment. TransactionLinkTypeStringDescribes the relationship between the estimate and the linked transaction, such as 'applied to' or 'referenced by.' TimeModifiedDatetimeThe date and time when the linked transaction was last modified. TimeCreatedDatetimeThe date and time when the linked transaction was initially created. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringHost
Queries the QuickBooks host process, offering information about the system executing the current QuickBooks tasks.
Columns
Name Type References Description ProductName [KEY]StringThe name of the QuickBooks product or version currently in use, such as QuickBooks Desktop Pro or QuickBooks Enterprise. MajorVersionStringThe primary version number of the QuickBooks product, representing significant updates or changes to the software. MinorVersionStringThe secondary version number of QuickBooks, representing smaller updates, patches, or fixes. CountryStringThe country or region for which the QuickBooks edition is specifically designed, such as the United States, Canada, or the United Kingdom. SupportedQBXMLVersionStringA list of QBXML versions supported by the current QuickBooks product, separated by commas. QBXML is the XML format used for data exchange with QuickBooks. IsAutomaticLoginBooleanIndicates whether QuickBooks is running with automatic login enabled. If true, QuickBooks is operating in the background without its user interface visible, typically launched for automated tasks or integration purposes. QBFileModeStringSpecifies the mode in which the QuickBooks company file is being accessed, such as SingleUser for exclusive access or MultiUser for shared access. InvoiceLinkedTransactions
Queries transactions linked to QuickBooks Invoices, such as payments or credits applied.
Table Specific Information
Linked transactions are transactions that have been associated with the Invoice specified by the InvoiceId column.
Columns
Name Type References Description ID [KEY]StringA unique identifier combining the InvoiceId and ItemLineId, used to reference specific linked transactions associated with an invoice. InvoiceIdStringInvoices.ID The unique identifier of the invoice to which the linked transaction pertains. ReferenceNumberStringThe transaction reference number for identifying the invoice. TxnNumberIntegerA unique number assigned to the transaction by QuickBooks, distinct from the InvoiceId. CustomerNameStringThe name of the customer associated with the invoice. Either CustomerName or CustomerId must be provided during insertion. CustomerIdStringCustomers.ID The Quickbooks generated identifier for the customer associated with the invoice. Can be used as an alternative to CustomerName for insertion. AccountStringThe name of the accounts-receivable account where funds from this invoice are deposited. AccountIdStringAccounts.ID The unique identifier for the accounts-receivable account where funds from this invoice are deposited. DateDateThe transaction date for the invoice. If specified in a query, it overrides the StartDate and EndDate pseudo-columns. TransactionIdStringThe unique identifier for the transaction linked to the invoice. TransactionAmountDecimalThe monetary value of the linked transaction associated with the invoice. TransactionDateDateThe date when the linked transaction occurred. TransactionReferenceNumberStringThe reference number assigned to the linked transaction. TransactionTypeStringThe type of transaction linked to the invoice, such as payment or credit memo. TransactionLinkTypeStringSpecifies the relationship between the invoice and the linked transaction (for example, payment, credit, or refund). TimeModifiedDatetimeThe date and time when the invoice was last modified. TimeCreatedDatetimeThe date and time when the invoice was created. ItemReceiptLinkedTransactions
Queries transactions linked to QuickBooks Item Receipts, such as associated bills or credits.
Table Specific Information
Linked transactions are transactions that have been associated with the ItemReceipts specified by the ItemReceiptId column.
Columns
Name Type References Description ID [KEY]StringA unique identifier for the linked transaction, formatted as ItemReceiptId|ItemReceiptLineId. ItemReceiptIdStringItemReceipts.ID The unique identifier for the item receipt, sourced from the ItemReceipts table. VendorNameStringThe name of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting a new item receipt. VendorIdStringVendors.ID The unique identifier of the vendor associated with the item receipt. Either VendorName or VendorId must be provided when inserting a new item receipt. DateDateThe date when the item receipt transaction occurred or was recorded. ReferenceNumberStringA reference number assigned to the item receipt transaction for identification purposes. AccountsPayableStringThe name of the accounts payable account associated with this item receipt. AccountsPayableIdStringAccounts.ID The unique identifier of the accounts payable account associated with this item receipt. MemoStringAn optional memo or note describing the item receipt transaction. AmountDecimalThe total monetary value of the item receipt. TxnNumberIntegerA unique transaction number assigned to distinguish this transaction from others, apart from the Quickbooks generated ID. ExchangeRateDoubleThe exchange rate used to convert the transaction's currency into the home currency of the QuickBooks file. Requires QBXML Version 8.0 or higher. TransactionIdStringPurchaseOrders.ID The unique identifier of the linked transaction associated with this item receipt. TransactionAmountDecimalThe monetary value of the linked transaction. TransactionDateDateThe date when the linked transaction occurred or was recorded. TransactionReferenceNumberStringA reference number assigned to the linked transaction for identification purposes. TransactionTypeStringThe type of linked transaction (for example, purchase order or bill). TransactionLinkTypeStringThe relationship type between the item receipt and the linked transaction, such as a link to a purchase order. CustomFieldsStringAny custom fields associated with this transaction, formatted as XML. EditSequenceStringAn identifier used for version control of this object in QuickBooks. TimeModifiedDatetimeThe date and time when the item receipt was last updated. TimeCreatedDatetimeThe date and time when the item receipt was initially created. ItemSites
Supports creation, updates, deletion, and queries of QuickBooks Item Sites for inventory management. Available in QuickBooks Enterprise with Advanced Inventory and QBXML Version 10.0 or higher.
Columns
Name Type References Description ID [KEY]StringThe unique identifier of the inventory site. ItemInventoryAssemblyRef_ListIDStringItems.ID The unique ID of an inventory assembly located at the inventory site. Specify either an inventory assembly or an inventory item, but not both. ItemInventoryAssemblyRef_FullNameStringThe full name of an inventory assembly located at the inventory site. Specify either an inventory assembly or an inventory item, but not both. ItemInventoryRef_ListIDStringItems.ID The unique ID of an inventory item located at the inventory site. Specify either an inventory assembly or an inventory item, but not both. ItemInventoryRef_FullNameStringThe full name of an inventory item located at the inventory site. Specify either an inventory assembly or an inventory item, but not both. InventorySiteRef_ListIDStringInventorySites.ID The unique ID of the inventory site. InventorySiteRef_FullNameStringThe full name of the inventory site. InventorySiteLocationRef_ListIDStringThe unique ID of the inventory site location. Requires QBXML version 12.0 or higher. InventorySiteLocationRef_FullNameStringThe full name of the inventory site location. Requires QBXML version 12.0 or higher. ReorderLevelDoubleThe threshold quantity at which the inventory assembly or item should be reordered. QuantityOnHandDoubleThe total quantity of inventory assemblies or items currently in stock at this site. QuantityOnPurchaseOrdersDoubleThe total quantity of inventory assemblies or items on active purchase orders. QuantityOnSalesOrdersDoubleThe total quantity of inventory assemblies or items on active sales orders. QuantityToBeBuiltByPendingBuildTxnsDoubleThe quantity of inventory assemblies or items planned for pending build assembly transactions. QuantityRequiredByPendingBuildTxnsDoubleThe quantity of inventory assemblies or items needed to complete pending build assembly transactions. QuantityOnPendingTransfersDoubleThe quantity of inventory assemblies or items currently in transit as part of pending transfer inventory transactions. AssemblyBuildPointDoubleThe inventory level at which a new assembly should be built to maintain stock levels. EditSequenceStringA unique string representing the version of the inventory site record for QuickBooks version tracking. TimeCreatedDatetimeThe timestamp indicating when the inventory site record was created. TimeModifiedDatetimeThe timestamp indicating when the inventory site record was last modified. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemTypeStringPayrollItemDetail
Generates detailed payroll item reports, listing payroll transactions and their corresponding payroll items.
Columns
Name Type References Description LabelStringThe label column of the Payroll Item Detail report, typically used for grouping or categorizing data. NumStringA unique identifier or number associated with the payroll item. DateDateThe date associated with the payroll item transaction or event. Source_NameStringThe name of the source associated with the payroll item, such as an employee or vendor. Payroll_ItemStringThe name or type of the payroll item, such as a deduction or wage type. TypeStringIndicates the type of payroll item (for example, wage, deduction, or contribution). Wage_BaseDoubleThe wage base amount used to calculate the payroll item. This is typically the amount subject to taxes or deductions. AmountDoubleThe monetary value associated with the payroll item, such as the total deduction or contribution. RowTypeStringSpecifies the type of row in the report, such as Text, Data, Subtotal, or Total. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringDetailLevelStringPostingStatusStringReportAsOfStringSummarizeColumnsByStringIncludeColumnsStringIncludeAccountsStringSummarizeRowsByStringPayrollReviewDetail
Produces detailed payroll review reports, showing how QuickBooks calculates taxes on paychecks and year-to-date transactions.
Columns
Name Type References Description LabelStringA label representing a specific category or grouping within the Payroll Review Detail report. DateDateThe date of the payroll transaction, providing a chronological reference for the data. Entered_Last_ModifiedStringThe date and time when the payroll transaction was entered or last modified. Tax_Table_VersionStringThe version of the tax table used to calculate payroll taxes for the transaction. Income_Subject_To_TaxDoubleThe portion of income that is subject to taxation for the specified payroll transaction. Wage_BaseDoubleThe base wage amount used as the basis for calculating payroll taxes. Payroll_Tax_RateDoubleThe rate at which payroll taxes are applied to the wage base. User_Edit\_StringIndicates if the transaction was manually edited by a user, providing traceability for adjustments. AmountDoubleThe monetary amount associated with the payroll transaction, such as deductions or earnings. Calculated_AmountDoubleThe system-calculated amount for the payroll transaction based on tax rates, wage base, or other criteria. Amount_DifferenceDoubleThe difference between the user-entered amount and the calculated amount, highlighting discrepancies. RowTypeStringSpecifies the type of data in the row, such as Text, Data, Subtotal, or Total. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringDetailLevelStringPostingStatusStringReportAsOfStringSummarizeColumnsByStringIncludeColumnsStringIncludeAccountsStringSummarizeRowsByStringPayrollTransactionDetail
Generates detailed payroll transaction reports, showing line-item details for all payroll transactions.
Columns
Name Type References Description DateStringThe date of the payroll transaction, providing a chronological reference for each entry in the Payroll Transaction Detail report. NumStringThe reference number or unique identifier associated with the transaction, useful for tracking and reconciliation. TypeStringThe type of payroll transaction, such as paycheck, adjustment, or expense, categorizing the nature of the entry. Source_NameStringThe name of the source associated with the transaction, such as the employee or vendor involved. Payroll_ItemStringThe specific payroll item related to the transaction, for example, wages, bonuses, or deductions. Wage_BaseDoubleThe base wage amount for the payroll transaction, representing the gross pay before adjustments or deductions. AmountDoubleThe monetary value of the payroll transaction, reflecting the debited or credited amount. RowTypeStringThe classification of the row in the report, such as Text, Data, Subtotal, or Total, providing context for its role in the report. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringDetailLevelStringPostingStatusStringReportAsOfStringSummarizeColumnsByStringIncludeColumnsStringIncludeAccountsStringSummarizeRowsByStringPayrollTransactionsByPayee
Creates payroll transaction reports grouped by payee, offering insights into payment patterns and amounts.
Columns
Name Type References Description LabelStringThe label or name associated with a specific entry in the Payroll Transactions By Payee report, helping to identify the type of transaction. DateDateThe date the payroll transaction occurred, providing a chronological reference for each entry. NameStringThe name of the payee involved in the transaction, such as an employee, vendor, or other entity. NumStringA reference number associated with the transaction, useful for tracking and reconciling entries. TypeStringThe type of payroll transaction, such as paycheck, adjustment, or expense. MemoStringAdditional details or notes associated with the payroll transaction, often used for internal documentation. AccountStringThe name of the account to which the transaction is posted, such as payroll expenses or liabilities. AmountDoubleThe monetary amount of the payroll transaction, reflecting the debit or credit recorded. RowTypeStringThe classification of the row data in the report, such as Text, Data, Subtotal, or Total, to indicate its context. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringDetailLevelStringPostingStatusStringReportAsOfStringSummarizeColumnsByStringIncludeColumnsStringIncludeAccountsStringSummarizeRowsByStringPreferences
Queries QuickBooks company file preferences to retrieve user-defined settings and configurations.
Columns
Name Type References Description ID [KEY]StringThe unique key that identifies each record in the Preferences table. The default value is 1. AccountingPreferences_IsUsingAccountNumbersBooleanIndicates whether account numbers are allowed for new accounts. If set to true, account numbers can be recorded and displayed in the user interface. AccountingPreferences_IsRequiringAccountsBooleanIndicates whether assigning an account is mandatory for transactions. This is always required for SDK-generated transactions. AccountingPreferences_IsUsingClassTrackingBooleanIndicates if class tracking is enabled in QuickBooks, allowing the class field to appear on transactions. AccountingPreferences_AssignClassToStringSpecifies whether classes should be assigned to accounts or transactions by default. Requires QBXML version 12.0 or higher. AccountingPreferences_IsUsingAuditTrailBooleanIf true, QuickBooks logs all transaction changes in the audit trail report. If false, only the most recent transaction version is logged. AccountingPreferences_IsAssigningJournalEntryNumbersBooleanIf true, QuickBooks automatically assigns sequential numbers to journal entries. AccountingPreferences_ClosingDateDateThe company closing date defined in QuickBooks. Transactions before this date are restricted unless permitted by the admin. FinanceChargePreferences_AnnualInterestRateDoubleThe annual interest rate used to calculate finance charges. This rate is defined by the user. FinanceChargePreferences_MinFinanceChargeDecimalThe minimum finance charge applied to overdue amounts, regardless of the total overdue balance. FinanceChargePreferences_GracePeriodIntegerThe number of days before finance charges are applied to overdue invoices, as defined by the user. FinanceChargePreferences_FinanceChargeAccountRef_ListIDStringAccounts.ID A reference to the account ID used to track finance charges. Typically an income account. FinanceChargePreferences_FinanceChargeAccountRef_FullNameStringA reference to the full account name used for tracking finance charges. Typically an income account. FinanceChargePreferences_IsAssessingForOverdueChargesBooleanIndicates whether finance charges are applied to overdue finance charges. This is controlled by the user and varies by legal regulations. FinanceChargePreferences_CalculateChargesFromStringSpecifies whether finance charges are calculated from the due date or the invoice date. Defaults to DueDate unless changed. The allowed values are DueDate, InvoiceOrBilledDate. FinanceChargePreferences_IsMarkedToBePrintedBooleanIf true, newly created finance charge invoices are automatically marked for printing to simplify batch printing. JobsAndEstimatesPreferences_IsUsingEstimatesBooleanIndicates whether the user can create job estimates in QuickBooks. JobsAndEstimatesPreferences_IsUsingProgressInvoicingBooleanIndicates whether progress invoicing is enabled, allowing partial invoicing based on estimates. JobsAndEstimatesPreferences_IsPrintingItemsWithZeroAmountsBooleanSpecifies if line items with zero amounts are printed on progress invoices. Only applicable if progress invoicing is enabled. MultiCurrencyPreferences_IsMultiCurrencyOnBooleanIndicates whether multi-currency support is enabled. Once enabled, this feature cannot be turned off. Requires QBXML version 8.0 or higher. MultiCurrencyPreferences_HomeCurrencyRef_ListIDStringCurrency.ID The ID of the currency set as the home currency. Typically the currency of the business's country. Requires QBXML version 8.0 or higher. MultiCurrencyPreferences_HomeCurrencyRef_FullNameStringThe full name of the currency set as the home currency. Typically the currency of the business's country. Requires QBXML version 8.0 or higher. MultiLocationInventoryPreferences_IsMultiLocationInventoryAvailableBooleanIndicates if multiple inventory locations are available in the company file. Requires QBXML version 10.0 or higher. MultiLocationInventoryPreferences_IsMultiLocationInventoryEnabledBooleanIndicates if multiple inventory locations are enabled for tracking. PurchasesAndVendorsPreferences_IsUsingInventoryBooleanIndicates whether inventory tracking features are enabled in QuickBooks. PurchasesAndVendorsPreferences_DaysBillsAreDueIntegerThe default number of days after receipt within which bills must be paid. PurchasesAndVendorsPreferences_IsAutomaticallyUsingDiscountsBooleanIf true, available vendor discounts or credits are automatically applied when bills are paid. PurchasesAndVendorsPreferences_DefaultDiscountAccountRef_ListIDStringAccounts.ID The ID of the account where vendor discounts are tracked. PurchasesAndVendorsPreferences_DefaultDiscountAccountRef_FullNameStringThe full name of the account where vendor discounts are tracked. ReportsPreferences_AgingReportBasisStringDetermines how overdue days are calculated in aging reports, either from the transaction date or the due date. The allowed values are AgeFromDueDate, AgeFromTransactionDate. ReportsPreferences_SummaryReportBasisStringSpecifies whether summary reports are generated using cash-basis or accrual-basis accounting. The allowed values are Accrual, Cash. SalesAndCustomersPreferences_DefaultShipMethodRef_ListIDStringShippingMethods.ID The ID of the default shipping method used for the ShipVia field. SalesAndCustomersPreferences_DefaultShipMethodRef_FullNameStringThe full name of the default shipping method used for the ShipVia field. SalesAndCustomersPreferences_DefaultFOBStringThe default Freight on Board (FOB) location for invoiced products. SalesAndCustomersPreferences_DefaultMarkupDoubleThe default markup percentage applied to inventory items. SalesAndCustomersPreferences_IsTrackingReimbursedExpensesAsIncomeBooleanIndicates whether reimbursed expenses and associated income are tracked in separate accounts. SalesAndCustomersPreferences_IsAutoApplyingPaymentsBooleanIf true, customer payments are automatically applied to their outstanding invoices, starting with the oldest. SalesAndCustomersPreferences_PriceLevels_IsUsingPriceLevelsBooleanIndicates whether price levels are enabled for the company file under Sales and Customers preferences. SalesAndCustomersPreferences_PriceLevels_IsRoundingSalesPriceUpBooleanIf true, sales prices are rounded up to the nearest dollar for fixed percentage price levels. SalesTaxPreferences_DefaultItemSalesTaxRef_ListIDStringSalesTaxItems.ID The ID of the default sales tax code for taxable items. SalesTaxPreferences_DefaultItemSalesTaxRef_FullNameStringThe full name of the default sales tax code for taxable items. SalesTaxPreferences_PaySalesTaxStringSpecifies the frequency for reporting and paying sales tax. The allowed values are Monthly, Quarterly, Annually. SalesTaxPreferences_DefaultTaxableSalesTaxCodeRef_ListIDStringSalesTaxCodes.ID The ID of the default sales tax code for taxable sales. SalesTaxPreferences_DefaultTaxableSalesTaxCodeRef_FullNameStringThe full name of the default sales tax code for taxable sales. SalesTaxPreferences_DefaultNonTaxableSalesTaxCodeRef_ListIDStringSalesTaxCodes.ID The ID of the default sales tax code for non-taxable sales. SalesTaxPreferences_DefaultNonTaxableSalesTaxCodeRef_FullNameStringThe full name of the default sales tax code for non-taxable sales. SalesTaxPreferences_IsUsingVendorTaxCodeBooleanIndicates if vendor-specific tax codes are used. SalesTaxPreferences_IsUsingCustomerTaxCodeBooleanIndicates if customer-specific tax codes are used. SalesTaxPreferences_IsUsingAmountsIncludeTaxBooleanIndicates if amounts in transactions include sales tax. TimeTrackingPreferences_FirstDayOfWeekStringThe first day of the week used for weekly timesheets. The allowed values are Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. CurrentAppAccessRights_IsAutomaticLoginAllowedBooleanIndicates if applications are allowed to use auto-login for this QuickBooks file. CurrentAppAccessRights_AutomaticLoginUserNameStringThe username allowed to use auto-login for this QuickBooks file. CurrentAppAccessRights_IsPersonalDataAccessAllowedBooleanIndicates if access is allowed to sensitive personal data in this QuickBooks file. ItemsAndInventoryPreferences_EnhancedInventoryReceivingEnabledBooleanIndicates if enhanced inventory receiving features are enabled. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingSerialOrLotNumberStringIndicates whether tracking by serial or lot number is enabled. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnSalesTransactionsEnabledBooleanIndicates if tracking is enabled on sales transactions. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnPurchaseTransactionsEnabledBooleanIndicates if tracking is enabled on purchase transactions. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnInventoryAdjustmentEnabledBooleanIndicates if tracking is enabled on inventory adjustments. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnBuildAssemblyEnabledBooleanIndicates if tracking is enabled on build assemblies. Requires QBXML version 11.0. ItemsAndInventoryPreferences_FIFOEnabledBooleanIndicates if the First-In-First-Out (FIFO) costing method is enabled. Requires QBXML version 11.0. ItemsAndInventoryPreferences_FIFOEffectiveDateDateThe date on which FIFO costing takes effect. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsRSBEnabledBooleanIndicates if Reorder Point-Based Stock management is enabled. Requires QBXML version 12.0. ItemsAndInventoryPreferences_IsBarcodeEnabledBooleanIndicates if barcode scanning is enabled for inventory management. Requires QBXML version 12.0. ProfitAndLossDetail
Generates detailed Profit and Loss reports, providing in-depth financial analysis.
Columns
Name Type References Description LabelStringThe label or category for each row in the Profit and Loss Detail report, typically representing account names or other identifying information. TypeStringSpecifies the type of transaction or entry in the report, such as 'Invoice', 'Expense', or 'Payment'. DateDateThe date of the transaction associated with the row, formatted as yyyy-MM-dd. NumStringThe transaction number or reference identifier for the entry, useful for tracking specific transactions. NameStringThe name of the entity (such as a customer, vendor, or employee) linked to the transaction. MemoStringAdditional details or notes provided for the transaction, often used for context or explanation. ClassStringThe class assigned to the transaction, used for categorization or tracking across accounts. ClrStringIndicates whether the transaction is cleared or uncleared in the bank reconciliation process. SplitStringThe account that is offset by the transaction (where the funds are transferred to or from). AmountDoubleThe monetary value of the transaction or line item, reflecting income or expense amounts. BalanceDoubleThe running balance of the account after the transaction is applied. RowTypeStringIdentifies the type of data in the row, such as 'Text' for labels, 'Data' for transactions, or 'Total' for subtotals and grand totals. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringReportDateRangeMacroStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringModifiedDateRangeMacroStringDetailLevelStringPostingStatusStringReportAsOfStringIncludeAccountsStringReportBasisStringIncludeColumnsStringSummarizeRowsByStringProfitAndLossStandard
Creates year-to-date Profit and Loss comparison reports, offering insights into financial performance over time.
Columns
Name Type References Description LabelStringThe label or title of each row in the Profit and Loss Standard report, providing context for the associated data, such as account names or categories. AmountDoubleThe numerical value in the Profit and Loss Standard report, representing monetary amounts such as revenue, expenses, or totals. RowTypeStringThe classification of the row in the report, indicating whether it contains text, numerical data, subtotals, or grand totals. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ReportPeriodStringReportDateRangeMacroStringAccountTypeStringAccountListStringAccountListTypeStringEntityTypeStringEntityListStringEntityListTypeStringItemTypeStringItemListStringItemListTypeStringClassListStringClassListTypeStringTransactionTypesStringModifiedDateRangeStringModifiedDateRangeMacroStringDetailLevelStringPostingStatusStringReportAsOfStringSummarizeColumnsByStringIncludeSubColumnsStringReportBasisStringReturnColumnsStringReturnRowsStringReportCalendarStringPurchaseOrderLinkedTransactions
Queries transactions linked to QuickBooks Purchase Orders, such as receipts or bills.
Table Specific Information
Linked transactions are transactions that have been associated with the PurchaseOrder specified by the PurchaseOrderId column.
Columns
Name Type References Description ID [KEY]StringA unique identifier for the linked transaction, formatted as PurchaseOrderId|ItemLineId, for precise tracking of line items within a purchase order. PurchaseOrderIdStringPurchaseOrders.ID The unique identifier of the purchase order associated with this linked transaction. VendorNameStringThe name of the vendor to whom this purchase order is issued. Either VendorName or VendorId must be provided when inserting the transaction. VendorIdStringVendors.ID The QuickBooks ID of the vendor to whom this purchase order is issued. Either VendorId or VendorName must be provided when inserting the transaction. VendorMessageStringA custom message or note to be included for the vendor, often used for special instructions or additional information. ReferenceNumberStringA reference number assigned to the purchase order for tracking or identification purposes. TxnNumberIntegerA unique transaction number assigned for additional tracking, distinct from the Quickbooks generated ID. DateDateThe date when the purchase order was created or recorded. When used in a WHERE clause, it overrides pseudo-columns StartDate and EndDate. TransactionIdStringThe QuickBooks ID of the transaction linked to this purchase order, such as a bill or payment. TransactionAmountDecimalThe monetary value of the linked transaction, representing its total amount. TransactionDateDateThe date on which the linked transaction occurred. TransactionReferenceNumberStringThe reference number associated with the linked transaction, often used for cross-referencing. TransactionTypeStringThe specific type of transaction linked to the purchase order, such as 'Bill' or 'Payment'. TransactionLinkTypeStringIndicates the relationship between the purchase order and the linked transaction, such as 'Applied' or 'Referenced'. TimeModifiedDatetimeThe date and time when the purchase order was last modified in QuickBooks. TimeCreatedDatetimeThe date and time when the purchase order was initially created in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringReceivePaymentToDeposit
Generates reports of payments received and ready to be deposited in QuickBooks.
Table Specific Information
Select
The QuickBooks does not support any filters on the server side. All the columns specified in the WHERE clause of a SELECT query will be processed on the client-side. For example, the following query processed on the server side:
SELECT * FROM ReceivePaymentToDepositColumns
Name Type References Description ID [KEY]StringThe unique identifier for the payment transaction, used to distinguish it from others. TxnTypeStringThe type of transaction, such as a payment or deposit. TxnLineIDStringThe unique identifier for the specific line within the transaction, useful for tracking individual entries. CustomerRef_ListIDStringCustomers.ID The Quickbooks assigned unique ID for the customer associated with this transaction. CustomerRef_FullNameStringThe full name of the customer associated with the transaction, as recorded in QuickBooks. TxnDateDateThe date when the payment transaction occurred, useful for financial tracking and reconciliation. RefNumberStringA reference number assigned to the transaction for identification, such as a check number or payment ID. AmountDecimalThe total amount for this transaction, calculated automatically by QuickBooks based on line items or expenses. CurrencyIdStringCurrency.ID The unique QuickBooks ID for the currency used in the transaction. This requires QBXML version 8.0 or higher. CurrencyNameStringThe name of the currency used for the transaction, such as USD or EUR. Requires QBXML version 8.0 or higher. ExchangeRateDoubleThe market exchange rate applied to convert the transaction's currency into the home currency of the QuickBooks file. AmountInHomeCurrencyDoubleThe transaction amount expressed in the company's home currency, after applying the exchange rate. SalesOrderLinkedTransactions
Queries transactions linked to QuickBooks Sales Orders, such as associated invoices or shipments.
Table Specific Information
Linked transactions are transactions that have been associated with the SalesOrder specified by the SalesOrderId column.
Columns
Name Type References Description ID [KEY]StringA unique identifier for the linked transaction in the format SalesOrderId|ItemLineId, combining the sales order ID and the line item ID for clear referencing. SalesOrderIdStringSalesOrders.ID The unique identifier of the sales order associated with the linked transaction. ReferenceNumberStringThe reference number of the sales order, used for tracking and customer communication. TxnNumberIntegerThe unique transaction number assigned within QuickBooks, distinct from the system-generated ID, for internal reference. CustomerNameStringThe name of the customer associated with this sales order and its linked transactions. CustomerIdStringCustomers.ID The unique QuickBooks ID of the customer linked to this sales order and its transactions. DateDateThe date when the sales order was created or last updated. TransactionIdStringInvoices.ID The QuickBooks ID of the linked transaction, providing a connection between the sales order and the related transaction. TransactionAmountDecimalThe monetary amount of the linked transaction, such as an invoice or payment related to the sales order. TransactionDateDateThe date of the linked transaction, such as when an invoice was issued or a payment was received. TransactionReferenceNumberStringThe reference number associated with the linked transaction, used for tracking and reconciliation. TransactionTypeStringThe type of the linked transaction, such as Invoice, Payment, or Credit Memo, to clarify its role in relation to the sales order. TransactionLinkTypeStringThe nature of the link between the sales order and the transaction, such as 'applied to' or 'referenced by.' TimeModifiedDatetimeThe last date and time when the sales order or its linked transactions were modified in QuickBooks. TimeCreatedDatetimeThe date and time when the sales order or its linked transactions were initially created in QuickBooks. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemPriceLevelStringStatementChargeLinkedTransactions
Queries transactions linked to QuickBooks Statement Charges, such as associated payments or invoices.
Table Specific Information
Linked transactions are transactions that have been associated with the StatementCharge specified by the StatementChargeId column.
Columns
Name Type References Description ID [KEY]StringThe unique identifier formatted as StatementChargeId|TransactionLineId. This is used to uniquely identify a specific linked transaction. StatementChargeIdStringStatementCharges.ID The identifier for the statement charge associated with this transaction. ReferenceNumberStringThe reference number associated with the statement charge transaction. This value can help track or match the transaction in QuickBooks. TxnNumberIntegerThe transaction number, which is an additional identifier for the transaction but is not the Quickbooks generated ID. CustomerNameStringThe name of the customer associated with this transaction. This identifies the individual or business linked to the charge. CustomerIdStringCustomers.ID The unique identifier for the customer associated with this transaction. This value is used for referencing customers within QuickBooks. DateDateThe date when the transaction occurred. This represents the main transaction date recorded in QuickBooks. TransactionIdStringThe unique identifier of the linked transaction, used to reference related transactions within QuickBooks. TransactionAmountDecimalThe monetary amount associated with the linked transaction. This represents the value of the transaction. TransactionDateDateThe date when the linked transaction occurred. This provides the timeline for the linked transaction. TransactionReferenceNumberStringThe reference number of the linked transaction. This is typically used for tracking or cross-referencing purposes. TransactionTypeStringThe type of transaction linked to the statement charge. For example, this could include types such as Invoice, Credit Memo, or Payment. TransactionLinkTypeStringThe relationship between the statement charge and the linked transaction. This specifies how the transactions are connected. TimeModifiedDatetimeThe date and time when the statement charge was last modified. This indicates the most recent update to the record. TimeCreatedDatetimeThe date and time when the statement charge was initially created in QuickBooks. Templates
Queries QuickBooks templates for transactions, invoices, or reports, enabling customization and standardization.
Columns
Name Type References Description ID [KEY]StringThe unique identifier for the template. This field is used to uniquely reference each template in QuickBooks. NameStringThe name of the template, which is used to identify the template within QuickBooks. IsActiveBooleanA boolean value indicating whether the template is currently active. True means the template is active and available for use; false means it is inactive. TemplateTypeStringThe type of template being described. The allowed values are BuildAssembly, CreditMemo, Estimate, Invoice, PurchaseOrder, SalesOrder, or SalesReceipt. This defines the template's purpose within QuickBooks. EditSequenceStringA string that tracks the version of the template. This value is updated each time the template is modified to ensure version control. TimeCreatedDatetimeThe date and time when the template was initially created in QuickBooks. TimeModifiedDatetimeThe date and time when the template was last updated in QuickBooks. Transactions
Queries QuickBooks transactions by type, entity, account, or other attributes, providing detailed financial activity tracking. You can search Transactions using a number of values including Type, Entity, Account, ReferenceNumber, Item, Class, Date, and TimeModified.
Columns
Name Type References Description IDStringThe unique identifier for this transaction, assigned by QuickBooks. It is used to distinguish this transaction from others. TxnLineIdStringThe unique identifier for the individual line item within this transaction. TypeStringThe type of transaction, such as Invoice, Bill, Payment, or CreditMemo. DateDateThe date of the transaction in the format YYYY-MM-DD. This field is required when inserting a transaction. EntityStringThe name of the entity associated with the transaction, such as a customer, vendor, employee, or other name. EntityIdStringThe unique identifier (Id) of the entity associated with the transaction, such as a customer, vendor, employee, or other name. AccountNameStringThe name of the account associated with the transaction, such as Checking, Accounts Receivable, or Inventory. AccountIdStringAccounts.ID The unique identifier (Id) of the account associated with the transaction. ReferenceNumberStringA reference number for the transaction, if applicable, such as a check number or invoice number. AmountDecimalThe total monetary amount for this transaction, in the transaction's currency. CurrencyNameStringThe name of the currency used for this transaction, such as USD or CAD. Requires QBXML Version 8.0 or higher. CurrencyIdStringCurrency.ID The unique identifier (Id) of the currency used for this transaction. Requires QBXML Version 8.0 or higher. ExchangeRateDoubleThe exchange rate for converting the transaction's currency into the home currency of the QuickBooks company file. AmountInHomeCurrencyDecimalThe amount of the transaction converted into the home currency of the QuickBooks company file. MemoStringAdditional information or notes related to the transaction, as entered in the memo field. TimeModifiedDatetimeThe date and time when the transaction was last modified, in the format YYYY-MM-DD HH:MM:SS. TimeCreatedDatetimeThe date and time when the transaction was originally created, in the format YYYY-MM-DD HH:MM:SS. Pseudo-Columns
Pseudo Column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name Type Description ItemNameStringItemIdStringClassNameStringClassIdStringPostingStatusStringPaidStatusStringDetailLevelStringVendorCreditLinkedTransactions
Queries transactions linked to QuickBooks Vendor Credits, such as associated bills or payments.
Table Specific Information
Linked transactions are transactions that have been associated with the VendorCredit specified by the VendorCreditId column.
Columns
Name Type References Description ID [KEY]StringThe unique identifier for the linked transaction, formatted as VendorCreditId|ItemLineId to combine the vendor credit ID and the linked item line ID. VendorCreditIdStringVendorCredits.ID The unique identifier of the VendorCredit transaction associated with the linked transaction. VendorNameStringThe name of the vendor associated with this transaction. Either VendorName or VendorId must be provided when inserting. VendorIdStringVendors.ID The unique identifier of the vendor associated with this transaction. Either VendorName or VendorId must be provided when inserting. DateDateThe date of the vendor credit transaction in the format YYYY-MM-DD. Overrides StartDate and EndDate pseudo columns when specified in a WHERE clause. TxnNumberIntegerAn identifying number for the transaction, distinct from the Quickbooks generated ID. ReferenceNumberStringThe reference number assigned to this vendor credit transaction. TransactionIdStringBills.ID The unique identifier of the linked transaction associated with this vendor credit. TransactionAmountDecimalThe amount involved in the linked transaction. TransactionDateDateThe date of the linked transaction in the format YYYY-MM-DD. TransactionReferenceNumberStringThe reference number assigned to the linked transaction. TransactionTypeStringThe type of the linked transaction, such as Bill, Payment, or JournalEntry. TransactionLinkTypeStringDescribes the link type between the vendor credit and the linked transaction, indicating the nature of their relationship. TimeModifiedDatetimeThe date and time when the vendor credit was last modified, in the format YYYY-MM-DD HH:MM:SS. TimeCreatedDatetimeThe date and time when the vendor credit was created, in the format YYYY-MM-DD HH:MM:SS. Stored Procedures
Stored procedures are function-like interfaces that extend the functionality of the connector beyond simple SELECT/INSERT/UPDATE/DELETE operations with QuickBooks.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from QuickBooks, along with an indication of whether the procedure succeeded or failed.
QuickBooks Connector Stored Procedures
Name Description ClearTransactionMarks specified transaction checks in QuickBooks with statuses such as Cleared, NotCleared, or Pending for reconciliation. CreateReportSchemaGenerates a schema file for custom QuickBooks reports, providing a structure for tailored data extraction. GetQBFileStatusRetrieves the current status of the QuickBooks file, providing insight into its availability or issues. ListMergeMerges two accounts, customers, or vendors in QuickBooks. Requires QBXML Version 7.0 or higher. SearchEntitiesFacilitates entity searches in QuickBooks by various attributes, streamlining entity identification. SendQBXMLSends QBXML data directly to QuickBooks, enabling custom operations or mass processing. SendQBXMLFileSends a QBXML file directly to QuickBooks for bulk operations or advanced data handling. VoidTransactionVoids a specified transaction in QuickBooks, ensuring proper tracking and adjustment of financial records. ClearTransaction
Marks specified transaction checks in QuickBooks with statuses such as Cleared, NotCleared, or Pending for reconciliation.
Input
Name Type Description TxnIDStringThe unique identifier of the transaction to be cleared. The TxnID must refer to a balance sheet transaction. TxnLineIDStringThe unique identifier of the specific line item within the transaction to be cleared. ClearedStatusStringThe status indicating whether the transaction has been cleared. Possible values are determined by QuickBooks. The allowed values are Cleared, NotCleared, Pending. Result Set Columns
Name Type Description \*StringThe output data varies depending on the QuickBooks XML (QBXML) request provided. CreateReportSchema
Generates a schema file for custom QuickBooks reports, providing a structure for tailored data extraction.
CreateReportSchema
CreateReportSchemacreates a schema file based on the specified report.This schema adds a table to your existing list that corresponds with the results of your report, which can then be queried like other tables.
(Reports from the QuickBooks are not modeled by connector as queryable tables by default.)
The generated schema file outlines the metadata for the report, such as columns and column data types. You can edit the file to adjust data types, rename columns, and include or exclude columns.
Updating a Report Schema
In the following example, the SP
CreateReportSchemacreates a new report usingTestReportTest1as a base template. It appends new columns toTestReportTest1and creates a new report, namedTestReport2. The new report is saved as...\TestReportTest2.rsd.EXECUTE [CreateReportSchema] [ReportName] = "TestReportTest2", [CustomFieldIdsPrimitive] = "1459925,1459928", [CustomFieldIdsDropdown] = "1469785", [CustomDimensionKeyIds] = "13539564", [BaseReportName] = "TestReportTest1", [FileName] = "...\TestReportTest2.rsd"Input
Name Type Description ReportNameStringThe name of the report. If not specified, the ReportType is used as the default name. ReportDescriptionStringA brief description of the report. If not provided, a description based on the ReportType is used. ReportTypeStringSpecifies the type of report for which the schema will be created. The allowed values are 1099DETAIL, APAGINGDETAIL, APAGINGSUMMARY, ARAGINGDETAIL, ARAGINGSUMMARY, AUDITTRAIL, BALANCESHEETBUDGETOVERVIEW, BALANCESHEETBUDGETVSACTUAL, BALANCESHEETDETAIL, BALANCESHEETPREVYEARCOMP, BALANCESHEETSTANDARD, BALANCESHEETSUMMARY, CHECKDETAIL, COLLECTIONSREPORT, CUSTOMDETAIL, CUSTOMERBALANCEDETAIL, CUSTOMERBALANCESUMMARY, CUSTOMSUMMARY, DEPOSITDETAIL, EMPLOYEEEARNINGSSUMMARY, EMPLOYEESTATETAXESDETAIL, ESTIMATESBYJOB, EXPENSEBYVENDORDETAIL, EXPENSEBYVENDORSUMMARY, GENERALLEDGER, INCOMEBYCUSTOMERDETAIL, INCOMEBYCUSTOMERSUMMARY, INCOMETAXDETAIL, INCOMETAXSUMMARY, INVENTORYSTOCKSTATUSBYITEM, INVENTORYSTOCKSTATUSBYVENDOR, INVENTORYVALUATIONDETAIL, INVENTORYVALUATIONSUMMARY, ITEMESTIMATESVSACTUALS, ITEMPROFITABILITY, JOBESTIMATESVSACTUALSDETAIL, JOBESTIMATESVSACTUALSSUMMARY, JOBPROFITABILITYDETAIL, JOBPROFITABILITYSUMMARY, JOBPROGRESSINVOICESVSESTIMATES, JOURNAL, MISSINGCHECKS, OPENINVOICES, OPENPOS, OPENPOSBYJOB, OPENSALESORDERBYCUSTOMER, OPENSALESORDERBYITEM, PAYROLLITEMDETAIL, PAYROLLLIABILITYBALANCES, PAYROLLREVIEWDETAIL, PAYROLLSUMMARY, PAYROLLTRANSACTIONDETAIL, PAYROLLTRANSACTIONSBYPAYEE, PENDINGSALES, PHYSICALINVENTORYWORKSHEET, PROFITANDLOSSBUDGETOVERVIEW, PROFITANDLOSSBUDGETPERFORMANCE, PROFITANDLOSSBUDGETVSACTUAL, PROFITANDLOSSBYCLASS, PROFITANDLOSSBYJOB, PROFITANDLOSSDETAIL, PROFITANDLOSSPREVYEARCOMP, PROFITANDLOSSSTANDARD, PROFITANDLOSSYTDCOMP, PURCHASEBYITEMDETAIL, PURCHASEBYITEMSUMMARY, PURCHASEBYVENDORDETAIL, PURCHASEBYVENDORSUMMARY, SALESBYCUSTOMERDETAIL, SALESBYCUSTOMERSUMMARY, SALESBYITEMDETAIL, SALESBYITEMSUMMARY, SALESBYREPDETAIL, SALESBYREPSUMMARY, SALESTAXLIABILITY, SALESTAXREVENUESUMMARY, TIMEBYITEM, TIMEBYJOBDETAIL, TIMEBYJOBSUMMARY, TIMEBYNAME, TRIALBALANCE, TXNDETAILBYACCOUNT, TXNLISTBYCUSTOMER, TXNLISTBYDATE, TXNLISTBYVENDOR, UNBILLEDCOSTSBYJOB, UNPAIDBILLSDETAIL, VENDORBALANCEDETAIL, VENDORBALANCESUMMARY. IncludeRowtypeBooleanA boolean indicating whether the rowtype column should be included in the output schema. The default value is FALSE. ReportPeriodStringThe date range for the report in the format fromdate:todate. You can omit either value for an open-ended range or use a macro such as TODAY, THISMONTH, or LASTYEAR. Supported formats include yyyy-MM-dd. AccountTypeStringThe specific type of account to include in the report. The allowed values are NONE, ACCOUNTSPAYABLE, ACCOUNTSRECEIVABLE, ALLOWEDFOR1099, APANDSALESTAX, APORCREDITCARD, ARANDAP, ASSET, BALANCESHEET, BANK, BANKANDARANDAPANDUF, BANKANDUF, COSTOFSALES, CREDITCARD, CURRENTASSET, CURRENTASSETANDEXPENSE, CURRENTLIABILITY, EQUITY, EQUITYANDINCOMEANDEXPENSE, EXPENSEANDOTHEREXPENSE, FIXEDASSET, INCOMEANDEXPENSE, INCOMEANDOTHERINCOME, LIABILITY, LIABILITYANDEQUITY, LONGTERMLIABILITY, NONPOSTING, ORDINARYEXPENSE, ORDINARYINCOME, ORDINARYINCOMEANDCOGS, ORDINARYINCOMEANDEXPENSE, OTHERASSET, OTHERCURRENTASSET, OTHERCURRENTLIABILITY, OTHEREXPENSE, OTHERINCOME, OTHERINCOMEOREXPENSE. AccountListStringA comma-separated list of account names or IDs to include in the report. Use with AccountListType for additional filtering. AccountListTypeStringSpecifies whether the AccountList represents account names or account IDs. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. EntityTypeStringThe type of entity to include in the report, such as Customers or Vendors. The allowed values are NONE, CUSTOMER, EMPLOYEE, OTHERNAME, VENDOR. EntityListStringA comma-separated list of entity names or IDs to include in the report. Use with EntityListType for additional filtering. EntityListTypeStringSpecifies whether the EntityList represents entity names or entity IDs. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. ItemTypeStringThe type of items to include in the report, such as Inventory or NonInventory. The allowed values are NONE, ALLEXCEPTFIXEDASSET, ASSEMBLY, DISCOUNT, FIXEDASSET, INVENTORY, INVENTORYANDASSEMBLY, NONINVENTORY, OTHERCHARGE, PAYMENT, SALES, SALESTAX, SERVICE. ItemListStringA comma-separated list of item names or IDs to include in the report. Use with ItemListType for additional filtering. ItemListTypeStringSpecifies whether the ItemList represents item names or item IDs. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. ClassListStringA comma-separated list of class names or IDs to include in the report. Use with ClassListType for additional filtering. ClassListTypeStringSpecifies whether the ClassList represents class names or class IDs. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. ModifiedDateRangeStringThe range of modification dates to filter the report, in the format fromdate:todate. You can omit either value for an open-ended range or use macros. The allowed values are ALL, TODAY, THISWEEK, THISWEEKTODATE, THISMONTH, THISMONTHTODATE, THISQUARTER, THISQUARTERTODATE, THISYEAR, THISYEARTODATE, YESTERDAY, LASTWEEK, LASTWEEKTODATE, LASTMONTH, LASTMONTHTODATE, LASTQUARTER, LASTQUARTERTODATE, LASTYEAR, LASTYEARTODATE, NEXTWEEK, NEXTFOURWEEKS, NEXTMONTH, NEXTQUARTER, NEXTYEAR.. DetailLevelStringThe level of detail to include in the report, such as Summary or All. The allowed values are ALL, ALLEXCEPTSUMMARY, SUMMARYONLY. SummarizeColumnsByStringDetermines how data is grouped and labeled across the columns of the report, such as by Date or Account. The allowed values are NONE, ACCOUNT, BALANCESHEET, CLASS, CUSTOMER, CUSTOMERTYPE, DAY, EMPLOYEE, FOURWEEK, HALFMONTH, INCOMESTATEMENT, ITEMDETAIL, ITEMTYPE, MONTH, PAYEE, PAYMENTMETHOD, PAYROLLITEMDETAIL, QUARTER, SALESREP, SALESTAXCODE, SHIPMETHOD, TERMS, TOTALONLY, TWOWEEK, VENDOR, VENDORTYPE, WEEK, YEAR. IncludeSubColumnsStringA boolean indicating whether subcolumns should be included in the report. IncludeColumnsStringA comma-separated list of columns to include in the report, such as ACCOUNT, DATE, or AMOUNT. IncludeAccountsStringIndicates whether the report should include all accounts or only those currently in use. The allowed values are ALL, INUSE. SummarizeRowsByStringDetermines how data is grouped and labeled across the rows of the report, such as by Account or Customer. The allowed values are NONE, ACCOUNT, BALANCESHEET, CLASS, CUSTOMER, CUSTOMERTYPE, DAY, EMPLOYEE, FOURWEEK, HALFMONTH, INCOMESTATEMENT, ITEMDETAIL, ITEMTYPE, MONTH, PAYEE, PAYMENTMETHOD, PAYROLLITEMDETAIL, QUARTER, SALESREP, SALESTAXCODE, SHIPMETHOD, TAXLINE, TERMS, TOTALONLY, TWOWEEK, VENDOR, VENDORTYPE, WEEK, YEAR. ReportCalendarStringSpecifies the type of year used in the report, such as Fiscal or Calendar. The allowed values are NONE, CALENDARYEAR, FISCALYEAR, TAXYEAR. ReturnRowsStringSpecifies whether the report should include all rows, only rows with active information, or only rows with nonzero values. The allowed values are NONE, ACTIVEONLY, NONZERO, All. ReturnColumnsStringSpecifies whether the report should include all columns, only columns with active information, or only columns with nonzero values. The allowed values are NONE, ACTIVEONLY, NONZERO, All. PostingStatusStringAllows filtering the report for posting, nonposting, or both types of transactions. The allowed values are EITHER, NONPOSTING, POSTING. ReportAsOfStringReturns open balance information as of the specified date. The allowed values are REPORTENDDATE, TODAY. TransactionTypesStringA comma-separated list of transaction types to include in the report, such as INVOICE, BILL, or CREDITMEMO. ReportBasisStringSpecifies whether the report is based on Cash, Accrual, or the default setting in QuickBooks. The allowed values are ACCRUAL, CASH, NONE. FiscalYearStringThe fiscal year to query for budgets in the report. BudgetCriterionStringSpecifies what the budget covers, such as Accounts or Classes. The allowed values are NONE, ACCOUNTS, ACCOUNTSANDCLASSES, ACCOUNTSANDCUSTOMERS. SummarizeBudgetColumnsByStringDetermines how budget data is grouped and labeled across the columns of the report. The allowed values are NONE, CLASS, CUSTOMER, DATE. SummarizeBudgetRowsByStringDetermines how budget data is grouped and labeled across the rows of the report. The allowed values are NONE, CLASS, CUSTOMER, ACCOUNT. Result Set Columns
Name Type Description ResultStringIndicates whether the operation succeeded or failed. SchemaFileStringThe file containing the generated report schema. ColumnsStringThe number of columns identified in the report schema. GetQBFileStatus
Retrieves the current status of the QuickBooks file, providing insight into its availability or issues.
Result Set Columns
Name Type Description QbfilestatusStringA numerical status code representing the connection state of the QuickBooks file. A value of 0 indicates that the file is accessible and can be connected to. A value of 1 indicates that the file is inaccessible and cannot be connected to. A value of -1 indicates that the connection status could not be determined, possibly due to an error or insufficient information. ListMerge
Merges two accounts, customers, or vendors in QuickBooks. Requires QBXML Version 7.0 or higher.
Input
Name Type Description TypeStringSpecifies the type of object being merged, such as Customer, Vendor, or Item. The allowed values are Account, Customer, Vendor. MergeFromIdStringThe unique identifier of the object that will be merged into another object. Either the ID or Name must be specified for the object being merged. MergeFromNameStringThe name of the object that will be merged into another object. Either the Name or ID must be specified for the object being merged. MergeToIdStringThe unique identifier of the target object into which another object will be merged. Either the ID or Name must be specified for the target object. MergeToNameStringThe name of the target object into which another object will be merged. Either the Name or ID must be specified for the target object. OverwriteDuplicateShipToAddrStringIndicates whether duplicate shipping addresses in the target object should be overwritten by those in the source object during the merge. Requires QBXML version 8.0 or higher. Result Set Columns
Name Type Description SuccessStringIndicates whether the merge operation was successfully completed. ErrorMessageStringProvides an error message if the merge operation fails, detailing the cause of the failure. SearchEntities
Facilitates entity searches in QuickBooks by various attributes, streamlining entity identification.
Input
Name Type Description EntityStringSpecifies the type of QuickBooks entity to search, such as customers, vendors, or transactions. Use this to narrow down the scope of your search. The allowed values are Vendor, Employee, Bill, Invoice, CreditMemo, VendorCredit, SalesReceipt, PurchaseOrder, CCCredit, CCCharge, Customer, Estimate, SalesOrder, TimeTracking, ReceivePayment, JournalEntry, Item, Account, Deposit, InventoryAdjustment, PriceLevel, Class, CustomerType, JobType, PaymentMethod, PayrollItemWage, SalesTaxCode, ShipMethod, SalesRep, VendorType, BillToPay, ItemAssembliesCanBuild, ListDeleted, Preferences, ReceivePaymentToDeposit, SalesTaxPaymentCheck, TxnDeleted, ItemReceipt, BillPaymentCheck, BillPaymentCharge, StatementCharge, VehicleMileage, OtherTransaction, OtherList. The default value is Vendor. NameStringThe specific name or partial name to search for within the selected entity. Combine this with NameMatch to refine the results. NameMatchStringDefines the matching strategy for the search. Options can include exact match, partial match, or other predefined patterns to locate relevant records. The allowed values are EXACT, CONTAINS, STARTSWITH, ENDSWITH, RANGEEND, RANGESTART. The default value is EXACT. StartModifiedDateStringFilters records to include only those modified on or after this date. Acceptable date formats are MM-DD-YY, MM-DD-YYYY, MM/DD/YY, and MM/DD/YYYY. Dates in these formats are automatically converted to the standard YYYY-MM-DD format. EndModifiedDateStringFilters records to include only those modified on or before this date. Acceptable date formats are MM-DD-YY, MM-DD-YYYY, MM/DD/YY, and MM/DD/YYYY. Dates in these formats are automatically converted to the standard YYYY-MM-DD format. MinBalanceStringSpecifies the minimum balance for records to be included in the results. Only records with balances equal to or greater than this value are returned. MaxBalanceStringSpecifies the maximum balance for records to be included in the results. Only records with balances less than or equal to this value are returned. MaxResultsStringLimits the number of records returned by the search to the specified maximum. Use this to control the size of the result set. OtherEntityStringAllows searching for entities not covered by the Entity field. For example, specify 'ItemService' to search for service items. When using this field, set Entity to 'OtherList'. Result Set Columns
Name Type Description XMLEntryStringProvides a single result from the search in raw XML format. This is particularly useful for detailed inspection or further processing of the data. \*StringThe output structure depends on the entity being queried. It might include detailed records, summaries, or additional metadata relevant to the search. SendQBXML
Sends QBXML data directly to QuickBooks, enabling custom operations or mass processing.
Input
Name Type Description RawXMLStringThe raw QBXML string to be submitted to QuickBooks. Ensure the QBXML adheres to the QuickBooks XML schema for successful processing. OutputRawResponseStringSpecifies whether the response should be returned in its raw XML format or as a parsed and structured response. By default, the system returns a parsed response for easier readability and usage. The default value is false. Result Set Columns
Name Type Description \*StringThe output of the operation depends on the content of the supplied QBXML request. This may include transaction details, confirmation messages, or error information based on the request's context and outcome. SendQBXMLFile
Sends a QBXML file directly to QuickBooks for bulk operations or advanced data handling.
Input
Name Type Description FileStringThe URL of the file containing QBXML data to be sent to QuickBooks. This file should follow the QuickBooks XML schema for seamless processing. ContinueOnErrorStringSpecifies whether QuickBooks should continue processing subsequent requests after encountering an error. Useful for bulk operations where stopping on the first error is not desirable. The default value is true. IncludeInfoMessagesStringDetermines whether informational messages, such as successful request confirmations, should be included in the output. These messages provide feedback about the operation's progress. The default value is false. Result Set Columns
Name Type Description RequestIdStringThe unique identifier associated with a specific QBXML request, useful for tracking and correlating requests and responses. SeverityStringIndicates the severity level of the message, such as 'Info', 'Warning', or 'Error', providing context for the response. StatusCodeStringA numeric code representing the outcome of the QBXML request, such as 0 for success or other values for errors. StatusMessageStringA descriptive message detailing the result of the QBXML request, including error information or confirmation of successful operations. VoidTransaction
Voids a specified transaction in QuickBooks, ensuring proper tracking and adjustment of financial records.
Input
Name Type Description TransactionTypeStringSpecifies the type of transaction to be voided, such as an invoice, bill, check, or similar transaction. This input helps identify the category of the transaction in QuickBooks. The allowed values are ARRefundCreditCard, Bill, BillPaymentCheck, BillPaymentCreditCard, Charge, Check, CreditCardCharge, CreditCardCredit, CreditMemo, Deposit, InventoryAdjustment, Invoice, ItemReceipt, JournalEntry, SalesReceipt, VendorCredit. TxnIDStringThe unique identifier (Id) of the transaction to be voided. This must correspond to the transaction type specified in TransactionType. Result Set Columns
Name Type Description \*StringThe output varies based on the supplied QBXML request and the result of the void operation. Typically, it provides confirmation or details of the voided transaction. 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:
- sys_catalogs: Lists the available databases.
- sys_schemas: Lists the available schemas.
- sys_tables: Lists the available tables and views.
- sys_tablecolumns: Describes the columns of the available tables and views.
- sys_procedures: Describes the available stored procedures.
- sys_procedureparameters: Describes stored procedure parameters.
- sys_keycolumns: Describes the primary and foreign keys.
- sys_indexes: Describes the available indexes.
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.
sys_catalogs
Lists the available databases.
The following query retrieves all databases determined by the connection string:
SELECT * FROM sys_catalogsColumns
Name Type Description CatalogNameStringThe database name. sys_schemas
Lists the available schemas.
The following query retrieves all available schemas:
SELECT * FROM sys_schemasColumns
Name Type Description CatalogNameStringThe database name. SchemaNameStringThe schema name. sys_tables
Lists the available tables.
The following query retrieves the available tables and views:
SELECT * FROM sys_tablesColumns
Name Type Description CatalogNameStringThe database containing the table or view. SchemaNameStringThe schema containing the table or view. TableNameStringThe name of the table or view. TableTypeStringThe table type (table or view). DescriptionStringA description of the table or view. IsUpdateableBooleanWhether the table can be updated. 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 CatalogNameStringThe name of the database containing the table or view. SchemaNameStringThe schema containing the table or view. TableNameStringThe name of the table or view containing the column. ColumnNameStringThe column name. DataTypeNameStringThe data type name. DataTypeInt32An integer indicating the data type. This value is determined at run time based on the environment. LengthInt32The storage size of the column. DisplaySizeInt32The designated column's normal maximum width in characters. NumericPrecisionInt32The maximum number of digits in numeric data. The column length in characters for character and date-time data. NumericScaleInt32The column scale or number of digits to the right of the decimal point. IsNullableBooleanWhether the column can contain null. DescriptionStringA brief description of the column. OrdinalInt32The sequence number of the column. IsAutoIncrementStringWhether the column value is assigned in fixed increments. IsGeneratedColumnStringWhether the column is generated. IsHiddenBooleanWhether the column is hidden. IsArrayBooleanWhether the column is an array. IsReadOnlyBooleanWhether the column is read-only. IsKeyBooleanIndicates whether a field returned from sys_tablecolumns is the primary key of the table. ColumnTypeStringThe role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN. sys_procedures
Lists the available stored procedures.
The following query retrieves the available stored procedures:
SELECT * FROM sys_proceduresColumns
Name Type Description CatalogNameStringThe database containing the stored procedure. SchemaNameStringThe schema containing the stored procedure. ProcedureNameStringThe name of the stored procedure. DescriptionStringA description of the stored procedure. ProcedureTypeStringThe type of the procedure, such as PROCEDURE or FUNCTION. sys_procedureparameters
Describes stored procedure parameters.
The following query returns information about all of the input parameters for the ClearTransaction stored procedure:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'ClearTransaction' AND Direction = 1 OR Direction = 2To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'ClearTransaction' AND IncludeResultColumns='True'Columns
Name Type Description CatalogNameStringThe name of the database containing the stored procedure. SchemaNameStringThe name of the schema containing the stored procedure. ProcedureNameStringThe name of the stored procedure containing the parameter. ColumnNameStringThe name of the stored procedure parameter. DirectionInt32An 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. DataTypeInt32An integer indicating the data type. This value is determined at run time based on the environment. DataTypeNameStringThe name of the data type. NumericPrecisionInt32The maximum precision for numeric data. The column length in characters for character and date-time data. LengthInt32The number of characters allowed for character data. The number of digits allowed for numeric data. NumericScaleInt32The number of digits to the right of the decimal point in numeric data. IsNullableBooleanWhether the parameter can contain null. IsRequiredBooleanWhether the parameter is required for execution of the procedure. IsArrayBooleanWhether the parameter is an array. DescriptionStringThe description of the parameter. OrdinalInt32The index of the parameter. ValuesStringThe values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated. SupportsStreamsBooleanWhether the parameter represents a file that you can pass as either a file path or a stream. IsPathBooleanWhether the parameter is a target path for a schema creation operation. DefaultStringThe value used for this parameter when no value is specified. SpecificNameStringA 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. IsProvidedBooleanWhether the procedure is added/implemented by , as opposed to being a native QuickBooks procedure. Pseudo-Columns
Name Type Description IncludeResultColumnsBooleanWhether the output should include columns from the result set in addition to parameters. Defaults to False. 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 CatalogNameStringThe name of the database containing the key. SchemaNameStringThe name of the schema containing the key. TableNameStringThe name of the table containing the key. ColumnNameStringThe name of the key column. IsKeyBooleanWhether the column is a primary key in the table referenced in the TableName field. IsForeignKeyBooleanWhether the column is a foreign key referenced in the TableName field. PrimaryKeyNameStringThe name of the primary key. ForeignKeyNameStringThe name of the foreign key. ReferencedCatalogNameStringThe database containing the primary key. ReferencedSchemaNameStringThe schema containing the primary key. ReferencedTableNameStringThe table containing the primary key. ReferencedColumnNameStringThe column name of the primary key. 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 CatalogNameStringThe name of the database containing the key. SchemaNameStringThe name of the schema containing the key. TableNameStringThe name of the table containing the key. ColumnNameStringThe name of the key column. PrimaryKeyNameStringThe name of the primary key. ForeignKeyNameStringThe name of the foreign key. ReferencedCatalogNameStringThe database containing the primary key. ReferencedSchemaNameStringThe schema containing the primary key. ReferencedTableNameStringThe table containing the primary key. ReferencedColumnNameStringThe column name of the primary key. ForeignKeyTypeStringDesignates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key. sys_primarykeys
Describes the primary keys.
The following query retrieves the primary keys from all tables and views:
SELECT * FROM sys_primarykeysColumns
Name Type Description CatalogNameStringThe name of the database containing the key. SchemaNameStringThe name of the schema containing the key. TableNameStringThe name of the table containing the key. ColumnNameStringThe name of the key column. KeySeqStringThe sequence number of the primary key. KeyNameStringThe name of the primary key. 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 CatalogNameStringThe name of the database containing the index. SchemaNameStringThe name of the schema containing the index. TableNameStringThe name of the table containing the index. IndexNameStringThe index name. ColumnNameStringThe name of the column associated with the index. IsUniqueBooleanTrue if the index is unique. False otherwise. IsPrimaryBooleanTrue if the index is a primary key. False otherwise. TypeInt16An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3). SortOrderStringThe sort order: A for ascending or D for descending. OrdinalPositionInt16The sequence number of the column in the index. 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 NameStringThe name of the connection property. ShortDescriptionStringA brief description. TypeStringThe data type of the connection property. DefaultStringThe default value if one is not explicitly set. ValuesStringA comma-separated list of possible values. A validation error is thrown if another value is specified. ValueStringThe value you set or a preconfigured default. RequiredBooleanWhether the property is required to connect. CategoryStringThe category of the connection property. IsSessionPropertyStringWhether the property is a session property, used to save information about the current connection. SensitivityStringThe sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms. PropertyNameStringA camel-cased truncated form of the connection property name. OrdinalInt32The index of the parameter. CatOrdinalInt32The index of the parameter category. HierarchyStringShows dependent properties associated that need to be set alongside this one. VisibleBooleanInforms whether the property is visible in the connection UI. ETCStringVarious miscellaneous information about the property. sys_sqlinfo
Describes the SELECT query processing that the connector can offload to the data source.
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.
Name Description Possible Values AGGREGATE_FUNCTIONSSupported aggregation functions. AVG,COUNT,MAX,MIN,SUM,DISTINCTCOUNTWhether COUNT function is supported. YES,NOIDENTIFIER_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,ORGROUP_BYWhether GROUP BY is supported, and, if so, the degree of support. NO,NO_RELATION,EQUALS_SELECT,SQL_GB_COLLATESTRING_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,BYTENUMERIC_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,TRUNCATETIMEDATE_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,EXTRACTREPLICATION_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,NODIALECTIndicates 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,NOSUPPORTS_MULTIPLE_CATALOGSIndicates if multiple catalogs may exist for the provider. YES,NODATASYNCVERSIONThe Data Sync version needed to access this driver. Standard,Starter,Professional,EnterpriseDATASYNCCATEGORYThe Data Sync category of this driver. Source,Destination,Cloud DestinationSUPPORTSENHANCEDSQLWhether enhanced SQL functionality beyond what is offered by the API is supported. TRUE,FALSESUPPORTS_BATCH_OPERATIONSWhether batch operations are supported. YES,NOSQL_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,INDEXPREFERRED_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,NOPSEUDO_COLUMNSA string array indicating the available pseudo columns. MERGE_ALWAYSIf the value is true, The Merge Mode is forcibly executed in Data Sync. TRUE,FALSEREPLICATION_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,FALSECREATE_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 NAMEStringA component of SQL syntax, or a capability that can be processed on the server. VALUEStringDetail on the supported SQL or SQL syntax. sys_identity
Returns information about attempted modifications.
The following query retrieves the Ids of the modified rows in a batch operation:
SELECT * FROM sys_identityColumns
Name Type Description IdStringThe database-generated ID returned from a data modification operation. BatchStringAn identifier for the batch. 1 for a single operation. OperationStringThe result of the operation in the batch: INSERTED, UPDATED, or DELETED. MessageStringSUCCESS or an error message if the update in the batch failed. sys_information
Describes the available system information.
The following query retrieves all columns:
SELECT * FROM sys_informationColumns
Name Type Description 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 Sync required to use this connector. DataSyncCategoryStringThe category of Sync functionality (e.g., Source, Destination). 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 Schema AMTTYPEfloat BOOLTYPEbool DATETIMETYPEdatetime DATETYPEdate FLOATTYPEfloat IDTYPEstring INTTYPEint PERCENTTYPEfloat QUANTYPEfloat STRTYPEstring TIMEINTERVALTYPEdatetime Custom Fields
Some of the tables in QuickBooks allow you to define your own fields. These fields are represented as the Custom Fields column. You can use this column to modify all your custom fields.
Custom fields are a special case with the connector. QuickBooks will only return custom fields if they have a value, and will return nothing if no custom fields are set. Custom fields are represented in XML like so:
<CustomField><Name>Custom Field Name</Name><Value>Custom Field Value</Value></CustomField>To clear a custom field, submit the custom field name without a value. For instance:
<CustomField><Name>Custom Field Name</Name><Value></Value></CustomField>Advanced Configurations Properties
The advanced configurations 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. Click the links for further details.
Property Description CompanyFileSpecifies the QuickBooks company file the provider uses during the connection. ApplicationNameSpecifies the name of the application connecting to QuickBooks. Property Description UserSpecifies the username required to authenticate the connection to the QuickBooks Gateway. PasswordSpecifies the password required to authenticate with the QuickBooks Gateway. URLSpecifies the URL where the QuickBooks Gateway is running. This is the endpoint the driver uses to communicate with QuickBooks Desktop. Property Description SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL. Property Description 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. Property Description CustomFieldModeSpecifies the format used to display custom fields in the data. Choose between the traditional XML format for compatibility with older systems or the compact JSON format for modern tools and databases. DelayAfterCloseSpecifies the delay, in milliseconds, applied after closing a connection to QuickBooks. IncludeLineItemsSpecifies whether to include Line Item details when retrieving base transactions, such as invoices, from QuickBooks. IncludeLinkedTxnsSpecifies whether to include Linked Transactions when retrieving base transactions, such as invoices, from QuickBooks. MaxRowsSpecifies the maximum rows returned for queries without aggregation or GROUP BY. OtherSpecifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties. PagesizeThe maximum number of records per page the provider returns when requesting data from QuickBooks. PseudoColumnsSpecifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property. QBXMLVersionSpecifies the version of QBXML used in outgoing messages for interacting with QuickBooks Desktop Edition. TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout. UserDefinedViewsSpecifies a filepath to a JSON configuration file defining custom views. The provider automatically detects and uses the views specified in this file. UseRDSSpecifies whether the provider connects to QuickBooks using Remote Data Sharing (RDS). This setting is incompatible with connections made through the QuickBooks Gateway. Authentication
This section provides a complete list of authentication properties you can configure.
Property Description CompanyFileSpecifies the QuickBooks company file the provider uses during the connection. ApplicationNameSpecifies the name of the application connecting to QuickBooks. CompanyFile
Specifies the QuickBooks company file the provider uses during the connection.
Data Type
stringDefault Value
""Remarks
Set this property to define the QuickBooks
CompanyFilefor the connection. When QuickBooks is not already running, the connector launches QuickBooks and opens the specified file in the background. If QuickBooks is already running, the connector uses the currently openCompanyFile. Specifying a different file in this case results in an error.For remote connections, this property is ignored. Instead, specify the
CompanyFilewhen creating the QuickBooks Gateway user. Ensure the file path is correct and accessible to avoid connection issues.ApplicationName
Specifies the name of the application connecting to QuickBooks.
Data Type
stringDefault Value
QuickBooks ConnectorRemarks
During the initial connection, QuickBooks prompts the user to authorize or deny access to the application, displaying this name. Ensure the name accurately reflects your application to avoid confusion for end users. This property is useful for customizing the application's identity during the authorization process.
Remote
This section provides a complete list of the Remote properties you can configure.
Property Description UserSpecifies the username required to authenticate the connection to the QuickBooks Gateway. PasswordSpecifies the password required to authenticate with the QuickBooks Gateway. URLSpecifies the URL where the QuickBooks Gateway is running. This is the endpoint the driver uses to communicate with QuickBooks Desktop. User
Specifies the username required to authenticate the connection to the QuickBooks Gateway.
Data Type
stringDefault Value
""Remarks
This property is applicable only when user authentication is enabled for the QuickBooks Gateway. If authentication is not required, this property can be left blank. Ensure the username matches the credentials configured in the QuickBooks Gateway to avoid authentication errors.
Password
Specifies the password required to authenticate with the QuickBooks Gateway.
Data Type
stringDefault Value
""Remarks
This property specifies the password used for authentication when connecting to the QuickBooks Gateway. The password is required only if the Gateway is configured to enforce user authentication.
Ensure the password matches the credentials set during the Gateway setup process. If authentication is not enabled on the Gateway, this property can remain blank. Use secure storage practices to manage the password and avoid unauthorized access.
This property is useful for securing QuickBooks Gateway connections, ensuring that only authorized users can access the service.
URL
Specifies the URL where the QuickBooks Gateway is running. This is the endpoint the driver uses to communicate with QuickBooks Desktop.
Data Type
stringDefault Value
""Remarks
Set this property to the URL where the QuickBooks Gateway is hosted. The QuickBooks Gateway acts as a lightweight HTTP server that proxies requests between the driver and QuickBooks Desktop. The default URL for the QuickBooks Gateway is
http://localhost:8166, where localhost represents the machine running QuickBooks Desktop, and 8166 is the default port.If QuickBooks Desktop is running on a different machine, replace localhost with the machine's name or IP address. Ensure that the QuickBooks Gateway is running and accessible at the specified URL.
This property is useful for establishing the connection between the driver and QuickBooks Desktop, particularly when the QuickBooks Gateway is hosted on a remote machine or non-default port.
SSL
This section provides a complete list of SSL properties you can configure.
Property Description SSLServerCertSpecifies the certificate to be accepted from the server when connecting using TLS/SSL. SSLServerCert
Specifies the certificate to be accepted from the server when connecting using TLS/SSL.
Data Type
stringDefault Value
""Remarks
If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the QuickBooks Gateway. Any other certificate that is not trusted by the machine is 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.cerSchema
This section provides a complete list of schema properties you can configure.
Property Description 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. 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
stringDefault Value
%APPDATA%\QuickBooks Data Provider\SchemaRemarks
The
Locationproperty 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%\QuickBooks Data Provider\Schema, where%APPDATA%is set to the user's configuration directory:Platform %APPDATA% WindowsThe value of the APPDATA environment variable Mac~/Library/Application Support Linux~/.config BrowsableSchemas
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Data Type
stringDefault 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.
Tables
Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC.
Data Type
stringDefault 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.
Views
Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Data Type
stringDefault 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.
Miscellaneous
This section provides a complete list of miscellaneous properties you can configure.
Property Description CustomFieldModeSpecifies the format used to display custom fields in the data. Choose between the traditional XML format for compatibility with older systems or the compact JSON format for modern tools and databases. DelayAfterCloseSpecifies the delay, in milliseconds, applied after closing a connection to QuickBooks. IncludeLineItemsSpecifies whether to include Line Item details when retrieving base transactions, such as invoices, from QuickBooks. IncludeLinkedTxnsSpecifies whether to include Linked Transactions when retrieving base transactions, such as invoices, from QuickBooks. MaxRowsSpecifies the maximum rows returned for queries without aggregation or GROUP BY. OtherSpecifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties. PagesizeThe maximum number of records per page the provider returns when requesting data from QuickBooks. PseudoColumnsSpecifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property. QBXMLVersionSpecifies the version of QBXML used in outgoing messages for interacting with QuickBooks Desktop Edition. TimeoutSpecifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout. UserDefinedViewsSpecifies a filepath to a JSON configuration file defining custom views. The provider automatically detects and uses the views specified in this file. UseRDSSpecifies whether the provider connects to QuickBooks using Remote Data Sharing (RDS). This setting is incompatible with connections made through the QuickBooks Gateway. CustomFieldMode
Specifies the format used to display custom fields in the data. Choose between the traditional XML format for compatibility with older systems or the compact JSON format for modern tools and databases.
Possible Values
XML,JSONData Type
stringDefault Value
XMLRemarks
This property defines how custom fields are formatted in query results, allowing you to adapt the data presentation to your application's needs. When set to XML, custom fields are displayed in an XML structure, which is suitable for legacy systems and tools that process hierarchical XML data. When set to JSON, custom fields are presented in a compact, modern JSON structure, making it ideal for applications and databases that prioritize lightweight data processing.
Selecting the appropriate format can simplify integration and improve performance in workflows that involve storage or data transformation. Choose XML for broader compatibility and JSON for more efficient handling of custom fields in contemporary environments.
DelayAfterClose
Specifies the delay, in milliseconds, applied after closing a connection to QuickBooks.
Data Type
stringDefault Value
""Remarks
This property sets a delay, measured in milliseconds, after each connection to QuickBooks is closed. It can be useful for addressing internal errors, particularly those related to automatic login or connection stability. Setting this property to a positive value allows QuickBooks additional time to reset its internal state before new connection attempts are made.
Use this property sparingly, as excessive delays may impact the overall responsiveness of your application. A typical use case involves troubleshooting scenarios where QuickBooks experiences repeated errors during connection attempts. For example, a delay of 2000 introduces a 2-second pause after closing each connection.
IncludeLineItems
Specifies whether to include Line Item details when retrieving base transactions, such as invoices, from QuickBooks.
Data Type
boolDefault Value
falseRemarks
Setting this property to true ensures that each transaction includes its associated Line Items, providing comprehensive transaction data in a single query. If set to false, Line Item details are excluded from base transaction responses. This can improve performance by reducing the amount of data retrieved, particularly when working with large datasets or when Line Item details are not needed.
This property is useful for customizing the level of detail included in transaction data. Use it to balance performance and data comprehensiveness based on your application's requirements.
IncludeLinkedTxns
Specifies whether to include Linked Transactions when retrieving base transactions, such as invoices, from QuickBooks.
Data Type
boolDefault Value
falseRemarks
This property specifies whether Linked Transactions are included when querying base transactions like invoices and sales receipts in QuickBooks. When set to true, each base transaction includes its associated Linked Transactions, providing a more complete view of related transactions. If set to false, Linked Transactions are excluded from base transaction responses. This setting typically improves performance by reducing the data volume retrieved, especially when Linked Transactions are not required for your use case.
This property is useful for tailoring the detail level in transaction data, allowing you to balance performance with data completeness based on application needs.
MaxRows
Specifies the maximum rows returned for queries without aggregation or GROUP BY.
Data Type
intDefault Value
-1Remarks
This property sets an upper limit on the number of rows the connector returns for queries that do not include aggregation or GROUP BY clauses. This limit ensures that queries do not return excessively large result sets by default.
When a query includes a LIMIT clause, the value specified in the query takes precedence over the
MaxRowssetting. IfMaxRowsis set to "-1", no row limit is enforced unless a LIMIT clause is explicitly included in the query.This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.
Other
Specifies additional hidden properties for specific use cases. These are not required for typical provider functionality. Use a semicolon-separated list to define multiple properties.
Data Type
stringDefault Value
""Remarks
This property allows advanced users to configure hidden properties for specialized scenarios. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. Multiple properties can be defined in 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.
Specify multiple properties in a semicolon-separated list.
Integration and Formatting
Property Description 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. Pagesize
The maximum number of records per page the provider returns when requesting data from QuickBooks.
Data Type
intDefault Value
500Remarks
When processing a query, instead of requesting all of the queried data at once from QuickBooks, 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 that 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.
PseudoColumns
Specifies the pseudocolumns to expose as table columns. Use the format 'TableName=ColumnName;TableName=ColumnName'. The default is an empty string, which disables this property.
Data Type
stringDefault 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: "*=*"
QBXMLVersion
Specifies the version of QBXML used in outgoing messages for interacting with QuickBooks Desktop Edition.
Possible Values
QBDEFAULT,1.0,1.1,2.0,3.0,4.0,4.1,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,CA2.0,CA3.0,UK2.0,UK3.0,OZ2.0,AU3.0Data Type
stringDefault Value
QBDEFAULTRemarks
This property specifies the QBXML version used in outgoing messages. The default value, "QBDEFAULT," enables compatibility with QuickBooks Desktop by aligning with a QBXML version supported by the installation. For most requests and QuickBooks versions that support integrated applications, using a value of "1.1" is sufficient unless otherwise noted in the documentation.
Since 2002, each release of QuickBooks has included a corresponding version of the QuickBooks SDK, starting with version 1.0 for QuickBooks 2002, 2.0 for QuickBooks 2003, and continuing incrementally. Each newer QuickBooks version maintains backward compatibility with earlier SDK versions, meaning requests using SDK version 1.1 are supported across all QuickBooks versions. However, to access features introduced in newer QuickBooks versions, you must use the corresponding SDK version. The following table lists QuickBooks versions and their associated QBXML versions for reference:
QuickBooks 2002 1.0, 1.1 QuickBooks 2003 2.0 QuickBooks 2004 3.0 QuickBooks 2005 4.0, 4.1 QuickBooks 2006 5.0 QuickBooks 2007 6.0 QuickBooks 2008 7.0 QuickBooks 2009 8.0 QuickBooks 2010 9.0 QuickBooks 2011 10.0 QuickBooks 2012 11.0 QuickBooks 2013 12.0 QuickBooks 2014 13.0 QuickBooks 2018 14.0 QuickBooks 2022 15.0 QuickBooks 2023 16.0 In addition, versions of QuickBooks outside of the U.S. released before QuickBooks 2008 adhere to a different version of the QuickBooks SDK. These versions were updated with less frequency than the U.S. SDK and may omit features introduced in later releases:
QuickBooks Canadian 2003 CA2.0 QuickBooks Canadian 2004 to 2007 CA3.0 QuickBooks UK 2003 UK2.0 QuickBooks UK 2004 to 2007 UK3.0 QuickBooks Australian 2003 OZ2.0 QuickBooks Australian 2004 to 2007 AU3.0 Timeout
Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. The default is 60 seconds. Set to 0 to disable the timeout.
Data Type
intDefault Value
300Remarks
This property controls the maximum time, in seconds, that the connector waits for an operation to complete before canceling it. If the timeout period expires before the operation finishes, the connector cancels the operation and throws an exception.
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 the timeout value if each paging call completes within the timeout limit.
Setting this property to 0 disables the timeout, allowing 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. Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.
UserDefinedViews
Specifies a filepath to a JSON configuration file defining custom views. The provider automatically detects and uses the views specified in this file.
Data Type
stringDefault Value
""Remarks
This property 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 define multiple views in a single file and specify the filepath using this property. For example: UserDefinedViews=C:\Path\To\UserDefinedViews.json. When you use this property, only the specified views are seen by the connector.
Refer to User Defined Views for more information.
UseRDS
Specifies whether the provider connects to QuickBooks using Remote Data Sharing (RDS). This setting is incompatible with connections made through the QuickBooks Gateway.
Data Type
boolDefault Value
falseRemarks
Set this property to true to enable connections using the RDS client. The RDS client must be installed and configured on the local machine, and the RDS server must be set up on the system hosting QuickBooks. When this property is enabled, connections through the QuickBooks Gateway are disabled. If both methods are configured simultaneously, the connector prioritizes the setting of this property.
This property is useful in scenarios where direct or gateway-based connections are not feasible, such as when integrating with systems that rely on the RDS infrastructure for remote access.