JSON and XML API for Sage 100

What is SDE?

Our Sage 100 API, SDE, works with JSON and XML to post your data to Sage 100 Standard, Advanced, and Premium. Web and Application developers use JSON or XML to post Sales Orders, Quotes, Customers, Vendors, and almost any object in Sage 100. Developers can also define the data returned by a GET or the response from a POST. SDE uses Sage 100 Business Objects to maintain data integrity.

How does SDE Work?

SDE resides on your server, listening for JSON or XML requests. When a authorized request is received, SDE queries your Sage 100, and responds to the request. Post requests (update and create) are handled by the Sage 100 native business objects.

Even User Defined Tables and Fields can be read, and written to, via SDE. Business Objects and object overrides, written by Sage 100 Developers, are available as well.

Who uses SDE?

We have many customers running SDE. Listed below are a few. We don't provide company names, but it may be helpful to know about the connections that are possible with the Sage 100 API. If you are intereseted, please contact us through the Support page.

SDE connection to Woo Commerce

A Georgia customer produces and sells trade show and event equipment. Their products run the gamut on all things exhibition related.

They already had a Woo Commerce web store, but wanted a way to post the orders from the site directly into Sage 100. Working with their development staff, Woo Commerce now posts a JSON order document to SDE, which posts the order into Sage 100.

SDE connection to Zoho

An Oklahoma customer manufactures quality drywall materials, tools and supplies. They are integrating Zoho with SDE to pass Sales Orders directly through to Sage 100.


Paya developer posts CC to Sales Orders

Another customer created their own custom web store that posts paid Sales Orders into Sage 100 through SDE.

The creators of the web store are Paya developers. The site charges the customers credit card online. When the order is posted to Sage 100, they include all the Paya transaction information.


Coupa posts cXML to SDE

SDE is running at national printing company that wanted to move off their EDI platform onto a new system managed by Coupa using cXML. Their national customer has close to a thousand stores all ordering automatically through Coupa, posting orders into Sage 100.

With the success of receiveing orders through Coupa, they've added another connection for a printer supplies company to post their orders.


SDE interfaced with SalesForce

A netting manufacturer created a button in Salesforce that posts CPQ quotes to Sage 100 through SDE.


Developer pulls data for remote reporting

A fireplace distributor in New York is working with SDE to pull data out quickly for custom reporting.


Sage 100 API used to create Customer Portal

The company manages inventory for serveral customers. (Vendor Managed Inventory) They've developed a customer portal to enhance the companys' onsite presence. The portal gives the customer sales statistics, current order status, and product movement information by making queries of SDE.

Not only does the portal display data and graphs online, Sage reports are emailed to VMI customers through a trigger sent to SDE. (This feature will soon be released to production.)


Ecommerce Website uses Sage 100 API

A custom ecommerce website online uses SDE to refresh inventory pricing and post Sales Orders into Sage 100.

SDE is also used to update available quantities by making a query to the Item Warehouse Resource, that returns the quantity on hand and the quantity on Sales Order.

What's New?  

Return Tracking Numbers from History (v2.10.0.119)

The A/R Invoice History business object does not have a link to the package table which contains the tracking numbers. (The user interface has a button to access the business object.)

Our ARSDE_InvoiceHistoryInquiry_BUS, delivered with SDE, provides the link to the Tracking Numbers, or any other field in the AR_InvoiceHistoryTracking table.

SDE will return an array of Tracking Numbers if thats the only column requested. Otherwise an array of package information objects will be returned.

Of course, you can GET Tracking Numbers from the standard Sage object AR_InvoiceHistoryTracking_BUS, though it might be easier to get the Tracking Numbers with the invoice.