QuickBooks Connection Details
Introduction
Connector Version
This documentation is based on version 23.0.8895 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 theUser
andPassword
. 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
Note that 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 will 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=Y
This 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:
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 = 80040403
Does 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 set20140612.145409 I 272 RequestProcessor Previous instance of QB is going down..! Wait and retry to get a new instance.
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 theQBXMLVersion
property in the connection string.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. 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 toIncludeLineItems
.
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 Connection
button 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 = 0
Status
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:
Property Description RemoteConnector.exe
Provides the user interface and allows configuration of the application. RemoteConnectorService.exe
Processes 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 Install
Installs the Windows service. Delete
Deletes the Windows service. Start
Starts the Windows service. Stop
Stops the Windows service. State
Reports the current state of the Windows service (started or stopped). Auto
Changes the Windows service startup type to Automatic. Manual
Changes the Windows service startup type to Manual. Disabled
Changes 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 allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.
SSL Configuration
Use SSL Configuration to adjust how connector handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the
SSLServerCert
property under "Connection String Options" for more information.Proxy
To configure the connector using private agent proxy settings, select the
Use Proxy Settings
checkbox 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).
See Query Processing for more information.
User Defined Views
The QuickBooks connector allows you to define a virtual table whose contents are decided by a pre-configured query. These are called User Defined Views, which are useful in situations where you cannot directly control the query being issued to the driver, e.g. when using the driver from Jitterbit. The User Defined Views can be used 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 as follows:
- Each root element defines the name of a view.
- Each root element contains 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
User Defined Views are exposed in the
UserViews
schema by default. This is done to avoid the view's name clashing with an actual entity in the data model. You can change the name of the schema used for UserViews by setting theUserViewsSchemaName
property.Work with User Defined Views
For example, a SQL statement with a User Defined View called
UserViews.RCustomers
only lists customers in Raleigh:SELECT * FROM Customers WHERE City = 'Raleigh';
An example of a query to the driver:
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
Resulting in the effective query to the source:
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
That is a very simple example of a query to a User Defined View that is effectively a combination of the view query and the view definition. It is possible to compose these queries in much more complex patterns. All SQL operations are allowed in both queries and are combined when appropriate.
Insert Parent and Child Records
Use Case
When inserting records, often there is a need to fill in details about child records that have a dependency on a parent.
For instance, when dealing with a CRM system, Invoices often cannot be entered without at least one line item. Since invoice line items can have several fields, this presents a unique challenge when offering the data as relational tables.
When reading the data, it is easy enough to model an Invoice and an InvoiceLineItem table with a foreign key connecting the two. However, during inserts, the CRM system requires both the Invoice and the InvoiceLineItems to be created in a single submission.
To solve this sort of problem, our tools offer child collection columns on the parent. These columns can be used to submit insert statements that include details of both the parent and the child records.
For example, let's say that the Invoice table contains a single column called InvoiceLineItems. During the insert, we can pass the details of the records that must be inserted to the InvoiceLineItems table into Invoice record's InvoiceLineItems column.
The following subsection describes how this might be done.
Methods for Inserting Parent/Child Records
The connector facilitates two methods for inserting parent/child records: temporary table insertion and XML aggregate insertion.
Temporary (#TEMP) tables
The simplest way to enter data would be to use a #TEMP table, or temporary table, which the connector will store in memory.
Reference the #TEMP table with the following syntax:
TableName#TEMP
#TEMP tables are stored in memory for the duration of a connection.
Therefore, in order to use them, you cannot close the connection between submitting inserts to them, and they cannot be used in environments where a different connection may be used for each query.
Within that single connection, the table remains in memory until the bulk insert is successful, at which point the temporary table will be wiped from memory.
For example:
INSERT INTO InvoiceLineItems#TEMP (ReferenceNumber, Item, Quantity, Amount) VALUES ('INV001', 'Basketball', 10, 9.99) INSERT INTO InvoiceLineItems#TEMP (ReferenceNumber, Item, Quantity, Amount) VALUES ('INV001', 'Football', 5, 12.99)
Once the InvoiceLineItems table is populated, the #TEMP table may be referenced during an insert into the Invoice table:
INSERT INTO Invoices (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', 'InvoiceLineItems#TEMP')
Under the hood, the connector will read in values from the #TEMP table.
Notice that the ReferenceNumber was used to identify what Invoice the lines are tied to. This is because the #TEMP table may be populated and used with a bulk insert, where there are separate lines for each invoice. This enables the #TEMP tables to be used with a bulk insert. For example:
INSERT INTO Invoices#TEMP (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', 'InvoiceLineItems#TEMP') INSERT INTO Invoices#TEMP (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV002', 'Jane Doe', 'InvoiceLineItems#TEMP') INSERT INTO Invoices SELECT ReferenceNumber, Customer, InvoiceLines FROM Invoices#TEMP
In this case, we are inserting two different Invoices. The ReferenceNumber is how we determine which Lines go with which Invoice.
Note
The tables and columns presented here are an example of how the connector works in general. The specific table and column names may be different in the connector.
Direct XML Insertion
Direct XML can be used as an alternative to #TEMP tables. Since #TEMP tables are not used to construct them, it does not matter if you use the same connection or close the connection after insert.
For example:
[ { "Item", "Basketball", "Quantity": 10 "Amount": 9.99 }, { "Item", "Football", "Quantity": 5 "Amount": 12.99 } ]
OR
<Row> <Item>Basketball</Item> <Quantity>10</Quantity> <Amount>9.99</Amount> </Row> <Row> <Item>Football</Item> <Quantity>5</Quantity> <Amount>12.99</Amount> </Row>
Note that the ReferenceNumber is not present in these examples because the XML, by its nature, is passed against the parent record in full per insert. Since the complete XML must be constructed and submitted for each row, there is no need to provide something to tie the child back to the parent.
Now insert the values:
INSERT INTO Invoices (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', '{...}')
OR
INSERT INTO Invoices (ReferenceNumber, Customer, InvoiceLines) VALUES ('INV001', 'John Doe', '<Row>...</Row>')
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
By default, the connector attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the
SSLServerCert
property for the available formats to do so.Data Model
The QuickBooks connector models entities in the QuickBooks API as tables, views, and stored procedures. There are three parts to the Data Model: Tables, Views, and Stored Procedures. These are defined in schema files, which are simple, text-based configuration files.
API limitations and requirements are documented in this section; you can use the
SupportEnhancedSQL
feature, set by default, to circumvent most of these limitations.Tables
The QuickBooks connector models the data in Tables so that it can be easily queried and updated.
Note
In case of Bulk insert operation, the connector supports multiple values only for the aggregate columns whereas for the other columns only single value is supported.
Views
Views are tables that cannot be modified. Typically, read-only data are shown as views.
Stored Procedures
Stored Procedures are function-like interfaces to the data source. They can be used to search, update, and modify information in the data source.
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 Accounts
Create, update, delete, and query QuickBooks Accounts. To update Accounts, set the QBXMLVersion
to 6.0 or higher.BillExpenseItems
Create, update, delete, and query QuickBooks Bill Expense Line Items. BillLineItems
Create, update, delete, and query QuickBooks Bill Line Items. BillPaymentChecks
Create, update, delete, and query QuickBooks Bill Payment Checks. QBXMLVersion must be set to 6.0 or higher to update a BillPaymentCheck. BillPaymentChecksAppliedTo
Create, update, delete, and query QuickBooks Bill Payment AppliedTo aggregates. In a Bill Payment, each AppliedTo aggregate represents the Bill transaction to which this part of the payment is being applied. BillPaymentCreditCards
Create, update, delete, and query QuickBooks Bill Payments. BillPaymentCreditCardsAppliedTo
Create, update, delete, and query QuickBooks Bill Payment AppliedTo aggregates. In a Bill Payment, each AppliedTo aggregate represents the Bill transaction to which this part of the payment is being applied. Bills
Create, update, delete, and query QuickBooks Bills. BuildAssemblies
Insert, Update, delete, and query QuickBooks Build Assembly transactions. BuildAssemblyLineItems
Create and query QuickBooks Build Assembly transactions. CheckExpenseItems
Create, update, delete, and query QuickBooks Check Expense Line Items. CheckLineItems
Create, update, delete, and query QuickBooks Check Line Items. Checks
Create, update, delete, and query QuickBooks Checks. Class
Create, update, delete, and query QuickBooks Classes. QuickBooks requires QBXML version 8.0 or higher for updates to a Class. CreditCardChargeExpenseItems
Create, update, delete, and query QuickBooks Credit Card Charge Expense Line Items. CreditCardChargeLineItems
Create, update, delete, and query QuickBooks Credit Card Charge Line Items. CreditCardCharges
Create, update, delete, and query QuickBooks Credit Card Charges. CreditCardCreditExpenseItems
Create, update, delete, and query QuickBooks Credit Card Credit Expense Line Items. CreditCardCreditLineItems
Create, update, delete, and query QuickBooks Credit Card Credit Line Items. CreditCardCredits
Create, update, delete, and query QuickBooks Credit Card Credits. CreditCardRefunds
Query and Insert QuickBooks AR Credit Card Refund transactions. CreditMemoLineItems
Create, update, delete, and query QuickBooks Credit Memo Line Items. CreditMemos
Create, update, delete, and query QuickBooks Credit Memos. Currency
Create, update, delete, and query QuickBooks Currencies. This table requires QBXML version 8.0 or higher, and you will need to enable multiple Currencies in your QuickBooks company file to use it. CustomerContacts
Create, update, delete, and query QuickBooks Customer Contacts. This table requires QBXML version 12.0 or higher, and is only available in QuickBooks editions 2016 and above. CustomerMessages
Create, delete, and query Customer Messages. CustomerNotes
Create, update, and query QuickBooks Customer Notes. This table requires QBXML version 12.0 or higher. Customers
Create, update, delete, and query QuickBooks Customers. CustomerShippingAddresses
Create, update, delete, and query QuickBooks Customer Shipping Addresses. Multiple Customer Shipping Addresses are supported in only QuickBooks 2013 and higher. Additionally, this table requires QBXML version 12.0 or higher. CustomerTypes
Create, update, delete, and query QuickBooks Customer Types. DateDrivenTerms
Create, delete, and query QuickBooks Date Driven Terms. DepositLineItems
Create, update, delete, and query QuickBooks Deposit Line Items. QBXMLVersion must be set to 7.0 or higher to update a deposit. Deposits
Create, update, delete, and query QuickBooks Deposits. QBXMLVersion must be set to 7.0 or higher to update a deposit. EmployeeEarnings
Create, update, delete, and query QuickBooks Employee Earnings. Employees
Create, update, delete, and query QuickBooks Employees. EstimateLineItems
Create, update, delete, and query QuickBooks Estimate Line Items. Estimates
Create, update, delete, and query QuickBooks Estimates. InventoryAdjustmentLineItems
Create and query QuickBooks Inventory Adjustment Line Items. InventoryAdjustments
Create, query, and delete QuickBooks Inventory Adjustments. InventorySites
Create, update, delete, and query QuickBooks Inventory Sites. Inventory Sites are only available in QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on. InvoiceLineItems
Create, update, delete, and query QuickBooks Invoice Line Items. Invoices
Create, update, delete, and query QuickBooks Invoices. ItemLineItems
Create, update, delete, and query QuickBooks Item Line Items. ItemReceiptExpenseItems
Create, update, delete, and query QuickBooks Item Receipt Expense Line Items. ItemReceiptLineItems
Create, update, delete, and query QuickBooks Item Receipt Line Items. ItemReceipts
Create, update, delete, and query QuickBooks Item Receipts. Items
Create, update, delete, and query QuickBooks Items. JobTypes
Create and query QuickBooks JobTypes. JournalEntries
Create, update, delete, and query QuickBooks Journal Entries. 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. JournalEntryLines
Create, update, delete, and query QuickBooks Journal Entries. 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. OtherNames
Create, update, delete, and query QuickBooks Other Name entities. PaymentMethods
Create, update, delete, and query QuickBooks Payment Methods. PayrollNonWageItems
Query QuickBooks Non-Wage Payroll Items. PayrollWageItems
Create and query QuickBooks Wage Payroll Items. PriceLevelPerItem
Create and query QuickBooks Price Levels Per Item. Only QuickBooks Premier and Enterprise support Per-Item Price Levels. Note that while Price Levels can be added from this table, you may only add Per-Item Price Levels from this table. Price Levels may be deleted from the PriceLevels table. This table requires QBXML version 4.0 or later. PriceLevels
Create, delete, and query QuickBooks Price Levels. Note that while Price Levels can be added and deleted from this table, you may add only fixed-percentage Price Levels from this table. Per-Item Price Levels may be added via the PriceLevelPerItem table. This table requires QBXML version 4.0 or higher. PurchaseOrderLineItems
Create, update, delete, and query QuickBooks Purchase Order Line Items. PurchaseOrders
Create, update, delete, and query QuickBooks Purchase Orders. ReceivePayments
Create, update, delete, and query QuickBooks Receive Payment transactions. QBXMLVersion must be set to 6.0 or higher to update a ReceivePayment. ReceivePaymentsAppliedTo
Create, update, and query QuickBooks Receive Payment AppliedTo aggregates. In a Receive Payment, each AppliedTo aggregate represents the transaction to which this part of the payment is being applied. QBXMLVersion must be set to 6.0 or higher to update a ReceivePayment. SalesOrderLineItems
Create, update, delete, and query QuickBooks Sales Order Line Items. SalesOrders
Create, update, delete, and query QuickBooks Sales Orders. SalesReceiptLineItems
Create, update, delete, and query QuickBooks Sales Receipt Line Items. SalesReceipts
Create, update, delete, and query QuickBooks Sales Receipts. SalesReps
Create, update, delete, and query QuickBooks Sales Rep entities. SalesTaxCodes
Create, update, delete, and query QuickBooks Sales Tax Codes. SalesTaxItems
Create, update, delete, and query QuickBooks Sales Tax Items. ShippingMethods
Create, update, delete, and query QuickBooks Shipping Methods. StandardTerms
Create, update, delete, and query QuickBooks Standard Terms. StatementCharges
Create, update, delete, and query QuickBooks Statement Charges. TimeTracking
Create, update, delete, and query QuickBooks Time Tracking events. ToDo
Create, update, delete, and query QuickBooks To Do entries. TransferInventory
Query and delete QuickBooks Transfer Inventory transactions. Transfer Inventory is available in only QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on. TransferInventoryLineItems
Create and query QuickBooks Transfer Inventory Line Items. Transfer Inventory is available in only QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on. Transfers
Create, update, and query QuickBooks transfers. Requires QBXML version 12.0 or higher. UnitOfMeasure
Create, update, delete, and query QuickBooks units of measure. QuickBooks requires QBXML version 7.0 or higher to use this table. UnitOfMeasureDefaultUnits
Create and query QuickBooks unit-of-measure default units. QuickBooks requires QBXML version 7.0 or higher to use this table. UnitOfMeasureRelatedUnits
Create and query QuickBooks unit-of-measure related units. QuickBooks requires QBXML version 7.0 or higher to use this table. VehicleMileage
Create, update, delete, and query QuickBooks Vehicle Mileage entities. QuickBooks requires QBXML version 6.0 or higher to use this table. VendorCreditExpenseItems
Create, update, delete, and query QuickBooks Vendor Credit Expense Line Items. VendorCreditLineItems
Create, update, delete, and query QuickBooks Vendor Credit Line Items. VendorCredits
Create, update, delete, and query QuickBooks Vendor Credits. Vendors
Create, update, delete, and query QuickBooks Vendors. VendorTypes
Create, update, delete, and query QuickBooks Vendor Types. WorkersCompCodeLines
Query QuickBooks Workers Comp Code entries by line. Requires QBXML Version 7.0 or higher. WorkersCompCodes
Query QuickBooks Workers Comp Code entries. Requires QBXML Version 7.0 or higher. Accounts
Create, update, delete, and query QuickBooks Accounts. To update Accounts, set the
QBXMLVersion
to 6.0 or higher.Table Specific Information
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier of the account. Name
String
False 31 The name of the account. This is required to have a value when inserting. FullName
String
True 1000 The full name of the account, including any ancestors (parents) in the format Parent:AccountName. Type
String
False 100 The type of account. The allowed values are ACCOUNTSPAYABLE, ACCOUNTSRECEIVABLE, BANK, COSTOFGOODSSOLD, CREDITCARD, EQUITY, EXPENSE, FIXEDASSET, INCOME, LONGTERMLIABILITY, OTHERASSET, OTHERCURRENTASSET, OTHERCURRENTLIABILITY, OTHEREXPENSE, OTHERINCOME, NONPOSTING. SpecialType
String
True 100 The special account type in QuickBooks if applicable. 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. Number
String
False The bank number of the account. Balance
Double
True The total balance of the account, including subaccounts. AccountBalance
Double
True The balance of this account only. This balance does not include subaccounts. BankAccount
String
False The bank account number for the account (or an identifying note). Description
String
False 200 A textual description of the account. IsActive
Boolean
False This property indicates whether the object is currently enabled for use by QuickBooks. ParentName
String
False This is a reference to a parent account. If set to a nonempty string, then this account is a subaccount of its parent. ParentId
String
False Accounts.ID 255 This is a reference to a parent account. If set to a nonempty string, then this account is a subaccount or job of its parent. Sublevel
Integer
True The number of ancestors the account has. CurrencyName
String
False 64 The name of the currency for the account. A minimum QBXML version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for the account. A minimum QBXML version of 8.0 is required for this feature. CashFlowClassification
String
True Indicates how the account is classified for cash flow reporting.' value='None, Operating, Investing, Financing, NotApplicable. TaxLineName
String
True 256 The name of the line on the tax form this account is associated with, if any. Check the CompanyInfo to see which tax form is associated with the company file. TaxLineId
String
False 255 The ID of the line on the tax form this account is associated with, if any. Check the CompanyInfo to see which tax form is associated with the company file. Requires QBXML Version 7.0 to modify. TimeModified
Datetime
True When the account was last modified. TimeCreated
Datetime
True When the account 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 OpeningBalance
String
The opening balance of the account (by default 0). Note that this property is only used when adding new accounts to QuickBooks. OpeningDate
String
The opening balance date of the account. Note that this property is only used when adding new accounts to QuickBooks. BillExpenseItems
Create, update, delete, and query QuickBooks Bill Expense Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format BillId|ExpenseLineId. BillId
String
False Bills.ID 255 The bill identifier. VendorName
String
False 1000 Vendor for this transaction. Either VenderName or VendorId must have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor ID for this transaction. Either VenderName or VendorId must have a value when inserting. ReferenceNumber
String
False 21 Reference number for the transaction. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. DueDate
Date
False Date when payment is due. Terms
String
False 100 Reference to terms of payment. TermsId
String
False 255 Reference ID for the terms of payment. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference ID for the accounts-payable account. Amount
Decimal
True Amount of the transaction. This is calculated by QuickBooks based on the line items or expense line items. Memo
String
False 5000 Memo for the transaction. IsPaid
Boolean
True Indicates whether this bill has been paid. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ExpenseLineId
String
True 255 The expense line item identifier. ExpenseLineNumber
String
True 255 The expense line number. ExpenseAccount
String
False 1000 The account name for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAccountId
String
False Accounts.ID 255 The account ID for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAmount
Decimal
False The total amount of this expense line. ExpenseBillableStatus
String
False 13 The billing status of this expense line. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ExpenseCustomer
String
False 1000 The customer associated with this expense line. ExpenseCustomerId
String
False Customers.ID 255 The customer associated with this expense line. ExpenseClass
String
False 1000 The class name of this expense. ExpenseClassId
String
False Class.ID 255 The class ID of this expense. ExpenseMemo
String
False 5000 A memo for this expense line. ExpenseTaxCode
String
False 3 Sales tax information for this item (taxable or non-taxable). ExpenseTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or non-taxable). ExpenseCustomFields
String
True The custom fields for this expense item. ExchangeRate
Double
False Exchange Rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the 'home' currency. TimeModified
Datetime
True When the Bill was last modified. TimeCreated
Datetime
True When the Bill was created. OpenAmount
Decimal
True The current balance for the Vendor 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 LinkToTxnId
String
A transaction to link the bill to. This transaction must be a purchase order. You will get a run-time error if the transaction specified is already closed or fully received. This is only available on insert and requires a minimum QBXML Version 4.0. BillLineItems
Create, update, delete, and query QuickBooks Bill Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format BillId|ItemLineId. BillId
String
False Bills.ID 255 The bill identifier. VendorName
String
False 1000 Vendor for this transaction. Either VenderName or VendorId must have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor ID for this transaction. Either VenderName or VendorId must have a value when inserting. ReferenceNumber
String
False 21 Reference number for the transaction. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. DueDate
Date
False Date when payment is due. Terms
String
False 100 Reference to terms of payment. TermsId
String
False 255 Reference ID for the terms of payment. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference ID for the accounts-payable account. Amount
Decimal
True Amount of the transaction. This is calculated by QuickBooks based on the line items or expense line items. Memo
String
False 5000 Memo for the transaction. IsPaid
Boolean
True Indicates whether this bill has been paid. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item name. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group name. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemCost
Double
False The unit cost for the item. ItemAmount
Decimal
False Total amount for the item. ItemBillableStatus
String
False 13 Billing status of the item. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ItemCustomer
String
False 1000 The name of the customer who ordered the item. ItemCustomerId
String
False Customers.ID 255 The ID of the customer who ordered the item. ItemInventorySiteId
String
False InventorySites.ID 31 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False 255 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationId
String
False 31 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationName
String
False 255 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemSerialNumber
String
False 5000 The serial number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemLotNumber
String
False 40 The lot number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemClass
String
False 1000 The name for the class of the item. ItemClassId
String
False Class.ID 255 The ID for the class of the item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or non-taxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or non-taxable). ItemCustomFields
String
False The custom fields for this lineitem. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. CurrencyName
String
False 64 Name of the currency code used for this bill. CurrencyId
String
False Currency.ID 1000 Id of the currency code used for this bill. ExchangeRate
Decimal
False Exchange Rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the 'home' currency. TimeModified
Datetime
True When the Bill was last modified. TimeCreated
Datetime
True When the Bill was created. OpenAmount
Decimal
True The current balance for the Vendor 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 LinkToTxnId
String
A transaction to link the bill to. This transaction must be a purchase order. You will get a run-time error if the transaction specified is already closed or fully received. This is only available on insert and requires a minimum QBXML Version 4.0. ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. BillPaymentChecks
Create, update, delete, and query QuickBooks Bill Payment Checks. QBXMLVersion must be set to 6.0 or higher to update a BillPaymentCheck.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier for the transaction. PayeeName
String
False 1000 A reference to the entity merchandise was purchased from. Either PayeeId or PayeeName is required. PayeeId
String
False Vendors.ID 255 A reference to the entity merchandise was purchased from. Either PayeeId or PayeeName is required. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Int
True The transaction number. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. Amount
Decimal
True Amount of the transaction. This is calculated by QuickBooks based on the line items or expense line items. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference to the accounts-payable account Id. BankAccountName
String
False 1000 Refers to the Account funds are being drawn from for this bill payment. This property is only applicable to the check payment method. BankAccountId
String
False Accounts.ID 255 Refers to the Account funds are being drawn from for this bill payment. This property is only applicable to the check payment ethod. IsToBePrinted
Boolean
False Indicates whether or not the transaction is to be printed. If set to true, the 'To Be Printed' box in the QuickBooks user interface will be checked. The default value is false. Memo
String
False 5000 A memo to appear on internal reports. AppliedToAggregate
String
False 5000 An aggregate of the applied-to data which can be used for adding a bill payment check and its applied-to data. ExchangeRate
Double
False Currency exchange rate for this Bill Payment. AmountInHomeCurrency
Double
True Amount in units of the home currency. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the bill payment was last modified. TimeCreated
Datetime
True When the bill payment 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 AppliedTo\*
String
All applied-to-specific columns may be used in insertions. BillPaymentChecksAppliedTo
Create, update, delete, and query QuickBooks Bill Payment AppliedTo 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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
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]
String
True 255 The unique identifier in the format BillPaymentId|AppliedToId. BillPaymentId
String
False BillPaymentChecks.ID 255 The ID of the bill payment transaction. PayeeName
String
False 1000 A reference to the entity merchandise was purchased from. Either PayeeId or PayeeName is required. This must match the Vendor associated with the Bill being paid when inserting. PayeeId
String
False Vendors.ID 255 A reference to the entity merchandise was purchased from. Either PayeeId or PayeeName is required. This must match the Vendor associated with the Bill being paid when inserting. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Int
True The transaction number. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False 255 Reference to the accounts-payable account Id. BankAccountId
String
False 255 Refers to the account funds are being drawn from for this bill payment. This property is only applicable to the check payment method. BankAccountName
String
False 1000 Refers to the account funds are being drawn from for this bill payment. This property is only applicable to the check payment method. IsToBePrinted
Boolean
False Indicates whether or not the transaction is to be printed. If set to true, the 'To Be Printed' box in the QuickBooks user interface will be checked. The default value is false. Memo
String
False 5000 A memo to appear on internal reports. ExchangeRate
Double
False Currency exchange rate for this Bill Payment. AmountInHomeCurrency
Double
True Amount in units of the home currency. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. AppliedToRefId
String
False 255 The applied-to reference identifier. This is a reference to a bill Id, which can be found in the Bills table. AppliedToAmount
Decimal
False The amount to be applied. AppliedToBalanceRemaining
Decimal
True The balance remaining to be applied. AppliedToCreditAmount
Decimal
False The amount of the credit to be applied. AppliedToCreditMemoId
String
False 255 The ID of the credit memo to be applied. AppliedToDiscountAccountId
String
False 255 The discount account ID to be applied. AppliedToDiscountAccountName
String
False 1000 The discount account name to be applied. AppliedToDiscountAmount
Decimal
False The discount amount to be applied. AppliedToPaymentAmount
Decimal
False The payment amount to be applied. AppliedToReferenceNumber
String
True 21 The ref number to be applied. AppliedToTxnDate
Date
True The transaction date to be applied. AppliedToTxnType
String
True 100 The transaction type that was applied. TimeModified
Datetime
True When the bill payment was last modified. TimeCreated
Datetime
True When the bill payment 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 AppliedToCreditAppliedAmount
String
The credit applied amount to be applied. BillPaymentCreditCards
Create, update, delete, and query QuickBooks Bill Payments.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier for the transaction. PayeeName
String
False 1000 A reference to the the entity merchandise was purchased from. Either PayeeId or PayeeName is required. PayeeId
String
False Vendors.ID 255 A reference to the the entity merchandise was purchased from. Either PayeeId or PayeeName is required. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Int
True The transaction number. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. Amount
Decimal
True Amount of the transaction. This is calculated by QuickBooks based on the line items or expense line items. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference to the accounts-payable account Id. CreditCardName
String
False 1000 Refers to the credit card account this payment is being charged to. This property is only applicable to the credit card payment Method. CreditCardId
String
False 255 Refers to the credit card account this payment is being charged to. This property is only applicable to the credit card payment Method. Memo
String
False 5000 A memo to appear on internal reports. AppliedToAggregate
String
False 5000 An aggregate of the applied-to data which can be used for adding a bill payment credit card and its applied-to data. ExchangeRate
Double
False Currency exchange rate for this Bill Payment. AmountInHomeCurrency
Double
True Amount in units of the home currency. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the bill payment was last modified. TimeCreated
Datetime
True When the bill payment 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 AppliedTo\*
String
All applied-to-specific columns may be used in insertions. BillPaymentCreditCardsAppliedTo
Create, update, delete, and query QuickBooks Bill Payment AppliedTo 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
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
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]
String
True 255 The unique identifier in the format BillPaymentId|AppliedToId. BillPaymentId
String
False BillPaymentCreditCards.ID 255 The ID of the bill payment transaction. PayeeName
String
False 1000 A reference to the entity merchandise was purchased from. Either PayeeId or PayeeName is required. This must match the vendor associated with the bill being paid when inserting. PayeeId
String
False Vendors.ID 255 A reference to the entity merchandise was purchased from. Either PayeeId or PayeeName is required. This must match the vendor associated with the bill being paid when inserting. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Int
True The transaction number. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference to the accounts-payable account Id. CreditCardName
String
False 1000 Refers to the credit card account this payment is being charged to. This property is only applicable to the credit card payment method. CreditCardId
String
False 255 Refers to the credit card account this payment is being charged to. This property is only applicable to the credit card payment method. IsToBePrinted
Boolean
False Indicates whether or not the transaction is to be printed. If set to true, the 'To Be Printed' box in the QuickBooks user interface will be checked. The default value is false. Memo
String
False 5000 A memo to appear on internal reports. ExchangeRate
Double
False Currency exchange rate for this Bill Payment. AmountInHomeCurrency
Double
True Amount in units of the home currency. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. AppliedToRefId
String
True 255 The applied-to reference identifier. This is a reference to a bill Id, which can be found in the bills table. AppliedToAmount
Decimal
True The amount to be applied. AppliedToBalanceRemaining
Double
True The balance remaining to be applied. AppliedToCreditMemoId
String
False CreditMemos.ID 255 The ID of the credit memo to be applied. AppliedToDiscountAccountName
String
False 1000 The discount account name to be applied. AppliedToDiscountAccountId
String
False Accounts.ID 255 The discount account ID to be applied. AppliedToDiscountAmount
Decimal
False The discount amount to be applied. AppliedToPaymentAmount
Decimal
False The payment amount to be applied. AppliedToReferenceNumber
String
True 21 The ref number to be applied. AppliedToTxnDate
Date
True The transaction date to be applied. AppliedToTxnType
String
True 100 The transaction type that was applied. TimeModified
Datetime
True When the bill payment was last modified. TimeCreated
Datetime
True When the bill payment 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 AppliedToCreditAppliedAmount
String
The credit applied amount to be applied. Bills
Create, update, delete, and query 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.
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier for the bill. VendorName
String
False 1000 Vendor for this transaction. Either VenderName or VendorId must have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor ID for this transaction. Either VenderName or VendorId must have a value when inserting. ReferenceNumber
String
False 21 Reference number for the transaction. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. Amount
Decimal
True Amount of the transaction. This is calculated by QuickBooks based on the Line Items or Expense Line Items. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. DueDate
Date
False Date when payment is due. Terms
String
False 100 Reference to terms of payment. TermsId
String
False 255 Reference ID for the terms of payment. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference ID for the accounts-payable account. Memo
String
False 5000 Memo for the transaction. IsPaid
Boolean
True Indicates whether this Bill has been paid. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a bill and its line item data. ExpenseItemCount
Integer
True The count of expense line items. ExpenseItemAggregate
String
False 5000 An aggregate of the expense item data which can be used for adding a bill and its expense item data. TransactionCount
Integer
True The count of related transactions to the bill. TransactionAggregate
String
True 5000 An aggregate of the linked transaction data. CurrencyName
String
False 64 Name of the currency code used for this bill. CurrencyId
String
False Currency.ID 1000 Id of the currency code used for this bill. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the bill was last modified. TimeCreated
Datetime
True When the bill was created. OpenAmount
Decimal
True The current balance for the Vendor 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\*
String
All line-item-specific columns may be used in insertions. Expense\*
String
All expense-item-specific columns may be used in insertions. LinkToTxnId
String
A transaction to link the bill to. This transaction must be a purchase order. You will get a run-time error if the transaction specified is already closed or fully received. This is only available on insert and requires a minimum QBXML Version 4.0. BuildAssemblies
Insert, Update, delete, and query QuickBooks Build Assembly transactions.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. TxnNumber
Integer
True An identifying number for this transaction. ItemInventoryAssemblyRef_ListID
String
False Items.ID 255 A reference to the ID of an inventory assembly. Either ItemInventoryAssemblyRef_ListID or ItemInventoryAssemblyRef_FullName is required when inserting a BuildAssembly. ItemInventoryAssemblyRef_FullName
String
False 1000 A reference to the name of an inventory assembly. Either ItemInventoryAssemblyRef_ListID or ItemInventoryAssemblyRef_FullName is required when inserting a BuildAssembly. InventorySiteRef_ListID
String
False InventorySites.ID 255 A reference to the ID of an inventory site. InventorySiteRef_FullName
String
False 31 A reference to the name of an inventory site. SerialNumber
String
False 5000 The serial number of the asset. This cannot be used with LotNumber. LotNumber
String
False 40 The lot number of the asset. This cannot be used with SerialNumber. TxnDate
Date
False The date of the transaction. RefNumber
String
False 21 A reference number identifying the transaction. This does not have to be unique. Memo
String
False 5000 A memo about the transaction. IsPending
Boolean
True If IsPending is set to true, the transaction in question has not been completed. QuantityToBuild
Double
False Specifies the number of assemblies to be built. The transaction will fail if the number specified here exceeds the number of on-hand items. QuantityCanBuild
Double
True Indicates the number of this assembly that can be built from the parts on hand. QuantityOnHand
Double
True The number of these items in the inventory. To change the QuantityOnHand, you would need to add an inventory adjustment. QuantityOnSalesOrder
Double
True The number of these items that have been sold (as recorded in sales orders) but not delivered to customers. MarkPendingIfRequired
Boolean
False Allows the build assembly to be marked pending if there are insufficient quantities to complete the build assembly. This field requires QBXML Version 7.0 and is not returned in the response from QuickBooks. ExternalGUID
String
True A user-defined GUID value. Requires QBXML Version 9.0. BuildAssemblyLineAggregate
String
True 5000 An aggregate of the line item data which can be used for adding a transfer inventory and its line item data. TimeCreated
Datetime
True The datetime the transaction was made. TimeModified
Datetime
True The last datetime the transaction was modified. EditSequence
String
True An identifier used for versioning for this copy of the object. ExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. BuildAssemblyLineItems
Create and query QuickBooks Build Assembly transactions.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. BuildAssemblyId
String
False BuildAssemblies.ID 255 The unique ID of the build assembly. TxnNumber
Integer
True An identifying number for this transaction. ItemInventoryAssemblyRef_ListID
String
False Items.ID 255 A reference to the ID of an inventory assembly. Either ItemInventoryAssemblyRef_ListID or ItemInventoryAssemblyRef_FullName is required when inserting a BuildAssembly. ItemInventoryAssemblyRef_FullName
String
False 1000 A reference to the name of an inventory assembly. Either ItemInventoryAssemblyRef_ListID or ItemInventoryAssemblyRef_FullName is required when inserting a BuildAssembly. InventorySiteRef_ListID
String
False InventorySites.ID 255 A reference to the ID of an inventory site. Requires QBXML Version 10.0. InventorySiteRef_FullName
String
False 31 A reference to the name of an inventory site. Requires QBXML Version 10.0. SerialNumber
String
False 5000 The serial number of the asset. This cannot be used with LotNumber. LotNumber
String
False 40 The lot number of the asset. This cannot be used with SerialNumber. TxnDate
Date
False The date of the transaction. RefNumber
String
False 21 A reference number identifying the transaction. This does not have to be unique. Memo
String
False 5000 A memo about the transaction. IsPending
Boolean
True If IsPending is set to true, the transaction in question has not been completed. QuantityToBuild
Double
False Specifies the number of assemblies to be built. The transaction will fail if the number specified here exceeds the number of on-hand items. QuantityCanBuild
Double
True Indicates the number of this assembly that can be built from the parts on hand. QuantityOnHand
Double
True The number of these items in the inventory. To change the QuantityOnHand, you would need to add an inventory adjustment. QuantityOnSalesOrder
Double
True The number of these items that have been sold (as recorded in sales orders) but not delivered to customers. MarkPendingIfRequired
Boolean
False Allows the build assembly to be marked pending if there are insufficient quantities to complete the build assembly. This field requires QBXML Version 7.0 and is not returned in the response from QuickBooks. ExternalGUID
String
True A user-defined GUID value. Requires QBXML Version 9.0. ComponentItemLineRet_ItemRef_ListID
String
True Items.ID 255 Reference to the ID of an item. ComponentItemLineRet_ItemRef_FullName
String
True 255 Reference to the full name of an item. ComponentItemLineRet_InventorySiteRef_ListID
String
True InventorySites.ID 255 Reference to the ID of an inventory site. Requires QBXML Version 10.0. ComponentItemLineRet_InventorySiteRef_FullName
String
True 31 Reference to the full name of an inventory site. Requires QBXML Version 10.0. ComponentItemLineRet_Desc
String
True 5000 Description for the line item. ComponentItemLineRet_QuantityOnHand
Double
True The number of these items in the inventory. ComponentItemLineRet_QuantityNeeded
Double
True The number of these items used in the assembly. TimeCreated
Datetime
True The datetime the transaction was made. TimeModified
Datetime
True The last datetime the transaction was modified. EditSequence
String
True An identifier used for versioning for this copy of the object. ExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. CheckExpenseItems
Create, update, delete, and query QuickBooks Check Expense Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format CheckId|ExpenseLineId. CheckId
String
False Checks.ID 255 The item identifier for the check. This is obtained from the Checks table. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Account
String
False 1000 The name of the account funds are being drawn from. AccountId
String
False Accounts.ID 255 The ID of the account funds are being drawn from. Payee
String
False 1000 The name of the payee for the check. PayeeId
String
False Vendors.ID 255 The ID of the payee for the check. Date
Date
False Date of transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. Amount
Decimal
True Amount of the transaction. Memo
String
False 5000 A memo regarding this transaction. Address
String
True Full address returned by QuickBooks. Line1
String
False 500 First line of the address. Line2
String
False 500 Second line of the address. Line3
String
False 500 Third line of the address. Line4
String
False 500 Fourth line of the address. Line5
String
False 41 Fifth line of the address. City
String
False 255 City name for the address of the check. State
String
False 255 State name for the address of the check. PostalCode
String
False 30 Postal code for the address of the check. Country
String
False 255 Country for the address of the check. Note
String
False 41 Note for the address of the check. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. ExpenseLineId
String
True 255 The line item identifier. ExpenseLineNumber
String
True 255 The expense line number. ExpenseAccount
String
False 1000 The account name for this expense line. ExpenseAccountId
String
False Accounts.ID 255 The account ID for this expense line. ExpenseAmount
Decimal
False The total amount of this expense line. ExpenseBillableStatus
String
False 13 The billing status of this expense line. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ExpenseCustomer
String
False 1000 The customer associated with this expense line. ExpenseCustomerId
String
False Customers.ID 255 The customer associated with this expense line. ExpenseClass
String
False 1000 The class name of this expense. ExpenseClassId
String
False Class.ID 255 The class ID of this expense. ExpenseTaxCode
String
False 3 Sales tax information for this item. Available in only international editions of QuickBooks. ExpenseTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax ID information for this item. Available in only international editions of QuickBooks. ExpenseMemo
String
False 5000 A memo for this expense line. ExpenseCustomFields
String
True The custom fields for this expense item. IsToBePrinted
Boolean
False Whether this transaction is to be printed. The default value is false. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. CurrencyName
String
False 64 The name of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. TimeModified
Datetime
True When the check was last modified. TimeCreated
Datetime
True When the check 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 ApplyCheckToTxnId
String
Identifies the transaction to be paid by this check. This can be used in updates and inserts. ApplyCheckToTxnAmount
String
The amount of the transaction to be paid by this check. This can be used in updates and inserts. CheckLineItems
Create, update, delete, and query QuickBooks Check Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format CheckId|ItemLineId. CheckId
String
False Checks.ID 255 The item identifier for the check. This is obtained from the checks table. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Account
String
False 1000 The name of the account funds are being drawn from. AccountId
String
False Accounts.ID 255 The ID of the account funds are being drawn from. Payee
String
False 1000 The name of the payee for the check. PayeeId
String
False Vendors.ID 255 The ID of the payee for the check. Date
Date
False Date of transaction. Amount
Decimal
True Amount of the transaction. Memo
String
False 5000 A memo regarding this transaction. Address
String
True Full address returned by QuickBooks. Line1
String
False 500 First line of the address. Line2
String
False 500 Second line of the address. Line3
String
False 500 Third line of the address. Line4
String
False 500 Fourth line of the address. Line5
String
False 41 Fifth line of the address. City
String
False 255 City name for the address of the check. State
String
False 255 State name for the address of the check. PostalCode
String
False 30 Postal code for the address of the check. Country
String
False 255 Country for the address of the check. Note
String
False 41 Note for the address of the check. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID The item Id. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled for only a single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemCost
Double
False The unit cost for the item. ItemAmount
Decimal
False Total amount for the item. ItemBillableStatus
String
False 13 Billing status of the item. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ItemCustomer
String
False 1000 The name of the customer who ordered the item. ItemCustomerId
String
False Customers.ID 255 The ID of the customer who ordered the item. ItemClass
String
False 1000 The name for the class of the item. ItemClassId
String
False Class.ID 255 The ID for the class of the item. ItemInventorySiteId
String
False InventorySites.ID 31 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False 255 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationId
String
False 31 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationName
String
False 255 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. ItemTaxCode
String
False 3 Sales tax information for this item. Available in only international editions of QuickBooks. ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax ID information for this item. Available in only international editions of QuickBooks. ItemCustomFields
String
False The custom fields for this lineitem. IsToBePrinted
Boolean
False Whether this transaction is to be printed. The default value is false. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. CurrencyName
String
False 64 The name of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. TimeModified
Datetime
True When the check was last modified. TimeCreated
Datetime
True When the check 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 ApplyCheckToTxnId
String
Identifies the transaction to be paid by this check. This can be used in updates and inserts. ApplyCheckToTxnAmount
String
The amount of the transaction to be paid by this check. This can be used in updates and inserts. Checks
Create, update, delete, and query QuickBooks Checks.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Account
String
False 1000 The name of the account funds are being drawn from. AccountId
String
False Accounts.ID 255 The ID of the account funds are being drawn from. Payee
String
False 1000 The name of the payee for the Check. PayeeId
String
False Vendors.ID 255 The ID of the payee for the Check. Date
Date
False Date of transaction. Amount
Decimal
True Amount of the transaction. Memo
String
False 5000 A memo regarding this transaction. Address
String
True Full address returned by QuickBooks. Line1
String
False 500 First line of the address. Line2
String
False 500 Second line of the address. Line3
String
False 500 Third line of the address. Line4
String
False 500 Fourth line of the address. Line5
String
False 41 Fifth line of the address. City
String
False 255 City name for the address of the check. State
String
False 255 State name for the address of the check. PostalCode
String
False 30 Postal code for the address of the check. Country
String
False 255 Country for the address of the check. Note
String
False 41 Note for the address of the check. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a check and its line item data. ExpenseItemCount
Integer
True The count of expense line items. ExpenseItemAggregate
String
False 5000 An aggregate of the expense item data which can be used for adding a check and its expense item data. IsToBePrinted
Boolean
False Whether this transaction is to be printed. The default value is false. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. CurrencyName
String
False 64 The name of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the check was last modified. TimeCreated
Datetime
True When the check 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\*
String
All line-item-specific columns may be used in insertions. Expense\*
String
All expense-item-specific columns may be used in insertions. ApplyCheckToTxnId
String
Identifies the transaction to be paid by this check. This can be used in updates and inserts. ApplyCheckToTxnAmount
String
The amount of the transaction to be paid by this check. This can be used in updates and inserts. Class
Create, update, delete, and query QuickBooks Classes. QuickBooks requires QBXML version 8.0 or higher for updates to a Class.
Table Specific Information
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier of the class. Name
String
False 100 The name of the class. FullName
String
True 1000 The full name of the class in the form ParentName|ClassName. IsActive
Boolean
False Boolean determining if the class is active. ParentRef_FullName
String
False Full name of the parent for the class. You may specify only ParentRef_FullName or ParentRef_ListId on INSERT/UPDATE statements and not both. ParentRef_ListId
String
False Class.ID 255 Id for the parent of the class. You may specify only ParentRef_FullName or ParentRef_ListId on INSERT/UPDATE statements and not both. Sublevel
Integer
True How many parents the class has. EditSequence
String
True 16 A string indicating the revision of the class. TimeCreated
Datetime
True The time the class was created. TimeModified
Datetime
True The last time the class was modified. CreditCardChargeExpenseItems
Create, update, delete, and query QuickBooks Credit Card Charge Expense Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format CCChargeId|ItemLineId. CCChargeId
String
False CreditCardCharges.ID 255 The item identifier. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ReferenceNumber
String
False 21 Reference number for the transaction. AccountName
String
False 1000 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. AccountId
String
False Accounts.ID 255 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. Memo
String
False 5000 Memo to appear on internal reports only. PayeeName
String
False 1000 Name of the payee for the transaction. PayeeId
String
False Vendors.ID 255 Id of the payee for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ExpenseLineId
String
True 255 The expense line item identifier. ExpenseLineNumber
String
True 255 The expense line number. ExpenseAccount
String
False 1000 The account name for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAccountId
String
False Accounts.ID 255 The account ID for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAmount
Decimal
False The total amount of this expense line. ExpenseBillableStatus
String
False 13 The billing status of this expense line. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ExpenseCustomer
String
False 1000 The customer associated with this expense line. ExpenseCustomerId
String
False Customers.ID 255 The customer associated with this expense line. ExpenseClass
String
False 1000 The class name of this expense. ExpenseClassId
String
False Class.ID 255 The class ID of this expense. ExpenseMemo
String
False 5000 A memo for this expense line. ExpenseTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ExpenseTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or nontaxable). ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. TimeModified
Datetime
True When the credit card charge was last modified. TimeCreated
Datetime
True When the credit card charge was created. CreditCardChargeLineItems
Create, update, delete, and query QuickBooks Credit Card Charge Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format CCChargeId|ItemLineId. CCChargeId
String
False CreditCardCharges.ID 255 The item identifier. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ReferenceNumber
String
False 21 Reference number for the transaction. AccountName
String
False 1000 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. AccountId
String
False Accounts.ID 255 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. Memo
String
False 5000 Memo to appear on internal reports only. PayeeName
String
False 1000 Name of the payee for the transaction. PayeeId
String
False Vendors.ID 255 Id of the payee for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group name. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemUnitOfMeasure
String
False 100 In a transaction line item, the name of the unit of measure is selected from within the available units for the item. If the company file is enabled for only a single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemCost
Double
False The unit cost for an item. ItemAmount
Decimal
False Total amount for this item. ItemBillableStatus
String
False 13 Billing status of the item. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ItemCustomer
String
False 1000 The name of the customer who ordered the item. ItemCustomerId
String
False Customers.ID 255 The ID of the customer who ordered the item. ItemClass
String
False 1000 The name for the class of the item. ItemClassId
String
False Class.ID 255 The ID for the class of the item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or nontaxable). ItemInventorySiteId
String
False InventorySites.ID 31 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False 255 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationId
String
False 31 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationName
String
False 255 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. TimeModified
Datetime
True When the transaction was last modified. TimeCreated
Datetime
True When the transaction 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 ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. CreditCardCharges
Create, update, delete, and query QuickBooks Credit Card Charges.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier of the transaction. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ReferenceNumber
String
False 11 Reference number for the transaction. AccountName
String
False 1000 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. AccountId
String
False Accounts.ID 255 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. Memo
String
False 5000 Memo to appear on internal reports only. PayeeName
String
False 1000 Name of the payee for the transaction. PayeeId
String
False Vendors.ID 255 Id of the payee for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a bill and its line item data. ExpenseItemCount
Integer
True The count of expense line items. ExpenseItemAggregate
String
False 5000 An aggregate of the expense item data which can be used for adding a bill and its expense item data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the credit card charge was last modified. TimeCreated
Datetime
True When the credit card charge was created. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different 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\*
String
All line-item-specific columns may be used in insertions. Expense\*
String
All expense-item-specific columns may be used in insertions. CreditCardCreditExpenseItems
Create, update, delete, and query QuickBooks Credit Card Credit Expense Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format CCCreditId|ItemLineId. CCCreditId
String
False CreditCardCredits.ID 255 The item identifier. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ReferenceNumber
String
False 21 Reference number for the transaction. AccountName
String
False 1000 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. AccountId
String
False Accounts.ID 255 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. Memo
String
False 5000 Memo to appear on internal reports only. PayeeName
String
False 1000 Name of the payee for the transaction. PayeeId
String
False Vendors.ID 255 Id of the payee for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ExpenseLineId
String
True 255 The expense line item identifier. ExpenseLineNumber
String
True 255 The expense line number. ExpenseAccount
String
False 1000 The account name for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAccountId
String
False Accounts.ID 255 The account ID for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAmount
Decimal
False The total amount of this expense line. ExpenseBillableStatus
String
False 13 The billing status of this expense line. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ExpenseCustomer
String
False 1000 The customer associated with this expense line. ExpenseCustomerId
String
False Customers.ID 255 The customer associated with this expense line. ExpenseClass
String
False 1000 The class name of this expense. ExpenseClassId
String
False Class.ID 255 The class ID of this expense. ExpenseMemo
String
False 5000 A memo for this expense line. ExpenseTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ExpenseTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or nontaxable). ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. TimeModified
Datetime
True When the credit card credit was last modified. TimeCreated
Datetime
True When the credit card credit was created. CreditCardCreditLineItems
Create, update, delete, and query QuickBooks Credit Card Credit Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format CCCreditId|ItemLineId. CCCreditId
String
False CreditCardCredits.ID 255 The item identifier. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ReferenceNumber
String
False 21 Reference number for the transaction. AccountName
String
False 1000 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. AccountId
String
False Accounts.ID 255 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. Memo
String
False 5000 Memo to appear on internal reports only. PayeeName
String
False 1000 Name of the payee for the transaction. PayeeId
String
False Vendors.ID 255 Id of the payee for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group name. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the available units for the item. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemCost
Double
False The unit cost for an item. ItemAmount
Decimal
False Total amount for this item. ItemBillableStatus
String
False 13 Billing status of the item. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. ItemCustomer
String
False 1000 The name of the customer who ordered the item. ItemCustomerId
String
False Customers.ID 255 The ID of the customer who ordered the item. ItemClass
String
False 1000 The name for the class of the item. ItemClassId
String
False Class.ID 1000 The ID for the class of the item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or nontaxable). ItemInventorySiteId
String
False InventorySites.ID 31 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False 255 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationId
String
False 31 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationName
String
False 255 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. TimeModified
Datetime
True When the bill was last modified. TimeCreated
Datetime
True When the bill was created. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. 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 ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. CreditCardCredits
Create, update, delete, and query QuickBooks Credit Card Credits.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ReferenceNumber
String
False 21 Reference number for the transaction. AccountName
String
False 1000 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. AccountId
String
False Accounts.ID 255 A reference to the credit card account. Either AccountId or AccountName must have a value when inserting. Memo
String
False 5000 Memo to appear on internal reports only. PayeeName
String
False 1000 Name of the payee for the transaction. PayeeId
String
False Vendors.ID 255 Id of the payee for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a credit card credit and its line item data. ExpenseItemCount
Integer
True The count of expense line items. ExpenseItemAggregate
String
False 5000 An aggregate of the expense item data which can be used for adding a credit card credit and its expense item data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the credit card credit was last modified. TimeCreated
Datetime
True When the credit card credit was created. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different 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\*
String
All line-item-specific columns may be used in insertions. Expense\*
String
All expense-item-specific columns may be used in insertions. CreditCardRefunds
Query and Insert QuickBooks AR Credit Card Refund transactions.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. TxnDate
Date
False The date of the transaction. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id RefNumber
String
False 21 The transaction reference number. CustomerRef_ListID
String
False Customers.ID 255 The ID of the customer on the refund. Either CustomerRef_ListID or CustomerRef_ListName must have a value when inserting. CustomerRef_FullName
String
False 209 The name of the customer on the refund. Either CustomerRef_ListID or CustomerRef_ListName must have a value when inserting. RefundFromAccountRef_ListID
String
False Accounts.ID 255 The ID of the account which is the source of funds for the credit card refund. RefundFromAccountRef_FullName
String
False 159 The Name of the account which is the source of funds for the credit card refund. ARAccountRef_ListID
String
False Accounts.ID 255 A reference to the accounts-receivable account where the money received from this transaction will be deposited. ARAccountRef_FullName
String
False 159 A reference to the accounts-receivable account where the money received from this transaction will be deposited. TotalAmount
Decimal
True Total amount of the refund. TotalAmountInHomeCurrency
Decimal
True Total amount of the refund in home currency. Address_Addr1
String
False 41 First line of the address. Address_Addr2
String
False 41 Second line of the address. Address_Addr3
String
False 41 Third line of the address. Address_Addr4
String
False 41 Fourth line of the address. Address_Addr5
String
False 41 Fifth line of the address. Address_City
String
False 31 City name for the address of the check. Address_State
String
False 21 State name for the address of the check. Address_PostalCode
String
False 13 Postal code for the address of the check. Address_Country
String
False 31 Country for the address of the check. Address_Note
String
False 41 Note for the address of the check. PaymentMethodRef_ListID
String
False PaymentMethods.ID 255 The ID of the Customer's payment method. PaymentMethodRef_FullName
String
False 31 The Name of the Customer's payment method. Memo
String
False 4095 Additional information about the refund. RefundAppliedToTxnAggregate
String
False 5000 An aggregate of the transactions this refund is applied to. CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardNumber
String
False 25 The Credit Card Number for the Customer. CreditCardTxnInfo_CreditCardTxnInputInfo_ExpirationMonth
Integer
False The month when the credit card expires. CreditCardTxnInfo_CreditCardTxnInputInfo_ExpirationYear
Integer
False The year when the credit card expires. CreditCardTxnInfo_CreditCardTxnInputInfo_NameOnCard
String
False 41 The name on the Customer's credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardAddress
String
False 41 The address associated with this credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardPostalCode
String
False 18 The postal code associated with the address for this credit card. CreditCardTxnInfo_CreditCardTxnInputInfo_CommercialCardCode
String
False 24 This optional field is used only for Visa and Master Card commercial cards. CreditCardTxnInfo_CreditCardTxnInputInfo_TransactionMode
String
False 50 Indicates whether this transaction came from a card swipe (CardPresent ) or not (CardNotPresent). Defaults to CardNotPresent CreditCardTxnInfo_CreditCardTxnInputInfo_CreditCardTxnType
String
False 50 Indicates from where the current transaction data originated. Values:Authorization, Capture, Charge, Refund, VoiceAuthorization CreditCardTxnInfo_CreditCardTxnResultInfo_ResultCode
Integer
False Contains the status code returned in the original ransaction response. CreditCardTxnInfo_CreditCardTxnResultInfo_ResultMessage
String
False 60 Contains the status message returned in the original transaction response. CreditCardTxnInfo_CreditCardTxnResultInfo_CreditCardTransID
String
False 24 The transaction ID is returned from the credit card processor. CreditCardTxnInfo_CreditCardTxnResultInfo_MerchantAccountNumber
String
False 32 The account number of the merchant who is running the transaction using the customer's credit card. CreditCardTxnInfo_CreditCardTxnResultInfo_AuthorizationCode
String
False 12 The authorization code is returned from the credit card processor. CreditCardTxnInfo_CreditCardTxnResultInfo_AVSStreet
String
False 50 Pass if the street address supplied in the transaction request matches the customer's address. Fail if does not match. CreditCardTxnInfo_CreditCardTxnResultInfo_AVSZip
String
False 50 Pass if the zip supplied in the transaction request matches the customer's zip. Fail if does not match. CreditCardTxnInfo_CreditCardTxnResultInfo_CardSecurityCodeMatch
String
False 50 Pass if the security colde supplied in the transaction request matches the Credit Card's security Code. Fail if does not match. CreditCardTxnInfo_CreditCardTxnResultInfo_TxnAuthorizationTime
Datetime
False Timestamp indicating the time in which the card processor authorized the transaction. CustomFields
String
False 5000 Custom fields returned from QuickBooks and formatted into XML. CurrencyRef_ListID
String
True Currency.ListID 255 Name of the currency code used for this refund. CurrencyRef_Name
String
True 64 Id of the currency code used for this refund. ExchangeRate
Decimal
False Currency exchange rate for this invoice. TimeCreated
Datetime
True The datetime the transaction was made. TimeModified
Datetime
True The last datetime the transaction was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. 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_TxnID
String
The ID of the transaction to apply the refund to. Required on Inserts. RefundAppliedToTxnAdd_RefundAmount
Decimal
The Amount of the refund to apply to the transaction. Required on Inserts. CreditMemoLineItems
Create, update, delete, and query QuickBooks Credit Memo Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format CreditMemoId|ItemLineId. CreditMemoId
String
False CreditMemos.ID 255 The item identifier. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. CustomerName
String
False 1000 The name of the customer on the credit memo. CustomerName or CustomerId are required to have a value when inserting. CustomerId
String
False Customers.ID 255 The ID of the customer on the credit memo. CustomerName or CustomerId are required to have a value when inserting. AccountsReceivable
String
False 1000 A reference to the name of the accounts-receivable account where the money received from this transaction will be deposited. AccountsReceivableId
String
False Accounts.ID 255 A reference to the ID of the accounts-receivable account where the money received from this transaction will be deposited. ShipMethod
String
False 1000 The shipping method. ShipMethodId
String
False ShippingMethods.ID 255 The shipping method id. ShipDate
Date
False The shipping date. Memo
String
False 5000 A memo regarding this transaction. Amount
Decimal
False Total amount for this transaction. Message
String
False 101 A message to the customer. MessageId
String
False CustomerMessages.ID 255 Id of the message to the customer. SalesRep
String
False 5 Reference to (the initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference ID to the sales rep. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address of the credit memo. BillingState
String
False 255 State name for the billing address of the credit memo. BillingPostalCode
String
False 30 Postal code for the billing address of the credit memo. BillingCountry
String
False 255 Country for the billing address of the credit memo. BillingNote
String
False 41 Note for the billing address of the credit memo. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address of the credit memo. ShippingState
String
False 255 State name for the shipping address of the credit memo. ShippingPostalCode
String
False 30 Postal code for the shipping address of the credit memo. ShippingCountry
String
False 255 Country for the shipping address of the credit memo. ShippingNote
String
False 41 Note for the shipping address of the credit memo. Subtotal
Decimal
True The gross subtotal. This does not include tax or the amount already paid. Tax
Double
False Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. IsPending
Boolean
False Transaction status (whether this transaction has been completed or it is still pending). IsToBeEmailed
Boolean
False Whether this credit memo is to be emailed. IsToBePrinted
Boolean
False Whether this transaction is to be printed. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. PONumber
String
False 25 The purchase order number. Terms
String
False 100 The payment terms. TermsId
String
False 255 The payment terms. CreditRemaining
Double
True Remaining credit. DueDate
Date
False Date when the credit is due. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CustomerSalesTax
String
False 3 Reference to sales tax information for the customer. CustomerSalesTaxId
String
False SalesTaxCodes.ID 255 Reference to sales tax information for the customer. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. ExchangeRate
Double
False Indicates the exchange rate for the transaction. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the available units for the item. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemRate
Double
False The unit rate charged for this item. ItemRatePercent
Double
False The rate percent charged for this item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ItemTaxCodeId
String
False SalesTaxItems.ID 255 Sales tax information for this item (taxable or nontaxable). ItemAmount
Decimal
False Total amount for this item. ItemClass
String
False 1000 The class name of the item. ItemClassId
String
False Class.ID 255 The class name of the item. ItemInventorySiteName
String
False 31 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory Add-on. ItemInventorySiteId
String
False InventorySites.ID 255 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory Add-on. ItemInventorySiteLocationName
String
False 31 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory Add-on. ItemInventorySiteLocationId
String
False 255 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory Add-on. ItemSerialNumber
String
False 5000 The serial number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory Add-on. ItemLotNumber
String
False 40 The lot number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory Add-on. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. ItemOther1
String
False 29 The Other1 field of this line item. QBXMLVersion must be set to 6.0 or higher. ItemOther2
String
False 29 The Other2 field of this line item. QBXMLVersion must be set to 6.0 or higher. ItemCustomFields
String
False The custom fields for this lineitem. ItemUOMSetFullName
String
False 1000 Indicates the price of something as a percent. ItemUOMSetListID
String
False UnitOfMeasure.ID 1000 Indicates the price of something as a percent. ItemIsGetPrintItemsInGroup
String
False 1000 If true, a list of this group's individual items their amounts will appear on printed forms. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the credit memo was last modified. TimeCreated
Datetime
True When the 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 ItemPriceLevel
String
Item price level name. QuickBooks will not return the price level. ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. CreditMemos
Create, update, delete, and query QuickBooks Credit Memos.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. CustomerName
String
False 1000 The name of the customer on the credit memo. CustomerName or CustomerId are required to have a value when inserting. CustomerId
String
False Customers.ID 255 The ID of the customer on the credit memo. CustomerName or CustomerId are required to have a value when inserting. AccountsReceivable
String
False 1000 A reference to the name of the accounts-receivable account where the money received from this transaction will be deposited. AccountsReceivableId
String
False Accounts.ID 255 A reference to the ID of the accounts-receivable account where the money received from this transaction will be deposited. ShipMethod
String
False 1000 The shipping method. ShipMethodId
String
False ShippingMethods.ID 255 The shipping method Id. ShipDate
Date
False The shipping date. Memo
String
False 5000 A memo regarding this transaction. Amount
Decimal
False Total amount for this transaction. Message
String
False 101 A message to the customer. MessageId
String
False CustomerMessages.ID 255 Id of the message to the customer. SalesRep
String
False 5 Reference to (initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference ID to the sales rep. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address of the credit memo. BillingState
String
False 255 State name for the billing address of the credit memo. BillingPostalCode
String
False 30 Postal code for the billing address of the credit memo. BillingCountry
String
False 255 Country for the billing address of the credit memo. BillingNote
String
False 41 Note for the billing address of the credit memo. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address of the credit memo. ShippingState
String
False 255 State name for the shipping address of the credit memo. ShippingPostalCode
String
False 30 Postal code for the shipping address of the credit memo. ShippingCountry
String
False 255 Country for the shipping address of the credit memo. ShippingNote
String
False 41 Note for the shipping address of the credit memo. Subtotal
Decimal
True The gross subtotal. This does not include tax or the amount already paid. Tax
Double
False Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. IsPending
Boolean
False Transaction status (whether this transaction has been completed or is still pending). IsToBeEmailed
Boolean
False Whether this credit memo is to be emailed. IsToBePrinted
Boolean
False Whether this transaction is to be printed. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. PONumber
String
False 25 The purchase order number. Terms
String
False 100 The payment terms. TermsId
String
False 255 The payment terms. CreditRemaining
Double
True Remaining credit. DueDate
Date
False Date when the credit is due. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CustomerSalesTax
String
False 3 Reference to sales tax information for the customer. CustomerSalesTaxId
String
False SalesTaxCodes.ID 255 Reference to sales tax information for the customer. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. ExchangeRate
Double
False Indicates the exchange rate for the transaction. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a credit memo and its line item data. TransactionCount
Integer
True The count of related transactions to the credi tmemo. TransactionAggregate
String
True 5000 An aggregate of the linked transaction data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the credit memo was last modified. TimeCreated
Datetime
True When the 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\*
String
All line-item-specific columns may be used in insertions. Currency
Create, update, delete, and query QuickBooks Currencies. This table requires QBXML version 8.0 or higher, and you will need to enable multiple Currencies in your QuickBooks company file to use it.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The ID of the currency. Name
String
False 64 The name of the currency. IsActive
Boolean
False Boolean indicating if the currency is active. CurrencyCode
String
False 3 A maximum of 3 characters describing the code for the currency. For example: USD. CurrencyFormat_ThousandSeparator
String
False 10 The separating character for thousands. For example, in 1,000,000 the comma is the separator. The allowed values are Comma, Period, Space, Apostrophe. The default value is Comma. CurrencyFormat_ThousandSeparatorGrouping
String
False 50 Controls how the display of the currency value is grouped. For example, 10,000,000 is XX_XXX_XXX, but could be replaced by X_XX_XX_XXX. CurrencyFormat_DecimalPlaces
String
False 50 Controls the display of the decimal value. For example, in 1.00 the value would be 2. You can change to 0 if you do not want decimals to be displayed. The default value is 2. CurrencyFormat_DecimalSeparator
String
False 6 Controls the character used to separate decimal values from whole numbers. For example, in 1.00 the value is Period. The allowed values are Comma, Period. The default value is Period. IsUserDefinedCurrency
Boolean
True Indicates whether the currency is a built-in currency or a currency created by a QuickBooks user. ExchangeRate
Double
True The market price for which the currency can be exchanged for the currency used by the QuickBooks company file as the home currency. The exchange rate should be considered a snapshot of the rates in effect at the AsOfDate. AsOfDate
Date
True The date when the exchange rate was last changed. EditSequence
String
True 16 A string indicating the revision of the currency. TimeCreated
Datetime
True The time the currency was created. TimeModified
Datetime
True The time the currency was last modified. CustomerContacts
Create, update, delete, and query QuickBooks Customer Contacts. This table 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]
String
True 255 The unique identifier of the shipping address in the format CustomerId|ContactId. CustomerId
String
False Customers.ID 255 The ID of the customer the shipping address is associated with. Name
String
False 100 The name of the customer. This is required to have a value when inserting. FullName
String
True 1000 The full name of the customer, including parents in the format parent:customer. ContactId
String
False 500 The ID of the contact. ContactEditSequence
String
False 500 An identifer used for versioning for this copy of the object. ContactFirstName
String
False 500 The first name of the contact. ContactMiddleName
String
False 500 The middle name of the contact. ContactLastName
String
False 500 The last name of the contact. ContactJobTitle
String
False 41 The job title of the contact. ContactSalutation
String
False 255 The salutation of the contact. ContactMethods
String
False 1000 A list of contact methods for the contact. EditSequence
String
False 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
False When the customer was last modified. TimeCreated
Datetime
False 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 IncludeJobs
Boolean
Whether or not to include job information in the results. The default value is TRUE. CustomerMessages
Create, delete, and query Customer Messages.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the customer message. Name
String
False 101 The name of the customer message. IsActive
Boolean
False Boolean determining if the customer message is active. EditSequence
String
True 16 A string indicating the revision of the customer message. TimeCreated
Datetime
True The time the customer message was created. TimeModified
Datetime
True The last time the customer message was modified. CustomerNotes
Create, update, and query QuickBooks Customer Notes. This table requires QBXML version 12.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the note in the format CustomerId|NoteId. CustomerID
String
False Customers.ID 255 The ID of the customer the note is associated with. Name
String
False 100 The name of the customer. This is required to have a value when inserting. FullName
String
True 1000 The full name of the customer, including parents in the format parent:customer. NoteId
String
False 255 Id of the note. Date
String
False 5000 Date for this note Note
String
False 5000 Note for this customer EditSequence
String
False 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
False When the customer was last modified. TimeCreated
Datetime
False 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 IncludeJobs
Boolean
Whether or not to include job information in the results. The default value is TRUE. Customers
Create, update, delete, and query QuickBooks Customers.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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.00
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the customer. Name
String
False 41 The name of the customer. This is required to have a value when inserting. FullName
String
True 159 The full name of the customer, including parents in the format parent:customer. Salutation
String
False 15 A salutation, such as Mr., Mrs., etc. FirstName
String
False 25 The first name of the customer as stated in the address info. MiddleInitial
String
False 5 A middle name or middle initial of the customer. LastName
String
False 25 The last name of the customer as stated in the address info. AccountNumber
String
False 99 The account number for the customer. Company
String
False 41 The name of the company of the customer. Balance
Double
True The balance owned by this customer including subcustomers. CustomerBalance
Double
True The balance owned by only this customer not including subcustomers. Contact
String
False 41 The name of the main contact person for the customer. Type
String
False 1000 A predefined customer type within QuickBooks. Typical customer types, if defined, might be Commercial, Residential, etc. TypeId
String
False CustomerTypes.ID 255 A predefined customer type within QuickBooks. Phone
String
False 21 The main telephone number for the customer. Fax
String
False 21 The fax number number for the customer. AlternateContact
String
False 41 The name of an alternate contact person for the customer. AlternatePhone
String
False 21 The alternate telephone number for the customer. Email
String
False 1023 The email address for communicating with the customer. Cc
String
False 1023 A CC email address associated with the customer. Requires QBXML Version 12.0 or higher. AdditionalContactInfo
String
False Additional contact information for the customer. ContactsAggregate
String
False 5000 An xml aggregate of the additional contacts associated with the customer. Aggregate must include the contact FirstName. Requires QBXML Version 12.0. ClassName
String
False A reference to the class of a customer. Requires QBXML Version 12.0 or higher. ClassId
String
False A reference to the class of a customer. Requires QBXML Version 12.0 or higher. Notes
String
False 5000 The first note for a customer. To retrieve all notes for a customer, use the NotesAggregate column or the CustomerNotes table. NotesAggregate
String
False 5000 An xml aggregate of the additional notes associated with the customer. Aggregate must include NoteId and Note elements. Requires QBXML Version 12.0. ParentName
String
False The parent name of the job. ParentId
String
False Customers.ID 255 The parent ID of the job. Sublevel
Integer
False The number of ancestors this customer has. JobStatus
String
False 10 The current status of the job. The allowed values are Awarded, Closed, InProgress, None, NotAwarded, Pending. JobStartDate
Date
False The start date of the job. JobProjectedEndDate
Date
False The expected end date for the job. JobEndDate
Date
False The actual end date for the job. JobDescription
String
False 99 A description of the job. JobType
String
False 1000 The full name of the job type. JobTypeId
String
False JobTypes.ID 255 A job type reference Id. CreditCardAddress
String
False 41 The address associated with the credit card. CreditCardExpMonth
Integer
False The expiration month associated with the credit card. CreditCardExpYear
Integer
False The expiration year associated with the credit card. CreditCardNameOnCard
String
False 41 The name as it appears on the credit card of the customer. CreditCardNumber
String
False 25 The credit card number on file for this customer. CreditCardPostalCode
String
False 41 The postal code associated with the address and number on file for this customer. CreditLimit
Double
False The credit limit for this customer. If it is equal to 0, there is no credit limit. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 41 First line of the billing address. BillingLine2
String
False 41 Second line of the billing address. BillingLine3
String
False 41 Third line of the billing address. BillingLine4
String
False 41 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 31 City name for the billing address of the customer. BillingState
String
False 21 State name for the billing address of the customer. BillingPostalCode
String
False 13 Postal code for the billing address of the customer. BillingCountry
String
False 31 Country for the billing address of the customer. BillingNote
String
False 41 Note for the billing address of the customer. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 41 First line of the shipping address. ShippingLine2
String
False 41 Second line of the shipping address. ShippingLine3
String
False 41 Third line of the shipping address. ShippingLine4
String
False 41 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 31 City name for the shipping address of the customer. ShippingState
String
False 21 State name for the shipping address of the customer. ShippingPostalCode
String
False 13 Postal code for the shipping address of the customer. ShippingCountry
String
False 31 Country for the shipping address of the customer. ShippingNote
String
False 41 Note for the shipping address of the customer. ShippingAggregate
String
False 5000 An XML aggregate of the shipping addresses associated with the customer. Requires QBXML Version 12.0 ResaleNumber
String
False 16 The resale number of the customer, if he/she has one. This field can be set in inserts but not in updates. SalesRep
String
False SalesReps.ID 5 A reference to a sales rep for the customer. SalesRepId
String
False 255 A reference to a sales rep for the customer. Terms
String
False 100 A reference to terms of payment for this customer. A typical example might be '2% 10 Net 60'. This field can be set in inserts but not in updates. TermsId
String
False 255 A reference to terms of payment for this customer. CurrencyName
String
False 64 The name of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. TaxCode
String
False 3 This is a reference to a sales tax code predefined within QuickBooks. This field can be set in inserts but not in updates. TaxCodeId
String
False SalesTaxCodes.ID 255 This is a reference to a sales tax code predefined within QuickBooks. This field can be set in inserts but not in updates. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. SalesTaxCountry
String
False 100 Identifies the country collecting applicable sales taxes. Only available in international editons of QuickBooks. PriceLevel
String
False 100 Reference to a price level for the customer. PriceLevelId
String
False PriceLevels.ID 255 Reference to a price level for the customer. PreferredDeliveryMethod
String
False 20 The preferred delivery method for the customer. Enter either: fax, email, or none. This column requires QBXML Version 12.0. PreferredPaymentMethodName
String
False 100 The preferred method of payment. PreferredPaymentMethodId
String
False PaymentMethods.ID 255 The preferred method of payment. IsActive
Boolean
False Whether or not the customer is active. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the customer was last modified. TimeCreated
Datetime
True 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 IncludeJobs
Boolean
Whether or not to include job information in the results. The default value is TRUE. CustomerShippingAddresses
Create, update, delete, and query QuickBooks Customer Shipping Addresses. Multiple Customer Shipping Addresses are supported in only QuickBooks 2013 and higher. Additionally, this table requires QBXML version 12.0 or 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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the shipping address in the format CustomerId|ShipToName. CustomerId
String
False Customers.ID 255 The ID of the customer the shipping address is associated with. Name
String
False 100 The name of the customer. This is required to have a value when inserting. FullName
String
True 1000 The full name of the customer, including parents in the format parent:customer. ShipToName
String
False 500 Name of the shipping address in QuickBooks. This input is required when inserting additional shipping addresses for a customer. ShipToAddr1
String
False 500 First line of the shipping address. ShipToAddr2
String
False 500 Second line of the shipping address. ShipToAddr3
String
False 500 Third line of the shipping address. ShipToAddr4
String
False 500 Fourth line of the shipping address. ShipToAddr5
String
False 41 Fifth line of the shipping address. ShipToCity
String
False 255 City name for the shipping address of the customer. ShipToState
String
False 255 State name for the shipping address of the customer. ShipToPostalCode
String
False 30 Postal code for the shipping address of the customer. ShipToCountry
String
False 255 Country for the shipping address of the customer. ShipToNote
String
False 41 Note for the shipping address of the customer. ShipToDefaultShipTo
Boolean
False Boolean indicating if this shipping address is the default shipping address for the customer. EditSequence
String
False 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
False When the customer was last modified. TimeCreated
Datetime
False 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 IncludeJobs
Boolean
Whether or not to include job information in the results. The default value is TRUE. CustomerTypes
Create, update, delete, and query QuickBooks Customer Types.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. Name
String
False 31 The name of the customer type. FullName
String
True 159 The full name of the customer, including parents in the format Parent:Customer. ParentName
String
False The parent name of the job. ParentId
String
False CustomerTypes.ID 255 The parent ID of the job. IsActive
Boolean
False Whether or not the customer type is active. TimeCreated
Datetime
True The datetime the customer type was made. TimeModified
Datetime
True The last datetime the customer type was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. DateDrivenTerms
Create, delete, and query QuickBooks Date Driven Terms.
Table Specific Information
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The ID of the date driven term. Name
String
False 31 The name of the date driven term. IsActive
Boolean
False Boolean indicating if the date driven term is active. DayOfMonthDue
Integer
False Day of the month when full payment is due with no discount. DueNextMonthDays
Integer
False If the invoice or bill is issued within this many days of the due date, payment is not due until the following month. DiscountDayOfMonth
Integer
False If the payment is made by this day of the month, then DiscountPct applies. DiscountPct
Double
False If the payment is received by DiscountDayOfMonth, then this discount will apply to the payment. DiscountPct must be between 0 and 100. EditSequence
String
True 16 A string indicating the revision of the date driven term. TimeCreated
Datetime
True The time the date driven term was created. TimeModified
Datetime
True The time the date driven term was last modified. DepositLineItems
Create, update, delete, and query QuickBooks Deposit Line Items. QBXMLVersion must be set to 7.0 or higher to update a deposit.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Following 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]
String
True 255 The unique identifier in the format DepositId|ItemLineId. DepositId
String
False Deposits.ID 255 The deposit identifier. Set this value when inserting values to an existing deposit, or leave it blank to add a new deposit. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. CashBackAccount
String
False 1000 Account reference to the bank or credit card company. CashBackAccountId
String
False Accounts.ID 255 Account reference to the bank or credit card company. CashBackAmount
Decimal
False Cash-back amount. CashBackId
String
True 255 Id of the cash back transaction. CashBackMemo
String
False 5000 Additional info for the cash back transaction. DepositToAccount
String
False 1000 Account to deposit funds to. DepositToAccountId
String
False Accounts.ID 255 Account to deposit funds to. Memo
String
False 5000 Memo to appear on internal reports only. TotalDeposit
Double
True The total of the deposit. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. ItemLineId
String
True 255 The line item identifier. ItemAccount
String
False 1000 A reference to the account funds are being deposited to. ItemAccountId
String
False Accounts.ID 255 A reference to the account funds are being deposited to. ItemAmount
Decimal
False The total amount of this deposit line item. This should be a positive number. ItemCheckNumber
String
False 11 The check number for this deposit line item. ItemClass
String
False 1000 Specifies the class of the deposit line item. ItemClassId
String
False Class.ID 255 Specifies the class of the deposit line item. ItemEntityName
String
False 209 An entity name for this deposit line item. ItemEntityId
String
False 255 An entity ID for this deposit line item. ItemMemo
String
False 5000 Memo for this deposit line item. ItemPaymentMethod
String
False 31 The payment method (funding source) for this deposit line item. For example: cash, check, or Master Card. ItemPaymentMethodId
String
False PaymentMethods.ID 255 The payment method ID for this deposit line item ItemPaymentId
String
False 255 The payment transaction ID for this deposit line item. A TxnID returned from a request can be used to refer to the transaction in subsequent requests. For example ReceivePayments.Id. ItemPaymentLineId
String
False 255 The payment transaction line ID for this deposit line item. ItemRefId
String
True 255 Identification number of the transaction associated with this deposit line. ItemTxnType
String
True 100 Type of the transaction associated with this deposit line. CurrencyName
String
False 64 The name of the currency for this deposit. A minimum QBXML Version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this deposit. A minimum QBXML Version of 8.0 is required for this feature. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. TimeModified
Datetime
True When the deposit was last modified. TimeCreated
Datetime
True When the deposit was created. Payee
String
False 1000 The name of the payee for the Check. PayeeId
String
False Vendors.ID 255 The ID of the payee for the Check. 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 ItemPriceLevel
String
Item price level name. QuickBooks will not return the price level. Deposits
Create, update, delete, and query QuickBooks Deposits. QBXMLVersion must be set to 7.0 or higher to update a deposit.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. CashBackAccount
String
False 1000 Account reference to the bank or credit card company. CashBackAccountId
String
False Accounts.ID 255 Account reference to the bank or credit card company. CashBackAmount
Decimal
False Cash back amount. CashBackId
String
True 255 Id of the cash back transaction. CashBackMemo
String
False 5000 Additional info for the cash back transaction. DepositToAccount
String
False 1000 Account to deposit funds to. DepositToAccountId
String
False Accounts.ID 255 Account to deposit funds to. Memo
String
False 5000 Memo to appear on internal reports only. TotalDeposit
Double
True The total of the deposit. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a deposit and its line item data. CurrencyName
String
False 64 The name of the currency for this deposit. A minimum QBXML Version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this deposit. A minimum QBXML Version of 8.0 is required for this feature. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the deposit was last modified. TimeCreated
Datetime
True When the deposit was created. Payee
String
False 1000 The name of the payee for the Check. PayeeId
String
False Vendors.ID 255 The ID of the payee for the Check. 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\*
String
All line-item-specific columns may be used in insertions. EmployeeEarnings
Create, update, delete, and query QuickBooks Employee Earnings.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier in the format EmployeeId|EmployeeEarningsId. Name
String
True 255 The name of the employee. PayPeriod
String
False 255 Indicates how often employees are paid The allowed values are Daily, Weekly, Biweekly, Semimonthly, Monthly, Quarterly, Yearly. EmployeeId
String
False Employees.ID 255 The ID of the employee. This is required to have a value when inserting. EarningsId
String
True 255 The ID of the employee earnings entry. EarningsWageName
String
False 31 The wage name. This is required to have a value when inserting. EarningsWageId
String
False 255 A reference ID to the wage. Used for payroll. EarningsRate
Double
False Employee earnings rate. Used for payroll. EarningsRatePercent
String
False Employee earnings ratepercent. Used for payroll. TimeModified
Datetime
True When the item was last modified. TimeCreated
Datetime
True When the item was created. Employees
Create, update, delete, and query QuickBooks Employees.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier of the employee. Name
String
False 100 The name of the employee. This is required to have a value when inserting. Salutation
String
False 15 A salutation, such as Mr., Mrs., etc. FirstName
String
False 25 The first name of the employee. MiddleInitial
String
False 25 A middle name or middle initial of the employee. LastName
String
False 25 The last name of the employee. JobTitle
String
False 41 Job title of the employee. Requires QBXML Version 12.0 or higher. AccountNumber
String
False 99 The account number for this employee. SSN
String
False 11 The social security number of the employee. EmployeeType
String
False 13 The type of employee. The allowed values are Regular, Unspecified, Officer, Statutory, Owner. Gender
String
False 12 The gender of the employee. Note that after inserting, this value cannot be updated. The allowed values are Unspecified, Male, Female. Address
String
True Full address returned by QuickBooks. Line1
String
False 500 First line of the address. Line2
String
False 500 Second line of the address. City
String
False 255 City name for the address. State
String
False 255 State name for the address. PostalCode
String
False 30 Postal code for the address. AlternatePhone
String
False 21 An alternate phone number for the employee. Email
String
False 1023 The email address of the employee. PrintAs
String
False 110 How the employee name should be printed. MobilePhone
String
False 21 The mobile phone number of this employee. Pager
String
False 21 The pager number of this employee. PagerPIN
String
False 10 The personal identification number for the pager of this employee. Fax
String
False 21 The fax number of this employee. BirthDate
Date
False The date of birth of this employee. USCitizen
String
False 10 Indicates whether the Employee is a US Citizen. The allowed values are Unspecified, Yes, No. Ethnicity
String
False 20 The Ethnicity of the Employee. The allowed values are Unspecified, AmericanIndian, Asian, Black, Hawaiian, Hispanic, White, TwoOrMoreRaces. Disabled
String
False 10 Indicates whether the Employee is disabled The allowed values are Unspecified, Yes, No. DisabilityDescription
String
False 25 A description of the disability. FormOnFile
String
False 10 Indicates whether the I-9 Form is on file. The allowed values are Unspecified, Yes, No. USVeteran
String
False 10 Indicates whether the Employee is a US Veteran. The allowed values are Unspecified, Yes, No. MilitaryStatus
String
False 10 The current military status of the Employee. The allowed values are Unspecified, Active, Reserve. HiredDate
Date
False The date the employee was hired. IsActive
Boolean
False This property indicates whether this object is currently enabled for use by QuickBooks. Notes
String
False 5000 This property may contain any notes you wish to make concerning the transaction. PayPeriod
String
False 13 Indicates how often employees are paid. The allowed values are NotSet, Daily, Weekly, Biweekly, Semimonthly, Monthly, Quarterly, Yearly. PayrollClassName
String
False 159 A reference to the class into which this employee payroll falls. Id/Name Reference Properties. PayrollClassId
String
False Class.ID 1000 A reference to the class into which this employee payroll falls. Id/Name Reference Properties. Phone
String
False 21 The phone number of the employee. ReleasedDate
Date
False The date the employee was released (if he/she was released). TimeDataForPaychecks
String
False 18 Indicates whether time data is used to create paychecks for this employee. The allowed values are NotSet, UseTimeData, DoNotUseTimeData. SickTimeAccrualPeriod
String
False 19 Sick-time hours accrual period. The allowed values are BeginningOfYear, EveryHourOnPaycheck, EveryPaycheck. SickTimeAccrualStartDate
Date
False Sick-time accrual start date. The minimum QBXMLVersion is 5.0. The standard formatting for dates is YYYY-MM-DD; e.g., September 2, 2002 is formatted as 2002-09-02. SickTimeAccrued
String
False 30 Sick-time hours accrued. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported. The integrated application has no permission to access personal data. The QuickBooks administrator can grant permission to access personal data through the Integrated Application preferences. SickTimeAvailable
String
False 30 Sick-time hours available. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported. The integrated application has no permission to access personal data. The QuickBooks administrator can grant permission to access personal data through the Integrated Application preferences. SickTimeMaximum
String
False 30 Sick-time maximum hours. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported SickTimeYearlyReset
Boolean
False Sick-time hours resets each year. Default false. SickTimeUsed
String
False 30 Sick-time hours used. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported. Minimum QBXMLVersion '5.0'. VacationTimeAccrualPeriod
String
False 19 Vacation-time hours accrual period. The allowed values are BeginningOfYear, EveryHourOnPaycheck, EveryPaycheck. VacationTimeAccrualStartDate
Date
False Vacation-time accrual start date. Minimum QBXMLVersion '5.0'. The standard formatting for dates is YYYY-MM-DD; i.e., September 2, 2002 is formatted as 2002-09-02. VacationTimeAccrued
String
False 30 Vacation-time hours accrued. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported. VacationTimeAvailable
String
False 30 Vacation-time hours available. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported. VacationTimeMaximum
String
False 30 Vacation-time maximum hours. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported. VacationTimeYearlyReset
Boolean
False Vacation-time hours resets each year. Default false. VacationTimeUsed
String
False 30 Vacation-time hours used. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. Seconds are not supported. Minimum QBXMLVersion '5.0'. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 A string indicating the revision of the employee record. TimeModified
Datetime
True When the employee record was last modified. TimeCreated
Datetime
True 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 OpeningBalance
String
The opening balance of the account (by default 0). Note that this property is used only when adding new accounts to QuickBooks. OpeningDate
String
The opening balance date of the account. Note that this property is used only when adding new accounts to QuickBooks. EstimateLineItems
Create, update, delete, and query QuickBooks Estimate Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format EstimateId|ItemLineId. EstimateId
String
False Estimates.ID 255 The unique identifier of the estimate. ReferenceNumber
String
False 21 Transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
False 1000 Customer name this transaction is recorded under. This is required to have a value when inserting. CustomerId
String
False Customers.ID 255 Customer ID this transaction is recorded under. This is required to have a value when inserting. Date
Date
False Transaction date. Memo
String
False 5000 Memo regarding this transaction. TotalAmount
Double
True Total amount for this transaction. ItemLineID
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemRate
Double
False The unit rate charged for this item. ItemRatePercent
Double
False The rate percent charged for this item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax ID for this tax item. ItemAmount
Decimal
False Total amount for this item. ItemClass
String
False 1000 The class name of the item. ItemClassId
String
False Class.ID 255 The class name of the item. ItemInventorySiteId
String
False 255 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False InventorySites.ID 31 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemMarkupRate
Double
False Item markup rate, to be applied over the base purchase cost. ItemMarkupRatePercent
Double
False Item markup rate percent, to be applied over the base purchase cost. ItemOther1
String
False 29 The Other1 field of this line item. QBXMLVersion must be set to 6.0 or higher. ItemOther2
String
False 29 The Other2 field of this line item. QBXMLVersion must be set to 6.0 or higher. ItemCustomFields
String
False The custom fields for this line item. ItemUOMSetFullName
String
False 1000 Indicates the price of something as a percent. ItemUOMSetListID
String
False UnitOfMeasure.ID 1000 Indicates the price of something as a percent. ItemIsGetPrintItemsInGroup
String
False 1000 If true, a list of this group's individual items their amounts will appear on printed forms. Message
String
False 101 Message to the customer. MessageId
String
False CustomerMessages.ID 1000 Message to the customer. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. SalesRep
String
False 5 Reference to (initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference to (initials of) the sales rep. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 Note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. Requires QBBXML Version 7.0 or higher. ShippingLine1
String
False 500 First line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine2
String
False 500 Second line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine3
String
False 500 Third line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine4
String
False 500 Fourth line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine5
String
False 41 Fifth line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingCity
String
False 255 City name for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingState
String
False 255 State name for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingPostalCode
String
False 30 Postal code for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingCountry
String
False 255 Country for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingNote
String
False 41 Note for the shipping address. Requires QBBXML Version 7.0 or higher. Subtotal
Double
True Gross subtotal. This does not include tax/amount already paid. Tax
Double
True Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. IsActive
Boolean
False Whether or not the estimate is active. IsToBeEmailed
Boolean
False Whether or not this email is to be emailed. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. PONumber
String
False 25 The purchase order number. Terms
String
False 100 A reference to terms of payment, predefined within QuickBooks. TermsId
String
False 255 A reference to terms of payment, predefined within QuickBooks. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CustomerSalesTaxName
String
False 3 Reference to sales tax information for the customer. CustomerSalesTaxId
String
False SalesTaxCodes.ID 255 Reference to sales tax information for the customer. ExchangeRate
Double
False Indicates the exchange rate for the transaction. DueDate
Date
True Date when credit is due. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the credit memo was last modified. TimeCreated
Datetime
True When the 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 ItemPriceLevel
String
Item price level name. QuickBooks will not return the price level. ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. Estimates
Create, update, delete, and query QuickBooks Estimates.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. ReferenceNumber
String
False 21 Transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
False 1000 Customer name this transaction is recorded under. This is required to have a value when inserting. CustomerId
String
False Customers.ID 255 Customer ID this transaction is recorded under. This is required to have a value when inserting. Date
Date
False Transaction date. Memo
String
False 5000 Memo regarding this transaction. TotalAmount
Decimal
True Total amount for this transaction. Message
String
False 101 Message to the customer. MessageId
String
False CustomerMessages.ID 255 Message to the customer. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. SalesRep
String
False 5 Reference to (initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference to (ID of) the sales rep. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 Note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. Requires QBBXML Version 7.0 or higher. ShippingLine1
String
False 500 First line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine2
String
False 500 Second line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine3
String
False 500 Third line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine4
String
False 500 Fourth line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingLine5
String
False 41 Fifth line of the shipping address. Requires QBBXML Version 7.0 or higher. ShippingCity
String
False 255 City name for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingState
String
False 255 State name for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingPostalCode
String
False 30 Postal code for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingCountry
String
False 255 Country for the shipping address. Requires QBBXML Version 7.0 or higher. ShippingNote
String
False 41 Note for the shipping address. Requires QBBXML Version 7.0 or higher. Subtotal
Decimal
True Gross subtotal. This does not include tax/amount already paid. Tax
Double
True Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. IsActive
Boolean
False Whether or not the estimate is active. IsToBeEmailed
Boolean
False Whether or not this email is to be emailed. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. PONumber
String
False 25 The purchase order number. Terms
String
False 100 A reference to the terms of payment, predefined within QuickBooks. TermsId
String
False 255 A reference to the terms of payment, predefined within QuickBooks. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CustomerSalesTaxName
String
False 3 Reference to sales tax information for the customer. CustomerSalesTaxId
String
False SalesTaxCodes.ID 255 Reference to sales tax information for the customer. ExchangeRate
Double
False Indicates the exchange rate for the transaction. DueDate
Date
True Date when credit is due. Other
String
False 29 Other data associated with the estimate. ItemCount
Integer
True A count of the line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a estimates and its line item data. TransactionCount
Integer
True The count of related transactions to the estimates. TransactionAggregate
String
True 5000 An aggregate of the linked transaction data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the estimate was last modified. TimeCreated
Datetime
True When the 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 Item\*
String
All line-item-specific columns may be used in insertions. InventoryAdjustmentLineItems
Create and query QuickBooks Inventory Adjustment Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format InventoryAdjustmentId|ItemLineId. InventoryAdjustmentID
String
True InventoryAdjustments.ID 255 The unique identifier for the Inventory Adjustment. ReferenceNumber
String
False 21 The transaction reference number. Account
String
False 1000 The account the inventory adjustment is associated with. Either Account or AccountId is required on insert. AccountId
String
False Accounts.ID 255 The account the inventory adjustment is associated with. Either Account or AccountId is required on insert. Class
String
False 1000 A reference to the class for the inventory adjustment. ClassId
String
False Class.ID 255 A reference to the class for the inventory adjustment. CustomerName
String
False 1000 The name of the customer on the inventory adjustment. CustomerId
String
False Customers.ID 255 The ID of the customer on the inventory adjustment. Memo
String
False 5000 A memo regarding this transaction. InventorySite
String
False 31 The name of the inventory site for the transaction. InventorySiteId
String
False InventorySites.ID 255 The ID of the inventory site for the transaction. Date
Date
False The date of the transaction. ItemLineId
String
False 255 The line ID of the item. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. Either ItemName or ItemId is required on an insert. ItemId
String
False Items.ID 255 The item identifier. Either ItemName or ItemId is required on an insert. ItemNewQuantity
Double
False The new quantity for this adjustment. Used on only insert. There is no response value. ItemNewValue
Double
False New value of this adjustment. Used on only insert. There is no response value. ItemQuantityDiff
Double
False The change in quantity for this adjustment. ItemValueDiff
Double
False The change in total value for this adjustment. ItemLotNumber
String
False 40 The lot number for this adjustment. This field requires QBXML Version 11.0. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. This requires QBXML version at least 16.0. ItemSerialNumber
String
False 4095 The serial number for this adjustment. This field requires QBXML Version 11.0 ItemSerialNumberAddedOrRemoved
String
False Whether the serial number for this adjustment was added or removed. This field requires QBXML Version 11.0 The allowed values are Added, Removed. ItemInventorySiteLocationId
String
False 255 The site location for this adjustment. This field requires QBXML Version 12.0. ItemInventorySiteLocationName
String
False The site location for this adjustment. This field requires QBXML Version 12.0. EditSequence
String
True An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the inventory adjustment was last modified. TimeCreated
Datetime
True When the 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 LinkToTxnId
String
Link this transaction to another transaction. This is available during only inserts and requires a minimum QBXML Version 6.0 InventoryAdjustments
Create, query, and delete QuickBooks Inventory Adjustments.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. ReferenceNumber
String
False 21 The transaction reference number. Account
String
False 1000 The account the inventory adjustment is associated with. Either Account or AccountId is required on insert. AccountId
String
False Accounts.ID 255 The account the inventory adjustment is associated with. Either Account or AccountId is required on insert. Class
String
False 1000 A reference to the class for the inventory adjustment. ClassId
String
False Class.ID 255 A reference to the class for the inventory adjustment. CustomerName
String
False 1000 The name of the customer on the inventory adjustment. CustomerId
String
False Customers.ID 255 The ID of the customer on the inventory adjustment. Memo
String
False 5000 A memo regarding this transaction. InventorySite
String
False 31 The name of the inventory site for the transaction. InventorySiteId
String
False InventorySites.ID 255 The ID of the inventory site for the transaction. Date
Date
False The date of the transaction. ItemCount
Integer
True The number of line items for the inventory adjustment. ItemAggregate
String
False 5000 An aggregate of the Line Item data which can be used for adding an inventory adjustment and its line item data. EditSequence
String
True An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the inventory adjustment was last modified. TimeCreated
Datetime
True When the 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\*
String
All line-item-specific columns may be used in insertions or updates. InventorySites
Create, update, delete, and query QuickBooks Inventory Sites. Inventory Sites are only available in QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The ID of the inventory site. Name
String
False 31 Name of the inventory site. IsActive
Boolean
False Whether or not the inventory site is active. SiteDesc
String
False 100 A description of the inventory site. Contact
String
False 41 Contact for the inventory site. Phone
String
False 21 Phone number for the inventory site. Fax
String
False 21 Fax number for the inventory site. Email
String
False 1023 Email address for the inventory site. SiteAddress_Addr1
String
False 500 First line of the address. SiteAddress_Addr2
String
False 500 Second line of the address. SiteAddress_Addr3
String
False 500 Third line of the address. SiteAddress_Addr4
String
False 500 Fourth line of the address. SiteAddress_Addr5
String
False 41 Fifth line of the address. SiteAddress_City
String
False 255 City portion of the address. SiteAddress_State
String
False 255 State portion of the address. SiteAddress_PostalCode
String
False 30 Postal Code portion of the address. SiteAddress_Country
String
False 255 Country portion of the address. EditSequence
String
True 16 A string indicating the revision of the inventory site. TimeCreated
Datetime
True The time the inventory site was created. TimeModified
Datetime
True The time the inventory site was modified. IsDefaultSite
Boolean
True Boolean indicating if the inventory site is the default site for the company. InvoiceLineItems
Create, update, delete, and query QuickBooks Invoice Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format InvoiceId|ItemLineId. InvoiceId
String
False Invoices.ID The unique identifier of the Invoice. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
False 1000 The name of the customer on the invoice. Either CustomerName or CustomerId must have a value when inserting. CustomerId
String
False Customers.ID 255 The ID of the customer on the invoice. Alternatively give this field a value when inserting instead of CustomerName. Account
String
False 1000 A reference to the accounts-receivable account where the money received from this transaction will be deposited. AccountId
String
False Accounts.ID 255 A reference to the accounts-receivable account where the money received from this transaction will be deposited. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ShipMethod
String
False 1000 The shipping method associated with the invoice. ShipMethodId
String
False ShippingMethods.ID 255 The shipping method associated with the invoice. ShipDate
Date
False The shipping date associated with the invoice. Memo
String
False 5000 A memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. Amount
Decimal
True The total amount for this invoice. Message
String
False 101 A message to the vendor or customer to appear in the invoice. MessageId
String
False CustomerMessages.ID 255 A message to vendor or customer to appear in the invoice. SalesRep
String
False 5 A reference to the (initials of) sales rep. SalesRepId
String
False SalesReps.ID 255 A reference to the sales rep. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 A note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 A note for the shipping address. Subtotal
Decimal
True The gross subtotal of the invoice. This does not include tax or amount already paid. Tax
Double
True The total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True The percentage charged for sales tax. PONumber
String
False 25 The purchase order number. DueDate
Date
False The date when payment is due. Terms
String
False 100 The payment terms. TermsId
String
False 255 The payment terms. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. ItemLineId
String
True The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False 1000 The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemRate
Double
False The unit rate charged for this item. ItemRatePercent
Double
False The rate precent charged for this item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item. ItemAmount
Decimal
False Total amount for this item. ItemClass
String
False 1000 The class name of the item. ItemClassId
String
False Class.ID 255 The class name of the item. ItemServiceDate
Date
False The service date for the item if the item is a type of service. ItemInventorySiteId
String
False InventorySites.ID 31 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False 255 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationId
String
False 31 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationName
String
False 255 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemSerialNumber
String
False 5000 The serial number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemLotNumber
String
False 40 The lot number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. It is supported from QB Desktop 2023 version 3 (USA & Canada) and SDK 16.0. ItemOther1
String
False 29 The Other1 field of this line item. QBXMLVersion must be set to 6.0 or higher. ItemOther2
String
False 29 The Other2 field of this line item. QBXMLVersion must be set to 6.0 or higher. ItemCustomFields
String
False The custom fields for this line item. ItemUOMSetFullName
String
False 1000 Indicates the price of something as a percent. ItemUOMSetListID
String
False UnitOfMeasure.ID 1000 Indicates the price of something as a percent. ItemIsGetPrintItemsInGroup
String
False 1000 If true, a list of this group's individual items their amounts will appear on printed forms. AppliedAmount
Decimal
True The total amount of applied credits and payments. Balance
Decimal
False The unpaid amount for this sale. CustomerTaxCode
String
False 3 The tax code specific to this customer. CustomerTaxCodeId
String
False SalesTaxCodes.ID 255 The tax code specific to this customer. IsToBePrinted
Boolean
False Whether this invoice is to be printed. IsToBeEmailed
Boolean
False Whether this invoice is to be emailed. IsPaid
Boolean
True Whether this invoice has been paid in full. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. IsPending
Boolean
False The transaction status (whether this transaction has been completed or it is still pending). IsFinanceCharge
String
False 16 Whether this invoice includes a finance charge. The allowed values are NotSet, IsFinanceCharge, NotFinanceCharge. The default value is NotSet. Template
String
False 100 A reference to a template specifying how to print the transaction. TemplateId
String
False Templates.ID 255 A reference to a template specifying how to print the transaction. SuggestedDiscountAmount
Decimal
False A suggested discount amount for the invoice. SuggestedDiscountDate
Date
False A suggested discount date for the invoice. ExchangeRate
Double
False Currency exchange rate for this invoice. BalanceInHomeCurrency
Double
False Balance remaining in units of the home currency. CurrencyName
String
False 64 Name of the currency code used for this invoice. CurrencyId
String
False Currency.ID 1000 Id of the currency code used for this invoice. Other
String
False 29 Other data associated with the invoice. The QBXMLVersion connection property must be set to 6.0 for this field to be available. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the invoice was last modified. TimeCreated
Datetime
True 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 LinkToTxnId
String
Link this transaction to another transaction. This is only available during inserts and requires a minimum QBXML Version 6.0. SetCreditAggregate
String
Apply multiple credit Memos to this transaction. This is only available during inserts and updates requires a minimum QBXML Version 10.0 ItemLinkToTxnId
String
Link this individual line item to another transaction. This is only available during inserts and requires a minimum QBXML Version 6.0 ItemLinkToTxnLineId
String
Link this individual line item to another transaction line item. This is only available during inserts and requires a minimum QBXML Version 6.0. ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. Invoices
Create, update, delete, and query QuickBooks Invoices.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
False 1000 The name of the customer on the invoice. Either CustomerName or CustomerId must have a value when inserting. CustomerId
String
False Customers.ID 255 The ID of the customer on the invoice. Alternatively give this field a value when inserting instead of CustomerName. Account
String
False 1000 A reference to the accounts-receivable account where the money received from this transaction will be deposited. AccountId
String
False Accounts.ID 255 A reference to the accounts-receivable account where the money received from this transaction will be deposited. Date
Date
False The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ShipMethod
String
False 1000 The shipping method associated with the invoice. ShipMethodId
String
False ShippingMethods.ID 255 The shipping method associated with the invoice. ShipDate
Date
False The shipping date associated with the invoice. Memo
String
False 5000 A memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. Amount
Decimal
True The total amount for this invoice. Message
String
False 101 A message to vendor or customer to appear in the invoice. MessageId
String
False CustomerMessages.ID 255 A message to vendor or customer to appear in the invoice. SalesRep
String
False 5 A reference to the (initials of) sales rep. SalesRepId
String
False SalesReps.ID 255 A reference to the sales rep. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 A note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 A note for the shipping address. Subtotal
Decimal
True The gross subtotal of the invoice. This does not include tax or the amount already paid. Tax
Double
True The total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True The percentage charged for sales tax. POnumber
String
False 25 The purchase order number. DueDate
Date
False The date when payment is due. Terms
String
False 100 The payment terms. TermsId
String
False 255 The payment terms. ItemCount
Integer
True The count of item entries for this transaction. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a invoices and its line item data. TransactionCount
Integer
True The count of related transactions to the invoice. TransactionAggregate
String
True 5000 An aggregate of the linked transaction data. AppliedAmount
Decimal
True The total amount of applied credits and payments. Balance
Decimal
False The unpaid amount for this sale. CustomerTaxCode
String
False 3 The tax code specific to this customer. CustomerTaxCodeId
String
False SalesTaxCodes.ID 255 The tax code specific to this customer. IsToBePrinted
Boolean
False Whether this invoice is to be printed. IsToBeEmailed
Boolean
False Whether this invoice is to be emailed. IsPaid
Boolean
True Whether this invoice has been paid in full. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. IsPending
Boolean
False The transaction status (whether this transaction has been completed or it is still pending). IsFinanceCharge
String
False 16 Whether this invoice includes a finance charge. The allowed values are NotSet, IsFinanceCharge, NotFinanceCharge. The default value is NotSet. Template
String
False 100 A reference to a template specifying how to print the transaction. TemplateId
String
False Templates.ID 255 A reference to a template specifying how to print the transaction. SuggestedDiscountAmount
Decimal
False A suggested discount amount for the invoice. SuggestedDiscountDate
Date
False A suggested discount date for the invoice. ExchangeRate
Double
False Currency exchange rate for this invoice. BalanceInHomeCurrency
Double
False Balance remaining in units of the home currency. CurrencyName
String
False 64 Name of the currency code used for this invoice. CurrencyId
String
False Currency.ID 1000 Id of the currency code used for this invoice. Other
String
False 29 Other data associated with the invoice. The QBXMLVersion connection property must be set to 6.0 for this field to be available. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the invoice was last modified. TimeCreated
Datetime
True 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 Item\*
String
All line-item-specific columns may be used in insertions or updates. LinkToTxnId
String
Link this transaction to another transaction. This is only available during inserts and requires a minimum QBXML Version 6.0 SetCreditAggregate
String
Apply multiple credit Memos to this transaction. This is only available during inserts and updates requires a minimum QBXML Version 10.0 ItemLineItems
Create, update, delete, and query QuickBooks Item Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format ItemId|ItemLineNumber. ItemId
String
False Items.ID 255 The unique identifier for the inventory assembly or group item. Name
String
False 100 The name of the inventory assembly or group. FullName
String
True 1000 Full item name in the format parentname:name if the item is a subitem). Type
String
False 100 The type of item. This is required to have a value when inserting. The default value is ALL. Barcode
String
False Barcode for the item. Account
String
False 1000 Account name the inventory assembly or group is associated with. AccountId
String
False Accounts.ID 255 Account ID the inventory assembly or group is associated with. COGSAccount
String
False 1000 Cost of Goods Sold account for the inventory assembly or group. COGSAccountId
String
False Accounts.ID 255 Cost of Goods Sold account for the inventory assembly or group. AssetAccount
String
False 1000 Inventory asset account for the inventory assembly or group if it is an inventory item. AssetAccountId
String
False Accounts.ID 255 Inventory asset account for the inventory assembly or group if it is an inventory item. LineItemNumber
Integer
False The line item number. LineItemId
String
False Items.ID 255 The line item identifier. Either LineItemId or LineItemName need to have a value when inserting. LineItemName
String
False The line item name. Either LineItemId or LineItemName need to have a value when inserting. LineItemQuantity
Double
False The line item quantity. LineItemUnitOfMeasure
String
False The line item UnitOfMeasure. ParentName
String
False The parent name of the inventory assembly or group if the inventory assembly or group is a subitem. ParentId
String
False Items.ID 255 The parent ID of the inventory assembly or group if the inventory assembly or group is a subitem. Description
String
False 5000 A description of the inventory assembly or group. Price
Double
False The price for the inventory assembly or group. AverageCost
Double
True The average cost of the inventory assembly or group. IsActive
Boolean
False Whether the inventory assembly or group is active or not. PurchaseCost
Double
False Purchase cost for the inventory assembly or group. PurchaseDescription
String
False 5000 Purchase description for the inventory assembly or group. PreferredVendor
String
False 1000 Preferred vendor for the inventory assembly or group. PreferredVendorId
String
False Vendors.ID 255 Preferred vendor for the inventory assembly or group. TaxCode
String
False 3 This is a reference to a sales tax code predefined within QuickBooks. TaxCodeId
String
False SalesTaxCodes.ID 255 This is a reference to a sales tax code predefined within QuickBooks. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the inventory assembly or group was last modified. TimeCreated
Datetime
True When the inventory assembly or group was created. ItemReceiptExpenseItems
Create, update, delete, and query QuickBooks Item Receipt Expense Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format ItemReceiptId|ExpenseLineId. ItemReceiptId
String
False ItemReceipts.ID 255 The item identifier for the item receipt. This is obtained from the ItemReceipts table. VendorName
String
False 1000 The name of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. VendorId
String
False Vendors.ID 255 The unique ID of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. Date
Date
False The transaction date. ReferenceNumber
String
False 21 The transaction reference number. AccountsPayable
String
False 1000 A reference to the name of the account the item receipt is payable to. AccountsPayableId
String
False Accounts.ID 255 A reference to the unique ID of the account the item receipt is payable to. Memo
String
False 5000 A memo regarding the item receipt. Amount
Decimal
True Total amount of the item receipt. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. Requires QBXML Version 8.0 or higher. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ExpenseLineId
String
True 255 The line item identifier. ExpenseLineNumber
String
True 255 The expense line number. ExpenseAccount
String
False 1000 The account name for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAccountId
String
False Accounts.ID 255 The account ID for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAmount
Decimal
False The total amount of this expense line. ExpenseBillableStatus
String
False 13 The billing status of this expense line. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ExpenseCustomer
String
False 1000 The customer associated with this expense line. ExpenseCustomerId
String
False Customers.ID 255 The customer associated with this expense line. ExpenseClass
String
False 1000 The class name of this expense. ExpenseClassId
String
False Class.ID 255 The class ID of this expense. ExpenseTaxCode
String
False 3 A reference to the name of the sales tax code associated with this expense item. Only available in QuickBooks UK and CA editions. ExpenseTaxCodeId
String
False SalesTaxCodes.ID 255 A reference to the ID of the sales tax code associated with this expense item. Only available in QuickBooks UK and CA editions. ExpenseCustomFields
String
True The custom fields for this expense item. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the item receipt was last modified. TimeCreated
Datetime
True When the item 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 LinkToTxnId
String
The ID of a transaction to link the new item receipt to. This should be a purchase order Id. Only available on an insert. ItemReceiptLineItems
Create, update, delete, and query QuickBooks Item Receipt Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format ItemReceiptId|ItemLineId. ItemReceiptId
String
False ItemReceipts.ID 255 The item identifier for the item receipt. This is obtained from the ItemReceipt table. VendorName
String
False 1000 The name of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. VendorId
String
False Vendors.ID 255 The unique ID of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. Date
Date
False The transaction date. ReferenceNumber
String
False 21 The transaction reference number. AccountsPayable
String
False 1000 A reference to the name of the account the item receipt is payable to. AccountsPayableId
String
False Accounts.ID 255 A reference to the unique ID of the account the item receipt is payable to. Memo
String
False 5000 A memo regarding the item receipt. Amount
Decimal
True Total amount of the item receipt. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. Requires QBXML Version 8.0 or higher. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item Id. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemTaxCode
String
False 3 The name of the sales tax code for the line item. Only available in UK and CA editions of QuickBooks. ItemTaxCodeId
String
False SalesTaxCodes.ID 255 The ID of the sales tax code for the line item. Only available in UK and CA editions of QuickBooks. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemInventorySiteId
String
False 255 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False InventorySites.ID 31 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationId
String
False 255 The site location for this item. This field requires QBXML Version 12.0. ItemInventorySiteLocationName
String
False The site location for this item. This field requires QBXML Version 12.0. ItemSerialNumber
String
False 255 The serial number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemLotNumber
String
False 40 The lot number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. It is supported from QB Desktop 2023 version 3 (USA & Canada) and SDK 16.0. ItemCost
Double
False The unit cost for an item. ItemAmount
Decimal
False Total amount for this item. ItemBillableStatus
String
False 13 Billing status of the item. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ItemCustomer
String
False 1000 The name of the customer who ordered the item. ItemCustomerId
String
False Customers.ID 255 The ID of the customer who ordered the item. ItemClass
String
False 1000 The name for the class of the item. ItemClassId
String
False Class.ID 255 The ID for the class of the item. ItemCustomFields
String
False The custom fields for this lineitem. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the item receipt was last modified. TimeCreated
Datetime
True When the item 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 LinkToTxnId
String
The ID of a transaction to link the new item receipt to. This should be a purchase order Id. Only available on an insert. ItemLinkToTxnId
String
Link this individual line item to another transaction. This is only available during inserts and requires a minimum QBXML Version 6.0 ItemLinkToTxnLineId
String
Link this individual line item to another transaction line item. This is only available during inserts and requires a minimum QBXML Version 6.0 ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. ItemReceipts
Create, update, delete, and query QuickBooks Item Receipts.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. VendorName
String
False 1000 The name of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. VendorId
String
False Vendors.ID 255 The unique ID of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. Date
Date
False The transaction date. ReferenceNumber
String
False 21 The transaction reference number. AccountsPayable
String
False Accounts.ID 1000 A reference to the name of the account the item receipt is payable to. AccountsPayableId
String
False 255 A reference to the unique ID of the account the item receipt is payable to. Memo
String
False 5000 A memo regarding the item receipt. Amount
Decimal
True Total amount of the item receipt. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. Requires QBXML Version 8.0 or higher. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a item receipt and its line item data. ExpenseItemCount
Integer
True The count of expense line items. ExpenseItemAggregate
String
False 5000 An aggregate of the expense item data which can be used for adding a item receipt and its expense item data. TransactionCount
Integer
True The count of related transactions to the estimates. TransactionAggregate
String
True 5000 An aggregate of the linked transaction data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the item receipt was last modified. TimeCreated
Datetime
True When the item 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 Item\*
String
All line-item-specific columns may be used in insertions. Expense\*
String
All expense-item-specific columns may be used in insertions. LinkToTxnId
String
The ID of a transaction to link the new item receipt to. This should be a purchase order Id. Only available on an insert. Items
Create, update, delete, and query QuickBooks Items.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. Name
String
False 31 The name of the item. FullName
String
True 159 Full item name in the format parentname:name if the item is a subitem. Type
String
False 100 The type of item. This is required to have a value when inserting. The allowed values are Unknown, Service, Inventory, NonInventory, Payment, Discount, SalesTax, SubTotal, OtherCharge, InventoryAssembly, Group, SalesTaxGroup, FixedAsset. The default value is ALL. Account
String
False 1000 Account name the item is associated with. AccountId
String
False Accounts.ID 255 Account ID the item is associated with. COGSAccount
String
False 1000 Cost of Goods Sold account for the item. COGSAccountId
String
False Accounts.ID 255 Cost of Goods Sold account for the item. AssetAccount
String
False 1000 Inventory asset account for the item if it is an inventory item. AssetAccountId
String
False Accounts.ID 255 Inventory asset account for the item if it is an inventory item. Class
String
False 1000 A reference to the class of the item. ClassId
String
False Class.ID 255 A reference to the class of the item. DateSold
Datetime
False Indicates the date an asset was sold. This is required for fixed asset items. It is not used for any other types of items. PurchaseDate
Date
False Indicates date asset was purchased. This field is required for the fixed-asset item type. It is not used by any other item type. ItemCount
Integer
False The number of line items associated with the inventory assembly. ParentName
String
False The parent name of the item if the item is a subitem. ParentId
String
False Items.ID 255 The parent ID of the item if the item is a subitem. Description
String
False 5000 A description of the item. Price
Double
False The price for the item. PricePercent
Double
False A price percent for this item (you might use a price percent if, for example, you are a service shop that calculates labor costs as a percentage of parts costs). If you set PricePercent, Price will be set to zero. Not used for payment, sales tax, or subtotal items. AverageCost
Double
True The average cost of the item. IsActive
Boolean
False Whether the item is active or not. PurchaseCost
Double
False Purchase cost for the item. PurchaseDescription
String
False 5000 Purchase description for the item. ExpenseAccount
String
False 1000 Expense account for the item. ExpenseAccountId
String
False Accounts.ID 255 Expense account for the item. PreferredVendor
String
False 1000 Preferred vendor for the item. PreferredVendorId
String
False Vendors.ID 255 Preferred vendor for the item. QuantityOnHand
Double
True Quantity in stock for this inventory item. QuantityOnOrder
Double
True The number of these items that have been ordered from vendors, but not received. QuantityOnSalesOrder
Double
True The number of these items that have been ordered by customers, but not delivered. InventoryDate
Date
False The date when the item was converted into an inventory item. ReorderPoint
Double
False Quantity at which the user will be reminded to reorder this inventory item. Barcode
String
False 50 Barcode for the item. TaxCode
String
False 3 Reference to a sales tax code predefined within QuickBooks. TaxCodeId
String
False SalesTaxCodes.ID 255 Reference to a sales tax code predefined within QuickBooks. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. Available in only international editions of QuickBooks. PurchaseTaxCode
String
False 3 Reference to a purchase tax code predefined within QuickBooks. Only available in international versions of QuickBooks. PurchaseTaxCodeId
String
False SalesTaxCodes.ID 255 This is a reference to a purchase tax code predefined within QuickBooks. Available in only international versions of QuickBooks. PartNumber
String
False 31 The manufacturer's part number for the item. This property requires QBXML Version 7.0 or higher and is only applicable to inventory and noninventory item types. PaymentMethodName
String
False 100 The method of payment: check, credit card, etc. PaymentMethodId
String
False PaymentMethods.ID 255 The method of payment: check, credit card, etc. TaxRate
Double
False The percentage rate of tax. TaxVendorName
String
False 1000 The VENDOR or tax agency to whom taxes are due. TaxVendorId
String
False SalesTaxItems.ID 255 The VENDOR or tax agency to whom taxes are due. SpecialItemType
String
False 50 The type of the item when the value of item type is Unknown. Calling Add on such an item will result in an error, however Get or GetByName can get any item without causing an error. The allowed values are FinanceCharge, ReimbursableExpenseGroup, ReimbursableExpenseSubtotal. VendorOrPayeeName
String
False 50 Name of the vendor from whom this asset was purchased. IsPrintItemsInGroup
Boolean
False If true, a list of this group's individual items their amounts will appear on printed forms. SalesExpense
String
False Any expenses that were incurred during the sale of a fixed asset. This is applicable only if the asset has been sold. AssetAcquiredAs
String
False 3 Indicates whether this item was new or used when the business acquired it. If AssetAcquiredAs is left blank, it will not be sent in the request. The allowed values are New, Old. AssetDescription
String
False 5000 Description of the asset. AssetLocation
String
False 50 Where the asset is located or has been placed into service. AssetPONumber
String
False 30 The purchase order number associated with this asset. AssetSerialNumber
String
False 5000 The serial number of the asset. AssetWarrantyExpires
Date
False The date when the warranty for this asset expires. AssetNotes
String
False 5000 Additional information about the asset. AssetNumber
String
False 10 The number used by the QuickBooks Fixed Asset Manager to identify this asset. AssetCostBasis
Decimal
False The total cost of the fixed asset. This can include the cost of improvements or repairs. This amount is used to figure depreciation. AssetDepreciation
Double
False The amount the fixed asset has lost in value since it was purchased, as of the end of the year. AssetBookValue
Double
False A reasonable estimate of the sales value of the fixed asset, as of the end of the year. UnitOfMeasure
String
False 31 Name of the units that the item is measured in. Requires QBXML Version 7.0 or higher. UnitOfMeasureId
String
False UnitOfMeasure.ID 255 Id of the units that the item is measured in. Requires QBXML Version 7.0 or higher. Sublevel
Integer
True The number of ancestors this item has. LineAggregate
String
True 5000 An aggregate of the line item data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier for this copy of the object. TimeModified
Datetime
True When the item was last modified. TimeCreated
Datetime
True When the item was created. JobTypes
Create and query QuickBooks JobTypes.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the jobtype. Name
String
False 100 The name of the jobtype. FullName
String
True 1000 The full name of the jobtype in the form ParentName|JobTypesName. IsActive
Boolean
False Boolean determining if the jobtype is active. ParentRef_FullName
String
False Full name of the parent for the jobtype. You may specify only ParentRef_FullName or ParentRef_ListId on INSERT statements and not both. ParentRef_ListId
String
False JobTypes.ID 255 Id for the parent of the jobtype. You may specify only ParentRef_FullName or ParentRef_ListId on INSERT statements and not both. Sublevel
Integer
True How many parents the jobtype has. EditSequence
String
True 16 A string indicating the revision of the jobtype. TimeCreated
Datetime
True The time the jobtype was created. TimeModified
Datetime
True The last time the jobtype was modified. JournalEntries
Create, update, delete, and query QuickBooks Journal Entries. 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.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier for the journal entry. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. CreditLineCount
Integer
False Number of credit lines. DebitLineCount
Integer
False Number of debit lines. FirstCreditAccount
String
False The first credit account associated with the JournalEntry. FirstCreditAmount
Decimal
False The first credit amount associated with the JournalEntry. FirstCreditMemo
String
False The first credit memo associated with the JournalEntry. FirstCreditEntityName
String
False The first credit entity name associated with the JournalEntry. FirstCreditEntityId
String
False The first credit entity ID associated with the JournalEntry. FirstDebitAccount
String
False The first debit account associated with the JournalEntry. FirstDebitAmount
Decimal
False The first debit amount associated with the JournalEntry. FirstDebitMemo
String
False The first debit memo associated with the JournalEntry. FirstDebitEntityName
String
False The first debit entity name associated with the JournalEntry. FirstDebitEntityId
String
False The first debit entity ID associated with the JournalEntry. LineAggregate
String
False 5000 An aggregate of the credit lines and debit ines data which can be used for adding a journal entry and its line item data. CurrencyName
String
False 64 The name of the currency for this customer. A minimum QBXML version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this customer. A minimum QBXML version of 8.0 is required for this feature. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. IsHomeCurrencyAdjustment
Boolean
False Indicates whether the transaction is using a home currency or foreign currency. Setting this field will override the Currency and ExchangeRate fields to use the home currency. EditSequence
String
False 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
False When the journal entry was last modified. TimeCreated
Datetime
False 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\*
String
All line-item-specific columns may be used in insertions. LineEntityName
String
LineEntityName may be used when filtering the data. LineEntityId
String
LineEntityId may be used when filtering the data. LineAccount
String
LineAccount may be used when filtering the data. LineAccountId
String
LineAccountId may be used when filtering the data. JournalEntryLines
Create, update, delete, and query QuickBooks Journal Entries. 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.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
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]
String
True 255 The unique identifier in the format JournalEntryId|ItemLineId. JournalEntryID
String
False JournalEntries.ID 255 The journal entry Id. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. CreditLineCount
Integer
False Number of credit lines. DebitLineCount
Integer
False Number of debit lines. LineId
String
True 255 The line item identifier. LineType
String
False 100 Type of line: credit or debit. LineAccount
String
False 1000 Account name of a credit or debit line. LineAccountId
String
False Accounts.ID 255 Account ID of a credit or debit line. LineAmount
Decimal
False Amount of a credit or debit line. LineEntityName
String
False 1000 Entity name of a credit or debit line. LineEntityId
String
False 255 Entity ID of a credit or debit line. LineMemo
String
False 5000 Memo for a credit or debit line. LineClass
String
False 1000 Class name of a credit or debit line. LineClassId
String
False Class.ID 255 Class ID of a credit or debit line. LineStatus
String
False 13 Billing status of a credit or debit line. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. LineTaxItem
String
False 100 The sales-tax item used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. Available in only CA, UK, and AU versions. LineTaxItemId
String
False SalesTaxItems.ID 255 Id of the sales-tax item used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. Only available in CA, UK, and AU versions. CurrencyName
String
False 64 The name of the currency for this customer. A minimum QBXML version of 8.0 is required for this feature. CurrencyId
String
False Currency.ID 255 The unique ID of the currency for this customer. A minimum QBXML version of 8.0 is required for this feature. ExchangeRate
Double
False The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. IsHomeCurrencyAdjustment
Boolean
False Indicates whether the transaction is using a home currency or foreign currency. Setting this field will override the Currency and ExchangeRate fields to use the home currency. EditSequence
String
False 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
False When the journal entry was last modified. TimeCreated
Datetime
False When the journal entry was created. OtherNames
Create, update, delete, and query QuickBooks Other Name entities.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. Name
String
False 41 The name of the other name. This is required to have a value when inserting. IsActive
Boolean
False Whether or not the other name is active. CompanyName
String
False 41 The name of the customer, vendor, employee, or person on the other-names list. Salutation
String
False 15 A salutation, such as Mr., Mrs., etc. FirstName
String
False 25 The first name of a customer, vendor, employee, or person on the other-names list MiddleName
String
False 25 The middle name of a customer, vendor, employee, or person on the other-names list. LastName
String
False 25 The last name of a customer, vendor, employee, or person on the other-names list. OtherNameAddress_Addr1
String
False 500 First line of the other-name address. OtherNameAddress_Addr2
String
False 500 Second line of the other-name address. OtherNameAddress_Addr3
String
False 500 Third line of the other-name address. OtherNameAddress_Addr4
String
False 500 Fourth line of the other-name address. OtherNameAddress_Addr5
String
False 41 Fifth line of the other-name address. OtherNameAddress_City
String
False 255 City name for the other-name address of the customer, vendor, employee, or person on the other-names list. OtherNameAddress_State
String
False 255 State name for the other-name address of the customer, vendor, employee, or person on the other-names list. OtherNameAddress_PostalCode
String
False 30 Postal code for the other name address of the customer, vendor, employee, or person on the other-names list. OtherNameAddress_Country
String
False 255 Country for the other-name address of the customer, vendor, employee, or person on the other-names list. OtherNameAddress_Note
String
False 41 Note for the other-name address of the customer, vendor, employee, or person on the other-names list. Phone
String
False 21 The main telephone number for the customer, vendor, employee, or person on the other-names list. AltPhone
String
False 41 The alternate telephone number for the customer, vendor, employee, or person on the other-names list. Fax
String
False 21 The fax number number for the customer, vendor, employee, or person on the other-names list. Email
String
False 1023 The email address for communicating with the customer, vendor, employee, or person on the other-names list. Contact
String
False 41 The name of a contact person for the customer, vendor, employee, or person on the other-names list. AltContact
String
False 41 The name of an alternate contact person for the customer, vendor, employee, or person on the other-names list. AccountNumber
String
False 99 The account number for the other-name. Notes
String
False 5000 Notes on this customer, vendor, employee, or person on the other-names list. ExternalGUID
String
False Allows for the attachment of a user-defined GUID value. Can be used in only inserts and the value must be enclosed in curly brackets. Requires QBXML 8.0 or higher. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeCreated
Datetime
True The datetime the other name was made. TimeModified
Datetime
True The last datetime the other name was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. PaymentMethods
Create, update, delete, and query QuickBooks Payment Methods.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the payment method. Name
String
False 31 The name of the payment method. IsActive
Boolean
False Boolean determining if the payment method is active. PaymentMethodType
String
False 100 The payment method. Requires QBXML 7.0 or higher. The allowed values are AmericanExpress, Cash, Check, DebitCard, Discover, ECheck, GiftCard, MasterCard, Other, OtherCreditCard, Visa. EditSequence
String
True 16 A string indicating the revision of the payment method. TimeCreated
Datetime
True The time the payment method was created. TimeModified
Datetime
True The last time the payment method was modified. PayrollNonWageItems
Query QuickBooks Non-Wage Payroll Items.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True The unique identifier. Name
String
False The name of the payroll item. This is required to have a value when inserting. IsActive
Boolean
False Whether or not the payroll item is active. NonWageType
String
False The type of pay. The allowed values are Addition, CompanyContribution, Deduction, DirectDeposit, Tax. ExpenseAccountRef_FullName
String
False The expense account name for this nonwage payroll item. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAccountRef_ListID
String
False Accounts.ID The expense account ID for this nonwage payroll item. ExpenseAccount or ExpenseAccountId must have a value when inserting. LiabilityAccountRef_FullName
String
False The liability account name for this nonwage payroll item. ExpenseAccount or ExpenseAccountId must have a value when inserting. LiabilityAccountRef_ListID
String
False Accounts.ID The liability account ID for this nonwage payroll item. ExpenseAccount or ExpenseAccountId must have a value when inserting. TimeCreated
Datetime
True The datetime the payroll item was made. TimeModified
Datetime
True The last datetime the payroll item was modified. EditSequence
String
True An identifier used for versioning for this copy of the object. PayrollWageItems
Create and query QuickBooks Wage Payroll Items.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True The unique identifier. Name
String
False The name of the payroll item. This is required to have a value when inserting. IsActive
Boolean
False Whether or not the payroll item is active. WageType
String
False The type of pay. The allowed values are Bonus, Commission, HourlyOvertime, HourlyRegular, HourlySick, HourlyVacation, SalaryRegular, SalarySick, SalaryVacation. ExpenseAccountRef_FullName
String
False The expense account name for this wage payroll item. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAccountRef_ListID
String
False Accounts.ID The expense account ID for this wage payroll item. ExpenseAccount or ExpenseAccountId must have a value when inserting. TimeCreated
Datetime
True The datetime the payroll item was made. TimeModified
Datetime
True The last datetime the payroll item was modified. EditSequence
String
True An identifier used for versioning for this copy of the object. PriceLevelPerItem
Create and query QuickBooks Price Levels Per Item. Only QuickBooks Premier and Enterprise support Per-Item Price Levels. Note that while Price Levels can be added from this table, you may only add Per-Item Price Levels from this table. Price Levels may be deleted from the PriceLevels table. This table requires QBXML version 4.0 or later.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. PriceLevelID
String
False PriceLevels.ID 255 The unique identifier of the price level. Name
String
False 31 The name of the price level. PriceLevelType
String
True 15 The type of price level. The allowed values are FixedPercentage, PerItem. IsActive
Boolean
False A boolean determining if the price level is active. PriceLevelPerItemRet_ItemRef_ListID
String
False Items.ID 255 A reference to the ID of the item. Either the ID or FullName property of the item is required on insertion. PriceLevelPerItemRet_ItemRef_FullName
String
False A reference to the name of the item. Either the ID or FullName property of the item is required on insertion. PriceLevelPerItemRet_CustomPrice
Decimal
False A fixed amount for the price. PriceLevelPerItemRet_CustomPricePercent
Double
False A fixed discount percentage. PriceLevelPerItemRet_CurrencyRef_ListID
String
False Currency.ID 255 A reference to the currency Id. Requires a minimum QBXML version of 8.0 and multiple currencies enabled for the company file. PriceLevelPerItemRet_CurrencyRef_FullName
String
False 64 A reference to the currency name. Requires a minimum QBXML version of 8.0 and multiple currencies enabled for the company file. TimeCreated
Datetime
True The datetime the transaction was made. TimeModified
Datetime
True The last datetime the transaction was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. PriceLevels
Create, delete, and query QuickBooks Price Levels. Note that while Price Levels can be added and deleted from this table, you may add only fixed-percentage Price Levels from this table. Per-Item Price Levels may be added via the PriceLevelPerItem table. This table requires QBXML version 4.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. Name
String
False 31 The name of the price level. PriceLevelType
String
True 15 The type of price level. The allowed values are FixedPercentage, PerItem. IsActive
Boolean
False A boolean determining if the price level is active. PriceLevelFixedPercentage
Double
False A fixed discount percentage for the price level. PriceLevelPerItemAggregate
String
False 5000 An aggregate of the per-item price level data. PriceLevelPerItemRet_CurrencyRef_ListID
String
False Currency.ID 255 A reference to the currency Id. Requires a minimum QBXML version of 8.0 and multiple currencies enabled for the company file. PriceLevelPerItemRet_CurrencyRef_FullName
String
False 64 A reference to the currency name. Requires a minimum QBXML version of 8.0 and multiple currencies enabled for the company file. TimeCreated
Datetime
True The datetime the transaction was made. TimeModified
Datetime
True The last datetime the transaction was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. PurchaseOrderLineItems
Create, update, delete, and query QuickBooks Purchase Order Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format PurchaseOrderId|ItemLineId. PurchaseOrderID
String
False PurchaseOrders.ID 255 The unique identifier of the purchase order. VendorName
String
False 1000 Vendor name this purchase order is issued to. Either VendorName or VendorId must have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor ID this purchase order is issued to. Either VendorName or VendorId must have a value when inserting. VendorMessage
String
False 99 Message to appear to vendor. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False Transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. DueDate
Date
False Date when payment is due. ShipMethod
String
False 1000 Shipping method. ShipMethodId
String
False ShippingMethods.ID 255 Shipping method. ExpectedDate
Date
False Date when the shipment is expected. Memo
String
False 5000 Memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. Terms
String
False 100 Payment terms. TermsId
String
False 255 Payment terms. TotalAmount
Decimal
True Total amount for this purchase order. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CurrencyName
String
False 64 Name of the currency code used for this purchase order. QBXML version must be set to 8.0 or higher to use this field. CurrencyId
String
False Currency.ID 255 Id of the currency code used for this purchaseorder. QBXML version must be set to 8.0 or higher to use this field. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemCustomer
String
False 1000 A reference to a customer for whom this item was ordered. This may also be a customer job. ItemCustomerId
String
False Customers.ID 255 A reference to a customer for whom this item was ordered. This may also be a customer job. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML version 7.0 and above. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemRate
Double
False The unit rate charged for this item. ItemAmount
Decimal
False Total amount for this item. ItemReceivedQuantity
Double
False The quantity of items that have been received against this purchase order. ItemClass
String
False 1000 The class name of the item. ItemClassId
String
False Class.ID 255 The class name of the item. ItemInventorySiteLocationId
String
False 31 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationName
String
False 255 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemIsManuallyClosed
String
False 10 Whether or not the item is manually closed. ItemPartNumber
String
False The part number used by the manufacturer of the item. ItemServiceDate
Date
False The date of the Service ItemOther1
String
False 29 The Other1 field of this line item. QBXML version must be set to 6.0 or higher to use this field. ItemOther2
String
False 29 The Other2 field of this line item. QBXML version must be set to 6.0 or higher to use this field. ItemCustomFields
String
False The custom fields for this line item. IsFullyReceived
Boolean
True If IsFullyReceived is true, all the items in the purchase order have been received and none were closed manually. IsManuallyClosed
String
False 10 Whether or not the purchase order is closed. IsToBePrinted
Boolean
False Whether this transaction is to be printed. IsToBeEmailed
Boolean
False Indicates whether the transaction is to be emailed. IsTaxIncluded
Boolean
False Indicates whether the dollar amounts in the line items include tax or not. SalesTaxCodeName
String
False 3 The type of sales tax that will be charged for this purchase order. SalesTaxCodeId
String
False SalesTaxCodes.ID 255 The type of sales tax that will be charged for this purchase order. FOB
String
False 1000 Freight on board: The place to ship from. VendorAddress
String
True Full vendor address returned by QuickBooks. VendorLine1
String
False 500 First line of the vendor address. VendorLine2
String
False 500 Second line of the vendor address. VendorLine3
String
False 500 Third line of the vendor address. VendorLine4
String
False 500 Forth line of the vendor address. VendorLine5
String
False 41 Fifth line of the vendor address. VendorCity
String
False 255 City name for the vendor address of the vendor. VendorState
String
False 255 State name for the vendor address of the vendor. VendorPostalCode
String
False 30 Postal code for the vendor address of the vendor. VendorCountry
String
False 255 Country for the vendor address of the vendor. VendorNote
String
False 41 Note for the vendor address of the vendor. ShipToEntityId
String
False 255 A reference to an entity (a customer, a vendor or an employee) to whom shipment is to be made. This may also be a customer job. ShipToEntityName
String
False 1000 A reference to an entity (a customer, a vendor or an employee) to whom shipment is to be made. This may also be a customer job. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 Note for the shipping address. ExchangeRate
Double
False Indicates the exchange rate for the transaction. Other1
String
False 25 Predefined QuickBooks custom field. Other2
String
False 29 Predefined QuickBooks custom field. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the purchase order was last modified. TimeCreated
Datetime
True When the purchase 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 ItemPriceLevel
String
Item price level name. QuickBooks will not return the price level. ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. PurchaseOrders
Create, update, delete, and query QuickBooks Purchase Orders.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier in the format PurchaseOrderId. VendorName
String
False 1000 Vendor name this purchase order is issued to. Either VendorName or VendorId must have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor ID this purchase order is issued to. Either VendorName or VendorId must have a value when inserting. VendorMessage
String
False 99 Message to appear to vendor. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False Transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. DueDate
Date
False Date when payment is due. ShipMethod
String
False 1000 Shipping method. ShipMethodId
String
False ShippingMethods.ID 255 Shipping method. ExpectedDate
Date
False Date when the shipment is expected. Memo
String
False 5000 Memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. Terms
String
False 100 Payment terms. TermsId
String
False 255 Payment terms. TotalAmount
Decimal
True Total amount for this purchase order. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CurrencyName
String
False 64 Name of the currency code used for this purchase order. QBXML version must be set to 8.0 or higher to use this field. CurrencyId
String
False Currency.ID 255 Id of the currency code used for this purchase order. QBXML version must be set to 8.0 or higher to use this field. ItemCount
Integer
True The number of line items. ItemAggregate
String
False 5000 An aggregate of the Line item data which can be used for adding a purchase orders and its line item data. IsFullyReceived
Boolean
True If IsFullyReceived is true, all the items in the purchase order have been received and none were closed manually. IsManuallyClosed
String
False 10 Whether or not the purchase order is closed. IsToBePrinted
Boolean
False Whether this transaction is to be printed. IsToBeEmailed
Boolean
False Indicates whether the transaction is to be emailed. IsTaxIncluded
Boolean
False Indicates whether the dollar amounts in the line items include tax or not. SalesTaxCodeName
String
False 3 The type of sales tax that will be charged for this purchase order. SalesTaxCodeId
String
False SalesTaxCodes.ID 255 The type of sales tax that will be charged for this purchase order. FOB
String
False 1000 Freight on board: The place to ship from. VendorAddress
String
True Full vendor address returned by QuickBooks. VendorLine1
String
False 500 First line of the vendor address. VendorLine2
String
False 500 Second line of the vendor address. VendorLine3
String
False 500 Third line of the vendor address. VendorLine4
String
False 500 Fourth line of the vendor address. VendorLine5
String
False 41 Fifth line of the vendor address. VendorCity
String
False 255 City name for the vendor address of the vendor. VendorState
String
False 255 State name for the vendor address of the vendor. VendorPostalCode
String
False 30 Postal code for the vendor address of the vendor. VendorCountry
String
False 255 Country for the vendor address of the vendor. VendorNote
String
False 41 Note for the vendor address of the vendor. ShipToEntityName
String
False 1000 A reference to an entity (a customer, a vendor or an employee) to whom shipment is to be made. This may also be a customer job. ShipToEntityId
String
False 255 A reference to an entity (a customer, a vendor or an employee) to whom shipment is to be made. This may also be a customer job. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 Note for the shipping address. ExchangeRate
Double
False Indicates the exchange rate for the transaction. Other1
String
False 25 Predefined QuickBooks custom field. Other2
String
False 29 Predefined QuickBooks custom field. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the purchase order was last modified. TimeCreated
Datetime
True When the purchase 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\*
String
All line-item-specific columns may be used in insertions. ReceivePayments
Create, update, delete, and query QuickBooks Receive Payment transactions. QBXMLVersion must be set to 6.0 or higher to update a ReceivePayment.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier for the transaction. ReferenceNumber
String
False 21 The transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The date of the transaction. UnusedPayment
Decimal
True This property will contain the amount of the payment that was not applied to existing invoices. Amount
Decimal
False The amount of the payment received from the Customer. AccountsReceivableName
String
False 1000 A reference to the name of the accounts-receivable account where the money received from this transaction will be deposited. AccountsReceivableId
String
False Accounts.ID 255 A reference to the ID of the accounts-receivable account where the money received from this transaction will be deposited. CustomerName
String
False 1000 The name of the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerID does not. CustomerId
String
False Customers.ID 255 The ID of the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerName does not. DepositToAccountName
String
False 1000 The account name that the payment should be deposited to. DepositToAccountId
String
False Accounts.ID 255 The account ID that the payment should be deposited to. PaymentMethodName
String
False 100 Name of the payment method that already exists in QuickBooks. PaymentMethodId
String
False PaymentMethods.ID 255 Id of the payment method that already exists in QuickBooks. Memo
String
False 5000 A memo to appear on internal reports. ExchangeRate
Double
False The exachange rate of the payment currency to the home currency. TotalAmountInHomeCurrency
Decimal
False The total amount in home currency. AppliedToAggregate
String
False 5000 An aggregate of the applied-to data which can be used for adding a bill payment credit card and its applied-to data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the receive payment was last modified. TimeCreated
Datetime
True When the receive payment 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 AutoApply
String
How the payment should be applied. The allowed values are ExistingTransactions, FutureTransactions, Custom. The default value is ExistingTransactions. ReceivePaymentsAppliedTo
Create, update, and query QuickBooks Receive Payment AppliedTo aggregates. In a Receive Payment, each AppliedTo aggregate represents the transaction to which this part of the payment is being applied. QBXMLVersion must be set to 6.0 or higher to update a ReceivePayment.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
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 ReceivePaymentsAppliedTo (CustomerName, Amount, AutoApply) VALUES ('Cook, Brian', '300.00', 'ExistingTransactions')
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format ReceivePaymentId|AppliedToRefId. ReceivePaymentId
String
False ReceivePayments.ID 255 The ID of the bill-payment transaction. ReferenceNumber
String
False 21 The transaction reference number. This may be set to refnumber*, *refnumber, and *refnumber* in the WHERE clause of a SELECT statement to search by StartsWith, EndsWith, and Contains. Refnum1:refnum2, refnum1:, and :refnum1 may also be used to denote a range. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
False The date of the transaction. UnusedPayment
Decimal
True This property will contain the amount of the payment that was not applied to existing invoices. Amount
Decimal
False The amount of the payment received from the Customer. AccountsReceivableName
String
False 1000 A reference to the name of the accounts-receivable account where the money received from this transaction will be deposited. AccountsReceivableId
String
False Accounts.ID 255 A reference to the ID of the accounts-receivable account where the money received from this transaction will be deposited. CustomerName
String
False 1000 The name of the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerId is not defined. CustomerId
String
False Customers.ID 255 The ID of the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerName is not defined. DepositToAccountName
String
False 1000 The account name that the payment should be deposited to. DepositToAccountId
String
False Accounts.ID 255 The account ID that the payment should be deposited to. PaymentMethodName
String
False 100 Name of a payment method that already exists in QuickBooks. PaymentMethodId
String
False PaymentMethods.ID 255 Id of a payment method that already exists in QuickBooks. Memo
String
False 5000 A memo to appear on internal reports. ExchangeRate
Double
False The exachange rate of the payment currency to the home currency. TotalAmountInHomeCurrency
Decimal
False The total amount in home currency. AutoApply
String
False 20 How the payment should be applied. The allowed values are ExistingTransactions, FutureTransactions, Custom. The default value is ExistingTransactions. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. AppliedToRefId
String
False 255 The applied-to reference identifier. This is the ID of an existing transaction that a payment can be applied to such as a JournalEntry, or an Invoice. AppliedToAmount
Decimal
True The amount to be applied. AppliedToBalanceRemaining
Double
True The balance remaining to be applied. AppliedToCreditAppliedAmount
Decimal
False The credit applied amount to be applied. AppliedToCreditMemoId
String
False CreditMemos.ID 255 The credit memo ID to be applied. AppliedToDiscountAccountName
String
False 1000 The discount account name to be applied. AppliedToDiscountAccountId
String
False Accounts.ID 255 The discount account ID to be applied. AppliedToDiscountAmount
Decimal
False The discount amount to be applied. AppliedToPaymentAmount
Decimal
False The payment amount to be applied. AppliedToReferenceNumber
String
True 21 The ref number to be applied. AppliedToTxnDate
Date
True The transaction date to be applied. AppliedToTxnType
String
True 100 The transaction type that was applied. TimeModified
Datetime
True When the receive payment was last modified. TimeCreated
Datetime
True When the receive payment 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 StartTxnDate
String
Earliest transaction date to search for. EndTxnDate
String
Latest transaction date to search for. StartModifiedDate
String
Earliest modified date to search for. EndModifiedDate
String
Latest modified date to search for. SalesOrderLineItems
Create, update, delete, and query QuickBooks Sales Order Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Inserting 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]
String
True 255 The unique identifier in the format SalesOrderId|ItemLineId. SalesOrderId
String
False SalesOrders.ID 255 The item identifier. ReferenceNumber
String
False 21 Transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
False 1000 Customer name this transaction is recorded under. This is required to have a value when inserting. CustomerId
String
False Customers.ID 255 Customer ID this transaction is recorded under. Date
Date
False Transaction date. ShipMethod
String
False 1000 Shipping method. ShipMethodId
String
False ShippingMethods.ID 255 Shipping method. ShipDate
Date
False Shipping date. Memo
String
False 5000 Memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. TotalAmount
Decimal
False Total amount for this transaction. DueDate
Date
False Date the payment is due. Message
String
False 101 Message to the customer. MessageId
String
False CustomerMessages.ID 255 Message to the customer. SalesRep
String
False 5 Reference to (the initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference to the sales rep. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CurrencyName
String
False 64 Name of the currency code used for this sales order. CurrencyId
String
False Currency.ID 255 Id of the currency code used for this sales order. ExchangeRate
Double
False Currency exchange rate for this sales order. TotalAmountInHomeCurrency
Decimal
False Returned for transactions in currencies different from the merchant's home currency. BillingAddress
String
True Full billing address returned by QuickBooks. FOB
String
False 13 Freight on board: The place to ship from. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 Note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 Note for the shipping address. Subtotal
Decimal
True Gross subtotal. This does not include tax or the amount already paid. Tax
Double
True Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. PONumber
String
False 41 Purchase order number. Terms
String
False 100 Payment terms. TermsId
String
False 255 Payment terms. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemRate
Double
False The unit rate charged for this item. ItemRatePercent
Double
False The rate percent charged for this item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or nontaxable). ItemInvoicedAmount
Decimal
True The amount of this sales order line that has been invoiced. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemAmount
Decimal
False Total amount for this item. ItemClass
String
False 1000 The class name of the item. ItemClassId
String
False Class.ID 255 The class ID of the item. ItemInventorySiteName
String
False 1000 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteId
String
False InventorySites.ID 255 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemSerialNumber
String
False 5000 The serial number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemLotNumber
String
False 40 The lot number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumber
String
True The expiration date for serial lot number of this item. It is supported from QB Desktop 2023 version 3 (USA & Canada) and SDK 16.0. ItemIsManuallyClosed
String
False 10 Whether this sales order line is manually closed. ItemOther1
String
False 29 The Other1 field of this line item. QBXML version must be set to 6.0 or higher. ItemOther2
String
False 29 The Other2 field of this line item. QBXML version must be set to 6.0 or higher. ItemCustomFields
String
False The custom fields for this line item. ItemUOMSetFullName
String
False 1000 Indicates the price of something as a percent. ItemUOMSetListID
String
False UnitOfMeasure.ID 1000 Indicates the price of something as a percent. ItemIsGetPrintItemsInGroup
String
False 1000 If true, a list of this group's individual items their amounts will appear on printed forms. CustomerTaxCode
String
False 3 The tax code specific to this customer. CustomerTaxCodeId
String
False SalesTaxCodes.ID 255 The tax code specific to this customer. IsToBePrinted
Boolean
False Whether this sales order is to be printed. IsToBeEmailed
Boolean
False When true, if no email address is on file for the customer the transaction will fail. IsManuallyClosed
String
False 10 Whether this sales order is manually closed. IsFullyInvoiced
Boolean
True Whether this sales order is fully invoiced. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the sales order was last modified. TimeCreated
Datetime
True When 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 ItemPriceLevel
String
Item price level name. QuickBooks will not return the price level. SalesOrders
Create, update, delete, and query QuickBooks Sales 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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. ReferenceNumber
String
False 21 Transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
False 1000 Customer name this transaction is recorded under. This is required to have a value when inserting. CustomerId
String
False Customers.ID 255 Customer ID this transaction is recorded under. Date
Date
False Transaction date. ShipMethod
String
False 1000 Shipping method. ShipMethodId
String
False ShippingMethods.ID 255 Shipping method. ShipDate
Date
False Shipping date. Memo
String
False 5000 Memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. TotalAmount
Decimal
False Total amount for this transaction. DueDate
Date
False Date the payment is due. Message
String
False 101 Message to the customer. MessageId
String
False CustomerMessages.ID 255 Message to the customer. SalesRep
String
False 5 Reference to (the initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference to the sales rep. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. CurrencyName
String
False 64 Name of the currency code used for this sales order. CurrencyId
String
False Currency.ID 255 Id of the currency code used for this sales order. ExchangeRate
Double
False Currency exchange rate for this sales order. TotalAmountInHomeCurrency
Decimal
False Returned for transactions in currencies different from the merchant's home currency. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 Note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 Note for the shipping address. Subtotal
Decimal
True Gross subtotal. This does not include tax or the amount already paid. Tax
Double
True Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. PONumber
String
False 41 Purchase order number. Terms
String
False 100 Payment terms. TermsId
String
False 255 Payment terms. ItemCount
Integer
True The count of item entries for this transaction. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a SalesOrders and its Line Item data. TransactionCount
Integer
True The count of related transactions to the bill. TransactionAggregate
String
True 5000 An aggregate of the linked transaction data. CustomerTaxCode
String
False 3 The tax code specific to this customer. CustomerTaxCodeId
String
False SalesTaxCodes.ID 255 The tax code specific to this customer. IsPrinted
Boolean
True Whether this invoice is to be printed. IsManuallyClosed
String
False 10 Whether this sales order is manually closed. IsFullyInvoiced
Boolean
True Whether this sales order is fully invoiced. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. IsToBePrinted
Boolean
False Whether this sales order is to be printed. IsToBeEmailed
Boolean
False Whether this sales order is to be emailed. Other
String
False 29 A predefined QuickBooks custom field. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the sales order was last modified. TimeCreated
Datetime
True When the sales order was created. ShippingDetailTrackingID
Integer
True The Tracking ID of Sales order which is already shipped. ShippingDetailCarrierName
String
True The Carries Name of Sales Order which is already shipped. ShippingDetailShippingMethod
String
True The Shipping Method of Sales Order which is already shipped. ShippingDetailShippingCharges
Decimal
True The Shipping Charges of Sales Order which is already shipped. FulfillmentStatus
String
True The Sales order Fulfillment Status details. SOChannel
String
True Sales Channel Name. StoreName
String
True Sales Store Name. StoreType
String
True Sales Store type. 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\*
String
All line-item-specific columns may be used in insertions. SalesReceiptLineItems
Create, update, delete, and query QuickBooks Sales Receipt Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format SalesReceiptId|ItemLineId. SalesReceiptId
String
False SalesReceipts.ID 255 The item identifier. ReferenceNumber
String
False 21 Transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, but not the QuickBooks-generated Id. CustomerName
String
False 1000 Customer name this transaction is recorded under. CustomerId
String
False Customers.ID 255 Customer ID this transaction is recorded under. Date
Date
False Transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ShipMethod
String
False 1000 Shipping method. ShipMethodId
String
False ShippingMethods.ID 255 Shipping method. ShipDate
Date
False Shipping date. Memo
String
False 5000 Memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. DueDate
Date
False The date when payment is due. TotalAmount
Decimal
True Total amount for this transaction. Message
String
False 101 Message to the customer. MessageId
String
False CustomerMessages.ID 255 Message to the customer. SalesRep
String
False 5 Reference to (the initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference to the sales rep. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. ExchangeRate
Double
False Currency exchange rate for this sales receipt. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 Note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 Note for the shipping address. Subtotal
Decimal
True Gross subtotal. This does not include tax or the amount already paid. Tax
Double
True Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. IsPending
Boolean
False Transaction status (whether this transaction has been completed or it is still pending). IsToBePrinted
Boolean
False Whether this transaction is to be printed. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. This is only available in the UK and CA editions. IsToBeEmailed
Boolean
False When true, if no email address is on file for the customer the transaction will fail. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item identifier. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group Id. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemRate
Double
False The unit rate charged for this item. ItemRatePercent
Double
False The rate percent charged for this item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or nontaxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item. ItemAmount
Decimal
False Total amount for this item. ItemInventorySiteName
String
False 31 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteId
String
False InventorySites.ID 255 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemSerialNumber
String
False 5000 The serial number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemLotNumber
String
False 40 The lot number of this item. This requires QBXML version at least 11.0 and the Advanced Inventory add-on. ItemExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. It is supported from QB Desktop 2023 version 3 (USA & Canada) and SDK 16.0. ItemClass
String
False 1000 The class name of the item. ItemClassId
String
False Class.ID 255 The class ID of the item. ItemUOMSetFullName
String
False 1000 Indicates the price of something as a percent. ItemUOMSetListID
String
False UnitOfMeasure.ID 1000 Indicates the price of something as a percent. ItemIsGetPrintItemsInGroup
String
False 1000 If true, a list of this group's individual items their amounts will appear on printed forms. CheckNumber
String
False 25 Check number. PaymentMethod
String
False 100 Payment method. PaymentMethodId
String
False PaymentMethods.ID 255 Payment method. DepositAccount
String
False 1000 Account name where this payment is deposited. DepositAccountId
String
False Accounts.ID 255 Account name where this payment is deposited. CustomerTaxCode
String
True 3 The tax code specific to this customer. CustomerTaxCodeId
String
True SalesTaxCodes.ID 255 The tax code specific to this customer. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the sales receipt was last modified. TimeCreated
Datetime
True When the 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 ItemPriceLevel
String
Item price level name. QuickBooks will not return the price level. ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. SalesReceipts
Create, update, delete, and query QuickBooks Sales Receipts.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. ReferenceNumber
String
False 21 Transaction reference number. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, but not the QuickBooks-generated Id. CustomerName
String
False 1000 Customer name this transaction is recorded under. CustomerId
String
False Customers.ID 255 Customer ID this transaction is recorded under. Date
Date
False Transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. ShipMethod
String
False 1000 Shipping method. ShipMethodId
String
False ShippingMethods.ID 255 Shipping method. ShipDate
Date
False Shipping date. Memo
String
False 5000 Memo regarding this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. DueDate
Date
False The date when payment is due. TotalAmount
Decimal
True Total amount for this transaction. Message
String
False 101 Message to the customer. MessageId
String
False CustomerMessages.ID 255 Message to the customer. SalesRep
String
False 5 Reference to (the initials of) the sales rep. SalesRepId
String
False SalesReps.ID 255 Reference to the sales rep. Template
String
False 100 The name of an existing template to apply to the transaction. TemplateId
String
False Templates.ID 255 The ID of an existing template to apply to the transaction. ExchangeRate
Double
False Currency exchange rate for this sales receipt. FOB
String
False 13 Freight on board: The place to ship from. BillingAddress
String
True Full billing address returned by QuickBooks. BillingLine1
String
False 500 First line of the billing address. BillingLine2
String
False 500 Second line of the billing address. BillingLine3
String
False 500 Third line of the billing address. BillingLine4
String
False 500 Fourth line of the billing address. BillingLine5
String
False 41 Fifth line of the billing address. BillingCity
String
False 255 City name for the billing address. BillingState
String
False 255 State name for the billing address. BillingPostalCode
String
False 30 Postal code for the billing address. BillingCountry
String
False 255 Country for the billing address. BillingNote
String
False 41 Note for the billing address. ShippingAddress
String
True Full shipping address returned by QuickBooks. ShippingLine1
String
False 500 First line of the shipping address. ShippingLine2
String
False 500 Second line of the shipping address. ShippingLine3
String
False 500 Third line of the shipping address. ShippingLine4
String
False 500 Fourth line of the shipping address. ShippingLine5
String
False 41 Fifth line of the shipping address. ShippingCity
String
False 255 City name for the shipping address. ShippingState
String
False 255 State name for the shipping address. ShippingPostalCode
String
False 30 Postal code for the shipping address. ShippingCountry
String
False 255 Country for the shipping address. ShippingNote
String
False 41 Note for the shipping address. Subtotal
Decimal
True Gross subtotal. This does not include tax or the amount already paid. Tax
Double
True Total sales tax applied to this transaction. TaxItem
String
False 100 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxItemId
String
False SalesTaxItems.ID 255 A sales tax item refers to a single sales tax that is collected at a specified rate and paid to a single agency. TaxPercent
Double
True Percentage charged for sales tax. IsPending
Boolean
False Transaction status (whether this transaction has been completed or it is still pending). IsToBePrinted
Boolean
False Whether this transaction is to be printed. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. This is only available in UK and CA editions. IsToBeEmailed
Boolean
False When true, if no email address is on file for the customer the transaction will fail. ItemCount
Integer
True The count of item entries for this transaction. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a sales receipt and its line item data. CheckNumber
String
False 25 Check number. PaymentMethod
String
False 100 Payment method. PaymentMethodId
String
False PaymentMethods.ID 255 Payment method. DepositAccount
String
False 1000 Account name where this payment is deposited. DepositAccountId
String
False Accounts.ID 255 Account name where this payment is deposited. CustomerTaxCode
String
True 3 The tax code specific to this customer. CustomerTaxCodeId
String
True SalesTaxCodes.ID 255 The tax code specific to this customer. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the sales receipt was last modified. TimeCreated
Datetime
True When the 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 Item\*
String
All line-item-specific columns may be used in insertions. SalesReps
Create, update, delete, and query QuickBooks Sales Rep entities.
Table Specific Information
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The ID of the sales rep. Initial
String
False 5 The initials of the sales rep. These must be unique for each record. IsActive
Boolean
False Boolean indicating if the sales rep is active. SalesRepEntityRef_FullName
String
False 1000 Refers to the sales rep's full name on the employee, vendor, or other-name list. You may specify either SalesRepEntityRef_FullName or SalesRepEntityRef_ListId on insert/update statements, but not both. SalesRepEntityRef_ListId
String
False 255 Refers to the sales rep's ID on the employee, vendor, or other-name list. You may specify either SalesRepEntityRef_FullNamee or SalesRepEntityRef_ListId on insert/update statements, but not both. EditSequence
String
True 16 A string indicating the revision of the sales rep. TimeCreated
Datetime
True The time the sales rep was created. TimeModified
Datetime
True The time the sales rep was 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 MaxResults
String
Maximum number of results to return. SalesTaxCodes
Create, update, delete, and query QuickBooks Sales Tax Codes.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. Name
String
False 3 The name of the sales tax code. Description
String
False 31 The description of the sales tax code. IsActive
Boolean
False Whether or not the other name is active. IsTaxable
Boolean
False Whether or not the other name is taxable. ItemPurchaseTaxRef_FullName
String
False 1000 Refers to the purchase tax item. Only available in international versions of QuickBooks. ItemPurchaseTaxRef_ListId
String
False 255 Refers to the purchase tax item. Only available in international versions of QuickBooks. ItemSalesTaxRef_FullName
String
False 1000 Refers to the sales tax item. Only available in international versions of QuickBooks. ItemSalesTaxRef_ListId
String
False SalesTaxItems.ID 255 Refers to the sales tax item. Only available in international versions of QuickBooks. TimeCreated
Datetime
True The datetime the sales tax code was made. TimeModified
Datetime
True The last datetime the sales tax code was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. SalesTaxItems
Create, update, delete, and query QuickBooks Sales Tax Items.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. Name
String
False 31 The name of the other name. This is required to have a value when inserting. IsActive
Boolean
False Whether or not the other name is active. ClassRef_FullName
String
False 1000 A reference to the class of the transaction. Requires QBXML version 12.0 or later. ClassRef_ListID
String
False Class.ID 255 A reference to the class of the transaction. Requires QBXML version 12.0 or later. ItemDesc
String
False 4096 A description for the sales tax item. TaxRate
Double
False The tax rate. If a nonzero TaxRate is specified, then TaxVendorRef is required. TaxVendorRef_FullName
String
False 1000 Refers to the tax agency to whom collected taxes are owed. This will be a vendor on the vendor list. TaxVendorRef_ListID
String
False Vendors.ID 255 Refers to the tax agency to whom collected taxes are owed. This will be a vendor on the vendor list. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the sales tax item was last modified. TimeCreated
Datetime
True When the sales tax item was created. ShippingMethods
Create, update, delete, and query QuickBooks Shipping Methods.
Table Specific Information
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier of the shipping method. Name
String
False 15 The name of the shipping method. IsActive
Boolean
False Boolean determining if the shipping method is active. EditSequence
String
True 16 A string indicating the revision of the shipping method. TimeCreated
Datetime
True The time the shipping method was created. TimeModified
Datetime
True The last time the shipping method was modified. StandardTerms
Create, update, delete, and query QuickBooks Standard Terms.
Table Specific Information
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The ID of the standard term. Name
String
False 100 The name of the standard term. IsActive
Boolean
False Boolean indicating if the standard term is active. StdDueDays
Integer
False The number of days until payment is due. StdDiscountDays
Integer
False If payment is received within StdDiscountDays number of the days, then DiscountPct will apply to the payment. DiscountPct
Double
False If payment is received within StdDiscountDays number of days, then this discount will apply to the payment. DiscountPct must be between 0 and 100. EditSequence
String
True 16 A string indicating the revision of the standard term. TimeCreated
Datetime
True The time the standard term was created. TimeModified
Datetime
True The time the standard term was 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 MaxResults
String
Maximum number of results to return. StatementCharges
Create, update, delete, and query QuickBooks Statement Charges.
Table Specific Information
To add a StatementCharge, specify the CustomerName or CustomerId and the ItemName or ItemId.
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ReferenceNumber
String
False Transaction reference number. CustomerName
String
False 1000 Customer name this transaction is recorded under. Either CustomerName or CustomerId must have a value when inserting. CustomerId
String
False Customers.ID 255 Customer ID this transaction is recorded under. Either CustomerName or CustomerId must have a value when inserting. Date
Date
False Transaction date. ItemName
String
False A reference to the item for the transaction. ItemId
String
False Items.ID A reference to the item for the transaction. Quantity
Double
False Quantity in stock for this inventory item. UnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. OverrideUnitOfMeasure
String
False 100 When you modify a transaction line to change the unit of measure used in that line, you use this to specify the UOM set within which you are choosing an available unit of measure. Only available in QBXML Version 7.0 and above. OverrideUnitOfMeasureId
String
False UnitOfMeasure.ID When you modify a transaction line to change the unit of measure used in that line, you use this to specify the UOM set within which you are choosing an available unit of measure. Only available in QBXML Version 7.0 and above. Rate
Double
False The unit rate charged for this item. Amount
Decimal
False Amount of the transaction. Balance
Double
True The balance remaining on the transaction. Description
String
False A textual description of the StatementCharge. AccountsReceivable
String
False 1000 A reference to the name of the accounts-receivable account where the money received from this transaction will be deposited. AccountsReceivableId
String
False Accounts.ID A reference to the ID of the accounts-receivable account where the money received from this transaction will be deposited. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID A reference to the class of the transaction. BilledDate
Date
False Date when the customer was billed. DueDate
Date
False Date when the payment is due. IsPaid
Boolean
True Indicates whether this statement charge has been paid. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the statement charge was last modified. TimeCreated
Datetime
True When the statement charge was created. TimeTracking
Create, update, delete, and query QuickBooks Time Tracking events.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 An ID is an alphanumerical identifier assigned by the server whenever an object is added to QuickBooks. It is guaranteed to be unique across all objects of the same type. BillableStatus
String
False 15 The billing status of this line item. If the billing status is empty (that is, if no billing status appears in QuickBooks), then no BillableStatus value will be returned. The allowed values are Empty, Billable, NotBillable, HasBeenBilled. Date
Date
False The date of the transaction. The standard formatting for dates is YYYY-MM-DD; i.e., September 2, 2002 is formatted as 2002-09-02. When getting the value of a date property, the date will always be in this format. This is required to have a value when inserting. CustomerName
String
False 1000 The Customer property indicates the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerID is empty and BillableStatus is not NotBillable. CustomerId
String
False Customers.ID 255 The Customer property indicates the customer who has purchased goods or services from the company. This is required to have a value when inserting if CustomerName is empty and BillableStatus is not NotBillable. Duration
String
False 50 The duration of time being tracked. Time is represented in hours followed by minutes, with the character ':' (colon) separating them. For instance, two hours and thirty minutes is represented as '2:30'. EmployeeName
String
False 1000 A reference to the employee or subcontractor whose time is being tracked. The person is typically an employee but may be a vendor or defined in an other-name record as well. This is required to have a value when inserting if EmployeeId is empty. EmployeeId
String
False Employees.ID 255 A reference to the employee or subcontractor whose time is being tracked. The person is typically an employee but may be a vendor or defined in an other-name record as well. This is required to have a value when inserting if EmployeeName is empty. Notes
String
False 5000 Notes about this transaction. Class
String
False 1000 A reference to the class of the transaction. ClassId
String
False Class.ID 255 A reference to the class of the transaction. PayrollWageItemName
String
False 100 A payment scheme, such as Regular Pay, Overtime Pay, etc. This property may only be specified if (1) the employee specified refers to an employee, and not a vendor or subcontractor, and (2) the 'Use time data to create paychecks' option is selected for this employee (from within the QuickBooks UI.) PayrollWageItemId
String
False PayrollWageItems.ID 255 A payment scheme, such as Regular Pay, Overtime Pay, etc. This property may only be specified if (1) the employee specified refers to an employee, and not a vendor or subcontractor, and (2) the 'Use time data to create paychecks' option is selected for this employee from within the QuickBooks UI. ServiceItemName
String
False 1000 The type of work being performed. If a Customer is not specified, ServiceItem is not needed. If BillableStatus is set to Billable, then both ServiceItem and Customer are required. This is required to have a value when inserting if ServiceItemID is empty. ServiceItemId
String
False Items.ID 255 The type of work being performed. If a Customer is not specified, ServiceItem is not needed. If BillableStatus is set to Billable, then both ServiceItem and Customer are required. This is required to have a value when inserting if ServiceItemName is empty. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TimeModified
Datetime
True When the time-tracking event was last modified. TimeCreated
Datetime
True When the time-tracking event was created. ToDo
Create, update, delete, and query QuickBooks To Do entries.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the vendor type. Notes
String
False Notes on this to do entry. IsActive
Boolean
False Boolean determining if the vendor type is active. Type
String
False Type of this to do entry. Requires QBXML Version 13.0 or higher. Priority
String
False Priority of this to do entry. Requires QBXML Version 13.0 or higher. IsDone
Boolean
False Whether or not this to do entry is complete. ReminderDate
Datetime
False Reminder date for this to do entry. ReminderTime
String
False Reminder time for this to do entry. Requires QBXML Version 13.0 or higher. EditSequence
String
True 16 A string indicating the revision of the payment method. TimeCreated
Datetime
True The time the vendor type was created. TimeModified
Datetime
True The last time the vendor type was modified. TransferInventory
Query and delete QuickBooks Transfer Inventory transactions. Transfer Inventory is available in only QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier. TxnDate
Date
False The date of the transaction. TxnNumber
Integer
True An identifying number for this transaction. RefNumber
String
False 21 The transaction reference number. FromInventorySiteRef_ListID
String
False InventorySites.ID 255 The site inventory was transfered from. FromInventorySiteRef_FullName
String
False 31 The site inventory was transfered from. ToInventorySiteRef_ListID
String
False InventorySites.ID 255 The site inventory was transfered to. ToInventorySiteRef_FullName
String
False 31 The site inventory was transfered to. Memo
String
False 5000 Additional information about the transaction. ExternalGUID
String
False Allows for the attachment of a user defined GUID value. TransferInventoryLineAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a transfer inventory and its line item data. TimeCreated
Datetime
True The datetime the transaction was made. TimeModified
Datetime
True The last datetime the transaction was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. TransferInventoryLineItems
Create and query QuickBooks Transfer Inventory Line Items. Transfer Inventory is available in only QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format TransferInventoryId|TransferInventoryLineRet_TxnLineID. TransferInventoryId
String
False 255 The item identifier. TxnDate
Date
False The date of the transaction. TxnNumber
Integer
True An identifying number for this transaction. RefNumber
String
False 21 The transaction reference number. FromInventorySiteRef_ListID
String
False InventorySites.ID 255 The site inventory was transfered from. FromInventorySiteRef_FullName
String
False 31 The site inventory was transfered from. ToInventorySiteRef_ListID
String
False InventorySites.ID 255 The site inventory was transfered to. ToInventorySiteRef_FullName
String
False 31 The site inventory was transfered to. Memo
String
False 5000 Additional information about the transaction. ExternalGUID
String
False Allows for the attachment of a user-defined GUID value. TransferInventoryLineRet_TxnLineID
String
True 255 Identifying number for the transaction line. TransferInventoryLineRet_ItemRef_ListID
String
False Items.ID 255 A reference to the item that was transfered. TransferInventoryLineRet_ItemRef_FullName
String
False Name of the item that was transfered. TransferInventoryLineRet_FromInventorySiteLocationRef_ListID
String
False 255 A reference to the location to transfer from. TransferInventoryLineRet_FromInventorySiteLocationRef_FullName
String
False Name of the location to transfer from. TransferInventoryLineRet_ToInventorySiteLocationRef_ListID
String
False 255 A reference to the location to transfer to. TransferInventoryLineRet_ToInventorySiteLocationRef_FullName
String
False Name of the location to transfer to. TransferInventoryLineRet_QuantityToTransfer
Double
False Quantity of items to transfer. This is an input only. Check the TransferInventoryLineRet_QuantityTransferred for the response. TransferInventoryLineRet_QuantityTransferred
Double
True Quantity of items that were transfered. This is an output only. TransferInventoryLineRet_SerialNumber
String
False 5000 The serial number of the asset. TransferInventoryLineRet_LotNumber
String
False 40 A lot number the item is stored on. TimeCreated
Datetime
True The datetime the transaction was made. TimeModified
Datetime
True The last datetime the transaction was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. Transfers
Create, update, and query QuickBooks transfers. Requires QBXML version 12.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. TxnNumber
String
True 21 The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. TxnDate
Date
False The date of the transaction. TransferFromAccountRef_ListID
String
False Accounts.ID 255 The ID for the account from which the funds will be transfered. TransferFromAccountRef_FullName
String
False 1000 The account from which the funds will be transfered. FromAccountBalance
Double
True The balance of the account from which the funds will be transfered. TransferToAccountRef_ListID
String
False Accounts.ID 255 The ID for the account to which the funds will be transfered. TransferToAccountRef_FullName
String
False 1000 The account to which the funds will be transfered. ToAccountBalance
Double
True The balance of the account to which the funds will be transfered. ClassRef_ListID
String
False Class.ID 255 A reference to the class of the transaction. ClassRef_FullName
String
False 1000 A reference to the class of the transaction. Amount
Decimal
False The total amount for this transfer. Memo
String
False 5000 Memo for the transaction. TimeCreated
Datetime
True The datetime the other name was made. TimeModified
Datetime
True The last datetime the other name was modified. EditSequence
String
True 16 An identifier used for versioning for this copy of the object. UnitOfMeasure
Create, update, delete, and query QuickBooks units of measure. QuickBooks requires QBXML version 7.0 or higher to use this table.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the unit of measure. Name
String
False 31 The name of the unit of measure. IsActive
Boolean
False Boolean determining if the unit of measure is active. UnitOfMeasureType
String
False 1000 The type of the unit of measure such as Count. BaseUnit_Name
String
False 31 The name of the base unit of measure. BaseUnit_Abbreviation
String
False 31 The abbreviation for the base unit of measure. RelatedUnitAggregate
String
False 5000 An XML aggregate containing the related units of measure. DefaultUnitAggregate
String
False 5000 An XML aggregate containing the default units of measure. EditSequence
String
True 16 A string indicating the revision of the unit of measure entity. TimeCreated
Datetime
True The time the unit of measure entity was created. TimeModified
Datetime
True The last time the unit of measure entity was modified. UnitOfMeasureDefaultUnits
Create and query QuickBooks unit-of-measure default units. QuickBooks requires QBXML version 7.0 or higher to use this table.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the unit-of-measure default unit. UnitOfMeasureSetId
String
False UnitOfMeasure.ID 255 The item identifier of the unit of measure. Name
String
False 31 The name of the unit of measure. IsActive
Boolean
False Boolean determining if the unit of measure is active. UnitOfMeasureType
String
False 1000 The type of unit of measure, such as Count. BaseUnit_Name
String
False 31 The name of the base unit of measure. BaseUnit_Abbreviation
String
False 31 The abbreviation for the base unit of measure. DefaultUnit_UnitUsedFor
String
False 100 What the default unit is used for. DefaultUnit_Unit
String
False 31 The default unit. EditSequence
String
True 16 A string indicating the revision of the record. TimeCreated
Datetime
True The time the record was created. TimeModified
Datetime
True The last time the record was modified. UnitOfMeasureRelatedUnits
Create and query QuickBooks unit-of-measure related units. QuickBooks requires QBXML version 7.0 or higher to use this table.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the unit-of-measure related unit. UnitOfMeasureSetId
String
False UnitOfMeasure.ID 255 The item identifier of the unit of measure. Name
String
False 31 The name of the unit of measure. IsActive
Boolean
False Boolean determining if the unit of measure is active. UnitOfMeasureType
String
False 1000 The type of unit of measure, such as Count. BaseUnit_Name
String
False 31 The name of the base unit of measure. BaseUnit_Abbreviation
String
False 31 The abbreviation for the base unit of measure. RelatedUnit_Name
String
False 31 The name of the related unit of measure. RelatedUnit_Abbreviation
String
False 31 The abbreviation of the related unit of measure. RelatedUnit_ConversionRatio
String
False 5000 The conversion ratio of the related unit of measure. EditSequence
String
True 16 A string indicating the revision of the record. TimeCreated
Datetime
True The time the record was created. TimeModified
Datetime
True The last time the record was modified. VehicleMileage
Create, update, delete, and query QuickBooks Vehicle Mileage entities. QuickBooks requires QBXML version 6.0 or higher to use this table.
Table Specific Information
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The ID of the vehicle mileage. VehicleRef_FullName
String
False 100 The vehicle for use in vehicle mileage transactions. Each vehicle name must be unique. VehicleRef_ListID
String
False 255 The reference ID for the vehicle mileage transaction. CustomerRef_FullName
String
False 1000 The full name of a referenced customer in QuickBooks. You may specify only CustomerRef_FullName or CustomerRef_ListId on insert/update statements and not both. CustomerRef_ListID
String
False Customers.ID 255 The ID of the referenced customer in QuickBooks. You may specify only CustomerRef_FullName or CustomerRef_ListId on insert/update statements and not both. ItemRef_FullName
String
False A reference to the full name of an item in QuickBooks. You may specify only ItemRef_FullName or ItemRef_ListId on insert/update statements and not both. ItemRef_ListID
String
False Items.ID 255 A reference to the ID of an item in QuickBooks. You may specify only ItemRef_FullName or ItemRef_ListId on insert/update statements and not both. ClassRef_FullName
String
False 1000 A reference to the full name of a class in QuickBooks. You may specify only ClassRef_FullName or ClassRef_ListId on insert/update statements and not both. ClassRef_ListID
String
False Class.ID 255 A reference to the ID of a class in QuickBooks. You may specify only ClassRef_FullName or ClassRef_ListId on insert/update statements and not both. TripStartDate
String
False Date the trip began. If left blank on an insert, the current date at the time of the transaction will be used. TripEndDate
String
False The date the trip ended. If left blank on an insert, the current date at the time of the transaction will be used. OdometerStart
Integer
False Odometer reading at the start of the trip. If TotalMiles is specified, you cannot specify OdometerStart and OdometerEnd. OdometerEnd
Integer
False Odometer reading at the end of the trip. If TotalMiles is specified, you cannot specify OdometerStart and OdometerEnd. TotalMiles
Double
False Total trip miles. If TotalMiles is specified, you cannot specify OdometerStart and OdometerEnd. Notes
String
False 5000 Additional information. BillableStatus
String
False 13 The billig status of the vehicle mileage. The allowed values are Billable, NotBillable, HasBeenBilled. StandardMileageRate
Double
False The mileage rate currently allowed by the tax authority for vehicle expenses. StandardMileageTotalAmount
Double
False Amount calculated by multiplying the total trip miles in the current vehicle mileage transaction by the standard mileage rate currently in use. BillableRate
Double
False In a billable vehicle mileage transaction, refers to the rate being used to charge mileage to a customer. The rate is specified in the service item or the other charge item that is referenced in the ItemRef columns. BillableAmount
Decimal
False In a billable vehicle mileage transaction, this refers to the total charge that QuickBooks calculates by by multiplying the trip total mileage by the rate specified in the item referenced by the ItemRef columns. EditSequence
String
True 16 A string indicating the revision of the vehicle mileage transaction. TimeCreated
Datetime
True When the vehicle mileage was last modified. TimeModified
Datetime
True When the vehicle mileage was created. VendorCreditExpenseItems
Create, update, delete, and query QuickBooks Vendor Credit Expense Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format VendorCreditId|ExpenseLineId. VendorCreditId
String
False VendorCredits.ID 255 The ID of the VendorCredit transaction. VendorName
String
False 1000 Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ReferenceNumber
String
False 21 Reference number for the transaction. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference to the accounts-payable account. Amount
Decimal
True Amount of the transaction. Memo
String
False 5000 Memo for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. TaxCode
String
False 3 The type of sales tax that will be charged for this vendor credit. TaxCodeId
String
False SalesTaxCodes.ID 255 The type of sales tax that will be charged for this vendor credit. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. ExchangeRate
String
False Indicates the exchange rate for the transaction. ExpenseLineId
String
True 255 The line item identifier. ExpenseLineNumber
String
True 255 The expense line number. ExpenseAccount
String
False 1000 The account name for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAccountId
String
False Accounts.ID 255 The account ID for this expense line. ExpenseAccount or ExpenseAccountId must have a value when inserting. ExpenseAmount
Decimal
False The total amount of this expense line. ExpenseBillableStatus
String
False 13 The billing status of this expense line. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ExpenseCustomer
String
False 1000 The customer associated with this expense line. ExpenseCustomerId
String
False Customers.ID 255 The customer associated with this expense line. ExpenseClass
String
False 1000 The class name of this expense. ExpenseClassId
String
False Class.ID 255 The class ID of this expense. ExpenseTaxCode
String
False 3 Sales tax information for this item (taxable or non-taxable). ExpenseTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or non-taxable). ExpenseMemo
String
False 5000 A memo for this expense line. TimeModified
Datetime
True When the inventory assembly was last modified. TimeCreated
Datetime
True When the inventory assembly was created. VendorCreditLineItems
Create, update, delete, and query QuickBooks Vendor Credit Line Items.
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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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#TEMP
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier in the format VendorCreditId|ItemLineId. VendorCreditId
String
False VendorCredits.ID 255 The ID of the VendorCredit transaction. VendorName
String
False 1000 Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ReferenceNumber
String
False 21 Reference number for the transaction. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference to the accounts-payable account. Amount
Decimal
True Amount of the transaction. Memo
String
False 5000 Memo for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. TaxCode
String
False 3 The type of sales tax that will be charged for this vendor credit. TaxCodeId
String
False SalesTaxCodes.ID 255 The type of sales tax that will be charged for this vendor credit. ExchangeRate
String
False Indicates the exchange rate for the transaction. ItemLineId
String
True 255 The line item identifier. ItemLineNumber
String
True 255 The line item number. ItemAmount
Decimal
False The total amount of this vendor credit line item. This should be a positive number. ItemClass
String
False 1000 Specifies the class of the vendor credit line item. ItemClassId
String
False Class.ID 255 Specifies the class of the vendor credit line item. ItemTaxCode
String
False 3 Sales tax information for this item (taxable or non-taxable). ItemTaxCodeId
String
False SalesTaxCodes.ID 255 Sales tax information for this item (taxable or non-taxable). ItemName
String
False The item name. ItemId
String
False Items.ID 255 The item Id. ItemGroup
String
False 100 Item group name. Reference to a group of line items this item is part of. ItemGroupId
String
False Items.ID 255 Item group name. Reference to a group of line items this item is part of. ItemDescription
String
False 5000 A description of the item. ItemQuantity
Double
False The quantity of the item or item group specified in this line. ItemUnitOfMeasure
String
False 31 In a transaction line item, the name of the unit of measure is selected from within the item's available units. If the company file is enabled only for single unit of measure per item, this must be the base unit. Only available in QBXML Version 7.0 and above. ItemCost
Double
False The unit cost for an item. ItemBillableStatus
String
False 13 Billing status of the item. The allowed values are EMPTY, BILLABLE, NOTBILLABLE, HASBEENBILLED. The default value is EMPTY. ItemCustomer
String
False 1000 The name of the customer who ordered the item. ItemCustomerId
String
False Customers.ID 255 The ID of the customer who ordered the item. ItemInventorySiteId
String
False InventorySites.ID 31 The inventory site ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteName
String
False 255 The inventory site name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationId
String
False 31 The inventory site location ID of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ItemInventorySiteLocationName
String
False 255 The inventory site location name of this item. This requires QBXML version at least 10.0 and the Advanced Inventory add-on. ExpirationDateForSerialLotNumber
String
True 1099 The expiration date for serial lot number of this item. It is supported from QB Desktop 2023 version 3 (USA & Canada) and SDK 16.0. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier for this copy of the object. TimeModified
Datetime
True When the vendor credit was last modified. TimeCreated
Datetime
True When the vendor credit 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 ItemOverrideAccount
String
The Account Name used to override the default Account for the Item. This is only available during inserts and updates. ItemOverrideAccountId
String
The Account ID used to override the default Account for the Item. This is only available during inserts and updates. VendorCredits
Create, update, delete, and query QuickBooks 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
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True The refId of the record. VendorName
String
False 1000 Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. VendorId
String
False Vendors.ID 255 Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. Date
Date
False Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TxnNumber
Integer
True The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ReferenceNumber
String
False 21 Reference number for the transaction. AccountsPayable
String
False 1000 Reference to the accounts-payable account. AccountsPayableId
String
False Accounts.ID 255 Reference to the accounts-payable account. Amount
Decimal
True Amount of the transaction. Memo
String
False 5000 Memo for the transaction. IsTaxIncluded
Boolean
False Determines if tax is included in the transaction amount. TaxCode
String
False 3 The type of sales tax that will be charged for this vendor credit. TaxCodeId
String
False SalesTaxCodes.ID 255 The type of sales tax that will be charged for this vendor credit. ExchangeRate
String
False Indicates the exchange rate for the transaction. ItemCount
Integer
True The count of line items. ItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a vendor credit and its line item data. ExpenseItemCount
Integer
True The count of expense line items. ExpenseItemAggregate
String
False 5000 An aggregate of the line item data which can be used for adding a VendorCredit and its expense item data. TransactionCount
Integer
True The count of related transactions to the bill. TransactionAggregate
String
True 5000 An aggregate of the linked transaction data. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. TimeModified
Datetime
True When the vendor credit was last modified. TimeCreated
Datetime
True When the vendor credit 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\*
String
All line-item-specific columns may be used in insertions. Expense\*
String
All expense-item-specific columns may be used in insertions. Vendors
Create, update, delete, and query QuickBooks Vendors.
Table Specific Information
This table has a Custom Fields column. See the Custom Fields page for more information.
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
True 255 The unique identifier of the Vendor. Name
String
False 100 The vendor's name. This is required to have a value when inserting. Salutation
String
False 15 A salutation, such as Mr., Mrs., etc. FirstName
String
False 25 A first name. MiddleInitial
String
False 25 The middle initial. LastName
String
False 25 A last name. Company
String
False 50 The vendor's company name. Contact
String
False 1023 The contact's name. AccountNumber
String
False 99 The account number for this vendor. Type
String
False 1000 The type of vendor, predefined in QuickBooks. TypeId
String
False 255 The type of vendor, predefined in QuickBooks. CreditLimit
Double
False The credit limit for this vendor. TaxIdentity
String
False 20 String that identifies the vendor to the IRS. SalesTaxCountry
String
False 100 Identifies the country collecting applicable sales taxes. Only available in international editons of QuickBooks. QBXML version must be set to 8.0 or higher to use this field. AlternateContact
String
False 41 The alternate contact's name. Phone
String
False 21 The vendor's telephone number. Fax
String
False 21 The vendor's fax number. AlternatePhone
String
False 21 The vendor's alternate telephone number. Email
String
False 1023 The vendor's email address. Cc
String
False 1023 An additional email adress for a vendor. Notes
String
False 5000 Notes on this vendor. Address
String
True Full address returned by QuickBooks. Line1
String
False 500 First line of the address. Line2
String
False 500 Second line of the address. Line3
String
False 500 Third line of the address. Line4
String
False 500 Fourth line of the address. Line5
String
False 41 Fifth line of the address. City
String
False 255 City name for the address of the vendor. State
String
False 255 State name for the address of the vendor. PostalCode
String
False 30 Postal code for the address of the vendor. Country
String
False 255 Country for the address of the vendor. Note
String
False 41 Note for the address of the vendor. ShippingAddress
String
True Full shipping address returned by QuickBooks. Requires QBXML Version 11.0 or higher. ShippingLine1
String
False 500 First line of the shipping address. Requires QBXML Version 11.0 or higher. ShippingLine2
String
False 500 Second line of the shipping address. Requires QBXML Version 11.0 or higher. ShippingLine3
String
False 500 Third line of the shipping address. Requires QBXML Version 11.0 or higher. ShippingLine4
String
False 500 Fourth line of the shipping address. Requires QBXML Version 11.0 or higher. ShippingLine5
String
False 41 Fifth line of the shipping address. Requires QBXML Version 11.0 or higher. ShippingCity
String
False 255 City name for the shipping address of the vendor. Requires QBXML Version 11.0 or higher. ShippingState
String
False 255 State name for the shipping address of the vendor. Requires QBXML Version 11.0 or higher. ShippingPostalCode
String
False 30 Postal code for the shipping address of the vendor. Requires QBXML Version 11.0 or higher. ShippingCountry
String
False 255 Country for the shipping address of the vendor. Requires QBXML Version 11.0 or higher. ShippingNote
String
False 41 Note for the shipping address of the vendor. Requires QBXML Version 11.0 or higher. Balance
Double
True Open balance for this vendor. Terms
String
False 100 A reference to terms of payment for this vendor. A typical example might be '2% 10 Net 60'. This field can be set in inserts but not in updates. TermsId
String
False 255 A reference to terms of payment for this vendor. EligibleFor1099
Boolean
False Whether this vendor is eligible for 1099. NameOnCheck
String
False 110 The name to be printed on checks. CurrencyName
String
False 64 Name of the currency code used for this vendor. QBXML version must be set to 8.0 or higher to use this field. CurrencyId
String
False Currency.ID 255 Id of the currency code used for this vendor. QBXML version must be set to 8.0 or higher to use this field. IsActive
Boolean
False Whether or not the vendor is active. CustomFields
String
False Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
True 16 An identifier for this copy of the object. TimeModified
Datetime
True When the vendor was last modified. TimeCreated
Datetime
True When the vendor was created. PrefillAccountId1
String
False Id of an Account Prefill defined for this vendor. PrefillAccountName1
String
False Name of an Account Prefill defined for this vendor. PrefillAccountId2
String
False Id of an Account Prefill defined for this vendor. PrefillAccountName2
String
False Name of an Account Prefill defined for this vendor. PrefillAccountId3
String
False Id of an Account Prefill defined for this vendor. PrefillAccountName3
String
False Name of an Account Prefill defined for this vendor. VendorTypes
Create, update, delete, and query QuickBooks Vendor Types.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier of the vendor type. Name
String
False 31 The name of the vendor type. FullName
String
False 159 The name of the vendor type. IsActive
Boolean
False Boolean determining if the vendor type is active. ParentRef_FullName
String
False Full name of the parent for the vendor type. You may specify only ParentRef_FullName or ParentRef_ListId on INSERT/UPDATE statements and not both. ParentRef_ListId
String
False VendorTypes.ID 255 Id for the parent of the vendor type. You may specify only ParentRef_FullName or ParentRef_ListId on INSERT/UPDATE statements and not both. Sublevel
Integer
True How many parents the vendor type has. EditSequence
String
True 16 A string indicating the revision of the payment method. TimeCreated
Datetime
True The time the vendor type was created. TimeModified
Datetime
True The last time the vendor type was modified. WorkersCompCodeLines
Query QuickBooks Workers Comp Code entries by line. Requires QBXML Version 7.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. WorkersCompCodeId
String
False 255 The primary key of the workes comp code. Name
String
False 13 The name of the workers comp code. This is required to have a value when inserting. Desc
String
False 31 The description of the workers comp code. CurrentRate
Double
False Indicates the workers comp insurance premium rate that is currently in effect for the current comp code. If the code doesn't have a current effective date--that is, it has a future date only, then this field is empty. CurrentEffectiveDate
Datetime
False Indicates the date at which the workers' compensation code went into effect. This field contains a value only if the code is currently in effect. If the code has only a future date, then this field is empty. NextRate
Double
False Indicates the workers comp insurance premium rate that will occur after the current rate and effective date. NextEffectiveDate
Datetime
False Indicates the the first effective date that will occur after the current effective date. RateHistory_Rate
Double
False The rate of the workers comp code. RateHistory_EffectiveDate
Datetime
False Specifies the date at which the workers comp code and the related premium goes into effect. IsActive
Boolean
False Whether or not the workers comp code is active. TimeCreated
Datetime
True The datetime the entry was made. TimeModified
Datetime
True The last datetime the entry was modified. EditSequence
String
True An identifier used for versioning for this copy of the object. WorkersCompCodes
Query QuickBooks Workers Comp Code entries. Requires QBXML Version 7.0 or higher.
Columns
Name Type ReadOnly References ColumnSize Description ID [KEY]
String
True 255 The unique identifier. Name
String
False 13 The name of the workers comp code. This is required to have a value when inserting. Desc
String
False 31 The description of the workers comp code. CurrentRate
Double
False Indicates the workers comp insurance premium rate that is currently in effect for the current comp code. If the code doesn't have a current effective date--that is, it has a future date only, then this field is empty. CurrentEffectiveDate
Datetime
False Indicates the date at which the workers' compensation code went into effect. This field contains a value only if the code is currently in effect. If the code has only a future date, then this field is empty. NextRate
Double
False Indicates the workers comp insurance premium rate that will occur after the current rate and effective date. NextEffectiveDate
Datetime
False Indicates the the first effective date that will occur after the current effective date. RateHistory
String
False The rate of the workers comp code. IsActive
Boolean
False Whether or not the workers comp code is active. TimeCreated
Datetime
True The datetime the entry was made. TimeModified
Datetime
True The last datetime the entry was modified. EditSequence
String
True An identifier used for versioning for this copy of the object. 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 BalanceSheetDetail
Balance Sheet Detail Report. BalanceSheetStandard
Balance Sheet Standard Report. BalanceSheetSummary
Balance Sheet Summary Report. BillingRate
Query QuickBooks Billing Rate. Requires QBXML Version 6.0 or higher. BillLinkedTransactions
Query QuickBooks Bill Linked Transactions. CompanyInfo
Query the company information from QuickBooks. CreditMemoLinkedTransactions
Query QuickBooks Credit Memo Linked Transactions. CustomColumns
Query QuickBooks Custom Columns. DeletedEntities
Query deleted Entities. DeletedTransactions
Query deleted Transactions. EmployeeStateTaxesDetail
Returns information of employee state taxes detail report. EstimateLinkedTransactions
Query QuickBooks Estimate Linked transactions. Host
Query the QuickBooks host process. The Host represents information about the QuickBooks process currently being executed. InvoiceLinkedTransactions
Query QuickBooks Invoice Linked Transactions. ItemReceiptLinkedTransactions
Query QuickBooks Item Receipt Linked Transactions. ItemSites
Create, update, delete, and query QuickBooks Item Sites. Item sites are only available in QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on. This table requires a minimum of QBXML version 10.0. PayrollItemDetail
Returns information of Payroll item detail report (lists the payroll transactions on which each payroll item appears). PayrollReviewDetail
Returns information of Payroll detail review report (provides detailed information about how QuickBooks calculates tax amounts on employee paychecks and in year-to-date transactions). PayrollTransactionDetail
Returns information of Payroll transaction detail report (shows the line-item detail that appears on each payroll transaction). PayrollTransactionsByPayee
Payroll transactions by payee report (lists payroll transactions, grouping them by payee). Preferences
Query information about many of the preferences the QuickBooks user has set in the company file. ProfitAndLossDetail
Profit & Loss Prev Year Comparison Report. ProfitAndLossStandard
Profit & Loss YTD Comparison Report. PurchaseOrderLinkedTransactions
Query QuickBooks Purchase Order Linked Transactions. ReceivePaymentToDeposit
Returns information about payments that have been received and are ready to deposit. SalesOrderLinkedTransactions
Query QuickBooks Sales Order Linked Transactions. StatementChargeLinkedTransactions
Query QuickBooks Statement Charge Linked Transactions. Templates
Query QuickBooks templates. Transactions
Query QuickBooks transactions. You may search the Transactions using a number of values including Type, Entity, Account, ReferenceNumber, Item, Class, Date, and TimeModified. VendorCreditLinkedTransactions
Query QuickBooks Vendor Credit Linked Transactions. BalanceSheetDetail
Balance Sheet Detail Report.
Columns
Name Type References Description Label
String
The Label column of the BalanceSheetDetail report. Type
String
The Type column of the BalanceSheetDetail report. Date
Date
The Date column of the BalanceSheetDetail report. Num
String
The Num column of the BalanceSheetDetail report. Name
String
The Name column of the BalanceSheetDetail report. Memo
String
The Memo column of the BalanceSheetDetail report. Class
String
The Class column of the BalanceSheetDetail report. Clr
String
The Clr column of the BalanceSheetDetail report. Split
String
The Split column of the BalanceSheetDetail report. Amount
Decimal
The Amount column of the BalanceSheetDetail report. Balance
Double
The Balance column of the BalanceSheetDetail 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 ReportPeriod
String
ReportDateRangeMacro
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
ModifiedDateRangeMacro
String
DetailLevel
String
PostingStatus
String
IncludeAccounts
String
ReportBasis
String
SummarizeRowsBy
String
BalanceSheetStandard
Balance Sheet Standard Report.
Columns
Name Type References Description Label
String
The Label column of the BalanceSheetStandard report. Total
Double
The Total column of the BalanceSheetStandard report. AccountLabel
String
The Account label column of the BalanceSheetStandard 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 ReportPeriod
String
ReportDateRangeMacro
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
ModifiedDateRangeMacro
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
ReportBasis
String
ReportCalendar
String
BalanceSheetSummary
Balance Sheet Summary Report.
Columns
Name Type References Description Account
String
The Account column of the BalanceSheetSummary report. Total
Double
The Total column of 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 ReportPeriod
String
ReportDateRangeMacro
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
ModifiedDateRangeMacro
String
DetailLevel
String
PostingStatus
String
ReportBasis
String
ReturnColumns
String
ReturnRows
String
ReportCalendar
String
BillingRate
Query QuickBooks Billing Rate. Requires QBXML Version 6.0 or higher.
Columns
Name Type References Description ListID
String
The unique identifier. Name
String
The entity full name. BillingRateType
String
Indicates whether the billing rate is a fixed rate or applies to specific service items. TimeCreated
Datetime
The time the object was created. TimeModified
Datetime
The last datetime the entry was modified. EditSequence
String
An identifier used for versioning for this copy of the object. BillLinkedTransactions
Query QuickBooks Bill Linked Transactions.
Table Specific Information
Linked transactions are transactions that have been associated with the Bill specified by the BillId column.
Select
By default,
SupportEnhancedSQL
is set to true, and the following will be honored if present. Other filters will be executed client side. IfSupportEnhancedSQL
is set to false, only the following filters will be honored.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]
String
The unique identifier in the format BillId|ItemLineId. BillId
String
Bills.ID The item identifier. TransactionId
String
The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the bill and the linked transaction. TimeModified
Datetime
When the bill was last modified. TimeCreated
Datetime
When the bill was created. CompanyInfo
Query the company information from QuickBooks.
Columns
Name Type References Description ID [KEY]
String
The employer identification number of the company. Name
String
The company name. Type
String
The type of company. Address
String
Full address returned by QuickBooks. Line1
String
First line of the address. Line2
String
Second line of the address. Line3
String
Third line of the address. Line4
String
Fourth line of the address. Line5
String
Fifth line of the address. City
String
City name for the address of the company. State
String
State name for the address of the company. PostalCode
String
Postal code for the address of the company. Country
String
Country for the address of the company. Note
String
Note for the address of the company. Email
String
Company email address. Phone
String
Company phone number. Fax
String
Company fax number. SSN
String
The SSN of the company. Taxform
String
The tax form used by the company. Website
String
Company website URL. FirstMonthFiscal
String
The first month in the fiscal year for the company. FirstMonthTax
String
The first month in the taxable year for the company. LegalAddress
String
Full legal address of the company. LegalCity
String
Legal city name for the company. LegalCountry
String
Legal country name for the company. LegalState
String
Legal state name for the company. LegalZip
String
Legal zip code for the company. LegalName
String
Legal company name. ShippingAddress
String
Full shipping address returned by QuickBooks. ShippingLine1
String
First line of the shipping address. ShippingLine2
String
Second line of the shipping address. ShippingLine3
String
Third line of the shipping address. ShippingLine4
String
Fourth line of the shipping address. ShippingLine5
String
Fifth line of the shipping address. ShippingCity
String
City name for the shipping address of the company. ShippingState
String
State name for the shipping address of the company. ShippingPostalCode
String
Postal code for the shipping address of the company. ShippingCountry
String
Country for the shipping address of the company. ShippingNote
String
Note for the shipping address of the company. OpenedCompanyFile
String
The path to the currently opened company file in QuickBooks. CreditMemoLinkedTransactions
Query QuickBooks Credit Memo Linked Transactions.
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]
String
The unique identifier in the format CreditMemoId|ItemLineId. CreditMemoId
String
CreditMemos.ID The credit memo identifier. ReferenceNumber
String
The transaction reference number. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. CustomerId
String
Customers.ID The ID of the customer on the credit memo. CustomerName
String
The name of the customer on the credit memo. TransactionId
String
The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the credit memo and linked transaction. TimeModified
Datetime
When the credit memo was last modified. TimeCreated
Datetime
When the 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 ItemPriceLevel
String
CustomColumns
Query QuickBooks Custom Columns.
Columns
Name Type References Description DataExtID [KEY]
String
The ID of a data extension. OwnerID
String
The owner of a data extension. DataExtName
String
The name of the data extension. DataExtType
String
The field's data type. AssignToObject
String
The object associated with the result. DataExtListRequire
Boolean
DataExtTxnRequire
Boolean
DataExtFormatString
String
DeletedEntities
Query deleted Entities.
Columns
Name Type References Description ListID [KEY]
String
The unique identifier. ListDelType
String
The entity type. Valid 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, WorkersCompCode FullName
String
The entity full name. TimeCreated
Datetime
The time the object was created. TimeDeleted
Datetime
The time the object 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 TimeModified
String
DeletedTransactions
Query deleted Transactions.
Columns
Name Type References Description TxnID [KEY]
String
The unique identifier. TxnDelType
String
The transaction type. Valid values are ARRefundCreditCard, Bill, BillPaymentCheck, BillPaymentCreditCard, BuildAssembly, Charge, Check, CreditCardCharge, CreditCardCredit, CreditMemo, Deposit, Estimate, InventoryAdjustment, Invoice, ItemReceipt, JournalEntry, PurchaseOrder, ReceivePayment, SalesOrder, SalesReceipt, SalesTaxPaymentCheck, TimeTracking, TransferInventory, VehicleMileage, VendorCredit RefNumber
String
The transaction's reference number. TimeCreated
Datetime
The time the object was created. TimeDeleted
Datetime
The time the object 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 TimeModified
String
EmployeeStateTaxesDetail
Returns information of employee state taxes detail report.
Columns
Name Type References Description Label
String
The Label column of the EmployeeStateTaxesDetail report. Source_Name
String
The Source_Name column of the EmployeeStateTaxesDetail report. SSN_Tax_ID
String
The SSN_Tax_ID column of the EmployeeStateTaxesDetail report. Date
Date
The Date column of the EmployeeStateTaxesDetail report. Payroll_Item
String
The Payroll_Item column of the EmployeeStateTaxesDetail report. Income_Subject_To_Tax
Double
The Income_Subject_To_Tax column of the EmployeeStateTaxesDetail report. Wage_Base
Double
The Wage_Base column of the EmployeeStateTaxesDetail report. Amount
Double
The Amount column of the EmployeeStateTaxesDetail report. RowType
String
The type of data in the row. For example, 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 ReportPeriod
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
SummarizeColumnsBy
String
IncludeColumns
String
IncludeAccounts
String
SummarizeRowsBy
String
EstimateLinkedTransactions
Query QuickBooks Estimate Linked transactions.
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]
String
The unique identifier in the format EstimateId|ItemLineId. EstimateId
String
Estimates.ID The estimate identifier. ReferenceNumber
String
Transaction reference number. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
Customer name this transaction is recorded under. CustomerId
String
Customers.ID Customer ID this transaction is recorded under. Date
Date
Transaction date. TransactionId
String
The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the estimate and linked transaction. TimeModified
Datetime
When the credit memo was last modified. TimeCreated
Datetime
When the 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 ItemPriceLevel
String
Host
Query the QuickBooks host process. The Host represents information about the QuickBooks process currently being executed.
Columns
Name Type References Description ProductName [KEY]
String
The name of the QuickBooks version being used. MajorVersion
String
The major version of QuickBooks. MinorVersion
String
The minor version of QuickBooks. Country
String
Country the QuickBooks edition was designed for. SupportedQBXMLVersion
String
A comma separated list of QBXML versions supported by the version of QuickBooks. IsAutomaticLogin
Boolean
A boolean indicating if the currently running .exe for QuickBooks is using automatic login. If true, this means that the QuickBooks UI is currently closed and the QuickBooks .exe was launched in the background to interact with the company file. QBFileMode
String
The company file mode currently in use. For instance, SingleUser or MultiUser. InvoiceLinkedTransactions
Query QuickBooks Invoice Linked Transactions.
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]
String
The unique identifier in the format InvoiceId|ItemLineId. InvoiceId
String
Invoices.ID The invoice identifier. ReferenceNumber
String
The transaction reference number. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
The name of the customer on the invoice. Either CustomerName or CustomerId must have a value when inserting. CustomerId
String
Customers.ID The ID of the customer on the invoice. Alternatively give this field a value when inserting instead of CustomerName. Account
String
A reference to the accounts-receivable account where the money received from this transaction will be deposited. AccountId
String
Accounts.ID A reference to the accounts-receivable account where the money received from this transaction will be deposited. Date
Date
The date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TransactionId
String
The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the invoice and linked transaction. TimeModified
Datetime
When the invoice was last modified. TimeCreated
Datetime
When the invoice was created. ItemReceiptLinkedTransactions
Query QuickBooks Item Receipt Linked Transactions.
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]
String
The unique identifier in the format ItemReceiptId|ItemReceiptLineId. ItemReceiptId
String
ItemReceipts.ID The item identifier for the item receipt. This is obtained from the ItemReceipts table. VendorName
String
The name of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. VendorId
String
Vendors.ID The unique ID of the vendor. Either VendorName or VendorId must be specified when inserting an item receipt. Date
Date
The transaction date. ReferenceNumber
String
The transaction reference number. AccountsPayable
String
A reference to the name of the account the item receipt is payable to. AccountsPayableId
String
Accounts.ID A reference to the unique ID of the account the item receipt is payable to. Memo
String
A memo regarding the item receipt. Amount
Decimal
Total amount of the item receipt. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ExchangeRate
Double
The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. Requires QBXML Version 8.0 or higher. TransactionId
String
PurchaseOrders.ID The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the item receipt and linked transaction. CustomFields
String
Custom fields returned from QuickBooks and formatted into XML. EditSequence
String
An identifier used for versioning for this copy of the object. TimeModified
Datetime
When the item receipt was last modified. TimeCreated
Datetime
When the item receipt was created. ItemSites
Create, update, delete, and query QuickBooks Item Sites. Item sites are only available in QuickBooks Enterprise 2010 and above, and only with the Advanced Inventory add-on. This table requires a minimum of QBXML version 10.0.
Columns
Name Type References Description ID [KEY]
String
The ID of the inventory site. ItemInventoryAssemblyRef_ListID
String
Items.ID Reference to the ID of an inventory assembly located on the item site. Either an inventory assembly or an inventory item will be specified, but not both. ItemInventoryAssemblyRef_FullName
String
Reference to the full name of an inventory assembly located on the item site. Either an inventory assembly or an inventory item will be specified, but not both. ItemInventoryRef_ListID
String
Items.ID Reference to the ID of an inventory item located on the item site. Either an inventory assembly or an inventory item will be specified, but not both. ItemInventoryRef_FullName
String
Reference to the full name of an inventory item located on the item Site. Either an inventory assembly or an Inventory Item will be specified, but not both. InventorySiteRef_ListID
String
InventorySites.ID Reference to the ID of an inventory site. InventorySiteRef_FullName
String
Reference to the full name of an inventory site. InventorySiteLocationRef_ListID
String
Reference to the ID of an inventory site location. This field requires QBXML version 12.0 or higher. InventorySiteLocationRef_FullName
String
Reference to the full name of an inventory site location. This field requires QBXML version 12.0 or higher. ReorderLevel
Double
The quantity at which to reorder the inventory assembly or inventory item. QuantityOnHand
Double
The total quantity of the inventory assemblies or inventory items in the inventory. QuantityOnPurchaseOrders
Double
The quantity of the inventory assemblies or inventory items currently on open purchase orders. QuantityOnSalesOrders
Double
The quantity of the inventory assemblies or inventory items currently on open sales orders. QuantityToBeBuiltByPendingBuildTxns
Double
The quantity of the inventory assemblies or inventory items are in use by pending Build Assembly transactions. QuantityRequiredByPendingBuildTxns
Double
The quantity of the inventory assemblies or inventory items that are required to complete remaining build assembly transactions. QuantityOnPendingTransfers
Double
The quantity of the inventory assemblies or inventory items that are currently on pending transfer inventory transactions. AssemblyBuildPoint
Double
The quantity of the inventory assemblies or inventory items remaining before creating a new Assembly. EditSequence
String
A string indicating the revision of the inventory site. TimeCreated
Datetime
The time the inventory site was created. TimeModified
Datetime
The time the inventory site was 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 ItemType
String
PayrollItemDetail
Returns information of Payroll item detail report (lists the payroll transactions on which each payroll item appears).
Columns
Name Type References Description Label
String
The Label column of the PayrollItemDetail report. Num
String
The Num column of the PayrollItemDetail report. Date
Date
The Date column of the PayrollItemDetail report. Source_Name
String
The Source_Name column of the PayrollItemDetail report. Payroll_Item
String
The Payroll_Item column of the PayrollItemDetail report. Type
String
The Type column of the PayrollItemDetail report. Wage_Base
Double
The Wage_Base column of the PayrollItemDetail report. Amount
Double
The Amount column of the PayrollItemDetail report. RowType
String
The type of data in the row. For example, 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 ReportPeriod
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
SummarizeColumnsBy
String
IncludeColumns
String
IncludeAccounts
String
SummarizeRowsBy
String
PayrollReviewDetail
Returns information of Payroll detail review report (provides detailed information about how QuickBooks calculates tax amounts on employee paychecks and in year-to-date transactions).
Columns
Name Type References Description Label
String
The Label column of the PayrollReviewDetail report. Date
Date
The Date column of the PayrollReviewDetail report. Entered_Last_Modified
String
The Entered_Last_Modified column of the PayrollReviewDetail report. Tax_Table_Version
String
The Tax_Table_Version column of the PayrollReviewDetail report. Income_Subject_To_Tax
Double
The Income_Subject_To_Tax column of the PayrollReviewDetail report. Wage_Base
Double
The Wage_Base column of the PayrollReviewDetail report. Payroll_Tax_Rate
Double
The Payroll_Tax_Rate column of the PayrollReviewDetail report. User_Edit\_
String
The User_Edit_ column of the PayrollReviewDetail report. Amount
Double
The Amount column of the PayrollReviewDetail report. Calculated_Amount
Double
The Calculated_Amount column of the PayrollReviewDetail report. Amount_Difference
Double
The Amount_Difference column of the PayrollReviewDetail report. RowType
String
The type of data in the row. For example, 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 ReportPeriod
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
SummarizeColumnsBy
String
IncludeColumns
String
IncludeAccounts
String
SummarizeRowsBy
String
PayrollTransactionDetail
Returns information of Payroll transaction detail report (shows the line-item detail that appears on each payroll transaction).
Columns
Name Type References Description Date
String
The Date column of the PayrollTransactionDetail report. Num
String
The Num column of the PayrollTransactionDetail report. Type
String
The Type column of the PayrollTransactionDetail report. Source_Name
String
The Source_Name column of the PayrollTransactionDetail report. Payroll_Item
String
The Payroll_Item column of the PayrollTransactionDetail report. Wage_Base
Double
The Wage_Base column of the PayrollTransactionDetail report. Amount
Double
The Amount column of the PayrollTransactionDetail report. RowType
String
The type of data in the row. For example, 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 ReportPeriod
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
SummarizeColumnsBy
String
IncludeColumns
String
IncludeAccounts
String
SummarizeRowsBy
String
PayrollTransactionsByPayee
Payroll transactions by payee report (lists payroll transactions, grouping them by payee).
Columns
Name Type References Description Label
String
The Label column of the PayrollTransactionsByPayee report. Date
Date
The Date column of the PayrollTransactionsByPayee report. Name
String
The Name column of the PayrollTransactionsByPayee report. Num
String
The Num column of the PayrollTransactionsByPayee report. Type
String
The Type column of the PayrollTransactionsByPayee report. Memo
String
The Memo column of the PayrollTransactionsByPayee report. Account
String
The Account column of the PayrollTransactionsByPayee report. Amount
Double
The Amount column of the PayrollTransactionsByPayee report. RowType
String
The type of data in the row. For example, 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 ReportPeriod
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
SummarizeColumnsBy
String
IncludeColumns
String
IncludeAccounts
String
SummarizeRowsBy
String
Preferences
Query information about many of the preferences the QuickBooks user has set in the company file.
Columns
Name Type References Description ID [KEY]
String
Key for the table. The default value is 1. AccountingPreferences_IsUsingAccountNumbers
Boolean
If true, an account number can be recorded for new accounts. If you include an account numnber in the AccountAdd object when this preference is false, the account number will be set but will not be visible in the user interface. AccountingPreferences_IsRequiringAccounts
Boolean
If true, a transaction cannot be recorded in the user interface unless it is assigned to an account. (However, transactions affected by this preference always require an account to be specified when added through the SDK). AccountingPreferences_IsUsingClassTracking
Boolean
If true, QuickBooks will include a class field on all transactions. AccountingPreferences_AssignClassTo
String
What classes should be assigned to be default. Requires QBXML version 12.0 or higher. AccountingPreferences_IsUsingAuditTrail
Boolean
If true, QuickBooks will log all transaction changes in the audit trail report. if false, QuickBooks logs only the most recent versions of each transaction. AccountingPreferences_IsAssigningJournalEntryNumbers
Boolean
If true, QuickBooks will automatically assign a number to each journal entry. AccountingPreferences_ClosingDate
Date
The company closing date set within the company file. (The QuickBooks admin can assign a password restricting access to transactions that occurred before this date). FinanceChargePreferences_AnnualInterestRate
Double
The interest rate, set by the QuickBooks user, that QuickBooks will use to calculate finance charges. The default is 0. FinanceChargePreferences_MinFinanceCharge
Decimal
The minimum finance charge that will be applied regardless of the amount overdue. MinFinanceCharge is set by the QuickBooks user, and has a default value (within QuickBooks) of 0. FinanceChargePreferences_GracePeriod
Integer
The number of days before finance charges apply to customers' overdue invoices. GracePeriod is set by the QuickBooks user and has a default value (within QuickBooks) of 0. FinanceChargePreferences_FinanceChargeAccountRef_ListID
String
Accounts.ID Refers to the ID of the account used to track finance charges that the customers pay. This is usually an income account. In a request, if a FinanceChargeAccountRef aggregate includes both FullName and ListId, FullName will be ignored. FinanceChargePreferences_FinanceChargeAccountRef_FullName
String
Refers to the full name of the account used to track finance charges that the customers pay. This is usually an income account. In a request, if a FinanceChargeAccountRef aggregate includes both FullName and ListId, FullName will be ignored. FinanceChargePreferences_IsAssessingForOverdueCharges
Boolean
If true, finance charges are assessed on overdue finance charges. This preference is set by the QuickBooks user, and has a default value (within QuickBooks) of false. (Note that laws vary about whether a company can charge interest on overdue interest payments.) FinanceChargePreferences_CalculateChargesFrom
String
This preference is set by the QuickBooks user. Unless they change the value within QuickBooks, it will be DueDate. If set to DueDate, finance charges are assessed from the day the invoice or statement is due. If set to InvoiceOrBilledDate, finance charges are assessed from the transaction dates. The allowed values are DueDate, InvoiceOrBilledDate. FinanceChargePreferences_IsMarkedToBePrinted
Boolean
If true, all newly created finance charge invoices will be marked to be printed. (This makes it easier for the QuickBooks user to print a selection of invoices all at once.) This preference is set by the QuickBooks user and has a default value within QuickBooks of false. JobsAndEstimatesPreferences_IsUsingEstimates
Boolean
If true, this user is set up to create estimates for jobs. JobsAndEstimatesPreferences_IsUsingProgressInvoicing
Boolean
If true, this QuickBooks user can create an invoice for only a portion of an estimate. JobsAndEstimatesPreferences_IsPrintingItemsWithZeroAmounts
Boolean
If true, line items with an amount of 0 will print on progress invoices. (IsPrintingItemsWithZeroAmounts is not relevant unless IsUsingProgressInvoices is true). MultiCurrencyPreferences_IsMultiCurrencyOn
Boolean
Indicates whether the multicurrency feature is turned on for this company file. A value of true means it is to be turned on, and a value of false means is not turned on. Currently, once multicurrency is turned on for a company file, it cannot be turned off. Requires QBXML version 8.0 or higher. MultiCurrencyPreferences_HomeCurrencyRef_ListID
String
Currency.ID Reference to the ID of the currency that is listed as the home currency. The home currency is normally the curency of the country where the business is located. Requires QBXML version 8.0 or higher. MultiCurrencyPreferences_HomeCurrencyRef_FullName
String
Reference to the full name of the currency that is listed as the home currency. The home currency is normally the curency of the country where the business is located. Requires QBXML version 8.0 or higher. MultiLocationInventoryPreferences_IsMultiLocationInventoryAvailable
Boolean
Boolean indicating if multiple inventory locations are available. Requires QBXML version 10.0 or higher. MultiLocationInventoryPreferences_IsMultiLocationInventoryEnabled
Boolean
Boolean indicating if multiple inventory locations are enabled. PurchasesAndVendorsPreferences_IsUsingInventory
Boolean
If true, the inventory-related features of QuickBooks are available. PurchasesAndVendorsPreferences_DaysBillsAreDue
Integer
By default, bills are due this many days after receipt. PurchasesAndVendorsPreferences_IsAutomaticallyUsingDiscounts
Boolean
If true, QuickBooks will automatically apply available vendor discounts or credits to a bill that is being paid. PurchasesAndVendorsPreferences_DefaultDiscountAccountRef_ListID
String
Accounts.ID Id of the account where vendor discounts are tracked. In a request, if a DefaultDiscountAccountRef aggregate includes both FullName and ListId, FullName will be ignored. PurchasesAndVendorsPreferences_DefaultDiscountAccountRef_FullName
String
Full name of the account where vendor discounts are tracked. In a request, if a DefaultDiscountAccountRef aggregate includes both FullName and ListId, FullName will be ignored. ReportsPreferences_AgingReportBasis
String
AgeFromDueDate means that the overdue days shown in these reports will begin with the due date on the invoice. AgeFromTransactionDate means that the overdue days shown in these reports will begin with the date the transaction was created. The allowed values are AgeFromDueDate, AgeFromTransactionDate. ReportsPreferences_SummaryReportBasis
String
Indicates whether summary reports are cash-basis or accrual-basis bookkeeping. The allowed values are Accrual, Cash. SalesAndCustomersPreferences_DefaultShipMethodRef_ListID
String
ShippingMethods.ID Id that references to a ship method that will be used as the default value in all ShipVia fields. SalesAndCustomersPreferences_DefaultShipMethodRef_FullName
String
Full name of a ship method that will be used as the default value in all ShipVia fields. SalesAndCustomersPreferences_DefaultFOB
String
Default FOB (freight on board: the site from which invoiced products are shipped). SalesAndCustomersPreferences_DefaultMarkup
Double
Default percentage that an inventory item will be marked up from its cost. SalesAndCustomersPreferences_IsTrackingReimbursedExpensesAsIncome
Boolean
If true, an expense and the customers reimbursement for that expense can be tracked in separate accounts. SalesAndCustomersPreferences_IsAutoApplyingPayments
Boolean
If true, a customers' payment will automatically be applied to the outstanding invoices for that customer, beginning with the oldest invoice. SalesAndCustomersPreferences_PriceLevels_IsUsingPriceLevels
Boolean
If true, price levels have been turned on for the company file (under Sales and Customers preferences), which enables the creation and use of price levels. SalesAndCustomersPreferences_PriceLevels_IsRoundingSalesPriceUp
Boolean
If true, amounts are rounded up to the nearest whole dollar for fixed percentage price levels (not for per-item price levels). SalesTaxPreferences_DefaultItemSalesTaxRef_ListID
String
SalesTaxItems.ID Id reference to the default tax code for sales. (Refers to a sales tax code on the SalesTaxCode list). SalesTaxPreferences_DefaultItemSalesTaxRef_FullName
String
Full name for the default tax code for sales. (Refers to a sales tax code on the SalesTaxCode list). SalesTaxPreferences_PaySalesTax
String
The frequency of sales tax reports. The allowed values are Monthly, Quarterly, Annually. SalesTaxPreferences_DefaultTaxableSalesTaxCodeRef_ListID
String
SalesTaxCodes.ID Id reference to the default tax code for taxable sales. (Refers to a sales tax code in the SalesTaxCode list). SalesTaxPreferences_DefaultTaxableSalesTaxCodeRef_FullName
String
Full name of a default tax code for taxable sales. (Refers to a sales tax code in the SalesTaxCode list). SalesTaxPreferences_DefaultNonTaxableSalesTaxCodeRef_ListID
String
SalesTaxCodes.ID Id reference to the default tax code for nontaxable sales. (Refers to a sales tax code in the SalesTaxCode list). SalesTaxPreferences_DefaultNonTaxableSalesTaxCodeRef_FullName
String
Full name of a default tax code for nontaxable sales. (Refers to a sales tax code in the SalesTaxCode list). SalesTaxPreferences_IsUsingVendorTaxCode
Boolean
Boolean indicating if the vendor's tax codes are being used. SalesTaxPreferences_IsUsingCustomerTaxCode
Boolean
Boolean indicating if the customer's tax codes are being used. SalesTaxPreferences_IsUsingAmountsIncludeTax
Boolean
Boolean indicating if total amounts include sales tax. TimeTrackingPreferences_FirstDayOfWeek
String
The first day of a weekly timesheet period. The allowed values are Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. CurrentAppAccessRights_IsAutomaticLoginAllowed
Boolean
If true, then applications can use autologin to access this QuickBooks company file. CurrentAppAccessRights_AutomaticLoginUserName
String
If autologin is allowed for this QuickBooks company file, then this field gives the username that is allowed to use autologin. CurrentAppAccessRights_IsPersonalDataAccessAllowed
Boolean
If true, then access is allowed to sensitive (personal) data in this QuickBooks company file. ItemsAndInventoryPreferences_EnhancedInventoryReceivingEnabled
Boolean
Boolean indicating if enhanced inventory receiving is enabled. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingSerialOrLotNumber
String
Indicates if tracking is done based on serial or lot number. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnSalesTransactionsEnabled
Boolean
Boolean indicating if tracking is enabled on sales transactions. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnPurchaseTransactionsEnabled
Boolean
Boolean indicating if tracking is enabled on purchase transactions. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnInventoryAdjustmentEnabled
Boolean
Boolean indicating if tracking is enabled on inventory adjustments. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsTrackingOnBuildAssemblyEnabled
Boolean
Boolean indicating if tracking is enabled on build assemblies. Requires QBXML version 11.0. ItemsAndInventoryPreferences_FIFOEnabled
Boolean
Boolean indicating if FIFO is enabled. Requires QBXML version 11.0. ItemsAndInventoryPreferences_FIFOEffectiveDate
Date
FIFO effective date. Requires QBXML version 11.0. ItemsAndInventoryPreferences_IsRSBEnabled
Boolean
Boolean indicating if RSB is enabled. Requires QBXML version 12.0. ItemsAndInventoryPreferences_IsBarcodeEnabled
Boolean
Boolean indicating if bar codes are enabled. Requires QBXML version 12.0. ProfitAndLossDetail
Profit & Loss Prev Year Comparison Report.
Columns
Name Type References Description Label
String
The Label column of the ProfitAndLossDetail report. Type
String
The Type column of the ProfitAndLossDetail report. Date
Date
The Date column of the ProfitAndLossDetail report. Num
String
The Num column of the ProfitAndLossDetail report. Name
String
The Name column of the ProfitAndLossDetail report. Memo
String
The Memo column of the ProfitAndLossDetail report. Class
String
The Class column of the ProfitAndLossDetail report. Clr
String
The Clr column of the ProfitAndLossDetail report. Split
String
The Split column of the ProfitAndLossDetail report. Amount
Double
The Amount column of the ProfitAndLossDetail report. Balance
Double
The Balance column of the ProfitAndLossDetail report. RowType
String
The type of data in the row. For example, 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 ReportPeriod
String
ReportDateRangeMacro
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
ModifiedDateRangeMacro
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
IncludeAccounts
String
ReportBasis
String
IncludeColumns
String
SummarizeRowsBy
String
ProfitAndLossStandard
Profit & Loss YTD Comparison Report.
Columns
Name Type References Description Label
String
The Label column of the ProfitAndLossStandard report. Amount
Double
The Amount column of the ProfitAndLossStandard report. RowType
String
The type of data in the row. For example, 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 ReportPeriod
String
ReportDateRangeMacro
String
AccountType
String
AccountList
String
AccountListType
String
EntityType
String
EntityList
String
EntityListType
String
ItemType
String
ItemList
String
ItemListType
String
ClassList
String
ClassListType
String
TransactionTypes
String
ModifiedDateRange
String
ModifiedDateRangeMacro
String
DetailLevel
String
PostingStatus
String
ReportAsOf
String
SummarizeColumnsBy
String
IncludeSubColumns
String
ReportBasis
String
ReturnColumns
String
ReturnRows
String
ReportCalendar
String
PurchaseOrderLinkedTransactions
Query QuickBooks Purchase Order Linked Transactions.
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]
String
The unique identifier in the format PurchaseOrderId|ItemLineId. PurchaseOrderId
String
PurchaseOrders.ID The purchase order identifier. VendorName
String
Vendor name this purchase order is issued to. Either VendorName or VendorId must have a value when inserting. VendorId
String
Vendors.ID Vendor ID this purchase order is issued to. Either VendorName or VendorId must have a value when inserting. VendorMessage
String
Message to appear to vendor. ReferenceNumber
String
The transaction reference number. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. Date
Date
Transaction date. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TransactionId
String
The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the purchase order and linked transaction. TimeModified
Datetime
When the purchase order was last modified. TimeCreated
Datetime
When the purchase 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 ItemPriceLevel
String
ReceivePaymentToDeposit
Returns information about payments that have been received and are ready to deposit.
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 ReceivePaymentToDeposit
Columns
Name Type References Description ID [KEY]
String
The unique identifier of the transaction. TxnType
String
The type of transaction. TxnLineID
String
The unique identifier of the transaction Line. CustomerRef_ListID
String
Customers.ID The ID of the customer. CustomerRef_FullName
String
The name of the customer. TxnDate
Date
Date of the transaction.. RefNumber
String
Reference number for the transaction. Amount
Decimal
Amount of the transaction. This is calculated by QuickBooks based on the line items or expense line items. CurrencyId
String
Currency.ID The unique ID of the currency for the account. A minimum QBXML version of 8.0 is required for this feature. CurrencyName
String
The name of the currency for the account. A minimum QBXML version of 8.0 is required for this feature. ExchangeRate
Double
Exchange Rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the 'home' currency. AmountInHomeCurrency
Double
Amount in units of the home currency. SalesOrderLinkedTransactions
Query QuickBooks Sales Order Linked Transactions.
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]
String
The unique identifier in the format SalesOrderId|ItemLineId. SalesOrderId
String
SalesOrders.ID The item identifier. ReferenceNumber
String
Transaction reference number. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
Customer name this transaction is recorded under. CustomerId
String
Customers.ID Customer ID this transaction is recorded under. Date
Date
Transaction date. TransactionId
String
Invoices.ID The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the sales order and linked transaction. TimeModified
Datetime
When the sales order was last modified. TimeCreated
Datetime
When 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 ItemPriceLevel
String
StatementChargeLinkedTransactions
Query QuickBooks Statement Charge Linked Transactions.
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]
String
The unique identifier in the format StatementChargeId|TransactionLineId. StatementChargeId
String
StatementCharges.ID The item identifier. ReferenceNumber
String
Transaction reference number. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. CustomerName
String
Customer name this transaction is recorded under. CustomerId
String
Customers.ID Customer ID this transaction is recorded under. Date
Date
Transaction date. TransactionId
String
The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the statement charge and linked transaction. TimeModified
Datetime
When the statement charge was last modified. TimeCreated
Datetime
When the statement charge was created. Templates
Query QuickBooks templates.
Columns
Name Type References Description ID [KEY]
String
The unique identifier of the template. Name
String
The name of the template. IsActive
Boolean
Boolean determining if the template is active. TemplateType
String
The type of template. This may be BuildAssembly, CreditMemo, Estimate, Invoice, PurchaseOrder, SalesOrder, or SalesReceipt. EditSequence
String
A string indicating the revision of the template. TimeCreated
Datetime
The time the template was created. TimeModified
Datetime
The last time the template was modified. Transactions
Query QuickBooks transactions. You may search the Transactions using a number of values including Type, Entity, Account, ReferenceNumber, Item, Class, Date, and TimeModified.
Columns
Name Type References Description ID
String
The unique identifier of the transaction. TxnLineId
String
The ID of the individual line item. Type
String
The transaction type of the result. Date
Date
The date of the transaction. Entity
String
The name of the entity associated with the transaction. For example, the name of a customer, vendor, employee, or other name. EntityId
String
The ID of the entity associated with the transaction. For example, the name of a customer, vendor, employee, or other name. AccountName
String
The name of the account associated with the transaction. AccountId
String
Accounts.ID The ID of the account associated with the transaction. ReferenceNumber
String
The reference number of the transaction, if applicable. Amount
Decimal
The amount of the transaction. CurrencyName
String
The name of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. CurrencyId
String
Currency.ID The unique ID of the currency for this customer. A minimum QBXML Version of 8.0 is required for this feature. ExchangeRate
Double
The market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the home currency. AmountInHomeCurrency
Decimal
The amount of the transaction in units of the home currency. Memo
String
The memo appearing on the transaction. TimeModified
Datetime
When the transaction was last modified. TimeCreated
Datetime
When the transaction 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 ItemName
String
ItemId
String
ClassName
String
ClassId
String
PostingStatus
String
PaidStatus
String
DetailLevel
String
VendorCreditLinkedTransactions
Query QuickBooks Vendor Credit Linked Transactions.
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]
String
The unique identifier in the format VendorCreditId|ItemLineId. VendorCreditId
String
VendorCredits.ID The ID of the VendorCredit transaction. VendorName
String
Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. VendorId
String
Vendors.ID Vendor for this transaction. Either VendorName or VendorId is required to have a value when inserting. Date
Date
Date of the transaction. If it is set in the WHERE clause of a SELECT query, the pseudo columns StartDate and EndDate are overwritten with the value. TxnNumber
Integer
The transaction number. An identifying number for the transaction, different from the QuickBooks-generated Id. ReferenceNumber
String
Reference number for the transaction. TransactionId
String
Bills.ID The ID of the linked transaction. TransactionAmount
Decimal
The amount of the linked transaction. TransactionDate
Date
The date of the linked transaction. TransactionReferenceNumber
String
The reference number of the linked transaction. TransactionType
String
The type of linked transaction. TransactionLinkType
String
The link type between the vendor credit and linked transaction. TimeModified
Datetime
When the vendor credit was last modified. TimeCreated
Datetime
When the vendor credit was created. 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 ClearTransaction
Marks the transaction checks with Cleared, NotCleared or Pending status. CreateReportSchema
Generates a report schema file. GetQBFileStatus
Gets the status of the quickbooks file. ListMerge
Merge two accounts, customers, or vendors. Requires QBXML version 7.0 or higher. SearchEntities
Search entities in QuickBooks. SendQBXML
Sends the provided QBXML directly to QuickBooks. SendQBXMLFile
Sends the provided QBXML file directly to QuickBooks. This is designed for use with mass inserts. VoidTransaction
Voids a given transaction in QuickBooks. ClearTransaction
Marks the transaction checks with Cleared, NotCleared or Pending status.
Input
Name Type Description TxnID
String
The ID of the Transaction. The TxnID should be of type balance sheet. TxnLineID
String
The ID of the Transaction Line Item ClearedStatus
String
The Cleared Status of the Transaction The allowed values are Cleared, NotCleared, Pending. Result Set Columns
Name Type Description \*
String
Output varies depending on the supplied QBXML request. CreateReportSchema
Generates a report schema file.
CreateReportSchema
CreateReportSchema
creates 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
CreateReportSchema
creates a new report usingTestReportTest1
as a base template. It appends new columns toTestReportTest1
and 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 ReportName
String
The name of the report. If this is not specified the ReportType will be used as the name. ReportDescription
String
A description for the report. If one is not specified, a description based on the ReportType will be selected. ReportType
String
The type of report to create a schema for. 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. IncludeRowtype
Boolean
A boolean determining if the rowtype column should be included in the output schema. The default value is FALSE. ReportPeriod
String
Report date range in the format fromdate:todate where either value may be omitted for an open-ended range (e.g., 2009-12-25:) or a macro. Supported date format: yyyy-MM-dd and Supported Macro 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 AccountType
String
The specific type of account to request 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. AccountList
String
A comma separated list of account names or IDs. Also specify a value for AccountListType if specifying a value for this input. For instance AccountName, AccountId2, AccountId3. AccountListType
String
Allows the user to query for specific list accounts. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. EntityType
String
The specific type of entity to request in the report. The allowed values are NONE, CUSTOMER, EMPLOYEE, OTHERNAME, VENDOR. EntityList
String
A comma separated list of entity names or IDs. Also specify a value for EntityListType if specifying a value for this input. EntityListType
String
Allows the user to query for specific list of entities. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. ItemType
String
The specific type of item to request in the report. The allowed values are NONE, ALLEXCEPTFIXEDASSET, ASSEMBLY, DISCOUNT, FIXEDASSET, INVENTORY, INVENTORYANDASSEMBLY, NONINVENTORY, OTHERCHARGE, PAYMENT, SALES, SALESTAX, SERVICE. ItemList
String
A comma separated list of item names or IDs. Also specify a value for ItemListType if specifying a value for this input. ItemListType
String
Allows the user to query for specific list of items. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. ClassList
String
A comma separated list of class names or IDs. Also specify a value for ClassListType if specifying a value for this input. ClassListType
String
Allows the user to query for specific list of classes. The allowed values are LISTID, FULLNAME, LISTIDWITHCHILDREN, FULLNAMEWITHCHILDREN. ModifiedDateRange
String
Date modified range in the format fromdate:todate where either value may be omitted for an open-ended range (e.g., 2009-12-25:) or a macro. Supported date format: yyyy-MM-dd. Support Macro 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.. DetailLevel
String
The level of detail to include in the report. The allowed values are ALL, ALLEXCEPTSUMMARY, SUMMARYONLY. SummarizeColumnsBy
String
Determines which data the report calculates and how the columns will be labeled across the top of the report. 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. IncludeSubColumns
String
A boolean indicating if subcolumns should be included. IncludeColumns
String
A comma separated list of columns to include. Supported values include ACCOUNT, AGING, AMOUNT, AMOUNTDIFFERENCE, AVERAGECOST, BILLEDDATE, BILLINGSTATUS, CALCULATEDAMOUNT, CLASS, CLEAREDSTATUS, COSTPRICE, CREDIT, CURRENCY, DATE, DEBIT, DELIVERYDATE, DUEDATE, ESTIMATEACTIVE, EXCHANGERATE, FOB, INCOMESUBJECTTOTAX, INVOICED, ITEM, ITEMDESC, LASTMODIFIEDBY, LATESTORPRIORSTATE, MEMO, MODIFIEDTIME, NAME, NAMEACCOUNTNUMBER, NAMEADDRESS, NAMECITY, NAMECONTACT, NAMEEMAIL, NAMEFAX, NAMEPHONE, NAMESTATE, NAMEZIP, OPENBALANCE, ORIGINALAMOUNT, PAIDAMOUNT, PAIDSTATUS, PAIDTHROUGHDATE, PAYMENTMETHOD, PAYROLLITEM, PONUMBER, PRINTSTATUS, PROGRESSAMOUNT, PROGRESSPERCENT, QUANTITY, QUANTITYAVAILABLE, QUANTITYONHAND, QUANTITYONSALESORDER, RECEIVEDQUANTITY, REFNUMBER, RUNNINGBALANCE, SALESREP, SALESTAXCODE, SHIPDATE, SHIPMETHOD, SOURCENAME, SPLITACCOUNT, SSNORTAXID, TAXLINE, TAXTABLEVERSION, TERMS, TXNID, TXNNUMBER, TXNTYPE, UNITPRICE, USEREDIT, VALUEONHAND, WAGEBASE, WAGEBASETIPS IncludeAccounts
String
Indicates whether this report should include all accounts or just those that are currently in use. The allowed values are ALL, INUSE. SummarizeRowsBy
String
Determines along with includecolumnlist, in most cases, what data is calculated for this report and controls how the rows are organized and labeled. For example, if you set the value to Account, the report's row labels might be Checking, Savings, and so on. 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. ReportCalendar
String
Specifies the type of year that will be used for this report. The allowed values are NONE, CALENDARYEAR, FISCALYEAR, TAXYEAR. ReturnRows
String
Specifies whether you want the report to include only rows with active information, only rows with nonzero values, or all rows regardless of their content or active status. The allowed values are NONE, ACTIVEONLY, NONZERO, All. ReturnColumns
String
Specifies whether you want the report to include only columns with active information, only columns with nonzero values, or all columns regardless of their content or active status. The allowed values are NONE, ACTIVEONLY, NONZERO, All. PostingStatus
String
Allows you to query for posting reports, nonposting reports, or reports that are either one. The allowed values are EITHER, NONPOSTING, POSTING. ReportAsOf
String
The report will return open balance information up to the reportopenbalanceasof date. The allowed values are REPORTENDDATE, TODAY. TransactionTypes
String
A comma separated list of the transaction types you want the report to cover. Values include ALL, ARREFUNDCREDITCARD, BILL, BILLPAYMENTCHECK, BILLPAYMENTCREDITCARD, BUILDASSEMBLY, CHARGE, CHECK, CREDITCARDCHARGE, CREDITCARDCREDIT, CREDITMEMO, DEPOSIT, ESTIMATE, INVENTORYADJUSTMENT, INVOICE, ITEMRECEIPT, JOURNALENTRY, LIABILITYADJUSTMENT, PAYCHECK, PAYROLLLIABILITYCHECK, PURCHASEORDER, RECEIVEPAYMENT, SALESORDER, SALESRECEIPT, SALESTAXPAYMENTCHECK, TRANSFER, VENDORCREDIT, YTDADJUSTMENT. ReportBasis
String
If reportbasis is Cash, the report bases income and expenses on the dates when money changed hands. If Accrual, the report bases income on the dates when customers were invoiced and bases expenses on the dates when bills were entered. If None, the report uses the default report basis, which is either the QuickBooks preference setting or the QuickBooks default for a given type of report. In a report response, the SDK returns None for reports that do not support a report basis. (The 1099 report, for example, has its own basis for generation.) The allowed values are ACCRUAL, CASH, NONE. FiscalYear
String
The fiscal year of the budget to be queried. For example, 2014. BudgetCriterion
String
Specifies what this budget covers. The allowed values are NONE, ACCOUNTS, ACCOUNTSANDCLASSES, ACCOUNTSANDCUSTOMERS. SummarizeBudgetColumnsBy
String
The data the report calculates and how the columns will be labeled across the top of the report. The allowed values are NONE, CLASS, CUSTOMER, DATE. SummarizeBudgetRowsBy
String
How rows are to be labeled in the report. For example, if you set the value to Account, the row labels of the report might be Checking, Savings, and so on. The allowed values are NONE, CLASS, CUSTOMER, ACCOUNT. Result Set Columns
Name Type Description Result
String
Success or Failure. SchemaFile
String
The generated schema file. Columns
String
The number of columns found. GetQBFileStatus
Gets the status of the quickbooks file.
Result Set Columns
Name Type Description Qbfilestatus
String
A number indicating the status of the qbfile. 0 indicates it can be connected to. 1 indicates it cannot be connected to. -1 indicates it could not be determined. ListMerge
Merge two accounts, customers, or vendors. Requires QBXML version 7.0 or higher.
Input
Name Type Description Type
String
The type of the object to be merged. The allowed values are Account, Customer, Vendor. MergeFromId
String
The ID of the object to be merged into another object. Either the name or ID must be specified for the From object. MergeFromName
String
The name of the object to be merged into another object. Either the name or ID must be specified for the From object. MergeToId
String
The ID of the object into which another object is merged. Either the name or ID must be specified for the To object. MergeToName
String
The name of the object into which another object is merged. Either the name or ID must be specified for the To object. OverwriteDuplicateShipToAddr
String
If set to true, shipping addresses with the same name will be overwritten with the addresses in the object you are merging to. Requires QBXML version 8.0 or higher. Result Set Columns
Name Type Description Success
String
Whether the two objects were successfully merged. ErrorMessage
String
The error message if there is a failure. SearchEntities
Search entities in QuickBooks.
Input
Name Type Description Entity
String
The entity to 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. Name
String
The name to search for. Use in conjunction with MatchType for more granular control over the entries returned. NameMatch
String
The type of match to use for this entity. The allowed values are EXACT, CONTAINS, STARTSWITH, ENDSWITH, RANGEEND, RANGESTART. The default value is EXACT. StartModifiedDate
String
Earliest modified date to search for. Limits the search to records modified on or after this date. When setting the value of a date property, the formats MM-DD-YY, MM-DD-YYYY, MM/DD/YY, and MM/DD/YYYY are acceptable. Dates in these formats will be automatically parsed and stored in YYYY-MM-DD format. EndModifiedDate
String
Latest modified date to search for. Limits the search to records modified on or before this date. When setting the value of a date property, the formats MM-DD-YY, MM-DD-YYYY, MM/DD/YY, and MM/DD/YYYY are acceptable. Dates in these formats will be automatically parsed and stored in YYYY-MM-DD format. MinBalance
String
The minimum balance that returned records should have. Limits the search to records with balances greater than or equal to MinBalance. MaxBalance
String
The maximum balance that returned records should have. Limits the search to records with balances less than or equal to MaxBalance. MaxResults
String
Maximum number of results to be returned from this search. OtherEntity
String
To search for other entities not included in the entity input; for example ItemService. When searching for other entities the entity input should be set to OtherList. Result Set Columns
Name Type Description XMLEntry
String
A entry in the result collection encoded in XML from QuickBooks. \*
String
Output varies based upon the type of entity queried. SendQBXML
Sends the provided QBXML directly to QuickBooks.
Input
Name Type Description RawXML
String
The QBXML to be sent to QuickBooks. OutputRawResponse
String
Determines whether or not to output the raw response or the parsed response. The default behavior is to return the parsed response. The default value is false. Result Set Columns
Name Type Description \*
String
Output varies depending on the supplied QBXML request. SendQBXMLFile
Sends the provided QBXML file directly to QuickBooks. This is designed for use with mass inserts.
Input
Name Type Description File
String
An URL to the file to submit to QuickBooks. ContinueOnError
String
Determines if QuickBooks will continue executing the request after an error has been reached. It can be used to stop the operation on an exception when mass inserting for instance. The default value is true. IncludeInfoMessages
String
Determines if info messages will be printed in the output. These typically do not contain any useful information other than indicating the specific request was successful. The default value is false. Result Set Columns
Name Type Description RequestId
String
The Requestid the message is associated with. Severity
String
The severity of the message. StatusCode
String
The status code of the output message. StatusMessage
String
The status message giving details abouts what happened. VoidTransaction
Voids a given transaction in QuickBooks.
Input
Name Type Description TransactionType
String
The type of transaction to void. The allowed values are ARRefundCreditCard, Bill, BillPaymentCheck, BillPaymentCreditCard, Charge, Check, CreditCardCharge, CreditCardCredit, CreditMemo, Deposit, InventoryAdjustment, Invoice, ItemReceipt, JournalEntry, SalesReceipt, VendorCredit. TxnID
String
The ID of the transaction to be voided. This should be the ID of an invoice, bill, check, or other such transaction. Result Set Columns
Name Type Description \*
String
Output varies depending on the supplied QBXML request. 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_catalogs
Columns
Name Type Description CatalogName
String
The database name. sys_schemas
Lists the available schemas.
The following query retrieves all available schemas:
SELECT * FROM sys_schemas
Columns
Name Type Description CatalogName
String
The database name. SchemaName
String
The schema name. sys_tables
Lists the available tables.
The following query retrieves the available tables and views:
SELECT * FROM sys_tables
Columns
Name Type Description CatalogName
String
The database containing the table or view. SchemaName
String
The schema containing the table or view. TableName
String
The name of the table or view. TableType
String
The table type (table or view). Description
String
A description of the table or view. IsUpdateable
Boolean
Whether the table can be updated. sys_tablecolumns
Describes the columns of the available tables and views.
The following query returns the columns and data types for the Customers table:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Customers'
Columns
Name Type Description CatalogName
String
The name of the database containing the table or view. SchemaName
String
The schema containing the table or view. TableName
String
The name of the table or view containing the column. ColumnName
String
The column name. DataTypeName
String
The data type name. DataType
Int32
An integer indicating the data type. This value is determined at run time based on the environment. Length
Int32
The storage size of the column. DisplaySize
Int32
The designated column's normal maximum width in characters. NumericPrecision
Int32
The maximum number of digits in numeric data. The column length in characters for character and date-time data. NumericScale
Int32
The column scale or number of digits to the right of the decimal point. IsNullable
Boolean
Whether the column can contain null. Description
String
A brief description of the column. Ordinal
Int32
The sequence number of the column. IsAutoIncrement
String
Whether the column value is assigned in fixed increments. IsGeneratedColumn
String
Whether the column is generated. IsHidden
Boolean
Whether the column is hidden. IsArray
Boolean
Whether the column is an array. IsReadOnly
Boolean
Whether the column is read-only. IsKey
Boolean
Indicates whether a field returned from sys_tablecolumns is the primary key of the table. sys_procedures
Lists the available stored procedures.
The following query retrieves the available stored procedures:
SELECT * FROM sys_procedures
Columns
Name Type Description CatalogName
String
The database containing the stored procedure. SchemaName
String
The schema containing the stored procedure. ProcedureName
String
The name of the stored procedure. Description
String
A description of the stored procedure. ProcedureType
String
The type of the procedure, such as PROCEDURE or FUNCTION. 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=2
Columns
Name Type Description CatalogName
String
The name of the database containing the stored procedure. SchemaName
String
The name of the schema containing the stored procedure. ProcedureName
String
The name of the stored procedure containing the parameter. ColumnName
String
The name of the stored procedure parameter. Direction
Int32
An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters. DataTypeName
String
The name of the data type. DataType
Int32
An integer indicating the data type. This value is determined at run time based on the environment. Length
Int32
The number of characters allowed for character data. The number of digits allowed for numeric data. NumericPrecision
Int32
The maximum precision for numeric data. The column length in characters for character and date-time data. NumericScale
Int32
The number of digits to the right of the decimal point in numeric data. IsNullable
Boolean
Whether the parameter can contain null. IsRequired
Boolean
Whether the parameter is required for execution of the procedure. IsArray
Boolean
Whether the parameter is an array. Description
String
The description of the parameter. Ordinal
Int32
The index of the parameter. sys_keycolumns
Describes the primary and foreign keys.
The following query retrieves the primary key for the Customers table:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Customers'
Columns
Name Type Description CatalogName
String
The name of the database containing the key. SchemaName
String
The name of the schema containing the key. TableName
String
The name of the table containing the key. ColumnName
String
The name of the key column. IsKey
Boolean
Whether the column is a primary key in the table referenced in the TableName field. IsForeignKey
Boolean
Whether the column is a foreign key referenced in the TableName field. PrimaryKeyName
String
The name of the primary key. ForeignKeyName
String
The name of the foreign key. ReferencedCatalogName
String
The database containing the primary key. ReferencedSchemaName
String
The schema containing the primary key. ReferencedTableName
String
The table containing the primary key. ReferencedColumnName
String
The column name of the primary key. sys_foreignkeys
Describes the foreign keys.
The following query retrieves all foreign keys which refer to other tables:
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columns
Name Type Description CatalogName
String
The name of the database containing the key. SchemaName
String
The name of the schema containing the key. TableName
String
The name of the table containing the key. ColumnName
String
The name of the key column. PrimaryKeyName
String
The name of the primary key. ForeignKeyName
String
The name of the foreign key. ReferencedCatalogName
String
The database containing the primary key. ReferencedSchemaName
String
The schema containing the primary key. ReferencedTableName
String
The table containing the primary key. ReferencedColumnName
String
The column name of the primary key. ForeignKeyType
String
Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key. sys_primarykeys
Describes the primary keys.
The following query retrieves the primary keys from all tables and views:
SELECT * FROM sys_primarykeys
Columns
Name Type Description CatalogName
String
The name of the database containing the key. SchemaName
String
The name of the schema containing the key. TableName
String
The name of the table containing the key. ColumnName
String
The name of the key column. KeySeq
String
The sequence number of the primary key. KeyName
String
The name of the primary key. sys_indexes
Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.
The following query retrieves all indexes that are not primary keys:
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columns
Name Type Description CatalogName
String
The name of the database containing the index. SchemaName
String
The name of the schema containing the index. TableName
String
The name of the table containing the index. IndexName
String
The index name. ColumnName
String
The name of the column associated with the index. IsUnique
Boolean
True if the index is unique. False otherwise. IsPrimary
Boolean
True if the index is a primary key. False otherwise. Type
Int16
An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3). SortOrder
String
The sort order: A for ascending or D for descending. OrdinalPosition
Int16
The sequence number of the column in the index. sys_connection_props
Returns information on the available connection properties and those set in the connection string.
When querying this table, the config connection string should be used:
jdbc:cdata:quickbooks:config:
This connection string enables you to query this table without a valid connection.
The following query retrieves all connection properties that have been set in the connection string or set through a default value:
SELECT * FROM sys_connection_props WHERE Value <> ''
Columns
Name Type Description Name
String
The name of the connection property. ShortDescription
String
A brief description. Type
String
The data type of the connection property. Default
String
The default value if one is not explicitly set. Values
String
A comma-separated list of possible values. A validation error is thrown if another value is specified. Value
String
The value you set or a preconfigured default. Required
Boolean
Whether the property is required to connect. Category
String
The category of the connection property. IsSessionProperty
String
Whether the property is a session property, used to save information about the current connection. Sensitivity
String
The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms. PropertyName
String
A camel-cased truncated form of the connection property name. Ordinal
Int32
The index of the parameter. CatOrdinal
Int32
The index of the parameter category. Hierarchy
String
Shows dependent properties associated that need to be set alongside this one. Visible
Boolean
Informs whether the property is visible in the connection UI. ETC
String
Various miscellaneous information about the property. 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_FUNCTIONS
Supported aggregation functions. AVG
,COUNT
,MAX
,MIN
,SUM
,DISTINCT
COUNT
Whether COUNT function is supported. YES
,NO
IDENTIFIER_QUOTE_OPEN_CHAR
The opening character used to escape an identifier. [
IDENTIFIER_QUOTE_CLOSE_CHAR
The closing character used to escape an identifier. ]
SUPPORTED_OPERATORS
A list of supported SQL operators. =
,>
,<
,>=
,<=
,<>
,!=
,LIKE
,NOT LIKE
,IN
,NOT IN
,IS NULL
,IS NOT NULL
,AND
,OR
GROUP_BY
Whether GROUP BY is supported, and, if so, the degree of support. NO
,NO_RELATION
,EQUALS_SELECT
,SQL_GB_COLLATE
STRING_FUNCTIONS
Supported string functions. LENGTH
,CHAR
,LOCATE
,REPLACE
,SUBSTRING
,RTRIM
,LTRIM
,RIGHT
,LEFT
,UCASE
,SPACE
,SOUNDEX
,LCASE
,CONCAT
,ASCII
,REPEAT
,OCTET
,BIT
,POSITION
,INSERT
,TRIM
,UPPER
,REGEXP
,LOWER
,DIFFERENCE
,CHARACTER
,SUBSTR
,STR
,REVERSE
,PLAN
,UUIDTOSTR
,TRANSLATE
,TRAILING
,TO
,STUFF
,STRTOUUID
,STRING
,SPLIT
,SORTKEY
,SIMILAR
,REPLICATE
,PATINDEX
,LPAD
,LEN
,LEADING
,KEY
,INSTR
,INSERTSTR
,HTML
,GRAPHICAL
,CONVERT
,COLLATION
,CHARINDEX
,BYTE
NUMERIC_FUNCTIONS
Supported numeric functions. ABS
,ACOS
,ASIN
,ATAN
,ATAN2
,CEILING
,COS
,COT
,EXP
,FLOOR
,LOG
,MOD
,SIGN
,SIN
,SQRT
,TAN
,PI
,RAND
,DEGREES
,LOG10
,POWER
,RADIANS
,ROUND
,TRUNCATE
TIMEDATE_FUNCTIONS
Supported date/time functions. NOW
,CURDATE
,DAYOFMONTH
,DAYOFWEEK
,DAYOFYEAR
,MONTH
,QUARTER
,WEEK
,YEAR
,CURTIME
,HOUR
,MINUTE
,SECOND
,TIMESTAMPADD
,TIMESTAMPDIFF
,DAYNAME
,MONTHNAME
,CURRENT_DATE
,CURRENT_TIME
,CURRENT_TIMESTAMP
,EXTRACT
REPLICATION_SKIP_TABLES
Indicates tables skipped during replication. REPLICATION_TIMECHECK_COLUMNS
A 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_PATTERN
String value indicating what string is valid for an identifier. SUPPORT_TRANSACTION
Indicates if the provider supports transactions such as commit and rollback. YES
,NO
DIALECT
Indicates the SQL dialect to use. KEY_PROPERTIES
Indicates the properties which identify the uniform database. SUPPORTS_MULTIPLE_SCHEMAS
Indicates if multiple schemas may exist for the provider. YES
,NO
SUPPORTS_MULTIPLE_CATALOGS
Indicates if multiple catalogs may exist for the provider. YES
,NO
DATASYNCVERSION
The Data Sync version needed to access this driver. Standard
,Starter
,Professional
,Enterprise
DATASYNCCATEGORY
The Data Sync category of this driver. Source
,Destination
,Cloud Destination
SUPPORTSENHANCEDSQL
Whether enhanced SQL functionality beyond what is offered by the API is supported. TRUE
,FALSE
SUPPORTS_BATCH_OPERATIONS
Whether batch operations are supported. YES
,NO
SQL_CAP
All supported SQL capabilities for this driver. SELECT
,INSERT
,DELETE
,UPDATE
,TRANSACTIONS
,ORDERBY
,OAUTH
,ASSIGNEDID
,LIMIT
,LIKE
,BULKINSERT
,COUNT
,BULKDELETE
,BULKUPDATE
,GROUPBY
,HAVING
,AGGS
,OFFSET
,REPLICATE
,COUNTDISTINCT
,JOINS
,DROP
,CREATE
,DISTINCT
,INNERJOINS
,SUBQUERIES
,ALTER
,MULTIPLESCHEMAS
,GROUPBYNORELATION
,OUTERJOINS
,UNIONALL
,UNION
,UPSERT
,GETDELETED
,CROSSJOINS
,GROUPBYCOLLATE
,MULTIPLECATS
,FULLOUTERJOIN
,MERGE
,JSONEXTRACT
,BULKUPSERT
,SUM
,SUBQUERIESFULL
,MIN
,MAX
,JOINSFULL
,XMLEXTRACT
,AVG
,MULTISTATEMENTS
,FOREIGNKEYS
,CASE
,LEFTJOINS
,COMMAJOINS
,WITH
,LITERALS
,RENAME
,NESTEDTABLES
,EXECUTE
,BATCH
,BASIC
,INDEX
PREFERRED_CACHE_OPTIONS
A string value specifies the preferred cacheOptions. ENABLE_EF_ADVANCED_QUERY
Indicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side. YES
,NO
PSEUDO_COLUMNS
A string array indicating the available pseudo columns. MERGE_ALWAYS
If the value is true, The Merge Mode is forcibly executed in Data Sync. TRUE
,FALSE
REPLICATION_MIN_DATE_QUERY
A select query to return the replicate start datetime. REPLICATION_MIN_FUNCTION
Allows a provider to specify the formula name to use for executing a server side min. REPLICATION_START_DATE
Allows a provider to specify a replicate startdate. REPLICATION_MAX_DATE_QUERY
A select query to return the replicate end datetime. REPLICATION_MAX_FUNCTION
Allows a provider to specify the formula name to use for executing a server side max. IGNORE_INTERVALS_ON_INITIAL_REPLICATE
A list of tables which will skip dividing the replicate into chunks on the initial replicate. CHECKCACHE_USE_PARENTID
Indicates whether the CheckCache statement should be done against the parent key column. TRUE
,FALSE
CREATE_SCHEMA_PROCEDURES
Indicates stored procedures that can be used for generating schema files. The following query retrieves the operators that can be used in the WHERE clause:
SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.
Columns
Name Type Description NAME
String
A component of SQL syntax, or a capability that can be processed on the server. VALUE
String
Detail on the supported SQL or SQL syntax. sys_identity
Returns information about attempted modifications.
The following query retrieves the Ids of the modified rows in a batch operation:
SELECT * FROM sys_identity
Columns
Name Type Description Id
String
The database-generated ID returned from a data modification operation. Batch
String
An identifier for the batch. 1 for a single operation. Operation
String
The result of the operation in the batch: INSERTED, UPDATED, or DELETED. Message
String
SUCCESS or an error message if the update in the batch failed. sys_information
Describes the available system information.
The following query retrieves all columns:
SELECT * FROM sys_information
Columns
Name Type Description Product
String
The name of the product. Version
String
The version number of the product. Datasource
String
The name of the datasource the product connects to. NodeId
String
The unique identifier of the machine where the product is installed. HelpURL
String
The URL to the product's help documentation. License
String
The license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.) Location
String
The file path location where the product's library is stored. Environment
String
The version of the environment or rumtine the product is currently running under. DataSyncVersion
String
The tier of Sync required to use this connector. DataSyncCategory
String
The 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 AMTTYPE
float BOOLTYPE
bool DATETIMETYPE
datetime DATETYPE
date FLOATTYPE
float IDTYPE
string INTTYPE
int PERCENTTYPE
float QUANTYPE
float STRTYPE
string TIMEINTERVALTYPE
datetime 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 CompanyFile
The name of the CompanyFile to open. ApplicationName
The name of the developer's application. Property Description User
A username for the QuickBooks Gateway connection. Password
A password for the QuickBooks Gateway connection. URL
The URL for the QuickBooks Gateway. For example, http://localhost:8166
.Property Description SSLServerCert
The certificate to be accepted from the server when connecting using TLS/SSL. Property Description Location
A path to the directory that contains the schema files defining tables, views, and stored procedures. BrowsableSchemas
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA, SchemaB, SchemaC. Tables
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA, TableB, TableC. Views
Restricts the views reported to a subset of the available tables. For example, Views=ViewA, ViewB, ViewC. Property Description CustomFieldMode
How custom fields should display. DelayAfterClose
A delay in milliseconds to be applied each time a connection to QuickBooks is closed. IncludeLineItems
Whether or not to request Line Item responses from QuickBooks when retrieving a base transaction, such as Invoices. IncludeLinkedTxns
Whether or not to request Linked Transactions from QuickBooks when retrieving a base transaction, such as Invoices. MaxRows
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. Other
These hidden properties are used only in specific use cases. Pagesize
The maximum number of results to return per page from QuickBooks. PseudoColumns
This property indicates whether or not to include pseudo columns as columns to the table. QBXMLVersion
The version of QBXML used in the outgoing message. This is only applicable to Desktop Edition. Timeout
The value in seconds until the timeout error is thrown, canceling the operation. UserDefinedViews
A filepath pointing to the JSON configuration file containing your custom views. UseRDS
Whether the provider will connect using Remote Data Sharing (RDS). Cannot be used together with the QuickBooks Gateway. Authentication
This section provides a complete list of authentication properties you can configure.
Property Description CompanyFile
The name of the CompanyFile to open. ApplicationName
The name of the developer's application. CompanyFile
The name of the CompanyFile to open.
Data Type
string
Default Value
""
Remarks
If QuickBooks is not currently open with a
CompanyFile
, QuickBooks will be automatically opened in the background with the file specified. Do not setCompanyFile
when QuickBooks is open. If QuickBooks is open through the application UI, only the currently openedCompanyFile
may be used. If you are connecting to a remote company file, theCompanyFile
parameter will be ignored. Specify the company file when you create a QuickBooks Gateway user.ApplicationName
The name of the developer's application.
Data Type
string
Default Value
QuickBooks Connector
Remarks
This name will appear when the application first connects to QuickBooks. QuickBooks will display this name and prompt the user to grant or refuse access to the application.
Remote
This section provides a complete list of the Remote properties you can configure.
Property Description User
A username for the QuickBooks Gateway connection. Password
A password for the QuickBooks Gateway connection. URL
The URL for the QuickBooks Gateway. For example, http://localhost:8166
.User
A username for the QuickBooks Gateway connection.
Data Type
string
Default Value
""
Remarks
The QuickBooks Gateway must require user authentication before this property is used.
Password
A password for the QuickBooks Gateway connection.
Data Type
string
Default Value
""
Remarks
The QuickBooks Gateway must require user authentication before this property is used.
URL
The URL for the QuickBooks Gateway. For example,
http://localhost:8166
.Data Type
string
Default Value
""
Remarks
The URL where the QuickBooks Gateway is running. For example,
http://localhost:8166
. The QuickBooks Gateway is a lightweight HTTP server that proxies requests from the connector to QuickBooks. The address is the name or IP address of the machine where QuickBooks is running. By default, the QuickBooks Gateway runs on port 8166.SSL
This section provides a complete list of SSL properties you can configure.
Property Description SSLServerCert
The certificate to be accepted from the server when connecting using TLS/SSL. SSLServerCert
The certificate to be accepted from the server when connecting using TLS/SSL.
Data Type
string
Default 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.cer
Schema
This section provides a complete list of schema properties you can configure.
Property Description Location
A path to the directory that contains the schema files defining tables, views, and stored procedures. BrowsableSchemas
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA, SchemaB, SchemaC. Tables
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA, TableB, TableC. Views
Restricts the views reported to a subset of the available tables. For example, Views=ViewA, ViewB, ViewC. Location
A path to the directory that contains the schema files defining tables, views, and stored procedures.
Data Type
string
Default Value
%APPDATA%\QuickBooks Data Provider\Schema
Remarks
The path to a directory which contains the schema files for the connector (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The
Location
property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.If left unspecified, the default location is "%APPDATA%\QuickBooks Data Provider\Schema" with
%APPDATA%
being set to the user's configuration directory:Platform %APPDATA% Windows
The value of the APPDATA environment variable Mac
~/Library/Application Support Linux
~/.config BrowsableSchemas
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Data Type
string
Default Value
""
Remarks
Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.
Tables
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Data Type
string
Default Value
""
Remarks
Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the connector.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
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 that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Views
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Data Type
string
Default Value
""
Remarks
Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the connector.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
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 that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Miscellaneous
This section provides a complete list of miscellaneous properties you can configure.
Property Description CustomFieldMode
How custom fields should display. DelayAfterClose
A delay in milliseconds to be applied each time a connection to QuickBooks is closed. IncludeLineItems
Whether or not to request Line Item responses from QuickBooks when retrieving a base transaction, such as Invoices. IncludeLinkedTxns
Whether or not to request Linked Transactions from QuickBooks when retrieving a base transaction, such as Invoices. MaxRows
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. Other
These hidden properties are used only in specific use cases. Pagesize
The maximum number of results to return per page from QuickBooks. PseudoColumns
This property indicates whether or not to include pseudo columns as columns to the table. QBXMLVersion
The version of QBXML used in the outgoing message. This is only applicable to Desktop Edition. Timeout
The value in seconds until the timeout error is thrown, canceling the operation. UserDefinedViews
A filepath pointing to the JSON configuration file containing your custom views. UseRDS
Whether the provider will connect using Remote Data Sharing (RDS). Cannot be used together with the QuickBooks Gateway. CustomFieldMode
How custom fields should display.
Possible Values
XML
,JSON
Data Type
string
Default Value
XML
Remarks
XML is the traditional way of displaying custom fields and will be compatible with older implementations. However, JSON is more compact and may be more appropriate if the values are being saved to a database or other tool that cannot easily traverse the XML structure.
DelayAfterClose
A delay in milliseconds to be applied each time a connection to QuickBooks is closed.
Data Type
string
Default Value
""
Remarks
If QuickBooks is generating internal errors (in particular with automatic login), setting this delay to a positive value may solve the problem.
IncludeLineItems
Whether or not to request Line Item responses from QuickBooks when retrieving a base transaction, such as Invoices.
Data Type
bool
Default Value
false
Remarks
Whether or not to request Line Item responses from QuickBooks when retrieving a base transaction, such as Invoices. This will not affect Line Item tables, only base transaction tables. Setting this value to false will typically result in better performance.
IncludeLinkedTxns
Whether or not to request Linked Transactions from QuickBooks when retrieving a base transaction, such as Invoices.
Data Type
bool
Default Value
false
Remarks
Whether or not to request Linked Transactions from QuickBooks when retrieving a base transaction, such as Invoices. This will not affect Linked Transaction tables, only base transaction tables. Setting this value to false will typically result in better performance.
MaxRows
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
Data Type
int
Default Value
-1
Remarks
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
Other
These hidden properties are used only in specific use cases.
Data Type
string
Default Value
""
Remarks
The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.
Specify multiple properties in a semicolon-separated list.
Integration and Formatting
Property Description DefaultColumnSize
Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. ConvertDateTimeToGMT
Determines whether to convert date-time values to GMT, instead of the local time of the machine. RecordToFile=filename
Records the underlying socket data transfer to the specified file. Pagesize
The maximum number of results to return per page from QuickBooks.
Data Type
int
Default Value
500
Remarks
The
Pagesize
property affects the maximum number of results to return per page from QuickBooks. Setting a higher value may result in better performance at the cost of additional memory allocated per page consumed.PseudoColumns
This property indicates whether or not to include pseudo columns as columns to the table.
Data Type
string
Default Value
""
Remarks
This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".
QBXMLVersion
The version of QBXML used in the outgoing message. This is only applicable to 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
,CA2.0
,CA3.0
,UK2.0
,UK3.0
,OZ2.0
,AU3.0
Data Type
string
Default Value
QBDEFAULT
Remarks
Except as noted in the documentation, a value of "1.1" will suffice for all requests and for all versions of QuickBooks that support integrated applications.
With each release of QuickBooks since 2002, a corresponding version of the QuickBooks SDK has also been released: 1.0 for QuickBooks 2002, 2.0 for QuickBooks 2003, 3.0 for QuickBooks 2004, etc., up to 8.0 for QuickBooks 2009. In addition, each release of QuickBooks continues to support all earlier versions of the SDK, meaning that requests using version 1.1 of the QuickBooks SDK are supported by all versions of QuickBooks. However, new requests and newer fields in existing requests are supported in only later versions of the QuickBooks SDK. As such, it is recommended that you set the
QBXMLVersion
property to correspond to the version of QuickBooks you are interacting with. These values are: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 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
The value in seconds until the timeout error is thrown, canceling the operation.
Data Type
int
Default Value
300
Remarks
If
Timeout
= 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.If
Timeout
expires and the operation is not yet complete, the connector throws an exception.UserDefinedViews
A filepath pointing to the JSON configuration file containing your custom views.
Data Type
string
Default Value
""
Remarks
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 as follows:
- Each root element defines the name of a view.
- Each root element contains 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
Note that the specified path is not embedded in quotation marks.
UseRDS
Whether the provider will connect using Remote Data Sharing (RDS). Cannot be used together with the QuickBooks Gateway.
Data Type
bool
Default Value
false
Remarks
Whether the connector will connect using Remote Data Sharing (RDS). If set to True, the connector will attempt to connect using the RDS client installed on the machine. The RDS client and server must be configured separately. Cannot be used together with the QuickBooks Gateway.
Volver al principio