ODBC Driver for Sage Intacct

Build 26.0.9770

Linux DSN Configuration

This section describes how to set up ODBC connectivity and configure DSNs on several Linux distributions: Debian-based systems, like Ubuntu, and Red Hat Linux platforms, like Red Hat Enterprise Linux (RHEL) and Fedora.

Minimum Linux Versions

Here are the minimum supported versions for Red Hat-based and Debian-based systems:

OSMin. Version
Ubuntu18.04
Debian10
RHEL8
Fedora28
SUSE15

Installing the Driver Dependencies

Run the following commands as root or with sudo to install the necessary dependencies:

  • Debian/Ubuntu:
    apt-get install libc6 libstdc++6 zlib1g libgcc1
  • RHEL/Fedora:
    yum install glibc libstdc++ zlib libgcc

Installing the Driver

You can use standard package management systems to install the driver.

On Debian-based systems, like Ubuntu, run the following command with root or sudo:

dpkg -i /path/to/driver/setup/SageIntacctODBCDriverforUnix.deb 

On systems that support the RPM package format, run the following command with root or sudo:

rpm -ivh /path/to/driver/SageIntacctODBCDriverforUnix.rpm 

Licensing the Driver

Run the following commands to license the driver. To activate a trial, omit the <key> input.

cd /opt/cdata/cdata-odbc-driver-for-sageintacct/bin/
sudo ./install-license.sh <key>

Connecting through the Driver Manager

The driver manager loads the driver and passes function calls from the application to the driver. You need to register the driver with the driver manager and you define DSNs in the driver manager's configuration files.

The driver installation registers the driver with the unixODBC driver manager and creates a system DSN. The unixODBC driver manager can be used from Python and from many other applications. Your application may embed another driver manager.

Creating the DSN

See Using unixODBC to install unixODBC and configure DSNs. See Using the DataDirect Driver Manager to create a DSN to connect to OBIEE, Informatica, and SAS.

Authenticating to Sage Intacct

The following authentication methods are supported: Basic (using Web Services or embedded credentials), AzureAD, Okta, OneLogin, OAuth, and OAuthClient (Sage Intacct REST API only). Configure the connection by setting the relevant connection properties for your chosen authentication method.

Basic Authentication

The Basic authentication scheme allows you to read and write data using embedded credentials. You can optionally provide your own Web Service credentials.

To authenticate using Basic authentication, configure the following properties:

  • AuthScheme: Basic.
  • CompanyID: The ID you use to identify your company when logging into Sage Intacct.
  • User: The login you use to log into Sage Intacct.
  • Password The password for your login credentials.
  • (Optional) SenderID and SenderPassword: Your Web Services Sender ID and Password (only if you are using your own Web Service credentials).

If you are using embedded credentials, rather than your own Web Service credentials, you must do the following:

  • In your Web Services dashboard, navigate to the Company > Company Info > Security tab.
  • Add "CData" to your Web Services authorizations. This is case-sensitive. To do this, navigate to Company > Company Info (Configuration > Company in new UI) > Security > Web Services Authorizations / Edit.

AzureAD

Note that this configuration requires two AzureAD applications: the "Sage Intacct" application used for single sign-on, and a separate "connector" application with user_impersonation permission on the "Sage Intacct" application.

To authenticate to AzureAD, configure the following properties:

  • AuthScheme: AzureAD.
  • CompanyID: The ID you use to identify your company when logging into Sage Intacct.
  • SSOLoginURL: The SSO provider's login URL.
  • OAuthClientId: The application Id of the connector application, listed in the Overview section of the app registration.
  • OAuthClientSecret: The client secret value of the connector application. Azure AD displays this when you create a new client secret.

Also set these SSOProperties:

  • IntacctUserID: The Sage Intacct user ID that is mapped to the Okta user you set in the User connection property.
  • Resource: The Entity ID of the Sage Intacct application, listed in the Basic SAML Configuration section of the app registration.
  • AzureTenant: The Id of the Azure AD tenant where the applications are registered.

The following is an example connection string:

AuthScheme=AzureAD;CompanyID=myCompanyID;OAuthClientId=myClientId;OAuthClientSecret=myClientSecret;SSOLoginUrl=https://login.microsoftonline.com/myAzureTenant/saml2;SSOProperties='IntacctUserID=intacct_user;AzureTenant=myAzureTenant;Resource=https://saml.intacct.com;';

Okta

To authenticate to Okta, configure the following properties:

Also set these SSOProperties:

  • IntacctUserID: The Sage Intacct user ID that is mapped to the Okta user you set in the User connection property.
  • APIToken (optional): If users are authenticated via a trusted application or proxy that overrides Okta client request context, specify the API Token that the customer created from the Okta organization.

Example connection string:

AuthScheme=Okta;CompanyID=myCompanyID;SSOLoginURL=https://example.okta.com/home/appType/0bg4ivz6cJRZgCz5d6/46;User=oktaUserName;Password=oktaPassword;SSOProperties='IntacctUserID=intacct_user';

OneLogin

