QuickBooks POS Connector for CData Sync

Build 22.0.8479
  • QuickBooks POS
    • 接続の確立
      • Connecting to a Local Company File
      • Using the CData QuickBooks Desktop Gateway
    • CData QuickBooks Desktop Gateway
      • ユーザー
      • ステータス
      • Advanced
        • Command-Line Interface
        • Registry Keys
    • 高度な機能
      • SSL の設定
      • ファイアウォールとプロキシ
    • データモデル
      • テーブル
        • Customers
        • CustomerShipAddresses
        • Departments
        • Employees
        • InventoryCostAdjustmentItems
        • InventoryCostAdjustments
        • InventoryQtyAdjustmentItems
        • InventoryQtyAdjustments
        • ItemPictures
        • Items
        • PriceAdjustmentItems
        • PriceAdjustments
        • PriceDiscountItems
        • PriceDiscounts
        • PurchaseOrderItems
        • PurchaseOrders
        • SalesOrderItems
        • SalesOrders
        • SalesReceiptItems
        • SalesReceipts
        • TimeEntries
        • Vendors
        • VoucherItems
        • Vouchers
      • ビュー
        • CompanyInfo
        • CustomColumns
        • CustomerRewards
      • カスタムフィールド
    • 接続文字列オプション
      • Connection
        • CompanyFile
        • QBPOSVersion
        • QBPOSPractice
        • ApplicationName
        • QBPOSXMLVersion
      • RemoteConnector
        • URL
        • User
        • Password
      • SSL
        • SSLServerCert
      • Firewall
        • FirewallType
        • FirewallServer
        • FirewallPort
        • FirewallUser
        • FirewallPassword
      • Proxy
        • ProxyAutoDetect
        • ProxyServer
        • ProxyPort
        • ProxyAuthScheme
        • ProxyUser
        • ProxyPassword
        • ProxySSLType
        • ProxyExceptions
      • Logging
        • LogModules
      • Schema
        • Location
        • BrowsableSchemas
        • Tables
        • Views
      • Miscellaneous
        • DelayAfterClose
        • MaxRows
        • Other
        • Pagesize
        • PseudoColumns
        • Timeout
        • UserDefinedViews

QuickBooks POS Connector for CData Sync

概要

CData Sync App は、QuickBooks POS データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。

QuickBooks コネクタはCData Sync アプリケーションから使用可能で、QuickBooks からデータを取得して、サポートされている任意の同期先に移動できます。

QuickBooks POS Connector for CData Sync

接続の確立

Sync App アプリケーションの接続 ページに移動し、接続の追加 パネルで対応するアイコンを選択して、QuickBooks への接続を作成します。QuickBooks アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからQuickBooks コネクタをダウンロードおよびインストールします。

必須プロパティは[設定]タブにリストされています。[Advanced]タブには、通常は必要ない接続プロパティが表示されます。

QuickBooks への接続

Sync App はQuickBooks Gateway 経由でQuickBooks にリクエストを作成します。QuickBooks Gateway はQuickBooks と同じマシン上で動作し、軽量の組み込みWeb サーバーを介して接続を受け入れます。サーバーはSSL/TLS をサポートし、ユーザーにリモートマシンからのセキュアな接続を可能にします。 初めて接続するときは、Sync App をQuickBooks で認証する必要があります。詳しくは、Using the QuickBooks Gateway ガイドを参照してください。

QuickBooks POS Connector for CData Sync

Connecting to a Local Company File

Follow the steps below to authorize with QuickBooks and connect to a company file when both QuickBooks and the Sync App are running on your local machine.

  1. Open QuickBooks as an administrator and open the company file you want to connect to.
  2. Connect to QuickBooks. A dialog will appear in QuickBooks prompting you to authorize the Sync App. After granting access to the Sync App, you can now execute commands to QuickBooks.
  3. 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.

QuickBooks POS Connector for CData Sync

Using the CData QuickBooks Desktop Gateway

The CData 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:

  1. If you have not already done so, download the CData QuickBooks Desktop Gateway from here and install it.
  2. Open the company file you want to connect to in QuickBooks using an administrator account in single-user mode.
  3. Open the CData 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 CData 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.

  4. When you first connect, a dialog appears in QuickBooks prompting you to authorize the application. After authorizing, you can execute commands to QuickBooks. Specify the URL of the Desktop Gateway and the User and Password. By default, the Gateway connects to the currently open company file.
  5. 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: 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 Sync App. You can do so by setting the SSLServerCert property.

QuickBooks POS Connector for CData Sync

CData QuickBooks Desktop Gateway

The CData 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 ユーザー 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 ステータス tab.

It is recommended to configure the Desktop Gateway in the UI, but you can also run the Desktop Gateway from the command line. This can simplify deploying the Desktop Gateway in scenarios where normally there is not a user logged in, such as running a Web server. 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.

QuickBooks POS Connector for CData Sync

ユーザー

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).
  • 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.
  • Authentication: Specifies the type of authentication to perform when the user connects. The QuickBooks Gateway supports the following authentication methods:

    Basic Authentication (default): Authenticates the user with a username and password.
    Windows Authentication: Authenticates the user as a Windows user. In this case the Password field is not applicable. When the QuickBooks Gateway receives a connection request, it will authenticate the user to Windows using the credentials supplied in the request.

  • 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. QuickBooks data cannot be modified.

The Test Connection button provides a quick way to verify the application can connect with QuickBooks.

When a user is added the QuickBooks Gateway will prompt you to authorize the application with QuickBooks if necessary.

QuickBooks POS Connector for CData Sync

ステータス

The Status tab provides a log of the activity happening with the QuickBooks 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 QuickBooks Gateway to write logs to a file and select the log rotation interval.

QuickBooks POS Connector for CData Sync

Advanced

The Advanced tab allows granular control over the QuickBooks Gateway's server. The QuickBooks 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 to be opened. The QuickBooks 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.

Logging Options

  • Write Logs to a Folder: Enables or disables writing log files to the specified folder in addition to writing logs to the Status tab.
  • Folder: Specifies the folder where log files are written.
  • Log Rotation: Determines how logs are organized on disk. Creates one file for each day, week, or month, depending on the following values:

    Daily (default): Uses a new log file every day. Files are written with the format "yyyy_MM_dd.txt". For example, "2013_09_23.txt".
    Weekly: Uses a new log file every week. Files are written with the format "yyyy_ww.txt". For example, "2013_34.txt", where 34 means this is the 34th week of 2013.
    Monthly: Uses a new log file every month. Files are written with the format "yyyy_mm.txt". For example, "2013_09.txt".

  • Log Mode: Sets the verbosity of the log output. In most situations, Info (the default) is sufficient. The Verbose option is helpful for debugging purposes.

IP Options

  • Port: The port on which the server listens.
  • Allowed Clients: A comma-separated list of host names or IP addresses that can access the server. The wildcard character '*' is supported. If unspecified (default) any client can connect.

Enabling 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 QuickBooks Gateway queues requests for data and performs the necessary authentication for each request. The following options can be used to override this behavior and keep the connection to the company file alive after the query finishes executing, so further requests will respond more quickly.

Warning: If a user attempts to manually open QuickBooks while a persistent connection is opened, QuickBooks will return an error stating that the company file is already in use.

  • Enable Persistent Connection: This is disabled by default: Normally your code controls when the connection to QuickBooks is opened and closed by calling the Open and Close methods; however, when this setting is enabled, the QuickBooks 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 QuickBooks 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 QuickBooks Gateway closes the connection.

Enabling TLS/SSL

Enable TLS (1.x) to encrypt communication between your application and the QuickBooks Gateway. TLS/SSL uses digital certificates to protect the confidentiality, integrity, and authenticity of your data: You can generate these certificates on the Advanced tab. Once you have enabled TLS, you will need to send your public key certificate to any connecting applications.

The following options are used to configure TLS/SSL:

  • Enable TLS: Enables or disables TLS (1.x) communication.
  • Select Certificate: Loads an existing certificate.
  • Generate Certificate: Creates a new certificate.
Loading a certificate displays information about the certificate; the properties of the certificate cannot be set directly. Note: Enabling TLS disables plaintext connections.

QuickBooks POS Connector for CData Sync

Command-Line Interface

In addition to the UI, the QuickBooks Gateway has a command-line interface that makes it easy to deploy on machines where a user is not always logged in, for example, a Web server. To facilitate deployment to these environments, the QuickBooks Gateway contains two executables:

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 QuickBooks Gateway Windows service from the command line is as follows:

RemoteConnectorService.exe /Service <Command>

The following commands are available:

InstallInstalls the Windows service.
DeleteDeletes the Windows service.
StartStarts the Windows service.
StopStops the Windows service.
StateReports the current state of the Windows service (started or stopped).
AutoChanges the Windows service startup type to Automatic.
ManualChanges the Windows service startup type to Manual.
DisabledChanges the Windows service startup type to Disabled.

次に示すように、MySQL デーモンをコマンドラインから開始できます。

java -jar cdata.jdbc.quickbooks.jar [ options ]
次のコマンドラインオプションを利用できます。

オプション説明
-h, --help使用できるオプションのヘルプを表示して終了します。
-f, --config-fileデーモンのコンフィギュレーションファイル。
-u, --user接続を許可されているユーザー。コンフィギュレーションファイルを使用して複数のユーザーを設定します。コマンドラインでユーザーが指定されている場合は、そのユーザーだけがアクセスを許可されます。
-p, --passwordユーザーオプションで指定されたユーザーのパスワード。ユーザーとパスワードの両方がコマンドラインで設定されている場合は、コンフィグファイルのユーザーセクションは無視されます。
-d, --databaseクライアントが接続に使用するデータベース。コンフィグファイルで複数のデータベースが指定されている場合は、コマンドラインで指定されているデータベースにのみ接続が許可されます。
-c, --connection対象となるデータソースに接続するために使用される接続文字列。コマンドラインで接続文字列が指定されない場合は、コンフィグファイルの接続文字列が読み込まれます。
-P, --portTCP/IP接続の監視に使用するポート番号。デフォルトポート番号は3306です。
-m, --max-connections許可されるTCP/IP接続の最大数。デフォルト値は25接続です。
--session-timeoutセッションタイムアウト時間(秒単位)。デフォルトのタイムアウトは20秒です。
-t, --protocolリモーティングに使用するプロトコル。デフォルト値はMYSQL です。
-g, --logfileログファイルの完全パス。
-F, --logrotationschemeログを切り捨てる間隔。オプションは、1(毎日。[MyFileName]_2016_3_21.txt 形式)、2(毎週。[MyFileName]_Week_5.txt 形式、5は一年の第5週目)、および3(毎月。[MyFileName]_2016_3_21.txt 形式)。
-v, --verbosityログのメッセージレベル。1 は情報提供レベル。レベルは5段階あり、以下の詳細が追加されます。(2) HTTP ヘッダー、(3) HTTP ボディ、(4) SSL を含むトランスポートレベルのコミュニケーション、(5) インターフェースコマンドおよびその他のデータソースコミュニケーション。
--test接続をテストするデータベース。このプロパティが指定されない場合は、デフォルトのデータベースが使用されます。
--ssl-certSSL 証明書へのパス。
--ssl-subjectSSL 証明書のサブジェクト。
--ssl-passwordSSL 証明書のパスワード。
-n, --nodeidこのシステムのNodeId を表示します。
-l, --licenseこのシステム上にライセンスをインストールします。このオプションは、ライセンスタイプおよびその他の詳細情報についてプロンプトします。

コマンドラインで指定されたオプションは、コンフィグファイルで指定されるオプションよりも優先されます。コマンドラインオプションを渡して、コンフィグファイル で使用できるオプションを制限するサブセットを指定できます。

QuickBooks POS Connector for CData Sync

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

NameTypeDescription
LocalAuthStringA 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.
AllowedClientsStringA 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.
AuthFlagsDWORDSpecifies 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).
  • "" or 0 (Do not send any auth flags)
  • 0x01 (Simple Start)
  • 0x02 (Pro)
  • 0x04 (Premier)
  • 0x08 (Enterprise)
CloseAndRetryConnectDWORDSpecifies 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).
CloseAndRetryTimeoutDWORDSets 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.
CloseAndRetryCountDWORDSets 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.
CloseAndRetryErrorListStringSpecifies 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.
QBInstanceFileString

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.

LocalHostStringSets 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".
LogEnabledDWORDEnables or disables logging to a file. Logs are always written to the console. The default is 0 (False).
LogDirStringSets the path to a folder on disk where log files will be written. This is only applicable if LogEnabled is set to True.
LogFormatDWORDSets how often new log files are created. Possible values are the following:
  • 0 (Daily - default)
  • 1 (Weekly)
  • 2 (Monthly)
