Sage 100 Connector
Overview
Setting up the connection requires a supported Sage 100 version. From there it takes two things: you configure access inside your Sage 100, and you give us three details that we store on the Workist side.
Prerequisite for your Sage 100
Sage 100 by Sage GmbH (Germany, Austria, Switzerland), version 9.0.7 to 9.0.11.
| Step | Where |
|---|---|
| Connect the Sage Connectivity Gateway | Sage Server Manager → External API |
| Install the Workist API extension | AppDesigner (metadata import, see the installation guide) |
| Enable the databases for connectivity | Sage 100 Administrator |
| Add the Workist client ID as a user and grant permissions | Sage 100 Administrator |
| Restart the application server | Sage Server Manager |
Details Workist needs from you
| Detail | Where you find it |
|---|---|
| EntitlementID | Sage Server Manager → External API → Configuration |
| Tenant | Sage 100 Administrator |
| Document type | Sage 100 Materials Management |
Supported Sage 100 versions
The connector works with Sage 100 by Sage GmbH — the edition for Germany, Austria and Switzerland. These versions are supported:
| Sage 100 version | Supported |
|---|---|
| 9.0.11 | yes |
| 9.0.10 | yes |
| 9.0.9 | yes |
| 9.0.8 | yes |
| 9.0.7 | yes |
| 9.0.6 and older | no |
The Workist API extension contains a separate package for each of these versions. Only the package matching your Sage 100 version is installed — the packages are not interchangeable. Your Sage 100 partner can tell you which version you are running.
If your Sage 100 runs on an older version, an update to at least 9.0.7 is a prerequisite for the connection. If your version is not listed here, talk to us — we will check whether a matching package is available.
From version 9.0.9 onwards, the permissions are created during the metadata import. In earlier versions they have to be applied through a supplied SQL script — the installation guide covers both routes.
In other markets, Sage sells separate products under the same name — for example Sage 100 in the US (formerly Sage MAS 90 and MAS 200) or Sage 100 Comptabilité and Gestion Commerciale in France. These have a different data model and their own version numbering. The Workist Sage 100 connector is not compatible with them.
Setup in your Sage 100
For Workist to read data from your Sage 100 and create documents in it, additional API endpoints are installed in Sage 100. The setup is usually carried out by a Sage 100 consultant. The official guide to the Sage Connectivity Gateway can be found in the Sage documentation:
Setting up Sage 100 – Sage Documentation ↗Prerequisite: 3rd Party Gateway licence
Using the Sage 100 API externally requires a 3rd Party Gateway licence. On licensing, Sage registers your main contact's email address together with a customer ID — the EntitlementID — in the Entitlement Service. You need that address for step 1 of the setup.
Setup step by step
- Connect the Sage Connectivity Gateway in the Sage 100 Server Manager under External API → Establish connection. You sign in via Sage ID with the main contact's email address, then select the entitlement and the application server that requests should be forwarded to.
- Install the Workist API extension via Metadata → Import in the AppDesigner. Only the package matching your Sage 100 version is used — see Downloads.
- Enable the databases in the Sage 100 Administrator. The databases that should be reachable through the connection must be enabled explicitly.
- Add the Workist client ID as a user and grant permissions in the Sage 100 Administrator. You enter the client ID in place of a Sage ID and assign it to a Sage 100 user. Give it a recognisable name (such as "Workist") so it stays clear which partner service the user belongs to. That user's permissions determine what Workist is allowed to do — see Required permissions.
- Restart the application server so the changes take effect.
Exactly one connection to the Connectivity Gateway is possible per customer installation.
Downloads
The Workist API extension enables communication between Sage 100 and Workist. The installation guide describes the steps required to install it in your Sage 100 environment.
| File | Contents |
|---|---|
| Workist API Extension version 7.1 (ZIP) | One package per supported Sage 100 version |
| Workist API Installation Guide (PDF) | Metadata import, file distribution, troubleshooting |
Workist Client ID
Workist authenticates against your Sage 100 system via Sage ID using OpenID Connect, in machine-to-machine (M2M) mode.
The Workist client ID is: WPw9RlvT5I5XCX25kAsOKB3REYv98FRq
The client ID is a public application identifier and is identical for all Workist customers. There is no password and no client secret for you to enter.
In M2M mode, the client ID takes the place of the Sage ID email address as the identity of the calling system. It therefore goes where the Sage account is entered for an interactive user – not as a password, not as a licence key, and not as an entry in the Server Manager.
Required permissions
The permissions relevant to the API are listed in the Sage 100 Administrator under the API area:
| Area | Permissions |
|---|---|
API.VK | Sales document, sales document item, sales document item stock, sales article pricing |
API.EK | Purchase document, purchase document item, purchase document item stock |
API.Artikel | Articles, storage location stock |
API.Kunden | Customers |
API.Ansprechpartner | Contacts |
API.Lager | Warehouse search |
API.Lieferanschriften | Delivery addresses |
API.Projekte | Projects |
The API extension additionally creates permissions under the SData services area — master data, transaction data and real-time data.
Details for the Workist configuration
For Workist to reach your Sage 100 we need three details from you. All three come from your Sage 100 — there is nothing for you to set up on the interface itself.
| Detail | Where you find it | What it does |
|---|---|---|
| EntitlementID | Server Manager → External API → Configuration | Identifies your installation in the Connectivity Gateway |
| Tenant | Sage 100 Administrator | Determines which tenant is read from and written to |
| Document type | Sage 100 Materials Management | Determines which document type Workist creates |
EntitlementID
The EntitlementID identifies your Sage 100 installation to the Connectivity Gateway. It is created when the 3rd Party Gateway is licensed and can be viewed in the Sage 100 Server Manager under External API → Configuration. The same dialog is where you set which application server requests are forwarded to, and configure a proxy if needed.
Tenant
Workist works in exactly one tenant of your Sage 100. That tenant's database must be explicitly enabled for connectivity in the Sage 100 Administrator — see step 3 of the setup.
Document type
You decide which document type Workist creates. Technically it is addressed through a key. Only initial document types can be created — the following sales document types are available:
| Key | Document type |
|---|---|
VFR | Invoice |
VLL | Delivery note |
VPA | Quote |
VPM | Sample document |
VSD | Direct invoice |
VSL | Immediate invoice |
VSS | Immediate order |
VVA | Order confirmation |
Which of these are actually available depends on how your Sage 100 is configured. Sage publishes the full overview in its document API documentation:
Document API – Sage documentation ↗What Workist touches in your Sage 100
What matters for a rollout is less the interface itself than the data model behind it: which tables Workist reads, where it writes, and what the installation changes in your data.
Data read
Workist reads in order to resolve details from the incoming document against your system — customer, article, delivery address, project.
| Area | Sage 100 tables | Why Workist reads it |
|---|---|---|
| Customer master | Customer master (Sage record recKundenstamm) | Customer recognition |
| Delivery addresses | KHKAdressen, KHKAdressenverweise, KHKKontokorrent | Resolving the delivery address |
| Contacts | KHKAnsprechpartner plus the same address tables | Contact on the document |
| Articles | KHKArtikel, KHKArtikelVarianten (plus KHKArtikelgruppen, KHKVariantenAnzeigeTexte and others) | Article recognition, units of measure |
| Projects | KHKProjekte | Framework contracts |
All read access is tenant-scoped — the queries filter on the tenant of the DataSet being addressed.
Data written
Workist does not write to your tables via SQL. Documents are created through Sage 100 document entry, customers through the customer master. Your number ranges, pricing, tax logic and validations therefore all still apply.
| What Workist creates | Via | Result in Sage 100 |
|---|---|---|
| Sales document with items | Document entry | Document in KHKVKBelege / KHKVKBelegePositionen |
| Customer | Customer master | Record in the customer master |
Existing documents are not changed or deleted — creation is the only operation.
Additional fields in your tables
The installation adds two user-defined fields. They are created by the supplied
UpdateUserFields-Workist.sql script and serve traceability.
| Field | Label in Sage 100 | Type | Tables |
|---|---|---|---|
USER_WorkistBearbeiter | Edited by in Workist | varchar(200) | KHKVKBelege, KHKArchivVKBelege, tKHKPrintBelegKopfVK |
USER_WorkistReferenz | Workist reference | varchar(200) | KHKVKBelege, KHKArchivVKBelege, tKHKPrintBelegKopfVK |
The fields are additionally registered in USysClassFields for the VKBeleg class so that they
are available inside Sage 100.
These two fields are not created by the metadata import. The UpdateUserFields-Workist.sql
script from the package's SKRIPTE folder has to be run against the affected databases. The
installation guide does not mention this script.
Field reference
Which fields Workist writes to the sales document in detail, and which master data fields it reads from your Sage 100, is documented in the Sage 100 field reference.