Using QuickBooks data access provider with UniDAC in Delphi

This article provides a brief overview of the QuickBooks cloud provider for UniDAC used to access QuickBooks from Delphi and Lazarus. You will find the description of some useful features and how to get started quickly.


Main features of QuickBooks cloud provider are:

The full list of Cloud provider features can be found on the UniDAC features page.

Both Professional and Standard Editions of UniDAC include the QuickBooks provider.


QuickBooks cloud provider supports QuickBooks data types and API.


Applications that use the QuickBooks cloud provider require Devart ODBC Driver for QuickBooks to be installed on the client computer. The driver is sold and distributed separately from UniDAC.


When an application was built without runtime packages (Link with runtime packages set to False in Project Options), you do not need to deploy any BPL files with it. For more information, see Deployment.
Note that UniDAC Trial requires deployment of additional BPL files regardless of Link with runtime packages.

Connecting to QuickBooks

To connect to QuickBooks using Devart ODBC Driver, you should configure the driver and set up a DSN. In the TUniConnection component, specify the following parameters:

QuickBooks-specific options

Though UniDAC is components that provide a unified interface to work with various cloud services, it also lets you tune behaviour for each cloud individually. For thin setup of a certain cloud, UniDAC provides specific options. These options can be applied to such components as TUniConnection, TUniQuery, TUniTable, TUniStoredProc, TUniSQL, TUniScript via their SpecificOptions property. SpecificOptions is a sting list.

Below you will find the description of allowed options grouped by components.


Option name Description
AccessToken Deprecated now by QuickBooks.
AccessTokenSecret Deprecated now by QuickBooks.
CompanyId Used to supply your QuickBooks registered Company ID. This field is filled in automatically after you authorize to QuickBooks. To learn your Company ID, sign in to QuickBooks at intuit.com, go to Your Account settings and select Company Info tab - you Company ID is provided at the top of the appeared window.
ConnectionTimeout The time to wait for a connection to open before raising an exception.
ConsumerKey Deprecated now by QuickBooks.
RefreshToken Used to specify the refresh token to generate access tokens when they expire. QuickBooks access tokens are valid for an hour.
Sandbox Helps to build and test intergration with QuickBooks.
UseUnicode Enables or disables Unicode support. Affects character data fetched from the server. When set to True, all character data is stored as WideStrings, and TStringField is replaced by TWideStringFiled.
UTCDates Use the UTCDates option to return the datetime values from the data source as UTC values.

Proxy connection options

Option name Description
ProxyPassword If Proxy User authorization is used, specify Proxy user password in this option.
ProxyPort Specify the Proxy port here. You can learn Proxy Port in the same way as described above for the host.
ProxyServer If you are using Proxy for connection to your network, specify the Proxy server address in this option.
To learn your Proxy server address, open Control Panel->Internet Options->Connections->LAN settings.
ProxyUser If Proxy User authorization is used, specify Proxy user name (ID) in this option.


Option name Description
CommandTimeout The time to wait for a statement to be executed.

TUniQuery, TUniTable, TUniStoredProc

Option name Description
CommandTimeout The time to wait for a statement to be executed.
ExtendedFieldsInfo If True, an additional query is performed to get information about the returned fields and tables they belong to. The default value is False.
FetchAll If True, all records of a query are requested from database server when the dataset is being opened.
If False, records are retrieved when a data-aware component or a program requests it. The default value is False.
FieldsAsString If set to True, all non-BLOB fields are handled as strings. The default value is False.
UnknownAsString If set to True, all QuickBooks data types that are fetched as text and don't have the size limit, are mapped to TStringField with the default size 8192 bytes. If False (default value), such types are mapped to TMemoField. The TEXT data type is always mapped to TMemoField regardless of the value of this option.


The TUniDump component has no QuickBooks-specific options.


The TUniLoader component has no QuickBooks-specific options.


The TUniDump component has no QuickBooks-specific options.

© 1997-2022 Devart. All Rights Reserved. Request Support DAC Forum Provide Feedback