LogLevelDWORDSets the logging level. Possible values are the following:
  • 0 (Off)
  • 1 (Error)
  • 2 (Warning
  • 3 (Info - default)
  • 4 (Verbose)
LogPortDWORDSets 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.
PortDWORDSets the port where the server listens for incoming connections. The default value is 8166.
PersistentEnabled DWORDEnables 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 QuickBooks Gateway even when Open and Close are not used. This is helpful in situations when multiple applications may be simultaneously accessing the QuickBooks Gateway, because it allows them to share the connection.
PersistentIdleTimeoutDWORDSets 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.
PromptForRegPermissionsDWORDSpecifies whether to prompt to modify registry permissions when access is not allowed. This is only applicable when saving settings from the UI.
RunAsServiceDWORDRun the application as a service or with the standard run-time permissions. The default value is 1 (True).
SSLCertPasswordStringSets the password of the SSL certificate.
SSLCertStoreStringSets 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".
SSLCertSubjectStringSets the subject of the SSL certificate.
SSLCertTypeStringSets 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.
SSLEnabledDWORDSets whether TLS/SSL connections are allowed. The default value is 0 (False). Enabling TLS/SSL disables plaintext connections.
TimeoutDWORDSets the operational timeout for connected clients. The default value is 60.
UseInteractiveLogonDWORDSets 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

AppNameStringSets 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 QuickBooks Gateway uses the value provided by the client.
CompanyFileStringSets 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.
PasswordStringSets the password of the user. This is required when AuthMode is set to 0 (Basic Authentication). The QuickBooks 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.
AuthModeDWORDSets 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:
  • 0 (Basic Authentication - default)
  • 1 (Windows Authentication)
AuthorizedDWORDSpecifies 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.
ConnectionModeStringSets 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:
  • DontCare (default)
  • Single
  • Multi
ReadOnlyDWORDSpecifies whether the user has read-only (1) or full access (0).

QuickBooks POS Connector for CData Sync

高度な機能

このセクションでは、QuickBooks Sync App の高度な機能を厳選して説明します。

ユーザー定義ビュー

Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。

SSL の設定

SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。

ファイアウォールとプロキシ

Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。

クエリ処理

Sync App は、QuickBooks にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。

詳しくはクエリ処理 を参照してください。

ログ

CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。

QuickBooks POS Connector for CData Sync

SSL の設定

SSL 設定のカスタマイズ

デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。

別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。

QuickBooks POS Connector for CData Sync

ファイアウォールとプロキシ

Firewall またはProxy 経由の接続

HTTP プロキシ

Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。

さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。

その他のプロキシ

次のプロパティを設定します。

  • プロキシベースのファイヤーウォールを使用するには、FirewallType、FirewallServer、およびFirewallPort を設定します。
  • 接続をトンネルするには、FirewallType をTUNNEL に設定します。
  • 認証するには、FirewallUser とFirewallPassword を設定します。
  • SOCKS プロキシへの認証には、さらにFirewallType をSOCKS5 に設定します。

QuickBooks POS Connector for CData Sync

データモデル

データモデルは2つのパートに分かれています。テーブルおよびビューです。

テーブル

テーブル は、データソースからのデータへのアクセスを許可します。CData Sync App は、データソースのデータをテーブルにモデル化し、クエリおよび更新を容易にします。

ビュー

ビュー は変更ができないテーブルです。一般的に、読み取り専用のデータはビューとして表示されます。

QuickBooks POS Connector for CData Sync

テーブル

Sync App はQuickBooks のデータを、標準のSQL ステートメントを使用してクエリできるテーブルのリストにモデル化します。

一般的には、QuickBooks テーブルのクエリは、リレーショナルデータベースのテーブルのクエリと同じです。時には特別なケースもあります。例えば、テーブルの特定のカラムデータを取得するために特定のカラムをWHERE 句に含める必要がある場合などです。これは通常、特定のカラムを取得するために行ごとに個別のリクエストを行う必要がある場合に必要です。これらの特別な状況は、以下にリンクされているテーブルページの上部に明確に文書化されています。

QuickBooks POS Connector for CData Sync テーブル

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.

QuickBooks POS Connector for CData Sync

Customers

Create, update, delete, and query QuickBooks POS customers.

Table Specific Information

The Customers table allows you to select, insert, update, and delete Customers within QuickBooks POS.

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM Customers WHERE FirstName LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014' AND AccountBalance > 100.00

Insert

To create a new Customer record, the LastName field is required.

Shipping addresses are specified via an XML aggregate within the ShipAddressesAggregate column. The columns that may be used in these aggregates are defined in the CustomerShipAddresses table as # columns. Note that ShipAddressAddressName is required when adding a shipping address.

The following example demonstrates how to insert a new Customer with two shipping addresses:

INSERT INTO Customers (FirstName, LastName, ShipAddressesAggregate) 
VALUES ('Kristy', 'Abercrombie', '<CustomerShipAddresses>
<Row><ShipAddressAddressName>Home</ShipAddressAddressName><ShipAddressStreet>123 Main Street</ShipAddressStreet><ShipAddressCity>Chapel Hill</ShipAddressCity><ShipAddressState>NC</ShipAddressState><ShipAddressPostalCode>12345</ShipAddressPostalCode></Row>
<Row><ShipAddressAddressName>Office</ShipAddressAddressName><ShipAddressStreet>456 Downtown Drive</ShipAddressStreet><ShipAddressCity>Raleigh</ShipAddressCity><ShipAddressState>NC</ShipAddressState><ShipAddressPostalCode>98765</ShipAddressPostalCode></Row>
</CustomerShipAddresses>')

Update

Any field that is not read-only can be updated.

When updating a Customer record, shipping addresses can be added or modified via the ShipAddressesAggregate column (just as in an insert). In such cases, the ShipAddressAddressName column is required to identify the shipping address being added or updated.

In the case of updating a shipping address, pre-existing values will remain unchanged unless explicitly specified within the ShipAddressesAggregate. Therefore, to remove a value, the column value in the aggregate must be set to "" (empty string).

UPDATE Customers SET ShipAddressesAggregate='<CustomerShipAddresses>
<Row><ShipAddressAddressName>Office</ShipAddressAddressName><ShipAddressCompany>MyCompany</ShipAddressCompany></Row>
</CustomerShipAddresses>' 
WHERE ListId='-1234567890123456789'

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

CustomerID String False Range

The user-specified Id for the customer.

FullName String True

The full name of the customer.

Salutation String False Range

A salutation, such as Mr., Mrs., etc.

FirstName String False Range

The first name of the customer as stated in the address info.

LastName String False Range

The last name of the customer as stated in the address info.

CompanyName String False Range

The name of the company of the customer.

Phone String False Range

The primary telephone number for the customer.

Phone2 String False Range

An alternate telephone or fax number for the customer.

Phone3 String False Range

An alternate telephone or fax number for the customer.

Email String False Range

The email address of the customer.

IsOkToEMail Boolean False Single

Whether or not the customer can be notified via email.

CustomerType String False Range

A customer type within QuickBooks POS.

Notes String False Range

Notes on this customer.

BillAddress_Street String False

Street address of the billing address of the customer.

BillAddress_Street2 String False

The second line of the street address in the billing address of the customer.

BillAddress_City String False

City name for the billing address of the customer.

BillAddress_State String False

State name for the billing address of the customer.

BillAddress_PostalCode String False

Postal code for the billing address of the customer.

BillAddress_Country String False

Country for the billing address of the customer.

IsNoShipToBilling Boolean False Single

Whether or not the billing address can be used as a shipping address.

DefaultShipAddress String False

The default shipping address of the customer.

ShipAddressesAggregate String False

An aggregate of the shipping address data, which can be used for adding a customer and their shipping address locations.

IsAcceptingChecks Boolean False Single

Indicates whether checks are being accepted from this customer. The default is True.

IsUsingChargeAccount Boolean False Single

Indicates whether the customer is using a charge account.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

TaxCategory String False Range

The sales tax category.

CustomerDiscPercent Double False Range

The suggested customer discount percentage for all items listed on a sales receipt. Note that you cannot assign both a discount percentage and a price level to a customer.

CustomerDiscType String False Single

The customer discount type. Possible values are None, PriceLevel, and Percentage.

PriceLevelNumber String False Single

The suggested price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

LastSale Datetime True Range

The time of the last purchase made by this customer.

AmountPastDue Decimal True Range

The amount past due for a transaction.

IsUsingWithQB Boolean False Single

Whether or not the customer is using QuickBooks POS with QuickBooks.

AccountBalance Decimal True Range

The balance of the account owned by this customer, including subcustomers. Available only when QuickBooks POS is being used with QuickBooks and only if UseWithQB is True.

AccountLimit Decimal True Range

The limit of the account owned by this customer, including subcustomers. Available only when QuickBooks POS is being used with QuickBooks and only if UseWithQB is True.

IsRewardsMember Boolean False Single

Indicates whether the customer is a rewards member.

RewardAggregate String True

An aggregate of the reward data for the customer.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the customer was created.

TimeModified Datetime True Range

When the customer was last modified.

QuickBooks POS Connector for CData Sync

CustomerShipAddresses

Create, update, delete, and query QuickBooks POS Customer Shipping Addresses.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM CustomerShipAddresses WHERE FirstName LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to create a new Customer record or to add a shipping address to an existing Customer record. To create a new Customer record, the LastName field is required. To add a shipping address to an existing record, the ListId column of the Customer record that the address is to be added to and the ShipAddressAddressName are required.

Create a new customer:

INSERT INTO CustomerShipAddresses (FirstName, LastName, ShipAddressAddressName, ShipAddressStreet, ShipAddressCity, ShipAddressState, ShipAddressPostalCode) 
VALUES ('Kristy', 'Abercrombie', 'Home', '123 Main Street', 'Chapel Hill', 'NC', '12345')

Add a shipping address to an existing customer:

INSERT INTO CustomerShipAddresses (ListId, ShipAddressAddressName, ShipAddressStreet, ShipAddressCity, ShipAddressState, ShipAddressPostalCode) 
VALUES ('-1234567890123456789','Office', '456 Downtown Drive', 'Raleigh', 'NC', '98765')

Update

Any field that is not read-only can be updated.

To perform an update, ListId and ShipAddressAddressName are required fields.

UPDATE CustomerShipAddresses SET ShipAddressCompanyName='MyCompany' WHERE ListId='-1234567890123456789' AND ShipAddressAddressName='Office'

Delete

Delete is used to remove a shipping address from the specified Customer record (it will not delete the Customer record itself). To perform a delete, ListId and ShipAddressAddressName are required fields.

DELETE FROM CustomerShipAddresses WHERE ListId='-1234567890123456789' AND ShipAddressAddressName='Home'

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

CustomerID String False Range

The user-specified Id for the customer.

FullName String True

The full name of the customer.

Salutation String False Range

A salutation, such as Mr., Mrs., etc.

FirstName String False Range

The first name of the customer as stated in the address info.

LastName String False Range

The last name of the customer as stated in the address info.

CompanyName String False Range

The name of the company of the customer.

Phone String False Range

The primary telephone number for the customer.

Phone2 String False Range

An alternate telephone or fax number for the customer.

Phone3 String False Range

An alternate telephone or fax number for the customer.

Email String False Range

The email address for communicating with the customer.

IsOkToEMail Boolean False Single

Whether or not the customer can be notified via email.

CustomerType String False Range

A customer type within QuickBooks POS.

Notes String False Range

Notes on this customer.

DefaultShipAddress String False

The default shipping address of the customer.

BillAddress_Street String False

Street address of the billing address of the customer.

BillAddress_Street2 String False

The second line of the street address of the billing address of the customer.

BillAddress_City String False

City name for the billing address of the customer.

BillAddress_State String False

State name for the billing address of the customer.

BillAddress_PostalCode String False

Postal code for the billing address of the customer.

BillAddress_Country String False

Country for the billing address of the customer.

IsNoShipToBilling Boolean False Single

Whether or not the billing address can be used as a shipping address.

IsAcceptingChecks Boolean False Single

Indicates whether checks are being accepted from this customer. The default is True.

IsUsingChargeAccount Boolean False Single

Indicates whether the customer is using a charge account.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

TaxCategory String False Range

The sales tax category.

CustomerDiscPercent Double False Range

The suggested customer discount percentage for all items listed on a sales receipt. Note that you cannot assign both a discount percentage and a price level to a customer.

CustomerDiscType String False Single

The customer discount type.

PriceLevelNumber String False Single

The suggested price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

LastSale Datetime True Range

The time of the last purchase made by this customer.

AmountPastDue Decimal True Range

The amount past due for a transaction.

IsUsingWithQB Boolean False Single

Whether or not the customer is using QuickBooks POS with QuickBooks.

AccountBalance Decimal True Range

The balance of the account owned by this customer, including subcustomers. Available only when QuickBooks POS is being used with QuickBooks and only if UseWithQB is True.

AccountLimit Decimal True Range

The limit of the account owned by this customer, including subcustomers. Available only when QuickBooks POS is being used with QuickBooks and only if UseWithQB is True.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the customer was created.

TimeModified Datetime True Range

When the customer was last modified.

ShipAddressAddressName# [KEY] String False

The name used to identify this shipping address of the customer.

ShipAddressCompanyName# String False

The company name of this shipping address of the customer.

ShipAddressFullName# String False

The full name of the recipient in this shipping address of the customer.

ShipAddressStreet# String False

Street address of this shipping address of the customer.

ShipAddressStreet2# String False

The second line of the street address of this shipping address of the customer.

ShipAddressCity# String False

City name for this shipping address of the customer.

ShipAddressState# String False

State name for this shipping address of the customer.

ShipAddressPostalCode# String False

Postal code for this shipping address of the customer.

ShipAddressCountry# String False

Country for this shipping address of the customer.

QuickBooks POS Connector for CData Sync

Departments

Create, update, delete, and query QuickBooks POS Departments.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM Departments WHERE DepartmentName LIKE '%WEAR%'

Insert

To create a new department record, the DepartmentName field is required.

INSERT INTO Departments (DepartmentName, DepartmentCode, DefaultMarginPercent) 
VALUES ('Sports Wear', 'SPW', '7.25')

Update

Any field that is not read-only can be updated.

UPDATE Departments SET DefaultMarkupPercent='20.50' WHERE ListId='-1234567890123456789' 

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

DepartmentName String False Range

The name of the department.

DepartmentCode String False Range

A unique, 1-3 character code identifying the department. The department code can be used when defining an item in inventory. The first character usually indicates the broadest classification.

DefaultMarginPercent Double False Range

The default margin percentage. If you do not wish QBPOS to calculate prices for new items as they are added to inventory, leave this field and the DefaultMarkupPercent field at 0.

DefaultMarkupPercent Double False

The default markup percentage.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether changes to the customer information were successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

TaxCode String False Single

The tax code of the department.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the department was created.

TimeModified Datetime True Range

When the department was last modified.

QuickBooks POS Connector for CData Sync

Employees

Create, update, and query QuickBooks POS Employees.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM Employees WHERE LoginName LIKE '%test%'

Insert

To create a new employee record, the LoginName field is required.

INSERT INTO Employees (LoginName, FirstName, LastName) 
VALUES ('japple', 'John', 'Apple')

Update

Any field that is not read-only can be updated.

UPDATE Employees SET Phone='555-123-9876' WHERE ListId='-1234567890123456789' 

Delete

Deleting an employee requires System Administrator privileges, which are only available by logging in directly to QuickBooks POS.

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

LoginName String False Range

The name the employee will use to log in to QBPOS. Because QBPOS requires that all employee login names be unique, it will append a number to the end of any login name that is the same as an existing one.

FirstName String False Range

The first name of the employee.

LastName String False Range

The last name of the employee.

Street String False Range

Street address of the employee.

Street2 String False Range

The second line of the street address of the employee.

City String False Range

City name for the billing address of the employee.

State String False Range

State name for the billing address of the employee.

PostalCode String False Range

Postal code for the billing address of the employee.

Country String False Range

Country for the billing address of the employee.

Phone String False Range

The primary telephone number for the employee.

Phone2 String False Range

An alternate telephone or fax number for the employee.

Phone3 String False Range

An alternate telephone or fax number for the employee.

Email String False Range

The email address for communicating with the employee.

Notes String False Range

Notes on this employee.

IsTrackingHours Boolean False Single

Indicates whether time is tracked for this employee.

CommissionPercent Double False Range

If sales commissions are paid to this employee, this number specifies the percentage of that commission. You can enter numbers in the range from 0.00-99.99.

SecurityGroup String False Range

The security group assigned to the employee.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the employee was created.

TimeModified Datetime True Range

When the employee was last modified.

QuickBooks POS Connector for CData Sync

InventoryCostAdjustmentItems

Create and query QuickBooks POS Inventory Cost Adjustment Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM InventoryCostAdjustmentItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to add an item to an existing InventoryCostAdjustment record. To add an item to an existing record, the TxnId column of the InventoryCostAdjustment record that the item is to be added to, ItemListId, and ItemNewCost are required.

INSERT INTO InventoryCostAdjustmentItems (TxnId, ItemListId, ItemNewCost) 
VALUES ('-1234567890123456789', '-1000000000000000004', '2.00')

Columns

Name Type ReadOnly Filter Type Description
TxnID String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

Comments String False Range

Contains a description of the transaction.

CostDifference Decimal True

Difference in cost for the items. The value displayed is equal to NewCost minus OldCost.

HistoryDocStatus String True Single

Indicates the current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this memo was an original memo that had to be corrected), Reversing (this memo caused an older memo to be reversed), and Regular (the document has been corrected).

InventoryAdjustmentNumber Double True Range

The adjustment number for an adjustment is assigned by QBPOS when an adjustment is successfully added to QBPOS.

InventoryAdjustmentSource String False Single

The action or functionality that created the adjustment. Possible values are Manual (manually created memo), Physical (physical inventory), and Assembly (assembly item).

ItemsCount String True Range

The number of line items in the insert that added the transaction.

NewCost Decimal True Range

The cost of the items after the cost adjustment.

OldCost Decimal True Range

The cost of the items before the cost adjustment.

QuickBooksFlag String False Single

The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

Reason String False Range

Enter the reason for the adjustment or select from the following predefined reasons: Cycl Cnt (cycle count), Vend Chg (vendor change), Prc Line (price line), Seas End (end of season), Annual, Shrink, Stolen, Damaged, and New Item.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether the customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

The current state of the transaction. Possible values are Normal (the transaction is complete) and Held (the transaction has not yet been finalized).

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

ItemListID# String False

The unique identifier for the item, generated by QuickBooks POS.

ItemNewCost# Decimal False

The new cost for each inventory item being adjusted.

ItemOldCost# Decimal True

Inventory cost for this item before updating this memo.

ItemCostDifference# Decimal True

Difference in cost for the item. The value displayed is equal to ItemNewCost minus ItemOldCost.

ItemNumberOfBaseUnits# Double True

The base unit, used to track and report the inventory quantity.

ItemUnitOfMeasure# String False

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item.

QuickBooks POS Connector for CData Sync

InventoryCostAdjustments

Create, update, and query QuickBooks POS Inventory Cost Adjustments.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM InventoryCostAdjustments WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new InventoryCostAdjustment record, the Reason field is required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the InventoryCostAdjustmentItems table as # columns. Note that ItemListId and ItemNewCost are required when adding an item.

The following example will insert a new InventoryCostAdjustment with two items:

INSERT INTO InventoryCostAdjustments (Reason, ItemsAggregate) 
VALUES ('Discontinued', '<InventoryCostAdjustmentItems>
<Row><ItemListId>-1000000000000000001</ItemListId><ItemNewCost>4.99</ItemNewCost></Row>
<Row><ItemListId>-1000000000000000002</ItemListId><ItemNewCost>11.97</ItemNewCost></Row>
</InventoryCostAdjustmentItems>')

Update

Any field that is not read-only can be updated.

When updating an InventoryCostAdjustment record, item costs can be adjusted via the ItemsAggregate column, just as in an insert. In such cases, the ItemListId column is required to identify the item being adjusted, and ItemNewCost is required to specify the new cost.

Note items cannot be removed from an InventoryCostAdjustment record, but rather the cost can only be adjusted, so a record of adjustments for an item is always kept.

UPDATE InventoryCostAdjustments SET ItemsAggregate='<InventoryCostAdjustmentItems>
<Row><ItemListId>-1000000000000000003</ItemListId><ItemNewCost>19.99</ItemNewCost></Row>
</InventoryCostAdjustmentItems>'
WHERE TxnId='-1234567890123456789'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

Comments String False Range

Contains a description of the transaction.

CostDifference Decimal True

Difference in cost for the items. The value displayed is equal to NewCost minus OldCost.

HistoryDocStatus String True Single

The current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this memo is the corrected version of an earlier memo), Reversing (this memo caused an older memo to be reversed), and Regular (the document has been corrected).

InventoryAdjustmentNumber Double True Range

The adjustment number for an adjustment is automatically assigned by QBPOS when an adjustment is successfully added to QBPOS.

InventoryAdjustmentSource String False Single

The action or functionality that created the adjustment. Possible values are Manual (manually created memo), Physical (physical inventory), and Assembly (assembly item).

ItemsCount String True Range

The number of line items in the insert that added the transaction.

ItemsAggregate String False

An aggregate of the line item data, which can be used for adding a transaction and its line items.

NewCost Decimal True Range

The cost of the items after the cost adjustment.

OldCost Decimal True Range

The cost of the items before the cost adjustment.

QuickBooksFlag String False Single

The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

Reason String False Range

Enter the reason for the adjustment or select from the following predefined reasons: Cycl Cnt (cycle count), Vend Chg (vendor change), Prc Line (price line), Seas End (end of season), Annual, Shrink, Stolen, Damaged, and New Item.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

The current state of the transaction. Possible values are Normal (the transaction is complete) and Held (the transaction has not yet been finalized).

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

QuickBooks POS Connector for CData Sync

InventoryQtyAdjustmentItems

Create and query QuickBooks POS Inventory Quantity Adjustment Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM InventoryQtyAdjustmentItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to add an item to an existing InventoryQtyAdjustment record. To add an item to an existing record, the TxnId column of the InventoryQtyAdjustment record that the item is to be added to, ItemListId, and ItemNewQuantity are required.

INSERT INTO InventoryQtyAdjustmentItems (TxnId, ItemListId, ItemNewQuantity) 
VALUES ('-1234567890123456789', '-1000000000000000004', '10')

Columns

Name Type ReadOnly Filter Type Description
TxnID String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

Comments String False Range

Contains a description of the transaction.

CostDifference Decimal True

Difference in cost for the items. The value displayed is equal to the new cost minus the old cost.

HistoryDocStatus String True Single

Indicates the current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this memo is the corrected version of the original memo), Reversing (this memo caused an older memo to be reversed), and Regular (the document has been corrected).