To authenticate with OneLogin SSO, configure the following properties:

  • AuthScheme: OneLogin.
  • CompanyID: The ID you use to identify your company when logging into Sage Intacct.
  • SSOLoginURL: The SAML 2.0 Endpoint. This can be found in OneLogin under Applications > your Sage Intacct app > SSO.
  • OAuthClientId: The client Id of your OneLogin OAuth app. This can be found in OneLogin under Developers > API Credentials.
  • OAuthClientSecret: The client secret of your OneLogin OAuth application. This is listed below the client Id.
  • User: The OneLogin username.
  • Password: The OneLogin user's password.

Also set these SSOProperties:

  • IntacctUserID: The Sage Intacct user ID that is mapped to the Okta user you set in the User connection property.
  • Subdomain: The subdomain of the OneLogin user accessing the SSO app. For example, if your OneLogin URL is cdata.onelogin.com, the subdomain value is cdata.
  • AppId: The Id of the Sage Intacct app in OneLogin. This can be found by selecting the app. If the URL is https://cdata.onelogin.com/apps/4157774/edit, then the app id is 4157774.

The following is an example connection string:

AuthScheme=OneLogin;CompanyID=myCompanyID;User=OneLoginUser;Password=OneLoginPassword;SSOProperties='IntacctUserID=intacct_user;Subdomain=subdomain;AppId=12345;';SSOLoginUrl=https://subdomain.onelogin.com/trust/saml2/http-post/sso/123eda45-1c23-123f-b26c-1be75d633ac6;OAuthClientId=myClientId;OAuthClientSecret=myClientId;

OAuth

OAuth 2.0 authentication with the authorization code grant type is only available when connecting to the Sage Intacct REST API. Set Schema to SageIntacctRest and AuthScheme to OAuth.

In addition, you must register a custom OAuth application in the Sage Intacct developer portal to obtain the OAuthClientId and OAuthClientSecret connection properties. See Creating a Custom OAuth Application for steps to register an application.

Desktop Applications

After registering your application, set the following connection properties:

  • OAuthClientId: The client Id from your registered application.
  • OAuthClientSecret: The client secret from your registered application.
  • CallbackURL: The HTTPS redirect URI you specified when registering your application.
  • Scope (Optional): Set to offline_access to receive a refresh token, which allows the driver to refresh the access token automatically when it expires. If omitted, no refresh token is issued and you must re-authenticate when the access token expires.
  • InitiateOAuth: Set to GETANDREFRESH to automatically complete the OAuth exchange and refresh tokens.

When you connect, the driver opens the Sage Intacct OAuth endpoint in your default browser. Log in and grant permissions to the application. The driver then completes the OAuth process:

  1. Extracts the access token from the callback URL and authenticates requests.
  2. Saves OAuth values in OAuthSettingsLocation to persist across connections.
  3. Refreshes the access token automatically when it expires.

Headless Machines

Follow the steps in "Desktop Applications" above on a machine with browser access. After connecting, the driver saves OAuth values to the file specified in OAuthSettingsLocation (default: OAuthSettings.txt).

Then copy the OAuth settings file to the headless machine and set the following connection properties:

  • InitiateOAuth: REFRESH.
  • OAuthClientId: The client Id from your registered application.
  • OAuthClientSecret: The client secret from your registered application.
  • OAuthSettingsLocation: The path to the OAuth settings file you copied from the browser-enabled machine. Ensure the driver has read and write permissions to this location to enable automatic token refresh.

OAuth Client

OAuth 2.0 authentication with the client credentials grant type is only available when connecting to the Sage Intacct REST API. Set Schema to SageIntacctRest and AuthScheme to OAuthClient.

In addition, you must register a custom OAuth application in the Sage Intacct developer portal to obtain the OAuthClientId and OAuthClientSecret connection properties. See Creating a Custom OAuth Application for steps to register an application.

The client application must then be authorized according to the instructions in https://developer.sage.com/intacct/docs/1/sage-intacct-rest-api/authorization-and-security/oauth2#client-credentials-grant-type

After registering your application, set the following connection properties:

  • OAuthClientId: The client Id from your registered application.
  • OAuthClientSecret: The client secret from your registered application.
  • InitiateOAuth: Set to GETANDREFRESH to automatically complete the OAuth exchange and refresh tokens.

Additionally, you must set one of the following:

  • User: The username of your Web Services user, in either the format UserId@CompanyId or UserId@CompanyId|entityId.
  • SessionID: The session ID for your current Sage Intacct login session.

Set the Driver Encoding

The ODBC drivers need to specify which encoding to use with the ODBC Driver Manager. By default, the CData ODBC Drivers for Unix are configured to use UTF-16 which is compatible with unixODBC, but other Driver Managers may require alternative encoding.

Alternatively, if you are using the ODBC driver from an application that uses the ANSI ODBC API it may be necessary to set the ANSI code page. For example, to import Japanese characters in an ANSI application, you can specify the code page in the config file '/opt/cdata/cdata-odbc-driver-for-sageintacct/lib/cdata.odbc.sageintacct.ini':

[Driver]
AnsiCodePage = 932

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9770