Connector Details
Overview
Sage 300 CRE (Construction and Real Estate), formerly Timberline, is on-premise accounting software for construction and property management. It is a distinct product from Sage 300. The hotglue Sage 300 CRE connector is an installed Windows program (.exe) that runs on the same machine as Sage 300 CRE. While it is running, you can read and write data the same way you would with a cloud connector.
- Read uses ODBC against the Timberline DSN to query any table in the Sage 300 CRE company database.
- Write uses either direct ODBC inserts or Sage import-file operations (
tsObject.exe+ a Timberline macro), depending on the object.
Tenant setup guide
Use the guide below to configure the Sage 300 CRE connector.Initial credential configuration
Before installing the connector locally, gather the following:- Username and password: Sage 300 CRE credentials used for ODBC and for import macros. Empty values are valid for open or sample companies that do not require a login. For production companies, create a dedicated integration user rather than using an active interactive login.
- DSN: Sage 300 CRE data is stored in an underlying Timberline database. The connector reads (and can write) through an ODBC DSN that points at that database. Sage typically installs a system DSN named
Timberline Data Source. To confirm it is present:- Click the Search button on the bottom left of your Windows toolbar
- Search for
ODBCand selectODBC Data Sources (64-bit) - Click
System DSN. You should seeTimberline Data Source(or a custom DSN you created that uses the Timberline driver). This is the DSN name to configure.
- Company path: The full path to the Sage 300 CRE company data folder. This is the folder that contains the company files the Timberline driver should open (passed as
DBQon the ODBC connection). Example:
- tsObject.exe path (required for import-file writes): The Timberline
tsObject.exeused to run import macros for transactional objects such as bills, invoices, journal entries, and payments. The default install location is:
exe Windows program that you will run, and a connector password.
Sample config
Tenant config is stored in hotglue and pulled down by the connector on each cycle. A typical config looks like:Table options
Each key undertables is a Sage 300 CRE table name (for example APM_MASTER__VENDOR).
Run the connector
Now you have all you need to run the connector.- Download the Connector launcher file.
The Sage 300 CRE connector is packaged as an
.exe file. Read and write run in the same process.- Run the launcher
.exefile as administrator. This registers the connector as a service and starts setup. - The connector will open a pop-up requesting your connector password. Enter your connector password and click OK.
C:\Program Files\hotglue by default.
Supported Objects
Write
The Sage 300 CRE connector supports writing master records and transactions out of the box. Writes are dispatched by the payload filename (for examplevendor.json or bill.json). Master records (vendors, customers, jobs, accounts, employees) are processed before transactional objects so dependencies exist before import.
There are two write methods:
In addition to the fields listed below, all objects support the optional
externalId field.
This is used to associate the created record in Sage with your own id. This field is not mapped to Sage 300 CRE, and only persists within hotglue.When writing data to Sage 300 CRE, ensure that the
.json files are written to the etl-output folder in your jobs. Otherwise the connector will not process them.Vendors
Payload file:vendor.json
Vendors are created with a direct ODBC insert into APM_MASTER__VENDOR.
Sample payload
Sample payload
Customers
Payload file:customer.json
Customers are created with a direct ODBC insert into ARM_MASTER__CUSTOMER.
Sample payload
Sample payload
Jobs
Payload file:job.json
Jobs are created with a direct ODBC insert into JCM_MASTER__JOB.
Sample payload
Sample payload
Accounts
Payload file:account.json
GL accounts are created with a direct ODBC insert into GLM_MASTER__ACCOUNT.
Sample payload
Sample payload
Employees
Payload file:employee.json
Employees are created with a direct ODBC insert into PRM_MASTER__EMPLOYEE.
Sample payload
Sample payload
Bills
Payload file:bill.json
Bills (AP invoices) are written as a Sage AP import file, then imported with the Timberline import-ap.mac macro.
The connector:
- Maps each bill JSON record to Sage AP import rows (
APIheader +APDdistribution lines) - Writes
import-ap.csvinto the company data folder - Runs
tsObject.exeagainstimport-ap.macwith the configured company credentials
Invoice header (API)
Distribution lines (APD)
Sample payload
Sample payload
Customer Invoices
Payload file:invoice.json
AR invoices are written as a Sage AR import file, then imported with import-ar.mac.
Sample payload
Sample payload
Journal Entries
Payload file:journalentry.json
General ledger journal entries are imported with import-gl.mac.
Sample payload
Sample payload
Vendor Payments
Payload file:vendorpayment.json
AP payments are imported with import-appay.mac.
Sample payload
Sample payload
Commitments
Payload file:commitment.json
Commitments (purchase orders / subcontracts) are imported with import-cm.mac.
Sample payload
Sample payload
Read
Read syncs any table you enable undertables. The table list is not a fixed catalog — the connector can query any table exposed by the Sage 300 CRE (Timberline) ODBC database.
Use the exact Timberline table name as the key (for example APM_MASTER__VENDOR). Set sync to true, optionally add a replication_key for incremental sync, and prefer an explicit columns list.
Example table config
Example table config