SAP ECC and Google Sheets integration
SAP ECC runs your on-premises finance and procurement. Google Sheets is your operational reference and audit layer. Connecting the two lets finance and procurement teams keep a live Sheets view of vendors, purchase orders, invoices, and GL accounts, updated on a schedule you control. No more manual exports, no stale data in your operational snapshots, and no re-keying into Sheets by hand.
What moves between them
Data flows from SAP ECC into Google Sheets. ml-connector polls SAP ECC on a schedule (typically daily or weekly depending on your business cycle) and reads vendor master records, purchase orders, invoices, GL accounts, and cost centers. It maps each SAP table or BAPI result into corresponding Sheets tabs that you configure (e.g., Vendors, POs, Invoices, GL). New or updated records in SAP ECC are written into Sheets as new rows or updates to existing rows, so your Sheets always reflect the latest state from SAP. Deletions or archiving in SAP ECC can optionally be marked in Sheets as inactive. No data flows back from Sheets into SAP ECC.
How ml-connector handles it
ml-connector requires the customer to provide the SAP ECC hostname, port, and a valid RFC-enabled username and password. Because SAP ECC is on-premises and RFC/BAPI calls cannot originate directly from the cloud, ml-connector uses the customer's on-premises SAP .NET Connector or Java Connector agent to route calls through the customer network and SAP system. OData calls can bypass the agent and use HTTP Basic Auth directly if the Basis team has activated the required OData service via TCODE SICF, but this requires a one-time setup step. ml-connector polls RFC_READ_TABLE or specific BAPIs on your schedule (e.g., daily or weekly) and maps each row or result into the appropriate Sheets tab, respecting the column headers you define. The Sheets OAuth2 credential is stored encrypted and refreshed when necessary. SAP has no rate-limit headers, but typical safe throughput is 10 to 50 concurrent RFC calls; ml-connector backs off and retries on SAP SYSTEM_FAILURE or COMMUNICATION_FAILURE exceptions. Because SAP RFC_READ_TABLE has a 512-character row width limit for classic deployments, wide tables may require BBP_RFC_READ_TABLE or multiple polled queries. Every record carries a full audit trail and can be replayed if a downstream Sheets write fails.
A real-world example
A mid-sized manufacturing company runs SAP ECC on-premises for purchasing, accounts payable, and GL management. The procurement team tracks POs and invoices in a Sheets file for daily visibility and compliance audits, and the GL team maintains Sheets snapshots of cost centers and GL accounts for budget tracking. Before the integration, a member of each team manually exported data from SAP ECC daily and pasted it into Sheets, a process that took 30 minutes and was prone to errors when the data was stale or incorrectly mapped. With SAP ECC and Google Sheets connected, the Sheets files update automatically on a daily schedule, reflecting the latest vendors, POs, invoices, and GL state from SAP ECC. The procurement and GL teams now have current data in Sheets, audit trails are complete, and manual export-and-paste work is eliminated.
What you can do
- Sync vendor master records, customer master records, purchase orders, and supplier invoices from SAP ECC into Sheets tabs on a schedule you define.
- Map SAP ECC GL accounts and cost centers into Sheets for budget tracking and period-end reconciliation.
- Poll SAP ECC via RFC/BAPI and OData, routing through the customer's on-premises SAP .NET Connector or Java Connector agent.
- Handle SAP Basic Auth, RFC exceptions and retries, and manage wide-table row width limits for RFC_READ_TABLE.
- Write updated records into Sheets without re-keying, and maintain a full audit trail of every sync.
Questions
- Does ml-connector require the customer to set up an on-premises SAP .NET Connector or Java Connector agent?
- Yes, for RFC/BAPI calls. SAP ECC is on-premises and RFC calls cannot originate directly from the cloud, so ml-connector must route calls through the customer's SAP .NET Connector or Java Connector agent running on the customer network with direct access to SAP ECC. OData calls can bypass the agent if the Basis team has activated the OData service in TCODE SICF and enabled HTTP Basic Auth, but this requires a one-time setup step and is not always available.
- What happens if SAP ECC returns a SYSTEM_FAILURE or COMMUNICATION_FAILURE when polling?
- ml-connector backs off and retries the call, since these exceptions are transient. SAP ECC has no published rate limit, but typical safe throughput is 10 to 50 concurrent RFC calls. If retries are exhausted, the failed record is logged in the audit trail and can be manually replayed once the SAP system recovers.
- Which SAP ECC tables and BAPIs does ml-connector support?
- ml-connector supports common tables and BAPIs including vendors (LFA1, LFB1, BAPI_VENDOR_GETLIST, BAPI_VENDOR_GETDETAIL), purchase orders (EKKO, EKPO, BAPI_PO_GETDETAIL1), supplier invoices (BAPI_ACC_DOCUMENT_POST), GL accounts (BAPI_GL_ACC_GETLIST), and cost centers (BAPI_COSTCENTER_GETLIST). The exact set of fields to sync is configured per customer depending on Sheets columns and business requirements.
Related integrations
More SAP ECC integrations
Other systems that connect to Google Sheets
Connect SAP ECC and Google Sheets
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started