How to setup Sage 100 with Unified.to
July 17, 2026
Connecting Sage 100 — How to get your API credentials
This guide walks a Sage 100 administrator through everything needed to connect Sage 100 to Unified. Sage 100 is on-prem software, so the connection is made through eBusiness Web Services, a module that runs on your own Sage 100 server. When you finish, you will have the four values Unified asks for:
- Web Services URL
- Company Code
- Web Services Username
- Web Services Password
Who should do this: a Sage 100 system administrator (or your Sage business partner). Several steps happen on the Windows server that hosts Sage 100 and in Internet Information Services (IIS), so server access is required.
Before you start
- Sage 100 (Advanced or Premium; MAS 90/200 lineage) installed and running.
- Administrator access to the Sage 100 server and to IIS on that server.
- The eBusiness Web Services module — it ships with Sage 100 but is installed separately from the Sage 100 installation program. If it is not installed yet, do that first (see Step 1).
- The server must be reachable from Unified over HTTPS. Sage 100 typically lives inside a private network, so you will usually publish the endpoint through a reverse proxy, VPN, or secure tunnel and give it a valid TLS certificate. Coordinate this with your IT/network team.
Step 1 — Install eBusiness Web Services (if not already installed)
- Run the Sage 100 installation program on the server.
- Choose to install eBusiness Web Services and complete the wizard. It installs a web
application into IIS under a virtual directory named
ebusinesswebservices. - After installation, open the Sage 100 eBusiness Web Services configuration utility on the server (installed alongside the module). You will use it in later steps.
If eBusiness Web Services is already installed, skip to Step 2.
Step 2 — Confirm the endpoint URL and that it is reachable
The service exposes a single SOAP endpoint:
https://<your-server>/ebusinesswebservices/masservice.svc
Verify it works by opening this URL in a browser from a machine that can reach the server:
https://<your-server>/ebusinesswebservices/masservice.svc?wsdl
You should see the WSDL (an XML document). If it loads, the endpoint is live.
- Replace
<your-server>with the public host name that Unified will use to reach the server. - Make sure the host name matches the TLS certificate on the site, and that the port (usually
- is open to Unified. If the WSDL does not load, see Troubleshooting below.
This full URL is the "Web Services URL" value you will enter in Unified. (Unified also accepts
just the base https://<your-server>/ebusinesswebservices and will add /masservice.svc for you.)
Step 3 — Enable the company for web services and note the Company Code
- In Sage 100, open Library Master → Main → Company Maintenance.
- Select the company you want to connect.
- Ensure the company is enabled for web services (eBusiness Web Services must be turned on for this company). If you are unsure where this setting is in your version, your Sage business partner can confirm it — the eBusiness Web Services guide requires the company to be enabled or every call returns "Web services are not enabled for this company."
- Note the Company Code — the short code (for example
ABC) that identifies this company.
This is the "Company Code" value you will enter in Unified.
Step 4 — Create (or designate) a web-services user
Unified authenticates as a Sage 100 user on every call, so create a dedicated user for the integration.
- In Sage 100, open Library Master → Main → User Maintenance.
- Create a new user (recommended: a dedicated integration account, e.g.
WEBSVC) or choose an existing one, and set a strong password. - Ensure the user is enabled for web services. If a user is not web-services-enabled, calls fail with "Web services are not enabled for the system." / an authorization error.
- Make sure the account is not locked. A locked account returns "This user account has been locked."
The user name and password are the "Web Services Username" and "Web Services Password" you will enter in Unified.
Give the user the right permissions (roles)
The web-services user must belong to a role (Library Master → Main → Role Maintenance) that grants the tasks the integration uses. For the Customer and Sales Order features Unified supports, enable these tasks on the role's Tasks tab:
| Feature (Unified) | Sage 100 task to allow |
|---|---|
| Read customers | Accounts Receivable → Main → Customer Maintenance → View |
| Update customers | Accounts Receivable → Main → Customer Maintenance → Modify |
| Delete customers | Accounts Receivable → Main → Customer Maintenance → Remove |
| Read sales orders | Sales Order → Main → Sales Order Entry → View |
| Create sales orders | Sales Order → Main → Sales Order Entry → Create |
| Update sales orders | Sales Order → Main → Sales Order Entry → Modify |
| Delete sales orders | Sales Order → Main → Sales Order Entry → Remove |
| Grant only what you need. If a task is not allowed, the matching Unified operation returns an | |
| authorization error. |
Step 5 — (Optional) Expose extra fields (UDFs)
By default, User-Defined Fields (UDFs) and Development Partner fields are not returned. If you need them, open the Sage 100 eBusiness Web Services configuration utility → Advanced Settings → Additional Fields tab and add the fields you want to expose. This step is optional and only needed for custom fields.
Step 6 — Enter the values into Unified
In the Sage 100 connection form in Unified, provide:
| Field | Value |
|---|---|
| Web Services URL | https://<your-server>/ebusinesswebservices/masservice.svc |
| Company Code | e.g. ABC |
| Web Services Username | the user from Step 4 |
| Web Services Password | that user's password |
| Save the connection. Unified will begin talking to your Sage 100 server directly over HTTPS. |
What Unified can and cannot do with Sage 100
eBusiness Web Services is a focused API. It is important to set expectations:
- Supported: looking up, updating, and removing Customers; and creating, reading, updating, and removing Sales Orders.
- Not available: the API has no "list everything" operation — records are fetched one at a time by their key (customer number, or sales order number). There is also no API for invoices, inventory items, vendors, purchase orders, or general-ledger accounts, so those are not available through this connection.
Troubleshooting
The WSDL will not load (wrong host name). IIS uses the server's full computer name in the WSDL's internal URLs. If that name does not match your TLS certificate or is not reachable from outside, the WSDL fails to download. Fix the server's full computer name, or set SSL host headers in IIS so the correct host name is used.
"Web services are not enabled for the system / this company." The system and/or the specific company is not enabled for web services (Steps 3–4). Enable them.
Authorization errors on specific operations. The web-services user's role is missing the required task permission (Step 4). Add it.
"This user account has been locked." Unlock the account in User Maintenance.
Connectivity/timeout errors. Confirm the server is reachable from the internet on HTTPS and that any proxy/tunnel is up.
References (official Sage documentation)
- Sage 100 Web Services Guide (2024, PDF): https://docs.sage.com/docs/en/customer/100erp/2024/open/WebServices.pdf
- Programming with eBusiness Web Services: https://help-sage100.na.sage.com/WebServicesGuide/2025/Content/WebServices/Programming.htm
- API reference (operations): https://help-sage100.na.sage.com/WebServicesGuide/2025/Content/WebServices/APIs.htm