SAP S/4HANA and Looker integration
SAP S/4HANA runs your finance and procurement; Looker models and visualizes the data. Connecting them lets you report on real-time GL balances, invoice aging, purchase order commitments, and cost center spend without re-keying or manual exports. Finance teams get live dashboards, audit trails can source every row back to the original SAP record, and month-end reporting starts with clean, current data flowing automatically from the source.
What moves between them
GL account lines, supplier invoices, purchase orders, and cost center master data flow from SAP S/4HANA into Looker on a daily or weekly schedule aligned with your month-end close cycle. ml-connector reads SAP GL account line items for the current fiscal period, maps them to cost centers and account hierarchies, reads supplier invoice data with aging buckets, and pushes clean reference datasets into Looker so dashboards can join GL balances to cost center spend and invoice metrics. The flow is primarily SAP into Looker; Looker does not write financial data back to SAP.
How ml-connector handles it
ml-connector caches the SAP OAuth2 token and refreshes it before the 12-hour expiry, so authentication is seamless across polling cycles. It calls SAP's OData APIs with LastChangeDateTime filters to poll only changed GL lines and invoice headers since the last sync, reducing payload size and API calls. SAP on-premise deployments require the sap-client query parameter; cloud deployments do not. For each GL line item, ml-connector extracts the account number, cost center, debit or credit amount, and business partner reference, and validates that the cost center exists in SAP's read-only master data before writing to Looker. Looker's 1-hour token expiry means ml-connector re-authenticates before each query or data load, and handles 429 rate limits from either system with exponential backoff. Every record is tagged with its source SAP communication arrangement, GL period, and sync timestamp for audit.
A real-world example
A mid-market manufacturing company runs SAP S/4HANA for finance and procurement on-premise, and uses Looker for executive and finance dashboards running against a Snowflake warehouse. Finance managers spend hours each month exporting invoice registers and GL trial balances from SAP, loading them into Snowflake staging tables, and refreshing Looker dashboards by hand. With SAP S/4HANA connected to Looker via ml-connector, invoice aging and GL balance-by-cost-center dashboards refresh daily at 6 AM without manual export. Finance closes month-end with current GL data already in Looker, eliminating the export step, reducing errors, and giving executives live visibility into spend and accruals.
What you can do
- Poll SAP S/4HANA GL account line items and supplier invoices on a daily or weekly schedule, and load the data into Looker for dashboard modeling.
- Map SAP GL accounts and cost centers to Looker query dimensions so dashboards can slice spend and revenue by organizational structure.
- Authenticate SAP with OAuth2 per Communication Arrangement, refresh tokens before expiry, and validate each record against SAP master data.
- Manage Looker's 1-hour token expiry by re-authenticating before each query, and handle rate limits from both systems with automatic backoff.
- Maintain a full audit trail linking every GL line and invoice in Looker back to its SAP source record, GL period, and sync timestamp for compliance and month-end reconciliation.
Questions
- What data moves from SAP S/4HANA to Looker?
- GL account line items, cost centers, supplier invoices with aging, and purchase order headers flow from SAP into Looker on a polling schedule. This includes account number, debit/credit amount, cost center, business partner, GL period, and posting date. GL accounts and cost centers are maintained in SAP and read-only; Looker models them for dashboard aggregation and drill-down.
- How does ml-connector handle SAP's short-lived OAuth2 tokens and Looker's 1-hour token expiry?
- SAP tokens are cached and refreshed before their 12-hour expiry so polling is uninterrupted. Looker's 1-hour tokens are exchanged fresh before each query or data load via the /api/4.0/login endpoint. Both systems' tokens are managed transparently; no manual intervention is required.
- Does this work with SAP on-premise and SAP Cloud Public Edition?
- Yes. On-premise deployments require the sap-client query parameter in OData calls; cloud deployments do not. Either way, ml-connector reads from the tenant-specific SAP base URL and polls with LastChangeDateTime filters for incremental syncs aligned with your close calendar.
Related integrations
More SAP S/4HANA integrations
Other systems that connect to Looker
Connect SAP S/4HANA and Looker
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started