InventoryAdjustmentNumber Double True Range

The adjustment number, assigned by QBPOS when an adjustment is successfully added to QBPOS.

InventoryAdjustmentSource String False Single

The action or functionality that created the adjustment. Possible values are Manual (manually created memo), Physical (physical inventory), and Assembly (Assembly item).

ItemsCount String True Range

The number of line items in the insert that added the transaction.

NewQuantity Double True Range

The new quantity of the items being adjusted.

OldQuantity Double True Range

The quantity of the items prior to the adjustment.

QtyDifference Double True

Difference in quantity for the items. The value displayed is equal to NewQuantity minus OldQuantity

QuickBooksFlag String False Single

The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

Reason String False Range

Enter the reason for the adjustment or select from the following predefined reasons: Cycl Cnt (cycle count), Vend Chg (vendor change), Prc Line (price line), Seas End (end of season), Annual, Shrink, Stolen, Damaged, and New Item.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether the customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

The current state of the transaction. Possible values are Normal (the transaction is complete) and Held (the transaction has not yet been finalized).

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

ItemListID# String False

The unique identifier for the item, generated by QuickBooks POS.

ItemNewQuantity# Double False

The new quantity for each inventory item being adjusted.

ItemOldQuantity# Double True

Inventory quantity for this item before updating this memo.

ItemQtyDifference# Double True

Difference in quantity for the item. The value displayed is equal to ItemNewQuantity minus ItemOldQuantity.

ItemNumberOfBaseUnits# Double True

The item serial number, used for purposes of warranty tracking or meeting legal requirements. Once recorded, former documents can be quickly located by searching by serial number.

ItemUnitOfMeasure# String False

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item.

QuickBooks POS Connector for CData Sync

InventoryQtyAdjustments

Create, update, and query QuickBooks POS Inventory Quantity Adjustments.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM InventoryCostAdjustments WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new InventoryQtyAdjustment record, the Reason field is required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the InventoryQtyAdjustmentItems table as # columns. Note that ItemListId and ItemNewQuantity are required when adding an item.

The following example will insert a new InventoryQtyAdjustment with two items:

INSERT INTO InventoryQtyAdjustments (Reason, ItemsAggregate) 
VALUES ('New Shipment', '<InventoryQtyAdjustmentItems>
<Row><ItemListId>-1000000000000000001</ItemListId><ItemNewQuantity>10</ItemNewQuantity></Row>
<Row><ItemListId>-1000000000000000002</ItemListId><ItemNewQuantity>20</ItemNewQuantity></Row>
</InventoryQtyAdjustmentItems>')

Update

Any field that is not read-only can be updated.

When updating an InventoryQtyAdjustment record, item quantities can be adjusted via the ItemsAggregate column, just as in an insert. In such cases, the ItemListId column is required to identify the item being adjusted and ItemNewQuantity is required to specify the new quantity.

Note items cannot be removed from an InventoryQtyAdjustment record, but rather the cost can only be adjusted, so a record of adjustments for an item is always kept.

UPDATE InventoryQtyAdjustments SET ItemsAggregate='<InventoryQtyAdjustmentItems>
<Row><ItemListId>-1000000000000000003</ItemListId><ItemNewQuantity>30</ItemNewQuantity></Row>
</InventoryQtyAdjustmentItems>' 
WHERE TxnId='-1234567890123456789'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

Comments String False Range

Contains a description of the transaction.

CostDifference Decimal True

Difference in cost for the items. The value displayed is equal to the new cost minus the old cost.

HistoryDocStatus String True Single

Indicates the current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this memo is the corrected version of the original memo), Reversing (this memo caused an older memo to be reversed), and Regular (the document has been corrected).

InventoryAdjustmentNumber Double True Range

The adjustment number, generated by QuickBooks POS.

InventoryAdjustmentSource String False Single

The action or functionality that created the adjustment. Possible values are Manual (manually created memo), Physical (physical inventory), and Assembly (assembly item).

ItemsCount String True Range

The number of line items in the request that added the transaction.

ItemsAggregate String False

An aggregate of the line item data, which can be used to add a transaction and its line items.

NewQuantity Double True Range

The new quantity of the items being adjusted.

OldQuantity Double True Range

The quantity of the items prior to the adjustment.

QtyDifference Double True

Difference in quantity for the items. The value displayed is equal to NewQuantity minus OldQuantity.

QuickBooksFlag String False Single

The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

Reason String False Range

Enter the reason for the adjustment or select from the following predefined reasons: Cycl Cnt (cycle count), Vend Chg (vendor change), Prc Line (price line), Seas End (end of season), Annual, Shrink, Stolen, Damaged, and New Item.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether the customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

The current state of the transaction. Possible values are Normal (the transaction is complete) or Held (the transaction has not yet been finalized).

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

QuickBooks POS Connector for CData Sync

ItemPictures

Create, update, and query QuickBooks POS Item Pictures.

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

PictureName# String False

The name of the item picture.

EncodedPicture# String False

The Base64 encoded item picture.

QuickBooks POS Connector for CData Sync

Items

Create, update, delete, and query QuickBooks POS Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM Items WHERE QuantityOnHand < 5

Insert

To create a new item record, the DepartmentListId field is required.

INSERT INTO Items (DepartmentListId, Desc1, Cost) 
VALUES ('-1234567890123456789', 'T-Shirt', '9.99')

Update

Any field that is not read-only can be updated.

UPDATE Items SET Size='L' WHERE ListId='-1000000000000000001' 

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

ALU String False Range

Alternate lookup. A user-defined identifier to be used to look up an item. Do not duplicate the Item Number or UPC in this field. This will adversely affect performance for item lookups.

Attribute String False Range

A field used to describe an item characteristic, typically color, pattern, material, or a second size. This value must be 1-8 characters.

COGSAccount String False Range

The Cost of Goods Sold (COGS) Account for the item. This field is used if you are using QBPOS with QuickBooks.

Cost Decimal False Range

The averaged cost of the current on-hand quantity of the item. Cost is automatically updated by receiving vouchers or manually updated by adjustment memos.

DepartmentListID String False Single

The Id of the department the item is associated with.

DepartmentCode String True Range

A unique, 1-3 character code identifying the department. The department code can be used when defining an item in inventory. The first character usually indicates the broadest classification.

Desc1 String False Range

The principal item description field. This description is printed on receipts.

Desc2 String False Range

Secondary description field, usually used for any additional information to describe this particular item, such as the catalog number of a vendor. Also can be used for additional information at the point of sale.

IncomeAccount String False Range

The Income Account for the item. This field is used if you are using QBPOS with QuickBooks.

IsBelowReorder Boolean True Single

Indicates whether the item is below the reorder point.

IsEligibleForCommission Boolean False Single

Indicates whether the item is eligible for a commission.

IsPrintingTags Boolean False Single

Indicates whether the Print Tags checkbox is selected for this item, that is, whether this item is included in the list of items for which price tags are to be printed.

IsUnorderable Boolean False Single

Indicates whether the item is orderable. Items flagged as Unorderable do not show up on the reorder reminder list when their on-hand number falls below the reorder point.

HasPictures Boolean True Single

Indicates whether the item has pictures to identify it.

IsEligibleForRewards Boolean False Single

Indicates whether the item is eligible for rewards.

IsWebItem Boolean False Single

Indicates whether the item is sold online.

ItemNumber Double True Range

Unique number assigned to the item when it is added to QBPOS.

ItemType String False Single

The type of item being added. Possible values are Inventory, NonInventory, Service, Assembly, Group, and SpecialOrder.

LastReceived Datetime True Range

Date this item was last received into inventory.

MarginPercent Double False

The profit, expressed as a percentage of the price. If defined in a department record, this value is used to calculate the prices of new items as they are added to inventory. Note that modifying the margin in inventory causes QBPOS to recalculate your prices and the Markup Percent.

MarkupPercent Double False

The profit, expressed as a percentage over the cost. Works in the same manner as Margin Percent. Making an entry in this field causes QBPOS to recalculate your item prices and margin.

MSRP Double False Range

Manufacturer's suggested retail price. Reference price that is printed on price tags if defined in inventory.

OnHandStore01 Double False Range

The quantity of the item on hand in Store 1 inventory.

OnHandStore02 Double False Range

The quantity of the item on hand in Store 2 inventory.

ReorderPointStore01 Double False Range

The quantity at which an item should be reordered for Store 1.

ReorderPointStore02 Double False Range

The quantity at which an item should be reordered for Store 2.

OrderByUnit String False Range

The default unit of measure when you order this item from vendors. If you are using multiple units of measure instead of a single unit of measure, you can use one unit of measure to order by (OrderByUnit) and another to sell by (SellByUnit). You can override this by specifying a different unit of measure when you insert a purchase order.

OrderCost Decimal False Range

The current cost paid to the vendor for the item.

Price1 Decimal False Range

The baseline or everyday retail price of the item.

Price2 Decimal False Range

Price2-Price5 are used to specify discount pricing for the item. These values override the PriceLevels in the company preferences. If you do not specify Price2-Price5, QBPOS will apply any markdowns specified in the PriceLevels in the company preferences.

Price3 Decimal False Range

Price2-Price5 are used to specify discount pricing for the item. These values override the PriceLevels in the company preferences. If you do not specify Price2-Price5, QBPOS will apply any markdowns specified in the PriceLevels in the company preferences.

Price4 Decimal False Range

Price2-Price5 are used to specify discount pricing for the item. These values override the PriceLevels in the company preferences. If you do not specify Price2-Price5, QBPOS will apply any markdowns specified in the PriceLevels in the company preferences.

Price5 Decimal False Range

Price2-Price5 are used to specify discount pricing for the item. These values override the PriceLevels in the company preferences. If you do not specify Price2-Price5, QBPOS will apply any markdowns specified in the PriceLevels in the company preferences.

QuantityOnCustomerOrder String True Range

The quantity, in terms of the base unit of measure, of the inventory item that is currently under order by customers and therefore not available.

QuantityOnHand String True Range

The number of units of an item currently in stock. This number is updated by receiving vouchers and sales receipts.

QuantityOnOrder String True Range

The number of units of the item that are currently on order. In multistore configurations, this number is the on-order number for all of the stores.

QuantityOnPendingOrder String True Range

The number of units of the item that are currently pending on order.

ReorderPoint Double False Range

The quantity at which an item should be reordered.

SellByUnit String False Range

The default unit of measure when you sell the item. You can override this by specifying a different unit of measure when you insert a sales receipt.

SerialFlag String False Single

The serial flag indicates whether the user is prompted to enter a serial number when the item is listed on documents. Enter Prompt to be prompted to enter a serial number; enter Optional (default), and the user will not be prompted but can still enter a serial number on the document.

Size String False Range

The size of an item. This field can also be used to describe a second item attribute other than size. 1-8 characters are allowed.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

TaxCode String False Single

The tax code that is actually applied at transaction time is the tax code of the tax category that is currently specified as the default tax category in the sales tax preferences.

UnitOfMeasure String False Range

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.

UnitOfMeasure1 String False

Aggregate value of the first unit of measure.

UnitOfMeasure2 String False

Aggregate value of the second unit of measure.

UnitOfMeasure3 String False

Aggregate value of the third unit of measure.

UPC String False Range

The UPC/EAN/ISBN of the item. This field must be 13 characters.

VendorCode String True Range

The code assigned to the vendor specified for the item.

VendorListID String False Single

A reference to the vendor.

VendorInfo2 String False

Info for the second vendor.

VendorInfo3 String False

Info for the third vendor.

VendorInfo4 String False

Info for the fourth vendor.

VendorInfo5 String False

Info for the fifth vendor.

WebDesc String False Range

The description of the item for use online.

WebPrice Decimal False Range

The price of the item when sold online.

Manufacturer String False Range

The manufacturer of the item.

Weight Double False Range

The weight of the item.

WebSKU String True Range

The SKU of the item for online use.

Keywords String False Range

Keywords to identify the item.

WebCategories String False

Categories to identify the item online.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the item was created.

TimeModified Datetime True Range

When the item was last modified.

QuickBooks POS Connector for CData Sync

PriceAdjustmentItems

Create, update, delete, and query QuickBooks POS Price Adjustment Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM PriceAdjustmentItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to create a new PriceAdjustment record or to add an item to an existing PriceAdjustment record.

To create a new PriceAdjustment record, the PriceAdjustmentName field is required.

INSERT INTO PriceAdjustmentItems (PriceAdjustmentName, ItemListId, ItemNewPrice) 
VALUES ('New Adjustment', '-1000000000000000001', '10.00')

To add an item to an existing record, the TxnId column of the PriceAdjustment record that the item is to be added to and the ItemListId are required.

INSERT INTO PriceAdjustmentItems (TxnId, ItemListId, ItemNewPrice) 
VALUES ('-1234567890123456789', '-1000000000000000001', '10.00')

Update

Any field that is not read-only can be updated.

Note: Update operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record, and another to update the record with new data.

To perform an update, TxnId and ItemTxnLineId are required fields.

UPDATE PriceAdjustmentItems SET ItemNewPrice='30.00' WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='1'

Delete

Delete is used to remove an item from the specified record (it will not delete the entire record itself).

Note: Deletion of an item requires that all the wanted items that currently exist in the record be sent in the request, thus deleting those that are not specified. Therefore Delete operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record to obtain all the existing ItemTxnLineIds and another to delete the specified item.

To perform a delete, TxnId and ItemTxnLineId are required fields.

DELETE FROM PriceAdjustmentItems WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='3'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

AppliedBy String True Range

The employee who applied the price adjustment.

Comments String False Range

Contains a description of the transaction.

DateApplied Datetime True Range

Date the price adjustment was applied.

DateRestored Datetime True Range

Date the price adjustment was restored.

ItemsCount String True Range

The number of line items in the insert that added the transaction.

PriceAdjustmentName String False Range

The name of the price adjustment.

PriceAdjustmentStatus String True Single

The status of the price adjustment.

PriceLevelNumber String False Single

The suggested price level discount given to the customer.

RestoredBy String True Range

The employee who restored the price adjustment.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether changes to the customer information were successfully updated. Possible values are Modified, Sent, and Acknowledged.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

ItemTxnLineID# [KEY] String True

Identification number of the transaction line. (TxnLineId is supported as of version 2.0 of the SDK. With QBXML 1.0 and 1.1, TxnLineId is always returned as zero.) If you need to add a new transaction line in an update, you can do so by setting the TxnLineId to -1.

ItemListID# String False

The unique identifier for the item, generated by QuickBooks POS.

