Skip to main content

Connector Details

Overview

Sage 100 (formerly MAS 90 / MAS 200) is on-premise ERP software for mid-market businesses, covering financials, inventory, sales order, and purchase order management. It is a distinct product from Sage 300, Sage 300 CRE, and Sage 50 UK. The hotglue Sage 100 connector is an installed Windows program (.exe) that runs on the same machine as (or with network access to) Sage 100. While it is running, it reads data over the Sage ProvideX ODBC driver and syncs it to hotglue.
  • Read can sync any table exposed by the Sage 100 ODBC database. Common header/detail objects (for example sales order history and invoice history) can also be joined into a single stream.
  • Write is not supported. This connector is read-only.

Tenant setup guide

Use the guide below to configure the Sage 100 connector.

Initial credential configuration

Before installing the connector locally, gather the following:
  • Username and password: Sage 100 credentials for the company. Create a dedicated integration user rather than using an active interactive login.
  • DSN: Sage 100 data is accessed through the ProvideX ODBC driver. Sage installs a default DSN named SOTAMAS90. To confirm it is present and accessible:
    • On 64-bit Windows, open the 32-bit ODBC administrator at C:\Windows\SysWOW64\odbcad32.exe (the ProvideX driver is 32-bit).
    • Open System DSN (or User DSN) and look for SOTAMAS90, or another DSN that uses the MAS 90 4.0 ODBC Driver.
    • Open the DSN and set the Company field to your Sage 100 company code. The connector connects with DSN / UID / PWD only, so the company must be configured on the DSN itself.
    • Use Test Connection on the Debug tab to verify the DSN before running the connector.
  • Company code: The three-character (or company-specific) Sage 100 company code. Configure this in the ODBC DSN as described above.
Once you have these credentials, provide them to support. In return, you will get the connector file, which is an exe Windows program that you will run, and a connector password.

Sample config

On first run, the connector creates %APPDATA%\.hotglue\config.yml. A typical config looks like:

Table options

Each key under tables is a Sage 100 ODBC table name (for example AR_Customer), or one of the header/detail stream names below.

Run the connector

Now you have all you need to run the connector.
  1. Download the connector launcher file from support.
The Sage 100 connector is packaged as an .exe file. This connector is read-only.
  1. Run the launcher .exe file. On first run it creates %APPDATA%\.hotglue and a starter config.yml.
  2. Update config.yml with your hotglue and Sage credentials, then save the file.
  3. If the connector opens a pop-up requesting your connector password, enter the password from support and click OK.
That’s it. The connector is now running and ready to sync your Sage 100 data. Config and logs live under %APPDATA%\.hotglue by default (config.yml and hotglue-sage-connector.log). To start the connector automatically after reboot, copy the .exe into the Windows Startup folder (Win+R → shell:startup).

Supported Objects

Read

Read syncs any table you enable under sage.tables. You are not limited to a fixed catalog — the connector can query any table exposed by the Sage 100 ProvideX ODBC driver. Configure reads with either:
  1. Standard table names — the connector runs SELECT * FROM {table}
  2. Header/detail stream names — with has_header_detail_pair: true, the connector joins {table}Header and {table}Detail into one stream
Field names in results use Sage 100 dictionary names (for example CustomerNo, VendorNo, DateUpdated).

Common tables

Use Sage’s File Layouts and Program Information help to find additional table and field names. To sync any other table, use its Sage ODBC table name as the tables key.

Header/detail streams

These streams require has_header_detail_pair: true. The connector joins the Header and Detail tables on the documented keys and returns a flattened row per detail line (with header columns included). When replication_key is set on a header/detail stream (for example DateUpdated), the filter and ordering are applied on the Header table.
Prefer setting a replication_key (usually DateUpdated) so the connector can run incremental syncs instead of re-reading the full table on every cycle.