ml-connector
Microsoft Dynamics GPTableau

Microsoft Dynamics GP and Tableau integration

Microsoft Dynamics GP handles your company's core financials: general ledger accounts, vendor invoices, purchase orders, and payments. Tableau visualizes that financial data in dashboards and reports. Connecting the two keeps your business intelligence current without manual exports or data re-entry. New GL postings, vendor invoices, and payment records flow from Dynamics GP into Tableau on a schedule you control, so your financial dashboards always reflect today's state.

How Microsoft Dynamics GP works

Microsoft Dynamics GP is an on-premises ERP system installed on Windows Server with a SQL Server backend, exposing financial data through Service Based Architecture (SBA) REST endpoints at https://<server>:<port>/GPService/ or legacy SOAP Web Services. Authentication uses Windows Active Directory credentials (Kerberos, Negotiate, or NTLM) tied to a dedicated domain account with Dynamics GP user privileges. Key entities include GL accounts, GL journal entries, vendors, payables invoices, purchase orders, and payments. Dynamics GP does not support webhooks, so ml-connector polls the SBA REST or SOAP endpoints for changes using ModifiedDate filters at configurable intervals. The on-premises deployment means the customer must expose the SBA endpoint through a firewall with valid SSL, and SQL Server performance limits practical polling frequency.

How Tableau works

Tableau operates as either Tableau Cloud (SaaS) or Tableau Server (self-hosted) and exposes workbooks, data sources, views, users, and projects through a REST API at /api/{version}/. Authentication uses Personal Access Tokens (PAT) that exchange for a session token valid for 240 minutes (Cloud) or per-instance configuration (Server), or Connected App JWT tokens. Tableau supports 24 webhook event types for notifications when workbooks or data sources refresh or change ownership, sent to a registered HTTPS endpoint without HMAC signature verification. Views are read-only derived objects, and data sources can be refreshed on demand. PAT tokens expire after 15 days of non-use on Cloud and 1 year on Server.

What moves between them

Microsoft Dynamics GP financial records flow into Tableau on a polling schedule tied to your fiscal calendar or a fixed cadence. GL accounts, GL journal entries, vendor master data, and payables invoices are read from Dynamics GP and synced to Tableau data sources, refreshing dashboards and workbooks without manual intervention. The primary flow is unidirectional from Dynamics GP into Tableau, since Tableau views are read-only. When Tableau data source refreshes complete, ml-connector can track them through Tableau's webhook events to confirm arrival and trigger downstream alerts if a refresh fails.

How ml-connector handles it

ml-connector stores the Windows domain account credentials encrypted and uses them to authenticate each SBA REST or SOAP request against your Dynamics GP instance. Since Dynamics GP runs on-premises, ml-connector must connect through the firewall-exposed SBA endpoint your IT team publishes, and it includes the tenant name and company name (which is the actual SQL Server database name) in each API call. For Tableau, ml-connector exchanges the Personal Access Token for a session token and uses that for all data source and workbook calls, refreshing the token before expiry. Polling runs on a schedule you define with configurable delays between requests to avoid degrading SQL Server performance. Record writes (such as updating GL journal entries) only work on unposted (Work) transactions in Dynamics GP, and the API requires request bodies to wrap the data in a top-level Payload key. Multicurrency companies require explicit CurrencyId and ExchangeRate fields on financial documents. Every record carries a full audit trail and can be replayed if a Tableau refresh or downstream sync fails, and ml-connector tracks Tableau's webhook events to confirm when refreshes succeed or fail.

A real-world example

A mid-market manufacturing company runs Microsoft Dynamics GP on-premises for accounting and inventory, and uses Tableau Cloud for financial reporting and executive dashboards. Before the integration, the accounting team exported GL account balances and vendor aging reports from Dynamics GP each month, then manually updated Tableau data sources with CSV imports, a process that created a two-day lag between period-end close and dashboard accuracy. With Dynamics GP and Tableau connected, ml-connector polls GL accounts and payables invoices daily and refreshes Tableau data sources automatically, so executives see payables aging and cost-of-goods-sold trends updated overnight. Month-end close now includes dashboard accuracy from day one, and the manual export-and-import cycle is eliminated.

What you can do

  • Poll Microsoft Dynamics GP GL accounts and journal entries on a schedule you define, and refresh Tableau data sources with the latest balances and postings.
  • Sync vendor master data and payables invoices from Dynamics GP into Tableau, keeping vendor aging and supplier scorecards current.
  • Authenticate Dynamics GP with Windows Active Directory credentials and Tableau with Personal Access Token authentication, handling credential rotation and token expiry.
  • Handle Tableau webhook notifications for data source refresh completion or failure, and trigger alerts or downstream actions when refreshes succeed.
  • Maintain a full audit trail for every GL posting and vendor record synced, with the ability to replay failed refreshes without data loss.

Questions

What direction does data flow between Microsoft Dynamics GP and Tableau?
The flow is unidirectional from Dynamics GP into Tableau. GL accounts, journal entries, vendors, and payables invoices are polled from Dynamics GP and synced to Tableau data sources to refresh dashboards and workbooks. Tableau views are read-only, so data does not flow back into Dynamics GP. Tableau webhook events flow into ml-connector to confirm when data source refreshes succeed or fail.
Does ml-connector handle the on-premises deployment and Windows Authentication of Dynamics GP?
Yes. ml-connector stores your Windows domain account credentials encrypted and presents them on every SBA REST or SOAP request to your Dynamics GP instance. Since Dynamics GP runs on-premises, your IT team must expose the SBA endpoint through the firewall with a valid SSL certificate. ml-connector accepts the full SBA endpoint URL and applies ModifiedDate filters to retrieve only changed records since the last poll, respecting the on-premises SQL Server's performance limits.
Can ml-connector write GL journal entries or vendor records back into Dynamics GP?
Write operations to Dynamics GP only work on unposted (Work) transactions; once posted (Open/Historical), records are read-only. The primary integration flow keeps Tableau dashboards current with GL data from Dynamics GP, so writes are not typically needed. If you do need to post journal entries, ensure fiscal periods are open in your Dynamics GP calendar, include CurrencyId and ExchangeRate for multicurrency companies, and note that the SBA API requires request bodies wrapped in a top-level Payload key.

Related integrations

Connect Microsoft Dynamics GP and Tableau

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

Get started