ItemNewPrice# Decimal False

The price of the item after the price adjustment.

ItemOldPrice# Decimal True

The price of the item before the price adjustment.

ItemOldCost# Decimal True

Inventory cost for this item before updating this memo.

QuickBooks POS Connector for CData Sync

PriceAdjustments

Create, update, and query QuickBooks POS Price Adjustments.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM PriceAdjustments WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new PriceAdjustment record, the PriceAdjustmentName field is required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the PriceAdjustmentItems table as # columns. Note that ItemListId is required when adding an item.

The following example will insert a new PriceAdjustment with two items:

INSERT INTO PriceAdjustments (PriceAdjustmentName, ItemsAggregate) 
VALUES ('New Adjustment', '<PriceAdjustmentItems>
<Row><ItemListId>-1000000000000000001</ItemListId><ItemNewPrice>10.00</ItemNewPrice></Row>
<Row><ItemListId>-1000000000000000002</ItemListId><ItemNewPrice>20.00</ItemNewPrice></Row>
</PriceAdjustmentItems>')

Update

Any field that is not read-only can be updated.

When updating a PriceAdjustment record, item prices can be added or modified via the ItemsAggregate column.

To modify an existing item in a PriceAdjustment record, the ItemTxnLineId column is required to identify the item. In an update using an ItemsAggregate, specify all ItemTxnLineId values to be kept, as those values not specified will be deleted.

To add a new item, the ItemListId that corresponds to the item to be added must be specified (just as in an insert).

Note that items cannot be both modified and added in the same ItemsAggregate request. Modifying an item, using ItemTxnLineId, takes precedence over added items and thus QuickBooks POS ignores added items and performs the modification of the existing items.

Modify Items Example: Total three items with ItemTxnLineId values of 1, 2, and 3. Item 1 is updated, Item 2 is left alone, and Item 3 will be deleted.

UPDATE PriceAdjustments SET ItemsAggregate='<PriceAdjustmentItems>
<Row><ItemTxnLineId>1</ItemTxnLineId><ItemNewPrice>30.00</ItemNewPrice></Row>
<Row><ItemTxnLineId>2</ItemTxnLineId></Row>
</PriceAdjustmentItems>'
WHERE TxnId='-1234567890123456789'

Add New Item Example: Existing items remain intact when adding new items.

UPDATE PriceAdjustments SET ItemsAggregate='<PriceAdjustmentItems>
<Row><ItemListId>-1000000000000000003</ItemListId><ItemNewPrice>30.00</ItemNewPrice></Row>
</PriceAdjustmentItems>' 
WHERE TxnId='-1234567890123456789'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

AppliedBy String True Range

The employee who applied the price adjustment.

Comments String False Range

Contains a description of the transaction.

DateApplied Datetime True Range

Date the price adjustment was applied.

DateRestored Datetime True Range

Date the price adjustment was restored.

ItemsCount String True Range

The number of line items in the insert that added the transaction.

ItemsAggregate String False

An aggregate of the line item data, which can be used to add a transaction and its line items.

PriceAdjustmentName String False Range

The name of the price adjustment.

PriceAdjustmentStatus String True Single

The status of the price adjustment.

PriceLevelNumber String False Single

The suggested price level discount for the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

RestoredBy String True Range

The employee who restored the price adjustment.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether changes to the customer information were successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

QuickBooks POS Connector for CData Sync

PriceDiscountItems

Create, update, delete, and query QuickBooks POS Price Discount Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM PriceDiscountItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to create a new PriceDiscount record or to add an item to an existing PriceDiscount record.

To create a new PriceDiscount record, the PriceDiscountName and PriceDiscountReason fields are required.

INSERT INTO PriceDiscountItems (PriceDiscountName, PriceDiscountReason, PriceDiscountXValue, ItemListId, ItemUnitOfMeasure) 
VALUES ('New Discount', 'Sale', '10', '-1000000000000000001', 'lbs')

To add an item to an existing record, the TxnId column of the PriceDiscount record that the item is to be added to and the ItemListId are required.

INSERT INTO PriceDiscountItems (TxnId, ItemListId, ItemUnitOfMeasure) 
VALUES ('-1234567890123456789', '-1000000000000000001', 'lbs')

Update

Any field that is not read-only can be updated.

Note: Update operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record, and another to update the record with new data.

To perform an update, TxnId and ItemTxnLineId are required fields.

UPDATE PriceDiscountItems SET ItemUnitOfMeasure='lbs' WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='1'

Delete

Delete is used to remove an item from the specified record (it will not delete the entire record itself).

Note: Deletion of an item requires that all the wanted items that currently exist in the record be sent in the request, thus deleting those that are not specified. Therefore Delete operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record to obtain all the existing ItemTxnLineIds and another to delete the specified item.

To perform a delete, TxnId and ItemTxnLineId are required fields.

DELETE FROM PriceDiscountItems WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='3'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

PriceDiscountName String False Range

The name of the price discount.

PriceDiscountReason String False Range

The status of the price discount.

PriceDiscountType String False Single

The type of price discount.

Associate String False Range

The employee making the adjustment.

LastAssociate String True Range

The employee who made the last adjustment transaction.

ItemsCount String True Range

The number of line items in the insert that added the transaction.

StartDate Datetime False Range

The starting date of the discount.

StopDate Datetime False Range

The ending date of the discount.

IsInactive Boolean False Single

Determines whether the discount is active.

PriceDiscountPriceLevels String False

The suggested price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

PriceDiscountXValue Decimal False Range

The discount price over the X value.

PriceDiscountYValue Decimal False Range

The discount price over the Y yalue.

IsApplicableOverXValue Boolean False Single

Determines whether the discount is applicable over the X value.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether changes to the customer information were successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

ItemTxnLineID# [KEY] String True

Identification number of the transaction line. (TxnLineId is supported as of version 2.0 of the SDK. With QBXML 1.0 and 1.1, TxnLineId is always returned as zero.) If you need to add a new transaction line in an update, you can do so by setting the TxnLineId to -1.

ItemListID# String False

The unique identifier for the item, generated by QuickBooks POS.

ItemUnitOfMeasure# String False

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item.

QuickBooks POS Connector for CData Sync

PriceDiscounts

Create, update, and query QuickBooks POS Price Discounts.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM PriceDiscounts WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new PriceDiscount record, the PriceDiscountName and PriceDiscountReason fields are required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the PriceDiscountItems table as # columns. Note that ItemListId is required when adding an item.

The following example will insert a new PriceDiscount with two items:

INSERT INTO PriceDiscounts (PriceDiscountName, PriceDiscountReason, PriceDiscountXValue, ItemsAggregate) 
VALUES ('New Discount', 'Sale', '10', '<PriceDiscountItems>
<Row><ItemListId>-1000000000000000001</ItemListId></Row>
<Row><ItemListId>-1000000000000000002</ItemListId></Row>
</PriceDiscountItems>')

Update

Any field that is not read-only can be updated.

When updating a PriceDiscount record, items can be added or modified via the ItemsAggregate column.

To modify an existing item in a PriceDiscount record, the ItemTxnLineId column is required to identify the item. In an update using an ItemsAggregate, specify all ItemTxnLineId values to be kept, as those values not specified will be deleted.

To add a new item, the ItemListId that corresponds to the item that is to be added must be specified, just as in an insert.

Note that items cannot be both modified and added in the same ItemsAggregate request. Modifying an item, using ItemTxnLineId, takes precedence over added items and thus QuickBooks POS ignores added items and performs the modification of only the existing items.

Modify Items Example: Total two items with ItemTxnLineId values of 1 and 2. Item 1 is updated and Item 2 will be deleted.

UPDATE PriceDiscounts SET ItemsAggregate='<PriceDiscountItems>
<Row><ItemTxnLineId>1</ItemTxnLineId><ItemUnitOfMeasure>lbs</ItemUnitOfMeasure></Row>
</PriceDiscountItems>'
WHERE TxnId='-1234567890123456789'

Add New Item Example: Existing items remain intact when adding new items.

UPDATE PriceDiscounts SET ItemsAggregate='<PriceDiscountItems>
<Row><ItemListId>-1000000000000000003</ItemListId><ItemUnitOfMeasure>lbs</ItemUnitOfMeasure></Row>
</PriceDiscountItems>' 
WHERE TxnId='-1234567890123456789'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

PriceDiscountName String False Range

The name of the price discount.

PriceDiscountReason String False Range

The status of the price discount.

PriceDiscountType String False Single

The type of price discount.

Associate String False Range

The employee making the adjustment.

LastAssociate String True Range

The employee who made the last adjustment transaction.

ItemsCount String True Range

The number of line items in the insert that added the transaction.

ItemsAggregate String False

An aggregate of the line item data, which can be used for adding the transaction and its line items.

StartDate Datetime False Range

The starting date of the discount.

StopDate Datetime False Range

The ending date of the discount.

IsInactive Boolean False Single

Determines whether the discount is active.

PriceDiscountPriceLevels String False

The price levels the discount should be applied to.

PriceDiscountXValue Decimal False Range

The discount price over the X value.

PriceDiscountYValue Decimal False Range

The discount price over the Y value.

IsApplicableOverXValue Boolean False Single

Determines whether the discount is applicable over the X value.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

QuickBooks POS Connector for CData Sync

PurchaseOrderItems

Create, update, delete, and query QuickBooks POS Purchase Order Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM PurchaseOrderItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to create a new Purchase Order record or to add an item to an existing Purchase Order record.

To create a new Purchase Order record, the PurchaseOrderNumber and VendorListId fields are required.

INSERT INTO PurchaseOrderItems (PurchaseOrderNumber, VendorListId, ItemListId, ItemCost, ItemQty) 
VALUES ('PO12345', '-9876543210987654321', '-1000000000000000001', 15.00, 10)

To add an item to an existing record, the TxnId column of the Purchase Order record that the item is to be added to and the ItemListId are required.

INSERT INTO PurchaseOrderItems (TxnId, ItemListId, ItemCost, ItemQty) 
VALUES ('-1234567890123456789', '-1000000000000000001', 15.00, 10)

Update

Any field that is not read-only can be updated.

Note: Update operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record, and another to update the record with new data.

To perform an update, TxnId and ItemTxnLineId are required fields.

UPDATE PurchaseOrderItems SET ItemSize='L' WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='1'

Delete

Delete is used to remove an item from the specified record (it will not delete the entire record itself).

Note: Deletion of an item requires that all the wanted items that currently exist in the record be sent in the request, thus deleting those that are not specified. Therefore Delete operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record to obtain all the existing ItemTxnLineIds and another to delete the specified item.

To perform a delete, TxnId and ItemTxnLineId are required fields.

DELETE FROM PurchaseOrderItems WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='3'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

CancelDate Datetime False Range

Enter the date after which delivery may be refused. If the company preferences for receiving are set to check for cancel dates, the end user is alerted when receiving items against a purchase order past this cancel date. (That user can still accept the shipment, at their discretion.) If the company preferences for receiving are not set to check the cancel date, the cancel date is ignored.

CompanyName String True Range

The name of the business.

Discount Decimal False Range

The amount of any discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

Enter a percentage discount applicable to the transaction. Entering a discount percentage causes the Discount field to be automatically calculated.

Fee Decimal False Range

You can enter a fee using this field. Note that fees entered on a purchase order are not spread over the cost of individual items. When a receiving voucher references a purchase order with a fee entered, the fee can be transferred to the voucher at that point.

Instructions String False Range

You can use this optional field to provide instructions to the vendor regarding the order. You can add up to two lines of text. This text prints on purchase orders but is not displayed on-screen.

ItemsCount String True Range

The number of line items in the insert that added the transaction.

PurchaseOrderNumber String False Range

The user-defined number identifying the purchase order. This value should be unique. This number is assigned to the purchase order by QBPOS if left empty during the creation process.

PurchaseOrderStatusDesc String False Single

All purchase orders have a status of either Open, Closed, or Custom. The Custom status is defined by the QBPOS user in the company preferences for purchasing.

QtyDue Double True

The total document quantity remaining to be received. Updated by receiving vouchers.

QtyOrdered Double True Range

The total purchase order quantity ordered, combined for all items.

QtyReceived Double True Range

The total document quantity received to date.

SalesOrderNumber String True Range

A unique number assigned to the sales order at creation by QBPOS. If a sales order was used to create the purchase order, the SalesOrderNumber for the purchase order is returned.

ShipToStoreNumber Double False Range

The store to which the item is to be shipped.

StartShipDate Datetime False Range

The estimated shipping date for the order. Included on purchase journal and merchandise on-order reports.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

Subtotal Decimal True Range

The sum of the extended item costs of the transaction, before applying any discounts or fees. This value is updated when a voucher that references the transaction is updated.

Terms String True

Although not visible on the purchase order, any payment terms that are defined for the vendor file are carried to the purchase order.

TermsDiscount Decimal False Range

The discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsDiscountDays Double False Range

The number of days after the invoice date in which payment must be received in order to obtain the discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsNetDays Double False Range

Payment must be made within this number of days, counting from the invoice date.

Total Decimal True Range

The total amount after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

UnfilledPercent String True Range

The percentage of the total purchase order quantity that has not yet been received. This value is updated when a voucher that references the purchase order is updated.

VendorCode String True Range

The code assigned to the vendor.

VendorListID String False Single

A reference to the vendor.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

ItemTxnLineID# [KEY] String True

Identification number of the transaction line. (TxnLineId is supported as of version 2.0 of the SDK. With QBXML 1.0 and 1.1, TxnLineId is always returned as zero.) If you need to add a new transaction line in an update, you can do so by setting the TxnLineId to -1.

ItemListID# String False

The unique identifier for the item, generated by QuickBooks POS.

ItemALU# String False

Alternate lookup. A user-defined identifier to be used to look up an item. Do not duplicate the Item Number or UPC in this field. This will adversely affect performance for item lookups.

ItemAttribute# String False

A field used to describe an item characteristic, typically color, pattern, material, or a second size. This value must be 1-8 characters.

ItemCost# Decimal False

The average cost of the item. Cost is automatically updated by receiving vouchers or manually updated by adjustment memos.

ItemDesc1# String False

The principal item description field. This description is printed on receipts.

ItemDesc2# String False

Secondary description field, usually used for any additional information to describe this particular item, such as a vendor's catalog number. Also can be used for additional information at the point of sale.

ItemExtendedCost# Decimal False

The quantity ordered multiplied by the item cost.

ItemItemNumber# Double True

Unique number assigned to the item when it is added to QBPOS.

ItemNumberOfBaseUnits# Double True

The base unit, used to track and report the inventory quantity.

ItemQty# Double False

The quantity of the line item being ordered or transferred.

ItemQtyReceived# Double True

The item quantity received to date.

ItemSize# String False

The size of an item. This field can also be used to describe a second item attribute other than size if desired. This field must be 1-8 characters.

ItemUnitOfMeasure# String False

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item.

ItemUPC# String False

The UPC, EAN, or ISBN of the item. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.

QuickBooks POS Connector for CData Sync

PurchaseOrders

Create, update, delete, and query QuickBooks POS Purchase Orders.

Table Specific Information

The PurchaseOrders table allows you to SELECT, INSERT, UPDATE, and DELETE Purchase Orders within QuickBooks POS.

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM PurchaseOrders WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new Purchase Order record, the PurchaseOrderNumber and VendorListId fields are required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the PurchaseOrderItems table as # columns. Note that ItemListId is required when adding an item.

The following example will insert a new Purchase Order with two items:

INSERT INTO PurchaseOrders (PurchaseOrderNumber, VendorListId, ItemsAggregate) 
VALUES ('PO12345', '-9876543210987654321', '<PurchaseOrderItems>
<Row><ItemListId>-1000000000000000001</ItemListId><ItemCost>10.00</ItemCost><ItemQty>25</ItemQty></Row>
<Row><ItemListId>-1000000000000000002</ItemListId><ItemCost>20.00</ItemCost><ItemQty>25</ItemQty></Row>
</PurchaseOrderItems>')

Update

Any field that is not read-only can be updated.

When updating a Purchase Order record, items can be added or modified via the ItemsAggregate column.

To modify an existing item in a Purchase Order record, the ItemTxnLineId column is required to identify the item. In an update using an ItemsAggregate, specify all ItemTxnLineId values to be kept, as those values not specified will be deleted.

To add a new item, the ItemListId that corresponds to the item to be added must be specified, just as in an insert.

Note that items cannot be both modified and added in the same ItemsAggregate request. Modifying an item, using ItemTxnLineId, takes precedence over added items and thus QuickBooks POS ignores added items and performs the modification of only the existing items.

Modify Items Example: Total three items with ItemTxnLineId values of 1, 2, and 3. Item 1 is updated, Item 2 is left alone, and Item 3 will be deleted.

UPDATE PurchaseOrders SET ItemsAggregate='<PurchaseOrderItems>
<Row><ItemTxnLineId>1</ItemTxnLineId><ItemSize>L</ItemSize></Row>
<Row><ItemTxnLineId>2</ItemTxnLineId></Row>
</PurchaseOrderItems>'
WHERE TxnId='-1234567890123456789'

Add New Item Example: Existing items remain intact when adding new items.

UPDATE PurchaseOrders SET ItemsAggregate='<PurchaseOrderItems>
<Row><ItemListId>-1000000000000000003</ItemListId><ItemCost>30.00</ItemCost><ItemQty>10</ItemQty></Row>
</PurchaseOrderItems>' 
WHERE TxnId='-1234567890123456789'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the adjustment.

CancelDate Datetime False Range

The date after which delivery may be refused. If the company preferences for receiving are set to check for cancel dates, the end user is alerted when receiving items against a purchase order past this cancel date. (The user can still accept shipments, at their discretion.) If the company preferences for receiving are not set to check the cancel date, the cancel date is ignored.

CompanyName String True Range

The name of the business.

Discount Double False Range

The amount of any discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

Enter a percentage discount applicable to the purchase order. Discounts are applied to the purchase order subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

Fee Decimal False Range

You can enter a fee using this field. Note that fees entered on a purchase order (such as a special handling fee) are not spread over the cost of individual items. When a receiving voucher references a purchase order with a fee entered, the fee can be transferred to the voucher at that point.

Instructions String False Range

You can use this optional field to provide instructions to the vendor regarding the order. You can add up to two lines of text. This text prints on purchase orders but is not displayed on-screen.

ItemsCount String True Range

The number of line items in the insert that added the transaction.

ItemsAggregate String False

An aggregate of the line item data, which can be used for adding a transaction and its line items.

PurchaseOrderNumber String False Range

A user-defined number identifying the purchase order. This value should be unique. This number is automatically assigned to the purchase order by QBPOS if left empty during the creation process.

PurchaseOrderStatusDesc String False Single

All purchase orders have the status of either Open, Closed, or Custom. The Custom status is defined by the QBPOS user in the company preferences for purchasing.

QtyDue Double True

The total document quantity remaining to be received. Updated by receiving vouchers.

QtyOrdered Double True Range

The total quantity ordered, combined for all items.

QtyReceived Double True Range

The total quantity received to date.

SalesOrderNumber String True Range

This is a unique number automatically assigned to the sales order at creation by QBPOS. If a sales order was used to create the purchase order, the SalesOrderNumber for the purchase order is returned.

ShipToStoreNumber Double False Range

The store to which the item is to be shipped.

StartShipDate Datetime False Range

The estimated shipping date for the order. Included on purchase journal and merchandise on-order reports.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

Subtotal Decimal True Range

The sum of the extended item costs of the transaction before applying any discounts or fees. This value is updated when a voucher that references the transaction is updated.

Terms String True

While not visible on the purchase order, any payment terms that are defined for the vendor file are carried to the purchase order.

TermsDiscount Decimal False Range

The discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsDiscountDays Double False Range

The number of days after the invoice date when payment must be received in order to obtain the discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsNetDays Double False Range

Payment must be made within this number of days, counting from the invoice date.

Total Decimal True Range

The total amount, after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

UnfilledPercent String True Range

The percentage of the total purchase order quantity that has not yet been received. This value is updated when a voucher that references the purchase order is updated.

VendorCode String True Range

The code assigned to the vendor.

VendorListID String False Single

A reference to the vendor.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

QuickBooks POS Connector for CData Sync

SalesOrderItems

Create, update, delete, and query QuickBooks POS Sales Order Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM SalesOrderItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to create a new Sales Order record or to add an item to an existing Sales Order record.

To create a new Sales Order record, the PurchaseOrderNumber and VendorListId fields are required.

INSERT INTO SalesOrderItems (CustomerListId, SalesOrderNumber, ItemListId, ItemCost, ItemQty) 
VALUES ('-9876543210987654321', 'SO12345', '-1000000000000000001', 15.00, 1)

To add an item to an existing record, the TxnId column of the Sales Order record that the item is to be added to and the ItemListId are required.

INSERT INTO SalesOrderItems (TxnId, ItemListId, ItemCost, ItemQty) 
VALUES ('-1234567890123456789', '-1000000000000000001', 15.00, 1)

Update

Any field that is not read-only can be updated.

Note: Update operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record, and another to update the record with new data.

To perform an update, TxnId and ItemTxnLineId are required fields.

UPDATE SalesOrderItems SET ItemSize='L' WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='1'

Delete

Delete is used to remove an item from the specified record (it will not delete the entire record itself).

Note: Deletion of an item requires that all the wanted items that currently exist in the record be sent in the request, thus deleting those that are not specified. Therefore Delete operations will count as two operations against the QuickBooks POS API. One is required to retrieve the existing record to obtain all the existing ItemTxnLineIds and another to delete the specified item.

To perform a delete, TxnId and ItemTxnLineId are required fields.

DELETE FROM SalesOrderItems WHERE TxnId='-1234567890123456789' AND ItemTxnLineId='3'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

CustomerListID String False Single

The reference key to the customer.

Associate String False Range

The employee making the adjustment.

BalanceDue Decimal True Range

The balance remaining on the order.

Cashier String False Range

Name of the employee taking the sales order. This value is autofilled with the logged-in employee name if logins are required.

DepositBalance Decimal True

The sum of all deposits received, less any deposits already used.

Discount Decimal False Range

The amount of any discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

Enter a percentage discount applicable to the transaction. Discounts are applied to the subtotal. Entering the Discount Percent causes the Discount field to be automatically calculated.

Instructions String False Range

Optional field to provide instructions to the vendor regarding the order. You can add up to two lines of text. This text prints on purchase orders, but is not displayed on-screen.

ItemsCount String True Range

The number of line items in the insert that added the transaction.

PriceLevelNumber String False Single

The price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

PromoCode String False Range

A miscellaneous note on the transaction, usually identifying a special sale. An entry in this field may be required depending on settings in the company preferences.

Qty Double True Range

The quantity of the line item being ordered or transferred.

SalesOrderNumber String False Range

This is a unique number assigned by QBPOS to the sales order at creation.

SalesOrderStatusDesc String False

Current status of the order. Possible values are OPEN, CLOSED, or a custom status you have defined in the company preferences. Used to track and filter the progression of orders for viewing and reporting.

SalesOrderType String False

The type of the customer order document. Possible values are SalesOrder, Layaway, WorkOrder, and WebOrder.

StoreExchangeStatus String True

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether the customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

Subtotal Decimal True Range

The sum of the extended item costs of the transaction before applying any discounts or fees. This value is updated when a voucher that references the transaction is updated.

TaxAmount Decimal True Range

The tax amount, returned in the response to inserting a non-held transaction.

TaxCategory String False Range

The tax category (tax location).

TaxPercentage String False Range

The tax percentage, returned in the response to inserting the transaction. Either a tax amount or a tax percentage can be specified, but not both. The other value and the document total tax amounts will be recomputed to reflect the value you specify.

Total Decimal True Range

The total amount after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

UnfilledPercent String True Range

The percentage of the total purchase order quantity that has not yet been received. This value is updated when a voucher that references the purchase order is updated.

BillingInformation_Salutation String True

A salutation, such as Mr., Mrs., etc.

BillingInformation_FirstName String True

The first name of the customer as stated in the address info.

BillingInformation_LastName String True

The last name of the customer as stated in the address info.

BillingInformation_CompanyName String True

The name of the company of the customer.

BillingInformation_Phone String True

The primary telephone number for the customer.

BillingInformation_Phone2 String True

An alternate telephone or fax number for the customer.

BillingInformation_Phone3 String True

An alternate telephone or fax number for the customer.

BillingInformation_Street String True

Street address of the billing address of the customer.

BillingInformation_Street2 String True

The second line of the street address of the billing address of the customer.

BillingInformation_City String True

City name for the billing address of the customer.

BillingInformation_State String True

State name for the billing address of the customer.

BillingInformation_PostalCode String True

Postal code for the billing address of the customer.

BillingInformation_Country String True

Country for the billing address of the customer.

ShippingInformation_AddressName String False

The name used to identify the shipping address of the customer.

ShippingInformation_CompanyName String False

The company name of the shipping address of the customer.

ShippingInformation_FullName String False

The recipient's full name of the shipping address of the customer.

ShippingInformation_Phone String False

The primary telephone number for the shipping address of the customer.

ShippingInformation_Street String False

Street address of the shipping address of the customer.

ShippingInformation_Street2 String False

The second line of the street address of the shipping address of the customer.

ShippingInformation_City String False

City name for the shipping address of the customer.

ShippingInformation_State String False

State name for the shipping address of the customer.

ShippingInformation_PostalCode String False

Postal code for the shipping address of the customer.

ShippingInformation_Country String False

Country for the shipping address of the customer.

ShippingInformation_ShipBy String False

The shipping method used to send merchandise to a customer.

ShippingInformation_Shipping Decimal False

Indicates the amount to be paid for shipping.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

ItemTxnLineID# [KEY] String True

Identification number of the transaction line. TxnLineId is supported as of version 2.0 of the SDK. With QBXML 1.0 and 1.1, TxnLineId is always returned as zero. If you need to add a new transaction line in an update, you can do so by setting the TxnLineId to -1.

ItemListID# String False

The unique identifier for the item, generated by QuickBooks POS.

ItemALU# String False

Alternate lookup. A user-defined identifier to be used to look up an item. Do not duplicate the Item Number or UPC in this field. This will adversely affect performance for item lookups.

ItemAssociate# String False

The employee making the adjustment transaction.

ItemAttribute# String False

A field used to describe an item characteristic, typically color, pattern, material, or a second size. This value must be 1-8 characters.

ItemCommission# Decimal False

The commission amount for the item, based on the item price and the Associates commission percent, if the item is eligible for commissions.

ItemDesc1# String False

The principal item description field. This description is printed on receipts.

ItemDesc2# String False

Secondary description field usually used for any additional information to describe this particular item, such as the catalog number of the vendor. Also can be used for additional information at the point of sale.

ItemDiscount# Decimal False

The amount of a discount applicable to the transaction. Discounts are applied to the transaction subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

ItemDiscountPercent# Double False

A percentage discount applicable to the item. Discounts are applied to the transaction subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

ItemDiscountType# String False

The reason for an item discount.

ItemExtendedPrice# Decimal True

The extended price of a line item.

ItemExtendedTax# Decimal True

Total tax per line item in the order.

ItemItemNumber# Double True

Unique number assigned by QBPOS to the item when it is added.

ItemNumberOfBaseUnits# Double True

The base unit, used to track and report the inventory quantity.

ItemPrice# Decimal False

The purchase price or sales price of this item.

ItemPriceLevelNumber# String True

The suggested price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

ItemQty# Double False

The quantity of the line item being ordered or transferred.

ItemQtySold# Double True

The quantity of the ordered item that is sold to the customer.

ItemSerialNumber# String False

Item serial numbers can be recorded in QBPOS for purposes of warranty tracking or meeting legal requirements.

ItemSize# String False

The size of an item. This field can also be used to describe a second item attribute other than size if desired. This field must be 1-8 characters.

ItemTaxAmount# String True

The tax amount for the item. Either a tax amount or a tax percentage can be specified, but not both; the other value and the document total tax amounts will be recomputed to reflect the value you specify.

ItemTaxCode# String False

The tax code of the item.

ItemTaxPercentage# String True

The tax percentage for the item. Either a tax amount or a tax percentage can be specified, but not both; the other value and the document total tax amounts will be recomputed to reflect the value you specify.

ItemUnitOfMeasure# String False

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item.

ItemUPC# String False

The UPC/EAN/ISBN of the item. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.

ItemWebDesc# String True

The description of the item for use online.

ItemManufacturer# String True

The manufacturer of the item.

ItemWeight# Double True

The weight of the item.

ItemWebSKU# String True

The SKU of the item for online use.

QuickBooks POS Connector for CData Sync

SalesOrders

Create, update, delete, and query QuickBooks POS Sales Orders.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM SalesOrders WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new Sales Orders record, the CustomerListId field is required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the SalesOrderItems table as # columns. Note that ItemListId is required when adding an item.

The following example will insert a new Sales Order with two items:

INSERT INTO SalesOrders (CustomerListId, SalesOrderNumber, ItemsAggregate) 
VALUES ('-9876543210987654321', 'SO12345', '<SalesOrderItems>
<Row><ItemListId>-1000000000000000001</ItemListId><ItemPrice>15.00</ItemPrice><ItemQty>1</ItemQty></Row>
<Row><ItemListId>-1000000000000000002</ItemListId><ItemPrice>25.00</ItemPrice><ItemQty>1</ItemQty></Row>
</SalesOrderItems>')

Update

Any field that is not read-only can be updated.

When updating a Sales Order record, items can be added or modified via the ItemsAggregate column.

To modify an existing item in a Sales Order record, the ItemTxnLineId column is required to identify the item. In an update using an ItemsAggregate, specify all ItemTxnLineId values to be kept, as those values not specified will be deleted.

To add a new item, the ItemListId that corresponds to the item to be added must be specified, just as in an insert.

Note that items cannot be both modified and added in the same ItemsAggregate request. Modifying an item, using ItemTxnLineId, takes precedence over added items and thus QuickBooks POS ignores added items and performs the modification of only the existing items.

Modify Items Example: Total of three items with ItemTxnLineId values of 1, 2, and 3. Item 1 is updated, Item 2 is left alone, and Item 3 will be deleted.

UPDATE SalesOrders SET ItemsAggregate='<SalesOrderItems>
<Row><ItemTxnLineId>1</ItemTxnLineId><ItemSize>L</ItemSize></Row>
<Row><ItemTxnLineId>2</ItemTxnLineId></Row>
</SalesOrderItems>'
WHERE TxnId='-1234567890123456789'

Add New Item Example: Existing items remain intact when adding new items.

UPDATE SalesOrders SET ItemsAggregate='<SalesOrderItems>
<Row><ItemListId>-1000000000000000003</ItemListId><ItemCost>40.00</ItemCost><ItemQty>1</ItemQty></Row>
</SalesOrderItems>' 
WHERE TxnId='-1234567890123456789'

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

CustomerListID String False Single

A reference to the customer.

Associate String False Range

The employee making the adjustment.

BalanceDue Decimal True Range

The balance remaining on the order.

Cashier String False Range

Name of the employee taking the sales order. Note that this value is autofilled with the logged-in employee name if logins are required.

DepositBalance Decimal True

The sum of all deposits received, less any deposits already used.

Discount Decimal False Range

The amount of any discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

Enter a percentage discount applicable to the transaction. Discounts are applied to the subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

Instructions String False Range

Optional field to provide instructions to the vendor regarding the order. You can add up to two lines of text. This text prints on sales orders, but is not displayed on-screen.

ItemsCount String True Range

The number of line items in the request that added the transaction to QBPOS.

ItemsAggregate String False

An aggregate of the line item data, which can be used for adding a transaction and its line items.

PriceLevelNumber String False Single

The price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

PromoCode String False Range

A miscellaneous note on the transaction, usually identifying a special sale. An entry in this field may be required depending on settings in the company preferences.

Qty Double True Range

The quantity of the line item being ordered or transferred.

SalesOrderNumber String False Range

This is a unique number assigned by QBPOS to the sales order at creation.

SalesOrderStatusDesc String False

Current status of the order. Possible values are OPEN, CLOSED, or a custom status you have defined in the company preferences. Used to track and filter the progression of orders for viewing and reporting.

SalesOrderType String False

The type of the customer order document. Possible values are SalesOrder, Layaway, WorkOrder, and WebOrder.

StoreExchangeStatus String True

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether changes to the customer information were successfully updated. Possible values are Modified, Sent, and Acknowledged.

Subtotal Decimal True Range

The sum of the extended item costs of the transaction before applying any discounts or fees. This value is updated when a voucher that references the transaction is updated.

TaxAmount Decimal True Range

The tax amount, returned in the response to inserting a non-held transaction.

TaxCategory String False Range

The tax category (tax location).

TaxPercentage String False Range

The tax percentage, returned in the response to inserting the transaction. Either a tax amount or a tax percentage can be specified, but not both. The other value and the document total tax amounts will be recomputed to reflect the value you specify.

Total Decimal True Range

The total amount, after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

UnfilledPercent String True Range

The percentage of the total sales order quantity that has not yet been received. This value is updated when a voucher that references the purchase order is updated.

BillingInformation_Salutation String True

A salutation, such as Mr., Mrs., etc.

BillingInformation_FirstName String True

The first name of the customer as stated in the address info.

BillingInformation_LastName String True

The last name of the customer as stated in the address info.

BillingInformation_CompanyName String True

The name of the company of the customer.

BillingInformation_Phone String True

The primary telephone number for the customer.

BillingInformation_Phone2 String True

An alternate telephone or fax number for the customer.

BillingInformation_Phone3 String True

An alternate telephone or fax number for the customer.

BillingInformation_Street String True

Street address of the billing address of the customer.

BillingInformation_Street2 String True

The second line of the street address of the billing address of the customer.

BillingInformation_City String True

City name for the billing address of the customer.

BillingInformation_State String True

State name for the billing address of the customer.

BillingInformation_PostalCode String True

Postal code for the billing address of the customer.

BillingInformation_Country String True

Country for the billing address of the customer.

ShippingInformation_AddressName String False

The name used to identify the shipping address of the customer.

ShippingInformation_CompanyName String False

The company name of the shipping address of the customer.

ShippingInformation_FullName String False

The recipient's full name of the shipping address of the customer.

ShippingInformation_Phone String False

The primary telephone number for the shipping address of the customer.

ShippingInformation_Street String False

Street address of the shipping address of the customer.

ShippingInformation_Street2 String False

The second line of the street address of the shipping address of the customer.

ShippingInformation_City String False

City name for the shipping address of the customer.

ShippingInformation_State String False

State name for the shipping address of the customer.

ShippingInformation_PostalCode String False

Postal code for the shipping address of the customer.

ShippingInformation_Country String False

Country for the shipping address of the customer.

ShippingInformation_ShipBy String False

The shipping method used to send merchandise to a customer.

ShippingInformation_Shipping Decimal False

Indicates the amount to be paid for shipping.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the sales order was created.

TimeModified Datetime True Range

When the sales order was last modified.

QuickBooks POS Connector for CData Sync

SalesReceiptItems

Create, update, and query QuickBooks POS Sale Order Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM SalesReceiptItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to create a new Sales Receipt record or to add an item to an existing Sales Receipt record.

To create a new Sales Receipt record, the CustomerListId is required along with an Item.

INSERT INTO SalesReceiptItems (SalesReceiptType, CustomerListId, SalesReceiptNumber, CashTenderAmount, ItemListId, ItemPrice, ItemQty) 
VALUES ('Sales', '-9876543210987654321', 'SR12345', 2.15, '-1000000000000000001', 2.00, 1)

To add an item to an existing record, the TxnId column of the Sales Receipt record that the item is to be added to and the ItemListId are required.

INSERT INTO SalesReceiptItems (TxnId, CashTenderAmount, ItemListId, ItemPrice, ItemQty) 
VALUES ('-1234567890123456789', 2.15, '-1000000000000000001', 2.00, 1)

Columns

Name Type ReadOnly Filter Type Description
ID String True

Index line identifier, auto generated by CData.

TxnID String True Single

The unique identifier, generated by QBPOS.

CustomerListID String False Single

A reference to the customer.

Associate String False Range

The employee making the adjustment.

Cashier String False Range

Name of the employee making the transaction. Notice that this value is auto-filled with the logged-in employee name if logins are required.

Comments String False Range

A description of the transaction.

Discount Decimal False Range

The amount of a discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

The percentage discount applicable to the transaction. Discounts are applied to the order subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

HistoryDocStatus String False Single

Indicates the current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this is the corrected version of the original memo), Reversing (this memo caused an older memo to be reversed), Regular (the document has been corrected).

ItemsCount String True Range

The number of line items in the request that added the transaction to QBPOS.

PriceLevelNumber String False Single

The price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

PromoCode String False Range

A miscellaneous note on the transaction, usually identifying a special sale. An entry in this field may be required depending on settings in the company preferences.

QuickBooksFlag String False Single

The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

SalesOrderTxnID String False Single

A reference to the associated sales order, which will be automatically updated with changes to the sales receipt.

SalesReceiptNumber String False Range

A unique number assigned to the receipt by QBPOS at creation.

SalesReceiptType String False Single

The receipt type. Possible values are Sales, Return, Deposit, Refund, Payout, and Payin.

ShipDate Datetime False Range

The date the merchandise shipped.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether the customer information was successfully updated. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

Subtotal Decimal True Range

The sum of the extended item costs of the transaction before applying any discounts or fees. This value is updated when a voucher that references the transaction is updated.

TaxAmount String True Range

The tax amount, returned in the response to inserting a non-held transaction.

TaxCategory String False Range

The tax category (location).

TaxPercentage String False Range

The tax percentage, returned in the response to inserting the transaction. Either a tax amount or a tax percentage can be specified, but not both. The other value and the document total tax amounts will be recomputed to reflect the value you specify.

TenderType String False Single

Identifies which payment method was used for customer payment in the transaction. Possible values are None, Cash, Check, CreditCard, DebitCard, GiftCard, Account, Gift, Deposit, and Split.

TipReceiver String False Range

The employee to whom the tip is to be paid.

Total Decimal True Range

The total amount after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TrackingNumber String True Range

The number provided to customers by the shipping company to help them track merchandise location and progress during shipment.

TxnDate Date False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

Indicates the current state of the transaction. Possible values are Normal (indicates the transaction is complete) and Held (the transaction has not yet been finalized).

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

BillingInformation_Salutation String True

A salutation, such as Mr., Mrs., etc.

BillingInformation_FirstName String True

The first name of the customer as stated in the address info.

BillingInformation_LastName String True

The last name of the customer as stated in the address info.

BillingInformation_CompanyName String True

The name of the company of the customer.

BillingInformation_Phone String True

The primary telephone number for the customer.

BillingInformation_Phone2 String True

An alternate telephone or fax number for the customer.

BillingInformation_Phone3 String True

An alternate telephone or fax number for the customer.

BillingInformation_Street String True

Street address of the billing address of the customer.

BillingInformation_Street2 String True

The second line of the street address in the billing address for the customer.

BillingInformation_City String True

City name for the billing address of the customer.

BillingInformation_State String True

State name for the billing address of the customer.

BillingInformation_PostalCode String True

Postal code for the billing address of the customer.

BillingInformation_Country String True

Country for the billing address of the customer.

ShippingInformation_AddressName String False

The name used to identify the shipping address of the customer.

ShippingInformation_CompanyName String False

The company name of the shipping address of the customer.

ShippingInformation_FullName String False

The full name of the recipient in the shipping address of the customer.

ShippingInformation_Phone String False

The primary telephone number for the shipping address of the customer.

ShippingInformation_Street String False

Street address of the shipping address of the customer.

ShippingInformation_Street2 String False

The second line of the street address of the shipping address of the customer.

ShippingInformation_City String False

City name for the shipping address of the customer.

ShippingInformation_State String False

State name for the shipping address of the customer.

ShippingInformation_PostalCode String False

Postal code for the shipping address of the customer.

ShippingInformation_Country String False

Country for the shipping address of the customer.

ShippingInformation_ShipBy String False

The shipping method used to send merchandise to a customer.

ShippingInformation_Shipping Decimal False

Indicates the amount to be paid for shipping.

AccountTenderAmount Decimal False

Amount paid by the customer.

AccountTipAmount Decimal False

The amount of the gratuity paid to the employee.

CashTenderAmount Decimal False

Cash amount paid by the customer.

CheckNumber String False

The number of the check used as payment.

CheckTenderAmount Decimal False

Check amount paid by the customer.

CreditCardName String False

The name of the credit card used in the transaction, for example, Visa.

CreditCardTenderAmount Decimal False

Credit card amount paid by the customer.

CreditCardTipAmount Decimal False

Credit card amount of the gratuity paid to the employee.

DebitCardCashback Decimal False

Debit card amount paid by the customer.

DebitCardTenderAmount Decimal False

Debit card amount paid by the customer.

DepositTenderAmount Decimal False

Deposit amount paid by the customer.

GiftCertificateNumber String False

Number of the gift certificate used for full or partial payment.

GiftTenderAmount Decimal False

Gift certificate amount paid by the customer.

GiftCardTenderAmount Decimal False

Gift card amount paid by the customer.

GiftCardTipAmount Decimal False

Gift card amount of the gratuity paid to the employee.

ItemListID# String False

The unique identifier for the item, generated by QuickBooks POS.

ItemALU# String False

Alternate Lookup. A user-defined identifier to be used to look up an item. Do not duplicate the Item Number or UPC in this field. This will adversely affect performance for item lookups.

ItemAssociate# String False

The employee making the adjustment.

ItemAttribute# String False

A field used to describe an item characteristic, typically color, pattern, material, or a second size. This value can be 1-8 characters.

ItemCommission# Decimal False

The commission amount for the item, based on the item price and the Associates commission percent, if the item is eligible for commissions.

ItemCost# Decimal False

The average cost of the item. Cost is automatically updated by receiving vouchers or manually updated by adjustment memos.

ItemDesc1# String False

The principal item description field. This description is printed on receipts.

ItemDesc2# String False

Secondary description field usually used for any additional information to describe this particular item, such as the catalog number of a vendor. Also can be used for additional information at the point of sale.

ItemDiscount# Decimal False

The amount of a discount applicable to the transaction. Discounts are applied to the transaction subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

ItemDiscountPercent# Double False

A percentage discount applicable to the item. Discounts are applied to the transaction subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

ItemDiscountType# String False

Allows you to specify the reason for an item discount. Discount types can be customized in the company preferences and used to filter reports.

ItemExtendedPrice# Decimal True

The extended price of a line item.

ItemExtendedTax# Decimal True

Total tax per line item.

ItemItemNumber# Double True

Unique number assigned to the item when it is added to QBPOS.

ItemNumberOfBaseUnits# Double True

The base unit, used to specify inventory quantity.

ItemPrice# Decimal False

The purchase or sales price of this item.

ItemPriceLevelNumber# String True

The price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

ItemQty# Double False

The quantity of the line item being ordered or transferred.

ItemSerialNumber# String False

Item serial numbers can be recorded in QBPOS for purposes of warranty tracking or meeting legal requirements. Once recorded, former documents can be quickly located by searching by serial number.

ItemSize# String False

The size of an item. This field can also be used to describe a second item attribute other than size if desired. This field can contain 1-8 characters.

ItemTaxAmount# String True

The tax amount for the item, returned in the response to inserting a non-held transaction.

ItemTaxCode# String False

The tax code of the item.

ItemTaxPercentage# String True

Either a tax amount or a tax percentage can be specified, but not both. The other value and the document total tax amounts will be recomputed to reflect the value you specify.

ItemUnitOfMeasure# String False

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item.

ItemUPC# String False

The UPC/EAN/ISBN of the item. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.

ItemWebDesc# String True

The description of the item for use online.

ItemManufacturer# String True

The manufacturer of the item.

ItemWeight# Double True

The weight of the item.

ItemWebSKU# String True

The SKU of the item for online use.

QuickBooks POS Connector for CData Sync

SalesReceipts

Create, update, and query QuickBooks POS Sales Receipts.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM SalesReceipts WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new Sales Receipt record, the CustomerListId field is required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the SalesReceiptItems table as # columns. Note that ItemListId is required when adding an item.

The following example will insert a new Sales Receipt with two items (note: 7.5% sales tax):

INSERT INTO SalesReceipts (SalesReceiptType, CustomerListId, SalesReceiptNumber, CashTenderAmount, ItemsAggregate) 
VALUES ('Sales', '-9876543210987654321', 'SR12345', 43.00, '<SalesReceiptItems>
<Row><ItemListId>-1000000000000000001</ItemListId><ItemPrice>15.00</ItemPrice><ItemQty>1</ItemQty></Row>
<Row><ItemListId>-1000000000000000002</ItemListId><ItemPrice>25.00</ItemPrice><ItemQty>1</ItemQty></Row>
</SalesReceiptItems>')

Update

Modifying a Sales Receipt is not allowed by QuickBooks POS. Instead an insert can be performed and SalesReceiptType can be set to the desired function, such as "Refund".

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QBPOS.

CustomerListID String False Single

A reference to the customer.

Associate String False Range

The employee making the adjustment.

Cashier String False Range

Name of the employee making the transaction. Notice that this value is auto-filled with the logged-in employee name if logins are required.

Comments String False Range

A description of the transaction.

Discount Decimal False Range

The amount of a discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

The percentage discount applicable to the transaction. Discounts are applied to the order subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

HistoryDocStatus String False Single

Indicates the current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this is the corrected version of the original memo), Reversing (this memo caused an older memo to be reversed), Regular (the document has been corrected).

ItemsCount String True Range

The number of line items in the request that added the transaction to QBPOS.

ItemsAggregate String False

An aggregate of the line item data, which can be used for adding a transaction and its line items.

PriceLevelNumber String False Single

The price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.

PromoCode String False Range

A miscellaneous note on the transaction, usually identifying a special sale. An entry in this field may be required depending on settings in the company preferences.

QuickBooksFlag String False Single

The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

SalesOrderTxnID String False Single

A reference to the associated sales order, which will be automatically updated with changes to the sales receipt.

SalesReceiptNumber String False Range

A unique number assigned to the receipt by QBPOS at creation.

SalesReceiptType String False Single

The receipt type. Possible values are Sales, Return, Deposit, Refund, Payout, and Payin.

ShipDate Datetime False Range

The date the merchandise shipped.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether the customer information was successfully updated. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

Subtotal Decimal True Range

The sum of the extended item costs of the transaction before applying any discounts or fees. This value is updated when a voucher that references the transaction is updated.

TaxAmount String True Range

The tax amount, returned in the response to inserting a non-held transaction.

TaxCategory String False Range

The tax category (location).

TaxPercentage String False Range

The tax percentage, returned in the response to inserting the transaction. Either a tax amount or a tax percentage can be specified, but not both. The other value and the document total tax amounts will be recomputed to reflect the value you specify.

TenderType String False Single

Identifies which payment method was used for customer payment in the transaction. Possible values are None, Cash, Check, CreditCard, DebitCard, GiftCard, Account, Gift, Deposit, and Split.

TipReceiver String False Range

The employee to whom the tip is to be paid.

Total Decimal True Range

The total amount after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TrackingNumber String True Range

The number provided to customers by the shipping company to help them track merchandise location and progress during shipment.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

Indicates the current state of the transaction. Possible values are Normal (indicates the transaction is complete) and Held (the transaction has not yet been finalized).

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the transaction was created.

TimeModified Datetime True Range

When the transaction was last modified.

BillingInformation_Salutation String True

A salutation, such as Mr., Mrs., etc.

BillingInformation_FirstName String True

The first name of the customer as stated in the address info.

BillingInformation_LastName String True

The last name of the customer as stated in the address info.

BillingInformation_CompanyName String True

The name of the company of the customer.

BillingInformation_Phone String True

The primary telephone number for the customer.

BillingInformation_Phone2 String True

An alternate telephone or fax number for the customer.

BillingInformation_Phone3 String True

An alternate telephone or fax number for the customer.

BillingInformation_Street String True

Street address of the billing address of the customer.

BillingInformation_Street2 String True

The second line of the street address in the billing address for the customer.

BillingInformation_City String True

City name for the billing address of the customer.

BillingInformation_State String True

State name for the billing address of the customer.

BillingInformation_PostalCode String True

Postal code for the billing address of the customer.

BillingInformation_Country String True

Country for the billing address of the customer.

ShippingInformation_AddressName String False

The name used to identify the shipping address of the customer.

ShippingInformation_CompanyName String False

The company name of the shipping address of the customer.

ShippingInformation_FullName String False

The full name of the recipient in the shipping address of the customer.

ShippingInformation_Phone String False

The primary telephone number for the shipping address of the customer.

ShippingInformation_Street String False

Street address of the shipping address of the customer.

ShippingInformation_Street2 String False

The second line of the street address of the shipping address of the customer.

ShippingInformation_City String False

City name for the shipping address of the customer.

ShippingInformation_State String False

State name for the shipping address of the customer.

ShippingInformation_PostalCode String False

Postal code for the shipping address of the customer.

ShippingInformation_Country String False

Country for the shipping address of the customer.

ShippingInformation_ShipBy String False

The shipping method used to send merchandise to a customer.

ShippingInformation_Shipping Decimal False

Indicates the amount to be paid for shipping.

AccountTenderAmount Decimal False

Amount paid by the customer.

AccountTipAmount Decimal False

The amount of the gratuity paid to the employee.

CashTenderAmount Decimal False

Cash amount paid by the customer.

CheckNumber String False

The number of the check used as payment.

CheckTenderAmount Decimal False

Check amount paid by the customer.

CreditCardName String False

The name of the credit card used in the transaction, for example, Visa.

CreditCardTenderAmount Decimal False

Credit card amount paid by the customer.

CreditCardTipAmount Decimal False

Credit card amount of the gratuity paid to the employee.

DebitCardCashback Decimal False

The amount of cash given back to the customer from the debit card transaction.

DebitCardTenderAmount Decimal False

Debit card amount paid by the customer.

DepositTenderAmount Decimal False

Deposit amount paid by the customer.

GiftCertificateNumber String False

Number of the gift certificate used for full or partial payment.

GiftTenderAmount Decimal False

Gift certificate amount paid by the customer.

GiftCardTenderAmount Decimal False

Gift card amount paid by the customer.

GiftCardTipAmount Decimal False

Gift card amount of the gratuity paid to the employee.

QuickBooks POS Connector for CData Sync

TimeEntries

Create, update, and query QuickBooks POS employee time entries.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM TimeEntries WHERE FirstName LIKE '%George%'

Insert

To create a new time entry record, there are no required fields; however, EmployeeListId should be specified to identify who the employee is.

INSERT INTO TimeEntries (EmployeeListId, ClockInTime) 
VALUES ('-9876543210987654321', '2014-08-04T13:15:20-04:00')

Update

Any field that is not read-only can be updated.

UPDATE TimeEntries SET ClockOutTime='2014-08-04T19:15:20-04:00' WHERE ListId='-1234567890123456789' 

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

EmployeeListID String False Single

A reference to the employee.

EmployeeLoginName String True Range

The name used by the employee to log into the QBPOS company.

FirstName String True Range

The first name of the employee.

LastName String True Range

The last name of the employee.

ClockInTime Datetime False Range

The date and time when the employee clocked in.

ClockOutTime Datetime False Range

The date and time when the employee clocked out.

CreatedBy String False Range

The person who created this time entry.

QuickBooksFlag Boolean False Single

The status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (the memo has not yet been sent to QuickBooks), COMPLETE (the memo has been sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the employee was created.

TimeModified Datetime True Range

When the employee was last modified.

QuickBooks POS Connector for CData Sync

Vendors

Create, update, delete and query QuickBooks POS vendors.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM Vendors WHERE CompanyName LIKE '%Cross%'

Insert

To create a new vendor record, the CompanyName field is required.

INSERT INTO Vendors (CompanyName, VendorCode, AccountNumber, FirstName, LastName) 
VALUES ('Cross Industries', 'JCI', '12345', 'Joshua', 'Cross')

Update

Any field that is not read-only can be updated.

UPDATE Vendors SET Street='123 Main St', City='Townville', State='AZ', PostalCode='85201' WHERE ListId='-1234567890123456789' 

Columns

Name Type ReadOnly Filter Type Description
ListID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

CompanyName String False Range

The name of the business.

VendorCode String False Range

The user-defined code for the vendor.

AccountNumber String False Range

Your account number with the vendor. This number is displayed on purchase orders that are created for the vendor.

Salutation String False Range

A salutation, such as Mr., Mrs., etc.

FirstName String False Range

The first name of the vendor.

LastName String False Range

The last name of the vendor.

Street String False Range

Street address of the vendor.

Street2 String False Range

The second line of the street address of the vendor.

City String False Range

City name for the billing address of the vendor.

State String False Range

State name for the billing address of the vendor.

PostalCode String False Range

Postal code for the billing address of the vendor.

Country String False Range

Country for the billing address of the vendor.

Phone String False Range

The primary telephone number for the vendor.

Phone2 String False Range

An alternate telephone or fax number for the vendor.

Phone3 String False Range

An alternate telephone or fax number for the vendor.

Email String False Range

The email address for communicating with the vendor.

Notes String False Range

Notes on this vendor.

IsInactive Boolean False Single

Indicates whether the vendor is currently active.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether the customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

Terms String True

Any payment terms that are defined for the vendor file are carried to the purchase order, although payment terms are not visible on a purchase order.

TermsDiscount Decimal False Range

The discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsDiscountDays Double False Range

The number of days after the invoice date when payment must be received in order to obtain the discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsNetDays Double False Range

Payment must be made within this number of days, counting from the invoice date.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the vendor was created.

TimeModified Datetime True Range

When the vendor was last modified.

QuickBooks POS Connector for CData Sync

VoucherItems

Create and query QuickBooks POS Voucher Items.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM VoucherItems WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

Insert can be used to create a new Voucher record or to add an item to an existing Voucher record.

To create a new Voucher record, the VendorListId field is required.

INSERT INTO VoucherItems (VoucherType, VendorListId, InvoiceNumber, Fee, ItemListId, ItemCost, ItemQtyReceived) 
VALUES ('Receiving', '-9876543210987654321', 'INV12345', 2.15, '-1000000000000000001', 20.00, 10)

To add an item to an existing record, the TxnId column of the Voucher that the item should be added to and the ItemListId are required.

INSERT INTO VoucherItems (TxnId, ItemListId, ItemPrice, ItemQtyReceived) 
VALUES ('-1234567890123456789', '-1000000000000000001', 40.00, 5)

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the voucher transaction.

Comments String False Range

A description of the voucher.

CompanyName String True Range

The name of the business.

Discount Decimal False Range

The amount of any discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

Enter a percentage discount applicable to the voucher. Discounts are applied to the voucher subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

Fee Decimal False Range

You can enter a fee using this field. Notice that fees entered on a voucher (such as a special handling fee) are not spread over the cost of individual items. When a receiving voucher references a voucher with a fee entered, the fee can be transferred to the voucher at that point.

Freight String False Range

Price charged by the shipping carrier to move the merchandise between the stores involved in the transaction.

HistoryDocStatus String True Single

Indicates the current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this memo is the corrected version of the original), Reversing (this memo caused an older memo to be reversed), and Regular (the document has been corrected).

InvoiceDate Datetime False Range

The date shown on the invoice of the vendor.

InvoiceDueDate Datetime False Range

The date the invoice is due and payable.

InvoiceNumber String False Range

The invoice number for the shipment.

ItemsCount String True Range

The number of line items in request that added the voucher.

PayeeCode String True Range

The vendor or agent to be paid for the merchandise.

PayeeListID String False Single

The refrrence to the vendor who is to be paid for the merchandise being received via this receiving voucher.

PayeeName String True Range

The full vendor or customer name returned from the QBPOS company that matches the PayeeCode value.

PurchaseOrderNumber String True Range

The number you want to assign to the voucher. It should be unique. This number is automatically assigned to the voucher by QBPOS if left empty during the creation process.

PurchaseOrderTxnID String False Single

In a receiving voucher, this field links the voucher to a purchase order so it can receive items against that purchase order.

QuickBooksFlag Boolean False Single

The value here displays the status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether changes to the information about the customer was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

Subtotal Decimal True Range

The sum of extended item costs of the transaction before applying any discounts or fees.

TermsDiscount Double False Range

The discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsDiscountDays Double False Range

The number of days after the invoice date in which payment must be received in order to obtain the discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsNetDays Double False Range

Payment must be made within this number of days, counting from the invoice date.

Total Decimal True Range

The total amount after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TotalQty Double True Range

Total quantity of items being transferred.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

The current state of the transaction. Possible values are Normal (the transaction is complete) and Held (the transaction has not yet been finalized).

VendorCode String True Range

The code assigned to the vendor specified for the item.

VendorListID String False Single

A reference to the vendor.

VoucherNumber String True Range

A unique number assigned to the voucher by QBPOS at creation.

VoucherType String False Single

The type of voucher you are creating. Possible values are Receiving and Return.

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the voucher was created.

TimeModified Datetime True Range

When the voucher was last modified.

ItemListID# String False

The unique identifier, generated by QuickBooks POS, for the item.

ItemALU# String False

Alternate Lookup. A user-defined identifier to be used to look up an item. Do not duplicate the Item Number or UPC in this field. This will adversely affect performance for item lookups.

ItemAttribute# String False

A field used to describe an item characteristic, typically color, pattern, material, or a second size. This value must be 1-8 characters.

ItemCost# Decimal False

The average cost of the item. Cost is automatically updated by receiving vouchers or manually updated by adjustment memos.

ItemDesc1# String False

The principal item description field. This description is printed on receipts.

ItemDesc2# String False

Secondary description field usually used for any additional information to describe this particular item, such as a vendor's catalog number. Also can be used for additional information at the point of sale.

ItemExtendedCost# Decimal False

The quantity ordered multiplied by the item cost.

ItemItemNumber# Double True

Unique number assigned to the item when it is added to QBPOS.

ItemNumberOfBaseUnits# Double True

The base unit, used to track and report the inventory quantity.

ItemOriginalOrderQty# Double False

The quantity of the line item being ordered or transferred.

ItemQtyReceived# Double True

The item quantity received to date.

ItemSerialNumber# String False

Item serial numbers can be recorded in QBPOS for purposes of warranty tracking or meeting legal requirements. Once recorded, former documents can be quickly located by searching by serial number.

ItemSize# String False

The size of an item. This field can also be used to describe a second item attribute other than size if desired. This value must be 1-8 characters.

ItemUnitOfMeasure# String False

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item.

ItemUPC# String False

The item's UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.

QuickBooks POS Connector for CData Sync

Vouchers

Create, update, delete, and query QuickBooks POS Vouchers.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM Vouchers WHERE Associate LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014'

Insert

To create a new Voucher record, the VendorListId field is required. Items are specified via an XML aggregate within the ItemsAggregate column. The columns that may be used in these aggregates are defined in the VoucherItems table as # columns. Note that ItemListId is required when adding an item.

The following example will insert a new Voucher with two items (note: 7.5% sales tax):

INSERT INTO Vouchers (VoucherType, VendorListId, InvoiceNumber, Fee, ItemsAggregate) 
VALUES ('Receiving', '-9876543210987654321', 'INV12345', 3.00, '<VoucherItems>
<Row><ItemListId>-1000000000000000001</ItemListId><ItemCost>10.00</ItemPrice><ItemQtyReceived>25</ItemQtyReceived></Row>
<Row><ItemListId>-1000000000000000002</ItemListId><ItemCost>20.00</ItemPrice><ItemQtyReceived>25</ItemQtyReceived></Row>
</VoucherItems>')

Update

Modifying a voucher is not allowed by QuickBooks POS. Instead an insert can be performed and VoucherType set to the desired function, such as "Return".

Columns

Name Type ReadOnly Filter Type Description
TxnID [KEY] String True Single

The unique identifier, generated by QuickBooks POS.

Associate String False Range

The employee making the voucher transaction.

Comments String False Range

A description of the voucher.

CompanyName String True Range

The name of the business.

Discount Decimal False Range

The amount of any discount applicable to the transaction. Discounts are applied to the subtotal. Entering an amount causes the Discount Percent field to be automatically calculated.

DiscountPercent Double False Range

Enter a percentage discount applicable to the voucher. Discounts are applied to the voucher subtotal. Entering a discount percentage causes the Discount field to be automatically calculated.

Fee Decimal False Range

You can enter a fee using this field. Notice that fees entered on a voucher (such as a special handling fee) are not spread over the cost of individual items. When a receiving voucher references a voucher with a fee entered, the fee can be transferred to the voucher at that point.

Freight String False Range

Price charged by the shipping carrier to move the merchandise between the stores involved in the transaction.

HistoryDocStatus String True Single

Indicates the current status of the cost memo created as a result of inserting the transaction. Possible values are Reversed (this memo is the corrected version of the original), Reversing (this memo caused an older memo to be reversed), and Regular (the document has been corrected).

InvoiceDate Datetime False Range

The date shown on the invoice of the vendor.

InvoiceDueDate Datetime False Range

The date the invoice is due and payable.

InvoiceNumber String False Range

The invoice number for the shipment.

ItemsCount String True Range

The number of line items in request that added the voucher.

ItemsAggregate String False

An aggregate of the line item data, which can be used for adding a voucher and its line item data.

PayeeCode String True Range

The vendor or agent to be paid for the merchandise.

PayeeListID String False Single

The refrrence to the vendor who is to be paid for the merchandise being received via this receiving voucher.

PayeeName String True Range

The full vendor or customer name returned from the QBPOS company that matches the PayeeCode value.

PurchaseOrderNumber String True Range

The number you want to assign to the voucher. It should be unique. This number is automatically assigned to the voucher by QBPOS if left empty during the creation process.

PurchaseOrderTxnID String False Single

In a receiving voucher, this field links the voucher to a purchase order so it can receive items against that purchase order.

QuickBooksFlag String False Single

The value here displays the status of data export for a memo. This element is used only if QBPOS is being used with QuickBooks Financial Software. Possible values are NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), and ERROR (attempting to send the memo to QuickBooks resulted in an error). No default value.

StoreExchangeStatus String True Single

In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether changes to the information about the customer was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.

StoreNumber Double False Range

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.

Subtotal Decimal True Range

The sum of extended item costs of the transaction before applying any discounts or fees.

TermsDiscount Decimal False Range

The discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsDiscountDays Double False Range

The number of days after the invoice date in which payment must be received in order to obtain the discount percentage. A discount is applied by the vendor if payment is received on or before the number of days specified in the TermsDiscountDays field for that vendor. Terms-related discounts for vendors are created or modified using the TermsDiscountDays and TermsDiscount fields in an insert or update.

TermsNetDays Double False Range

Payment must be made within this number of days, counting from the invoice date.

Total Decimal True Range

The total amount after discounts and fees are applied. This value is updated when a voucher that references the transaction is updated.

TotalQty Double True Range

Total quantity of items being transferred.

TxnDate Datetime False Range

The date of the transaction. In some cases, if this value is not specified, QBPOS will use the current date or pre-fill TxnDate with the date of the last-saved transaction of the same type.

TxnState String False Single

The current state of the transaction. Possible values are Normal (the transaction is complete) and Held (the transaction has not yet been finalized).

VendorCode String True Range

The code assigned to the vendor specified for the item.

VendorListID String False Single

A reference to the vendor.

VoucherNumber String True Range

A unique number assigned to the voucher by QBPOS at creation.

VoucherType String False Single

The type of voucher you are creating. Possible values are Receiving and Return.

Workstation Double False Range

Workstation from which the transaction was made.

CustomFieldsOwnerID String False Multi

Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).

CustomFields String False

Custom fields returned from QuickBooks POS and formatted into XML.

TimeCreated Datetime True Range

When the voucher was created.

TimeModified Datetime True Range

When the voucher was last modified.

QuickBooks POS Connector for CData Sync

ビュー

ビューは、カラムと疑似カラムで構成されます。ビューは、データを示すという点でテーブルに似ていますが、ビューでは更新はサポートされません。通常、ビューとして表されるエンティティは、読み取り専用のエンティティです。多くの場合、これらのデータはストアドプロシージャを使用することで更新できます(その機能がデータソースに適用できる場合)。

ビューに対しては、通常のテーブルと同じようにクエリを実行でき、このときに返されるデータも同様です。

ビューとして公開されるクエリなどの動的ビューや、project_team ワークアイテムの特定の組み合わせを検索するためのビューがサポートされています。

QuickBooks POS Connector for CData Sync ビュー

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.
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.
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.

QuickBooks POS Connector for CData Sync

CompanyInfo

Query the company information from QuickBooks POS.

Table Specific Information

Select

The CompanyInfo table returns the current QBPOS company used by the application.

SELECT * FROM CompanyInfo

Columns

Name Type Filter Type Description
CompanyName [KEY] String The company name.
Address_Street String Street address of the company.
Address_CityStateZIP String City, state, and postal code of the company.
Address_Misc1 String First miscellaneous field of the company address.
Address_Misc2 String Second miscellaneous field of the company address.
Address_Misc3 String Third miscellaneous field of the company address.
QuickBooksCompanyFile String The company file name specified in the company preferences.

QuickBooks POS Connector for CData Sync

CustomColumns

Query QuickBooks POS Custom Fields.

Columns

Name Type Filter Type Description
OwnerID String Multi The owner of a data extension.
DataExtName String The name of the data extension.
DataExtType String The field's data type.
AssignToObject String Multi The object(s) associated with the result, specified as a comma-separated list.

QuickBooks POS Connector for CData Sync

CustomerRewards

Query QuickBooks POS Customer Rewards.

Table Specific Information

Select

QuickBooks allows many of the columns to be used in the WHERE clause of a SELECT query. These columns can create either Single or Range filters, as defined in the table schema.

Single Filters Single filters make direct comparisons by using the = comparison.
Range Filters Range filters can search only ranges that have an inclusive lower bound, specified by the >= operator, and an exclusive upper bound, specified by the < operator.

To apply a single bound to a string column that has the Range filter type, the = or LIKE operators are available.

To apply a single bound to a numeric or datetime column that has the Range filter type, the >, >=, <, <=, or = operators are available.


SELECT * FROM CustomerRewards WHERE FirstName LIKE '%George%' AND TimeModified >= '1/1/2014' AND TimeModified < '2/1/2014' AND AccountBalance > 100.00

Columns

Name Type Filter Type Description
ListID [KEY] String The unique identifier, generated by QuickBooks POS.
CustomerID String Range The user-specified Id for the customer.
FullName String The full name of the customer.
Salutation String Range A salutation, such as Mr., Mrs., etc.
FirstName String Range The first name of the customer as stated in the address info.
LastName String Range The last name of the customer as stated in the address info.
CompanyName String Range The name of the company of the customer.
Phone String Range The primary telephone number for the customer.
Phone2 String Range An alternate telephone or fax number for the customer.
Phone3 String Range An alternate telephone or fax number for the customer.
Email String Range The email address of the customer.
IsOkToEMail Boolean Single Whether or not the customer can be notified via email.
CustomerType String Range A customer type within QuickBooks POS.
Notes String Range Notes on this customer.
BillAddress_Street String Street address of the billing address of the customer.
BillAddress_Street2 String The second line of the street address of the billing address of the customer.
BillAddress_City String City name for the billing address of the customer.
BillAddress_State String State name for the billing address of the customer.
BillAddress_PostalCode String Postal code for the billing address of the customer.
BillAddress_Country String Country for the billing address of the customer.
IsNoShipToBilling Boolean Single Whether or not the billing address can be used as a shipping address.
IsAcceptingChecks Boolean Single Indicates whether checks are being accepted from this customer. The default is True.
IsUsingChargeAccount Boolean Single Indicates whether the customer is using a charge account.
StoreExchangeStatus String Single In multistore configurations, if the customer information has changed, this information is updated at the headquarters store. This response field indicates whether customer information was successfully updated or not. Possible values are Modified, Sent, and Acknowledged.
TaxCategory String Range The sales tax category.
CustomerDiscPercent Double Range The suggested customer discount percentage for all items listed on a sales receipt. Note that you cannot assign both a discount percentage and a price level to a customer.
CustomerDiscType String Single The customer discount type.
PriceLevelNumber String Single The suggested price level discount given to the customer. Note that you cannot assign both a discount percentage and a price level to a customer.
LastSale Datetime Range The time of the last purchase made by this customer.
AmountPastDue Decimal Range The amount past due for a transaction.
IsUsingWithQB Boolean Single Whether or not the customer is using QuickBooks POS with QuickBooks.
AccountBalance Decimal Range The balance of the account owned by this customer, including subcustomers. Available only when QuickBooks POS is being used with QuickBooks and only if UseWithQB is True.
AccountLimit Decimal Range The limit of the account owned by this customer, including subcustomers. Available only when QuickBooks POS is being used with QuickBooks and only if UseWithQB is True.
CustomFieldsOwnerID String Multi Identifies the owner of the CustomFields to be returned in the response. The default value of '0' is sent which refers to a public custom field that is exposed in the QuickBooks POS UI. All other values are GUID's that are created by the owner and are private custom fields (not exposed via the QuickBooks POS UI).
CustomFields String Custom fields returned from QuickBooks POS and formatted into XML.
TimeCreated Datetime Range When the customer was created.
TimeModified Datetime Range When the customer was last modified.
IsRewardsMember Boolean Indicates whether the customer is a rewards member.
RewardRewardAmount# String The amount of the reward earned.
RewardRewardPercent# String The percentage of the reward based on the transaction amount.
RewardEarnedDate# Datetime The date the reward was earned.
RewardMatureDate# Datetime The date the reward will mature.
RewardExpirationDate# Datetime The date the reward will expire.

QuickBooks POS Connector for CData Sync

カスタムフィールド

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 Sync App. 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>

QuickBooks POS Connector for CData Sync

接続文字列オプション

接続文字列プロパティは、接続を確立するために使用できるさまざまなオプションです。このセクションでは、本プロバイダーの接続文字列で設定できるオプションの一覧を示します。詳細については各リンクをクリックしてください。

接続を確立する方法について詳しくは、接続の確立を参照してください。

Connection


プロパティ説明
CompanyFileThe name of the CompanyFile to open.
QBPOSVersionThe QuickBooks Point Of Sale software version.
QBPOSPracticeSpecifies whether to use practice mode within QuickBooks Point Of Sale.
ApplicationNameThe name of the developer's application.
QBPOSXMLVersionThe version of QBPOSXML used in the outgoing message.

RemoteConnector


プロパティ説明
URLThe URL for the CData QuickBooks Desktop Gateway. For example, http://localhost:2080.
UserA username for the CData QuickBooks Desktop Gateway connection (if required by the Desktop Gateway).
PasswordA password for the CData QuickBooks Desktop Gateway connection.

SSL


プロパティ説明
SSLServerCertTLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。

Firewall


プロパティ説明
FirewallTypeプロキシベースのファイアウォールで使われるプロトコル。
FirewallServerプロキシベースのファイアウォールの名前もしくはIP アドレス。
FirewallPortプロキシベースのファイアウォールのTCP ポート。
FirewallUserプロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallPasswordプロキシベースのファイアウォールへの認証に使われるパスワード。

Proxy


プロパティ説明
ProxyAutoDetectこれは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
ProxyServerHTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
ProxyPortProxyServer プロキシが起動しているTCP ポート。
ProxyAuthSchemeProxyServer プロキシへの認証で使われる認証タイプ。
ProxyUserProxyServer プロキシへの認証に使われるユーザー名。
ProxyPasswordProxyServer プロキシへの認証に使われるパスワード。
ProxySSLTypeProxyServer プロキシへの接続時に使用するSSL タイプ。
ProxyExceptionsProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。

Logging


プロパティ説明
LogModulesログファイルに含めるコアモジュール。

Schema


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
BrowsableSchemasこのプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
Tablesこのプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
Views使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。

Miscellaneous


プロパティ説明
DelayAfterCloseA delay in milliseconds to be applied each time a connection to QuickBooks POS is closed.
MaxRowsクエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
Otherこれらの隠しプロパティは特定のユースケースでのみ使用されます。
PagesizeQuickBooks から返されるページあたりの結果の最大数。
PseudoColumnsこのプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
UserDefinedViewsカスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
QuickBooks POS Connector for CData Sync

Connection

このセクションでは、本プロバイダーの接続文字列で設定可能なConnection プロパティの全リストを提供します。


プロパティ説明
CompanyFileThe name of the CompanyFile to open.
QBPOSVersionThe QuickBooks Point Of Sale software version.
QBPOSPracticeSpecifies whether to use practice mode within QuickBooks Point Of Sale.
ApplicationNameThe name of the developer's application.
QBPOSXMLVersionThe version of QBPOSXML used in the outgoing message.
QuickBooks POS Connector for CData Sync

CompanyFile

The name of the CompanyFile to open.

解説

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 CData QuickBooks Desktop Gateway user.

QuickBooks POS Connector for CData Sync

QBPOSVersion

The QuickBooks Point Of Sale software version.

解説

Connections to QuickBooks Point Of Sale are specific to the version being used. Therefore it is required to specify the correct version being used. If an incorrect value is specified, a connection to QuickBooks error will result.

All versions of QuickBooks Point Of Sale are supported.

QuickBooks POS Connector for CData Sync

QBPOSPractice

Specifies whether to use practice mode within QuickBooks Point Of Sale.

解説

QuickBooks Point Of Sale provides a practice mode, which will be initiated when this property is set to 'True'. Practice mode allows you to experiment with features of QuickBooks Point Of Sale (including unlicensed features) without affecting your real data.

QuickBooks POS Connector for CData Sync

ApplicationName

The name of the developer's application.

解説

This name will appear when the application first connects to QuickBooks POS. QuickBooks will display this name and prompt the user to grant or refuse access to the application.

QuickBooks POS Connector for CData Sync

QBPOSXMLVersion

The version of QBPOSXML used in the outgoing message.

解説

Except as noted in the documentation, a value of 1.0 will suffice for all requests and for all versions of QuickBooks POS that support integrated applications.

Each release of QuickBooks POS continues to support all earlier versions of the SDK, meaning that requests using version 1.0 of the QuickBooks POS SDK are supported by all versions of QuickBooks POS. However, new requests and fields are supported only in later versions of the SDK. As such, it is recommended that you set the QBPOSXMLVersion property to correspond to the version of QuickBooks POS you are interacting with. These values are:

QuickBooks POS 1.0 - 4.01.0
QuickBooks POS 5.01.2, 1.1, 1.0
QuickBooks POS 6.02.5, 2.0
QuickBooks POS 7.0 and greater3.0

QuickBooks POS Connector for CData Sync

RemoteConnector

このセクションでは、本プロバイダーの接続文字列で設定可能なRemoteConnector プロパティの全リストを提供します。


プロパティ説明
URLThe URL for the CData QuickBooks Desktop Gateway. For example, http://localhost:2080.
UserA username for the CData QuickBooks Desktop Gateway connection (if required by the Desktop Gateway).
PasswordA password for the CData QuickBooks Desktop Gateway connection.
QuickBooks POS Connector for CData Sync

URL

The URL for the CData QuickBooks Desktop Gateway. For example, http://localhost:2080.

解説

If the URL is specified, the Sync App will not communicate directly with QuickBooks. Instead, it will send a request to the specified Web address. QuickBooks POS and the Desktop Gateway should be installed at the remote location. If the connector is listening on the specified port, it will communicate the Sync App's request to QuickBooks POS and return the response.

QuickBooks POS Connector for CData Sync

User

A username for the CData QuickBooks Desktop Gateway connection (if required by the Desktop Gateway).

解説

The Desktop Gateway must require user authentication before this property is used.

QuickBooks POS Connector for CData Sync

Password

A password for the CData QuickBooks Desktop Gateway connection.

解説

The Desktop Gateway must require user authentication before this property is used.

QuickBooks POS Connector for CData Sync

SSL

このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。


プロパティ説明
SSLServerCertTLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
QuickBooks POS Connector for CData Sync

SSLServerCert

TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。

解説

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

QuickBooks POS Connector for CData Sync

Firewall

このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。


プロパティ説明
FirewallTypeプロキシベースのファイアウォールで使われるプロトコル。
FirewallServerプロキシベースのファイアウォールの名前もしくはIP アドレス。
FirewallPortプロキシベースのファイアウォールのTCP ポート。
FirewallUserプロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallPasswordプロキシベースのファイアウォールへの認証に使われるパスワード。
QuickBooks POS Connector for CData Sync

FirewallType

プロキシベースのファイアウォールで使われるプロトコル。

解説

このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。

タイプ デフォルトポート 説明
TUNNEL 80 これが設定されている場合、Sync App はQuickBooks への接続を開き、プロキシを経由して通信が行われます。
SOCKS4 1080 これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。
SOCKS5 1080 これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。

HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。

QuickBooks POS Connector for CData Sync

FirewallServer

プロキシベースのファイアウォールの名前もしくはIP アドレス。

解説

ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。

Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。

QuickBooks POS Connector for CData Sync

FirewallPort

プロキシベースのファイアウォールのTCP ポート。

解説

ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。

QuickBooks POS Connector for CData Sync

FirewallUser

プロキシベースのファイアウォールに認証するために使うユーザー名。

解説

FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。

QuickBooks POS Connector for CData Sync

FirewallPassword

プロキシベースのファイアウォールへの認証に使われるパスワード。

解説

このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。

QuickBooks POS Connector for CData Sync

Proxy

このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。


プロパティ説明
ProxyAutoDetectこれは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
ProxyServerHTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
ProxyPortProxyServer プロキシが起動しているTCP ポート。
ProxyAuthSchemeProxyServer プロキシへの認証で使われる認証タイプ。
ProxyUserProxyServer プロキシへの認証に使われるユーザー名。
ProxyPasswordProxyServer プロキシへの認証に使われるパスワード。
ProxySSLTypeProxyServer プロキシへの接続時に使用するSSL タイプ。
ProxyExceptionsProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
QuickBooks POS Connector for CData Sync

ProxyAutoDetect

これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。

解説

これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。

HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。

QuickBooks POS Connector for CData Sync

ProxyServer

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。

解説

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。

SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。

デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。

QuickBooks POS Connector for CData Sync

ProxyPort

ProxyServer プロキシが起動しているTCP ポート。

解説

HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。

QuickBooks POS Connector for CData Sync

ProxyAuthScheme

ProxyServer プロキシへの認証で使われる認証タイプ。

解説

この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。

Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

認証タイプは、次のどれかになります。

  • BASIC: Sync App はHTTP BASIC 認証を行います。
  • DIGEST: Sync App はHTTP DIGEST 認証を行います。
  • NEGOTIATE: Sync App は認証において有効なプロトコルに応じて、NTLM もしくはKereros トークンを取得します。
  • PROPRIETARY: Sync App はNTLM もしくはKerberos トークンを発行しません。このトークンを、HTTP リクエストのAuthorization ヘッダーに含める必要があります。

SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。

QuickBooks POS Connector for CData Sync

ProxyUser

ProxyServer プロキシへの認証に使われるユーザー名。

解説

ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。

ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。

user@domain
domain\user

QuickBooks POS Connector for CData Sync

ProxyPassword

ProxyServer プロキシへの認証に使われるパスワード。

解説

このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。

HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。

NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。

SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。

デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。

QuickBooks POS Connector for CData Sync

ProxySSLType

ProxyServer プロキシへの接続時に使用するSSL タイプ。

解説

このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。

AUTOデフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。
ALWAYS接続は、常にSSL 有効となります。
NEVER接続は、SSL 有効になりません。
TUNNEL接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。

QuickBooks POS Connector for CData Sync

ProxyExceptions

ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。

解説

ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。

Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

QuickBooks POS Connector for CData Sync

Logging

このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。


プロパティ説明
LogModulesログファイルに含めるコアモジュール。
QuickBooks POS Connector for CData Sync

LogModules

ログファイルに含めるコアモジュール。

解説

指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。

概要はログ ページを参照してください。

QuickBooks POS Connector for CData Sync

Schema

このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
BrowsableSchemasこのプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
Tablesこのプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
Views使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
QuickBooks POS Connector for CData Sync

Location

テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。

解説

Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。

指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\QuickBooks Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:

QuickBooks POS Connector for CData Sync

BrowsableSchemas

このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。

解説

スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。

QuickBooks POS Connector for CData Sync

Tables

このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。

解説

テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

QuickBooks POS Connector for CData Sync

Views

使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。

解説

ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

QuickBooks POS Connector for CData Sync

Miscellaneous

このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。


プロパティ説明
DelayAfterCloseA delay in milliseconds to be applied each time a connection to QuickBooks POS is closed.
MaxRowsクエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
Otherこれらの隠しプロパティは特定のユースケースでのみ使用されます。
PagesizeQuickBooks から返されるページあたりの結果の最大数。
PseudoColumnsこのプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
UserDefinedViewsカスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
QuickBooks POS Connector for CData Sync

DelayAfterClose

A delay in milliseconds to be applied each time a connection to QuickBooks POS is closed.

解説

If QuickBooks POS is generating internal errors (in particular with automatic login), setting this delay to a positive value may solve the problem.

QuickBooks POS Connector for CData Sync

MaxRows

クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。

解説

クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。

QuickBooks POS Connector for CData Sync

Other

これらの隠しプロパティは特定のユースケースでのみ使用されます。

解説

以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。

複数のプロパティをセミコロン区切りリストで指定します。

統合およびフォーマット

DefaultColumnSizeデータソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。
ConvertDateTimeToGMT日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。
RecordToFile=filename基底のソケットデータ転送を指定のファイルに記録します。

QuickBooks POS Connector for CData Sync

Pagesize

QuickBooks から返されるページあたりの結果の最大数。

解説

Pagesize プロパティは、QuickBooks から返されるページあたりの結果の最大数に影響を与えます。より大きい値を設定すると、1ページあたりの消費メモリが増える代わりに、パフォーマンスが向上する場合があります。

QuickBooks POS Connector for CData Sync

PseudoColumns

このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。

解説

Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。

QuickBooks POS Connector for CData Sync

Timeout

タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。

解説

Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。

Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。

Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。

Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。

QuickBooks POS Connector for CData Sync

UserDefinedViews

カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。

解説

ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。

また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。

このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。

  • 各ルートエレメントはビューの名前を定義します。
  • 各ルートエレメントには、query と呼ばれる子エレメントが含まれており、この子エレメントにはビューのカスタムSQL クエリが含まれています。

次に例を示します。

{
	"MyView": {
		"query": "SELECT * FROM Customers WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479