ml-connector
Sage IntacctTableau

Sage Intacct and Tableau integration

Sage Intacct is your source of truth for accounting and financial transactions. Tableau is where your team analyzes and visualizes that data. Connecting the two lets accountants and finance analysts explore Intacct GL postings, vendor performance, and bill-to-payment flows in Tableau dashboards without manual export-and-import. ml-connector polls Intacct on a schedule you control and pushes the latest GL accounts, vendors, bills, and payments into Tableau extracts so reports stay current.

How Sage Intacct works

Sage Intacct exposes general ledger accounts, dimensions, vendors, AP bills, AP payments, and GL detail postings through a single XML gateway endpoint at https://api.intacct.com/ia/xml/xmlgw.phtml. Authentication is session-based: an initial API call exchanges partner credentials, company ID, user ID, and user password for a sessionid, which is cached for 50 minutes and automatically refreshed before expiry. All queries are sent as XML POST payloads to the same endpoint. Intacct returns HTTP 200 even for application-level errors, so responses must be parsed for errormessage XML tags. Intacct does not offer webhooks; all data flows are polling-based or manual-triggered.

How Tableau works

Tableau exposes workbooks, data sources, views, users, projects, and schedules through a REST API available in two deployment models: Tableau Cloud (SaaS) and Tableau Server (self-hosted). Authentication uses a personal access token (PAT) exchanged for a session token valid for 240 minutes, or Connected App JWT. The API is site-scoped, so operations require a site ID in the path. Data source refresh jobs can be triggered on demand or on a schedule. Views are read-only derived objects from workbooks and cannot be modified or published via API. Tableau offers webhooks for 24 event types but ml-connector uses API endpoints to push extracted data into Tableau data sources on a schedule.

What moves between them

Financial data flows one direction from Sage Intacct into Tableau. ml-connector polls Sage Intacct for GL accounts, vendors, AP bills, AP payments, and GL detail transactions on a schedule you define, typically aligned with your close calendar or daily if needed. The extracted records are loaded into a Tableau data source via the REST API, and the extract refresh is triggered to make the latest data available to dashboards and views. Changes in Intacct are not pushed in real time; they are captured on the next scheduled poll cycle.

How ml-connector handles it

ml-connector maintains the session lifecycle for Sage Intacct: it sends the initial getAPISession call with partner and user credentials, caches the sessionid, and refreshes it before the 50-minute expiry. All subsequent queries include the cached session and are serialized through the XML gateway endpoint, parsing responses for application-level errors in the XML body. For Tableau, ml-connector obtains a personal access token (PAT) from the site, exchanges it for a session token, and uses that token to authenticate to the REST API. GL accounts, vendors, and bill records extracted from Intacct are batched and loaded into a Tableau data source via the REST API insert or upsert endpoint. The data source extract is then refreshed to make the new records visible in workbooks and views. If the Intacct session expires during a poll cycle, it is automatically refreshed on the next call; if Tableau session token expires, a new token is obtained from the PAT. Retries with exponential backoff handle transient failures on both sides.

A real-world example

A mid-sized manufacturing company runs Sage Intacct for accounting and general ledger. The finance team needs to analyze vendor performance, AP aging, and labor cost allocation across departments, but today they export GL detail and vendor data from Intacct each week and manually import it into Tableau for analysis. This is tedious and error-prone, and dashboards are often one week stale. With Sage Intacct and Tableau connected, the latest GL accounts, vendors, bills, and payments flow from Intacct into Tableau automatically on a daily basis, so the finance team can explore current cash position, payment trends, and cost center spending in live dashboards without waiting for manual exports.

What you can do

  • Extract GL accounts, vendors, AP bills, and payments from Sage Intacct and load them into Tableau data sources on a schedule you control.
  • Manage the 50-minute Sage Intacct session automatically, caching credentials and refreshing before expiry so polls do not fail.
  • Trigger Tableau extract refreshes immediately after new data is loaded, so dashboards and views always show the latest Intacct financial records.
  • Batch GL postings and vendor transactions into Tableau data sources, making them available for pivot tables, filters, and custom analysis in Tableau workbooks.
  • Handle retries with exponential backoff on both the Intacct XML gateway and Tableau REST API, with a full audit trail of every record extracted and loaded.

Questions

Which direction does data move between Sage Intacct and Tableau?
Data flows one direction from Sage Intacct into Tableau. GL accounts, vendors, AP bills, and payments are extracted from Sage Intacct and loaded into Tableau data sources so analysts can explore and visualize the data in dashboards and views. Tableau does not write data back to Sage Intacct; it is a read and analysis layer only.
How does ml-connector handle the Sage Intacct 50-minute session expiry?
ml-connector caches the sessionid returned from the initial getAPISession call and tracks the expiry time. Before the session expires, ml-connector automatically refreshes it by calling getAPISession again with the same partner and user credentials. This ensures that polling cycles do not fail due to session timeout and eliminates manual session renewal.
Does the integration work with both Tableau Cloud and Tableau Server?
Yes. ml-connector uses the Tableau REST API, which is available in both Tableau Cloud (SaaS) and Tableau Server (self-hosted). The integration adapts to the different base URLs for each deployment model and uses the same personal access token authentication flow on both.

Related integrations

Connect Sage Intacct and Tableau

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started