Questions? Give us a call at (800) 882-6705

Sage Partner
Talk to a Sage 100 specialist · 855-652-9049
BCS ProSoft  |  Sage Partner · in business since 1985
SAGE 100 API

Sage 100 API: BCS ProSoft Connect Brings REST to Sage 100

BCS ProSoft Connect is a Sage 100 API: a modern RESTful interface that gives external systems, custom applications and automation tools realtime, programmatic access to Sage 100 ERP data, and a great alternative to SData.

It is built on .NET, C# and the Sage 100 Business Objects Interface, and every endpoint is versioned and documented in Swagger.

Tell us which system needs to reach Sage 100. We review the modules and records involved and confirm whether BCS ProSoft Connect supports the connection.

BCS ProSoft Connect Sage 100 API Swagger page listing Accounts Payable vendor endpoints
The Accounts Payable section of the BCS ProSoft Connect documentation: get, update, delete and list vendors through versioned endpoints.
10
Sage 100 modules
From Library Master to RMAs
4
HTTP methods
GET, POST, PUT and DELETE
v1
Versioned API
Documented in Swagger UI
1985
In business since
Four decades in business software

WHY BCS PROSOFT CONNECT EXISTS

Sage 100 runs the business. It was never given a REST API

Sage 100 does not provide a native REST API. Connecting it to another application has usually meant working directly with Sage Business Objects, building custom middleware, or relying on imports, exports and manual steps built around the ERP.

Those approaches can work, and they get harder to maintain as systems and data requirements change. BCS ProSoft Connect gives developers a standard RESTful layer instead, so Sage 100 can talk to modern applications in the way those applications already expect.

HOW IT WORKS

One API layer between Sage 100 and everything else

BCS ProSoft Connect sits between Sage 100 and the application that needs its data. Your developers make standard REST calls; BCS ProSoft Connect communicates with Sage 100 through the Business Objects Interface and returns the result.

SAGE 100
Your ERP data and business logic, reached through the Business Objects Interface
↔
BCS PROSOFT CONNECT
RESTful API layer with documented, versioned endpoints
↔
YOUR SYSTEMS
External systems, custom applications and automation tools
Standard REST API calls in both directions

KEY INTEGRATION POINTS

What the Sage 100 API can reach today

Developers use standard API technology to access Sage 100 data and actions through documented, versioned endpoints. This is the current coverage, module by module.

ModuleMethodsData or actionAccess
Library MasterGET / POST / PUT / DELETEZip codesRead and write
Common InformationGET / POST / PUTItem codesRead and write
Accounts PayableGET / POST / PUT / DELETEVendors and vendor contactsRead and write
Accounts ReceivableGET / POST / PUT / DELETECustomers, contacts, terms codes, and open invoices by customerRead and write
Sales OrdersGET / POST / PUT / DELETESales orders and detail linesRead and write
Purchase OrdersGET / POST / PUT / DELETEPurchase orders and detail linesRead and write
Inventory ManagementGETItem warehouse information and inventory levelsRead only
Production ManagementGETWork ticket informationRead only
Payroll Time TrackGET / POST / PUT / DELETEEmployee time track entriesRead and write
Return Merchandise AuthorizationGET / POST / PUT / DELETERMAs and detail linesRead and write
Health CheckGETOperational health of the APIMonitoring
LicenseGETRefresh the cached license when modules are added or removedAdministration

INSIDE THE API

Three screens, three things developers get

These are captures of the BCS ProSoft Connect documentation itself. Every endpoint is described, and every one can be tried from the same page.

BCS ProSoft Connect · Swagger UI
Accounts Payable vendor endpoints in the BCS ProSoft Connect Swagger UI
Accounts Payable: the vendor endpoints, each with its method, route and purpose.

DOCUMENTED ENDPOINTS

Every route is listed with its method and purpose

Each module groups its endpoints in one place. For Accounts Payable that means getting a specific vendor, updating or deleting one, and listing vendors, all under a versioned /api/v1 route that includes your Sage 100 company code.

GetVendorsAdvanced adds filtering, pagination and a choice of fields to return, using comparison operators such as =, ne, lt and gte.

READ INVENTORY LEVELS

Ask for an item in a warehouse. Get the answer back

Inventory Management exposes item warehouse information, which is how an outside system reads current inventory levels for one item or several.

The documentation shows the parameters each call takes, lets a developer execute it, and displays the exact request that was sent, which shortens the path from reading about an endpoint to using it.

