ml-connector
Epicor KineticGoogle Sheets

Epicor Kinetic and Google Sheets integration

Epicor Kinetic runs your ERP. Google Sheets is where your team captures analysis, reports, and ad-hoc integrations. Connecting the two lets you pull live Epicor data into Sheets on a schedule you control - vendors, invoices, purchase orders, and GL accounts - without manual exports. Your finance and operations teams see fresh data and can build tools and reports on top of it without re-entering information by hand.

How Epicor Kinetic works

Epicor Kinetic is a cloud and on-premises ERP for manufacturing, distribution, retail, and service businesses. It exposes vendors, AP invoices, purchase orders, GL accounts, customers, and items through REST OData v4 endpoints. Cloud instances live at https://<tenant>.epicorsaas.com/<instance>/api/v2/odata/<Company>/ and on-premises servers at custom hostnames. Authentication uses OAuth2 client credentials (cloud SaaS only), API Key headers (required on all cloud calls), Basic Auth, or Token Resource Service on-premises. Epicor has no native outbound webhooks, so records are retrieved by polling with OData date filters on UpdatedOn or CreatedOn fields, using offset pagination with top and skip parameters.

How Google Sheets works

Google Sheets is a cloud-based spreadsheet with a REST API (v4) at https://sheets.googleapis.com/v4/. It has no native ERP or finance entities - customers define their schema by sheet tabs and column headers. Authentication is OAuth 2.0, either through an interactive Authorization Code flow (user-delegated) or Service Account credentials (server-to-server), with no mutual TLS requirement. Google Sheets API supports read and write operations using A1 notation ranges (e.g., Sheet1!A1:Z1000) or Named Ranges. Drive watch channels can push notifications when sheets change, but they expire hourly and require manual renewal; polling is the stable approach.

What moves between them

Data flows from Epicor Kinetic into Google Sheets. ml-connector polls Epicor on a schedule you set (typically hourly or daily) using OData $filter on UpdatedOn to retrieve vendors, AP invoices, purchase orders, GL accounts, and customers added or changed since the last run. The records are written into your Google Sheet using the column schema and tabs you define. Reference data such as vendors and customers can be synced in both directions if you maintain a master list in Sheets and push updates back to Epicor, but the primary flow is Epicor into Sheets.

How ml-connector handles it

ml-connector handles Epicor's two-step OAuth2 + API Key authentication model by exchanging client credentials for a bearer token and including the API Key header on every request. It constructs the OData $filter query with your configured date field (UpdatedOn or CreatedOn) and the timestamp of the last successful poll, then uses offset pagination to retrieve large result sets. Bearer tokens expire in about one hour, so ml-connector refreshes automatically before they time out. For Google Sheets, it uses Service Account credentials to authenticate and writes records to your sheet layout by mapping Epicor fields to columns and tabs you define in advance. Because Google Sheets has no ERP entity schema, you control which Epicor fields (vendor name, invoice number, GL account code, amount, date) map to which columns. Polling timing depends on your business cadence - daily for batch GL account reconciliation, hourly for invoices and POs if you need fresher data. Every record carries an audit trail with sync timestamp and source ID, so you can troubleshoot mismatches.

A real-world example

A mid-sized distributor runs Epicor Kinetic for procurement and accounts payable, and uses Google Sheets for vendor performance tracking, invoice aging analysis, and custom reports. Before the integration, the accounting team exported vendor and invoice data from Epicor weekly, pasted it into Sheets, and manually refreshed their aging report and vendor spend summaries. With Epicor and Google Sheets connected, vendor master data and invoices sync automatically every 4 hours, the aging report updates without manual work, and the team can build new analyses on live data without waiting for exports. Month-end close moves faster because invoice reconciliation starts with current data already in place.

What you can do

  • Sync Epicor Kinetic vendors, customers, AP invoices, purchase orders, and GL accounts into your Google Sheet on a polling schedule.
  • Authenticate Epicor with OAuth2 client credentials and API Key headers, and Google Sheets with Service Account credentials.
  • Use OData date filtering to pull only new and changed records since the last sync, avoiding duplicate rows.
  • Map Epicor fields to your Google Sheets column schema, so your team controls the layout and can build reports on top of live data.
  • Track every sync run with timestamps and source record IDs in an audit column, so mismatches can be traced back to the source.

Questions

Does ml-connector support both cloud and on-premises Epicor Kinetic?
Yes. Cloud instances use the standard OAuth2 + API Key flow with the Epicor SaaS base URL. On-premises sites use the Token Resource Service to exchange Basic credentials for a bearer token, then use the same API calls. ml-connector accepts either the cloud tenant URL or your on-premises Epicor server hostname, so the integration works in both deployments.
Which Epicor records can be synced into Google Sheets?
Vendors, customers, parts, AP invoices, purchase orders, GL accounts, and GL account lines are the primary candidates. The full list of OData-exposed entities is documented in your Epicor instance's Swagger API docs. ml-connector reads them via OData with date filtering, so you can sync any record type Epicor publishes, mapped to your sheet columns.
Can I write changes from Google Sheets back into Epicor Kinetic?
Yes, ml-connector can write back, but Epicor requires a two-step process for most business objects: a GetNewXxx call followed by UpdateMaster. This adds latency and is best reserved for reference data like vendors or GL accounts. For high-frequency two-way sync, evaluate Epicor BPM custom endpoints as an alternative for the Sheets-to-Epicor direction.

Related integrations

Connect Epicor Kinetic and Google Sheets

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

Get started