ml-connector
SAP S/4HANATableau

SAP S/4HANA and Tableau integration

SAP S/4HANA holds your procurement and financial truth. Tableau visualizes that data for decision-makers. Connecting the two ensures your dashboards always show the latest purchase orders, supplier invoices, GL accounts, and cost allocations without manual refresh steps. ml-connector polls SAP S/4HANA on a schedule you control and triggers Tableau extract refreshes so stakeholders see the current picture without delay.

How SAP S/4HANA works

SAP S/4HANA exposes purchase orders, suppliers, supplier invoices, GL accounts, GL line items, cost centers, and business partner data through OData V2 and OData V4 REST APIs served from tenant-specific URLs under https://<tenant-id>-api.s4hana.ondemand.com. Authentication uses OAuth 2.0 Client Credentials, with scopes defined per Communication Arrangement and tokens typically valid for 12 hours. SAP offers no native webhooks; ml-connector polls via timestamp filters (LastChangeDateTime ge timestamp) or delta tokens to detect changes. GL Account and Cost Center APIs are read-only. On-Premise deployments require a sap-client query parameter, while Cloud Public does not.

How Tableau works

Tableau provides REST APIs for managing data sources, workbooks, and extract refresh schedules across Tableau Cloud (SaaS) and Tableau Server (self-hosted). Authentication uses Personal Access Token (PAT) exchange for a session token valid 240 minutes by default on Tableau Cloud. The REST API is site-scoped; operations require the site ID. Tableau supports webhooks for events like datasource updates and refresh completion, though webhook payloads carry no HMAC signature. Extract refreshes are triggered via REST calls on Tableau Cloud or configured schedules on Tableau Server. PAT tokens on Tableau Cloud expire after 15 days of non-use.

What moves between them

The main flow reads from SAP S/4HANA into Tableau. ml-connector polls SAP for purchase orders, supplier invoices, GL line items, and cost center transactions on a schedule aligned with your accounting close calendar. Those records are transformed into a format suitable for Tableau data sources and ml-connector triggers extract refresh jobs in Tableau at the end of each poll cycle. Reference data such as GL accounts and cost centers is synced at the same cadence. Tableau views and workbooks remain read-only; ml-connector feeds data only to the underlying extract sources.

How ml-connector handles it

ml-connector stores the OAuth credentials and Communication Arrangement details from SAP S/4HANA and uses Client Credentials flow to obtain bearer tokens, refreshing them before expiry so polling never stalls. Tenant-specific API URLs are accepted as part of customer configuration since SAP does not publish a shared base address. Because SAP S/4HANA offers no webhooks, ml-connector polls the GL line items, supplier invoices, and purchase orders APIs using LastChangeDateTime filters or delta tokens to detect additions and updates. On the Tableau side, ml-connector authenticates via Personal Access Token exchange, acquires a session token, and triggers extract refreshes via the REST API after data has been loaded into the data source. Tableau Cloud and Tableau Server have different refresh endpoints and schedule models; the connector detects which is in use and calls the appropriate refresh path. Retries on SAP timeouts or Tableau rate limits use exponential backoff. Every sync event is logged in the audit trail so failed refreshes can be replayed without data loss.

A real-world example

A mid-market financial services firm runs SAP S/4HANA for procurement and GL accounting across multiple cost centers and runs Tableau Cloud for executive and finance team dashboards covering spend by category, supplier concentration, GL account balances, and cost allocation trends. Before the integration, the finance operations team manually exported GL line items and purchase requisitions from SAP each week, transformed them in a script, and staged them in Tableau for refresh. With SAP S/4HANA and Tableau connected, those exports happen automatically on a schedule that aligns with the close calendar; the dashboards refresh without manual intervention, and the finance team uses their time to analyze variance instead of moving data.

What you can do

  • Automatically poll SAP S/4HANA for purchase orders, supplier invoices, GL line items, and cost center data on a schedule you define.
  • Trigger Tableau extract refreshes via REST API each time new SAP data arrives, keeping dashboards current without manual refresh.
  • Map SAP GL accounts and cost centers to Tableau data source dimensions so financial reports align with the source system structure.
  • Authenticate SAP S/4HANA with OAuth 2.0 Client Credentials and manage token expiry, and Tableau with Personal Access Token exchange.
  • Track every sync event, detect failures, and replay missing records so no data loss occurs if a refresh job fails.

Questions

How does ml-connector handle SAP S/4HANA's lack of webhooks?
SAP S/4HANA offers no native webhooks for cloud connectors, so ml-connector polls the OData APIs on a schedule aligned with your accounting calendar using LastChangeDateTime filters or delta tokens to detect changes. This pull-based approach works well for finance use cases where data arrives in batches (payroll, close cycles, supplier invoice runs) rather than as continuous streams.
What happens when SAP tokens expire or Tableau rate-limits the API?
ml-connector monitors token expiry in SAP S/4HANA and refreshes the bearer token proactively before it expires so polling never stalls. If Tableau returns a rate-limit response (HTTP 429), ml-connector backs off and retries with exponential jitter, ensuring extract refreshes complete even during periods of high API load.
Can ml-connector write data back into SAP S/4HANA from Tableau?
No. The flow is read-only from SAP into Tableau. GL Accounts and Cost Centers in SAP are read-only APIs; ml-connector pulls those reference tables to enrich the data sent to Tableau but does not write financial entries or cost allocations back into SAP from Tableau views or calculations.

Related integrations

Connect SAP S/4HANA and Tableau

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

Get started