BCS ProSoft Connect · Swagger UI
Inventory Management GetItemWarehouse request in the BCS ProSoft Connect Swagger UI
Inventory Management: a GetItemWarehouse request by item and warehouse, with the generated request URL.
BCS ProSoft Connect · Swagger UI
Library Master create zip code request with JSON body in the BCS ProSoft Connect Swagger UI
Library Master: creating a zip code, with the required fields and a sample JSON body.

WRITE BACK TO SAGE 100

Create and update records with a JSON body

Where a module supports it, BCS ProSoft Connect writes to Sage 100 as well as reading from it. Each write endpoint documents its required fields and shows a sample request body.

The same pattern applies to vendors, customers, sales orders, purchase orders, time track entries and RMAs.

Screen captures show the BCS ProSoft Connect Swagger interface with sample parameters and sample data.

KEY FEATURES

Built like a modern API, because it is one

The things a developer checks first when evaluating an API are already there.

Comprehensive data access
Retrieve, create and update records across core Sage 100 modules, from Accounts Payable and Accounts Receivable to Sales Orders, Purchase Orders and Inventory Management.
Pagination and filtering
Handle large datasets with built-in pagination, and narrow GET requests with advanced filtering on the fields you need.
Rate limiting
Configurable, IP-based rate limiting helps protect your Sage 100 system and keeps usage fair across the applications that call it.
Health checks
A built-in health check endpoint reports the operational status of the API, so monitoring tools can watch it like any other service.
Interactive documentation
Swagger UI documents every endpoint, request and response format, and data model, and lets a developer try calls against their own company code.
Versioned endpoints
Endpoints live under a versioned route, /api/v1, so an integration always targets a known, documented version of the API.

COMMON QUESTIONS

What teams ask us about a Sage 100 API

The questions that come up before an integration is scoped.

“Does Sage 100 have a REST API?”

Sage 100 does not provide a native REST API. BCS ProSoft Connect adds one: a RESTful interface that works through the Sage 100 Business Objects Interface to give outside systems programmatic access to supported Sage 100 data and actions.

“What is BCS ProSoft Connect?”

BCS ProSoft Connect is an API for Sage 100 built by BCS ProSoft. It is built on .NET and C# and exposes Sage 100 data and actions through documented, versioned endpoints, so other software can work with your Sage 100 system using standard API technology.

“Which Sage 100 modules does it cover?”

Library Master, Common Information, Accounts Payable, Accounts Receivable, Sales Orders, Purchase Orders, Inventory Management, Production Management, Payroll Time Track and Return Merchandise Authorization, plus health check and license endpoints.

“Can it create and update records in Sage 100?”

Yes, for supported endpoints. Depending on the module, BCS ProSoft Connect can retrieve, create, update or delete records using GET, POST, PUT and DELETE. Inventory Management and Production Management are read-only today.

“Does the API run processes on its own?”

No. BCS ProSoft Connect does not perform tasks by itself. It exposes Sage 100 data and actions in a standard way, and the application calling it decides what to read, create or change.

“Will it work for our integration?”

That depends on the outside system, the Sage 100 modules involved, and the records it needs to read or write. BCS ProSoft reviews the use case and tells you whether the current endpoints support it and what additional work may be needed.

HOW TO GET STARTED

Bring the use case. We will tell you if BCS ProSoft Connect fits

Most conversations start with a system that already needs Sage 100 data. Related reading: Sage 100 and Sage 100 consulting.

01

Describe the connection

Which application needs to reach Sage 100, which modules are involved, what records it reads or writes, and how often the data needs to move.

02

Confirm the fit

BCS ProSoft reviews the use case against the current BCS ProSoft Connect endpoints and tells you what is supported and what additional integration work may be required.

03

Connect and build

Your developers work against documented, versioned endpoints, with BCS ProSoft on hand for the Sage 100 side of the project. See our services.

Connect Sage 100 to the rest of your stack

Talk with BCS ProSoft about your Sage 100 integration needs. Tell us the system you want to connect and the data it needs, and we will walk you through how BCS ProSoft Connect fits.

BCS ProSoft Connect is an API for Sage 100 from BCS ProSoft.

Sage Partner
Sage 100 is a trademark of Sage Software, Inc. All other trademarks are the property of their respective owners. Screen captures show the BCS ProSoft Connect Swagger interface with sample parameters and sample data.
BCS ProSoft

Or call us: 855-652-9049