SYSPRO and Looker integration
SYSPRO runs manufacturing finance and operations. Looker analyzes data in your warehouse. Connecting the two gets SYSPRO's GL transactions, invoice detail, supplier master, and inventory levels into Looker so finance and operations teams see real-time data in dashboards and reports. No manual exports or re-keying into your warehouse. ml-connector handles the SYSPRO session token, timestamp-based polling, and Looker warehouse load.
What moves between them
The main flow runs from SYSPRO into Looker. ml-connector polls SYSPRO's OData tables on a configurable schedule (e.g., every 5-15 minutes for financial data), reads GL postings, invoices, supplier masters, and inventory balances with timestamps to catch only new and changed records, and loads the transformed rows into your Looker warehouse (Snowflake, BigQuery, Redshift, etc.) as managed tables or views. Reference data such as GL accounts, cost centers, suppliers, and warehouses are loaded first so facts land on valid dimensions. Data flows one direction only: SYSPRO to Looker. Looker is read-only from the ERP perspective, so ml-connector does not write data back into SYSPRO financials.
How ml-connector handles it
ml-connector stores SYSPRO credentials (server URL, operator code, OData password, or UserId GUID for e.net) encrypted and refreshes the SYSPRO session token on each poll to handle token expiry and logoff. It filters OData queries on timestamp fields (PostDate, InvoiceDate, TransactionDate) to retrieve only new records since the last run, reducing API load and improving sync speed. Looker's 1-hour OAuth2 tokens are cached and re-authenticated when expired. ml-connector maps SYSPRO's GL chart-of-accounts dimension to the warehouse GL dimension table, SYSPRO supplier IDs to a supplier dimension, and SYSPRO warehouse codes to location dimensions, ensuring every fact row references valid dimension keys. The connector validates that OData Basic Auth credentials exist and that the Looker API user has write permissions on the target warehouse schema. SYSPRO has no signature verification on OData calls, so ml-connector secures data in transit via encrypted credentials and HTTPS. Every loaded record is logged with its SYSPRO source timestamp and warehouse load timestamp for audit and replay.
A real-world example
A mid-sized discrete manufacturer runs SYSPRO for production, procurement, and finance across three plants. The finance team needs daily views of GL spend by plant and cost center, and the operations team tracks inventory levels and purchase order aging in dashboards. Before the integration, data was exported from SYSPRO into spreadsheets weekly, manually transformed, and loaded into the warehouse for Looker reporting. With SYSPRO and Looker connected, GL postings, invoices, and stock balances flow into the warehouse on a 15-minute schedule during business hours. Finance and operations teams see up-to-date dashboards without re-keying, reconciliation time shrinks, and GL account analysis goes from static weekly to real-time daily.
What you can do
- Poll SYSPRO GL postings, invoices, and supplier masters on a schedule and load them into your Looker warehouse for analysis.
- Map SYSPRO GL accounts, cost centers, suppliers, and warehouses to your warehouse dimensions so facts land on valid keys.
- Authenticate SYSPRO via HTTP Basic Auth (OData) or session token (e.net), and Looker via OAuth2, handling token expiry on both sides.
- Filter SYSPRO OData tables by timestamp to retrieve only new and changed records since the last poll, reducing API calls.
- Track every load with source timestamps and audit logs, so you can replay or troubleshoot late-arriving or missed data.
Questions
- Which direction does data move between SYSPRO and Looker?
- Data flows one direction: from SYSPRO into Looker. ml-connector polls SYSPRO's GL postings, invoices, suppliers, and inventory balances and loads them into your warehouse for analysis. Looker is read-only from the ERP perspective, so ml-connector does not write financial entries back into SYSPRO.
- How does ml-connector handle SYSPRO session tokens and OData filtering?
- ml-connector stores SYSPRO credentials encrypted (server URL, operator code, and OData password) and refreshes the session token before each poll to handle expiry. It filters OData queries on timestamp fields such as PostDate and InvoiceDate to retrieve only new records since the last run, cutting API load and sync time.
- What happens if a SYSPRO record fails to load into Looker?
- Every record load is logged with SYSPRO source timestamps and warehouse timestamps for audit. If a load fails (e.g., missing dimension key, warehouse error), ml-connector tracks the failure and can replay the record once the issue is fixed, so no data is lost.
Related integrations
More SYSPRO integrations
Other systems that connect to Looker
Connect SYSPRO and Looker
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started