Sage 100 and Google Sheets integration
Sage 100 runs finance and operations on premises, and Google Sheets is where teams collaborate on financial data and reporting. Connecting the two lets you pull AP invoices, purchase orders, GL accounts, and vendor records from Sage 100 and land them in Google Sheets tabs without manual export. Your team works in a familiar spreadsheet while staying current with on-premises transactions. ml-connector handles the on-premises security model, the local agent, and the polling schedule so your data stays in sync.
What moves between them
AP invoices, purchase orders, GL journal entries, and vendor records flow from Sage 100 into Google Sheets. ml-connector polls Sage 100 on a schedule you define (typically every 15 minutes for AP and PO, hourly for vendors, daily for GL accounts), detects new and changed records by comparing DateLastUpdated, and writes them to the corresponding Google Sheets tabs. The write direction is mostly one-way: Sage 100 to Sheets. If you need to write changes back into Sage 100 from Sheets (e.g., approval flags or notes), ml-connector can set up a separate flow to read those columns and post updates to Sage 100, but the primary sync is downstream to Sheets for visibility and collaboration.
How ml-connector handles it
ml-connector stores your Sage 100 credentials (username and password for SOAP, or local agent URL and credentials for BOI access) encrypted, and your Google OAuth token or Service Account key encrypted as well. For Sage 100, it connects to your customer-specific SOAP endpoint or the Windows agent on your network, sends the required company code with each call, and polls the DateLastUpdated field to find changed records since the last run. For Google Sheets, it uses the OAuth token to append or update rows in your designated sheet tabs. The local agent introduces a potential single point of failure, so ml-connector retries failed requests with exponential backoff; if the agent is down, an alert surfaces to your team. Because Sage 100 enforces record locking on COM operations, concurrent writes may fail, so ml-connector backs off and retries. Every row written to Google Sheets includes a source record ID and timestamp so you can trace it back to Sage 100 and replay if a downstream formula or manual step fails. Once your data lands in Google Sheets, you can sort, filter, and pivot it; ml-connector does not manage the spreadsheet structure or formulas, leaving that to your team.
A real-world example
A mid-sized B2B services company uses Sage 100 for procurement and AP on-premises. The accounting team exports AP invoices and vendor records manually from Sage 100 several times a day, pastes them into a Google Sheet for real-time visibility during the approval and matching workflow, and then re-enters matched invoices back into Sage 100. With Sage 100 and Google Sheets connected, new invoices flow automatically to the shared sheet as they arrive in Sage 100. The team approves them in the sheet, and ml-connector can optionally read the approval flag back into Sage 100, cutting out the manual copy-paste steps and keeping the two systems in sync.
What you can do
- Poll AP invoices, vendors, purchase orders, and GL accounts from Sage 100 on a schedule you control (15 min, 1 hour, or custom intervals).
- Write those records to Google Sheets tabs with source record IDs and timestamps for traceability.
- Authenticate Sage 100 via SOAP username/password or a local Windows agent, and Google Sheets via OAuth or Service Account.
- Retry failed requests with exponential backoff to handle network timeouts and Sage 100 COM record-locking constraints.
- Optionally read approval flags or notes from Google Sheets and post them back into Sage 100 fields.
Questions
- How does ml-connector reach Sage 100 if it is on-premises?
- ml-connector can connect to Sage 100 via SOAP at your customer-specific on-premises URL (username and password per call), or via a local Windows agent on your network that wraps the BOI COM layer. The local agent acts as a bridge, so ml-connector talks to the agent endpoint and the agent handles COM access to Sage 100. You supply the agent URL and credentials, and ml-connector polls it just like any cloud API.
- What if the local Windows agent goes down?
- If the agent is unreachable, ml-connector will retry with exponential backoff and eventually surface an alert so your team knows the link is broken. The polling does not resume until the agent is back online. For critical workflows, you may want to run the agent in a redundant pair or ensure it is monitored separately.
- Can ml-connector write changes from Google Sheets back into Sage 100?
- Yes, optionally. ml-connector can read approval flags, notes, or custom columns from Google Sheets and post them back into Sage 100 fields via SOAP or the local agent. You define which columns feed back; the primary sync is Sage 100 to Sheets, but the reverse is available if your workflow requires it.
Related integrations
More Sage 100 integrations
Other systems that connect to Google Sheets
Connect Sage 100 and Google Sheets
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started