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:
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:
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. 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. 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")
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. 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 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
: Enables or disables TLS (1.x) communication.Select Certificate
: Loads an existing certificate.Generate Certificate
: Creates a new certificate.- Create a JSON-formatted configuration file defining the views you want.
- DDL statements.
- 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. - 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.
- 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.
- 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.
- sys_identity: Returns information about batch operations or single updates.
- 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.
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:
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
IP Options
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 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:
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:
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:
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 the UserViewsSchemaName
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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:
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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. If SupportEnhancedSQL
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 using TestReportTest1
as a base template. It appends new columns to TestReportTest1
and creates a new report, named TestReport2
. 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:
Data Source Tables
The following tables return information about how to connect to and query the data source:
Query Information Tables
The following table returns query statistics for data modification queries, including batch operations:
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 |
---|---|
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 set CompanyFile
when QuickBooks is open. If QuickBooks is open through the application UI, only the currently opened CompanyFile
may be used. If you are connecting to a remote company file, the CompanyFile
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.
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:
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.