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 can sync any table exposed by the Sage 300 CRE ODBC database. Common objects also have friendly stream names (for example
vendor,job,bill). - Write supports creating (and in some cases updating) vendors, jobs, cost codes, categories, journal entries, bills, and commitments.
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 for the company. 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.
- Company path: The full path to the Sage 300 CRE company data folder. Example:
- tsObject.exe path: Path to Timberline
tsObject.exe, used for writing transactional and job-cost objects. 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 either a friendly stream name (see Read) or a raw Sage ODBC table name.
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 the objects below. Writes are dispatched by the payload filename (for examplevendor.json or bill.json). Objects are processed in dependency order: vendors and job-cost setup first, then journal entries, commitments, and bills.
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. The filename prefix must match the stream name exactly (for example vendor.json, not vendors.json).Vendors
Payload file:vendor.json
Vendors can be created or updated. Field names use Sage dictionary names.
- Include
VRWIDto update a specific existing vendor by row id - Otherwise, if
VENDORalready exists it is updated; if not, a new vendor is created
Additional vendor fields are available — see the AP vendor field list.
Sample payload
Sample payload
Jobs
Payload file:job.json
Sample payload
Sample payload
Cost Codes
Payload file:cost_code.json
Cost codes belong to a job. The job must already exist, or be created in the same write job first. Set extraId to attach the cost code to a job extra.
Sample payload
Sample payload
Categories
Payload file:category.json
Categories belong to a job and cost code. The parent job must already exist, or be created in the same write job first.
Sample payload
Sample payload
Journal Entries
Payload file:journal_entry.json
Each entry must balance (total debits = total credits). Every line needs exactly one non-zero debit or credit.
Sample payload
Sample payload
Bills
Payload file:bill.json
Invoice header
Distribution lines
Sample payload
Sample payload
Commitments
Payload file:commitment.json
Commitments support create, change orders, and updates to existing commitments.
Create a commitment
Usetype: "subcontract" for a new commitment.
Sample payload (new commitment)
Sample payload (new commitment)
Change orders
Sendtype: "change_order" against an existing commitment.
Sample payload (change order)
Sample payload (change order)
Update an existing commitment
To update an existing commitment, send the lookup key plus the fields to change:SRWIDto update by Sage row id, orSUBto update by commitment number
Sample payload (update)
Sample payload (update)
Read
Read syncs any table you enable undertables. You are not limited to a fixed catalog — the connector can query any table exposed by the Sage 300 CRE ODBC database.
Configure reads with either:
- Friendly stream names (recommended for common objects)
- Raw Sage ODBC table names when you need something outside the aliases below
columns / replication_key) use Sage dictionary names (for example VENDOR, VNAME, VDSTMP).
Common stream aliases
Use the field-reference PDFs to pick
columns and understand stamp / id fields. To sync any other table, use its Sage ODBC table name as the tables key — contact support if you need help identifying the right fields.
Example table config
Example table config