Who uses SDE?

We have SDE customers using their internal development team to write web and application integrations. We are also partnered with third party developers connecting to Sales Force, freight aggregators and more! Check out their brief bios below.

We are Salesforce Experts!

BlackIron Group is a certified Salesforce partner with over 2,000 implementations (and counting!) With deep business and technology knowledge, we deliver superior design and implementation of strategy, technology, and process solutions for Salesforce SalesCloud, Service Cloud, CPQ, FSL and APEX/Aura programming SDE.

BlackIron brings our clients a variety of initiatives and innovations that ultimately help drive revenue & cost savings, deliver bottom line results and enable our clients to move to a higher level of performance.

And, we have significant experience with SDE integrations, reading Inventory counts and prices, and writing Sales Orders to Sage 100.

Streamline your AP Process with triValence!

triValence created an intuitive procurement and payment platform that integrates with Sage 100 through SDE.

Their simple solution automates the three-way match process by empowering their customers to manage and order supplies and services, and pay invoices all from one central platform.

Simple, Fast, and Cost-Effective LTL Shipping

MyCarrier - Simplify your shipping process and reduce your freight costs with one easy-to-use platform. Ship Smarter, Not Harder.

MyCarrier connects shippers with their Less Than Truckload (LTL) shipping rates and allows users to rate shop, dispatch, track, audit and more within a simple to use, cloud-based platform. MyCarrier also offers multiple integration options including order and invoice integration automation with Sage 100 through SDE.

Automate your LTL shipping process by connecting Sage with MyCarrier and eliminate manual data entry, reduce errors, and capture accurate shipment information back into your system of record. Learn more HERE.

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.

Available Addons

Development Assistance

30 day developer assistance with SDE. Used to assist your development team with learning how to use SDE and in some cases, make minor changes and modifications to SDE as needed. Not all changes can be done under Development Assistance and may require to be quoted.

SDE - Sandbox

Optional additional Sandbox copy of SDE. This additional sandbox copy can only be used on test or development servers with the same Serial Number as the live production.

What's New?

Faster Returns with Indexing (v2.10.0.118)

SDE, the JSON and XML API for Sage 100, now allows the selection of the best Sage Index for your query.

The A/R Invoice History tables can grow very large. You can page results, setting a customer filter, but since the primary index is by invoice number, the search reads every record. If the request contains customer index along with that filter, the query will only see the records with that customer, and return the page much quicker.

We've setup an index option on the Demo page. The ABC Demo Data doesn't have any large tables, but you will see the index syntax. Use the Products or Invoice History Resources.

Read More
Invoice History Header & Detail (v2.10.0.117)

The Sage 100 Invoice History business object does not have a detail object for the invoice lines. In order to return a complete invoice from Sage your application would need to make two requests.

SDE, the JSON and XML API for Sage 100, remedies the situation by delivering overrides to the header and detail objects to allow your application to retrieve the complete invoice with one request. These overides are not standard Sage overrides, but direct overrides of those two classes.

We've added the Invoice History Resource to the Demo page. The Response contains both header and detail columns. Note the Invoice Total is returned. Invoice Total is not in the table, but it is returned as an expression with an alias.

Read More
Offset and Limit Paging (v2.10.0.115)

SDE, the JSON and XML API for Sage 100, now handles offset-based paging using the offset and limit query parameters.

To fetch the first page of entries in a collection, the API needs to be called with the offset parameter set to 1 and the limit parameter set to the desired number of records to return. To fetch the next page of entries, the API needs to be called with an offset parameter equal to the sum of the previous offset and limit values. The limit parameter would stay the same.

To try offset-based paging, go to the API Demo page and check the Use Offset checkbox before hitting the Get All or Get w/Filter buttons.

Read More
Using HTTP Authentication (v2.10.0.114)

SDE, the JSON and XML API for Sage 100, now can take advantage of the HTTP Authentication Header.

The "Basic" HTTP authentication scheme is defined in RFC 7617, which transmits credentials as user ID/password pairs, encoded using base64.

To try the basic authentication, go to the API Demo page and check the Basic Authentication checkbox before hitting the Get All or Get w/Filter buttons.

Read More
Posting G/L Accounts just became easier! (V2.10.00.128)

G/L Account Keys are usually defaulted from other tables, so we don't have to include them in a post Request. For example, posting an A/P Invoice will default the Vendor Account Key for the line detail. If you need to post a G/L Account, read further.

Posting G/L Accounts through the Business Object is made difficult because an Account Key is required. You can get the Account Key by making a SDE Request for the key and passing the Formatted Account number and specifying the Account index.

Starting with SDE Build 128, you can pass the Formatted Account as the Account Key and SDE will translate the Formatted Account to the Account Key for posting.

Read More
Easier Navigation from Windows Start Menu (v2.10.0.126)

Earlier versions of SDE required that certain functions be launched from inside the application. Starting in build 126, the Windows Start Menu includes the folder "SDE Sage 100 API", containing the following functions:

SDE Application
Web Configuration
Web Start (Restart)
Uninstall SDE

SDE Start (Restart) will shutdown all instances of the web connection and restart the Windows Service or application.

Read More
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.

Read More

SDE Application

SDE configuration is done in the application. The path to Sage 100, the business object you want to interact with, and the returns you expect are all configured here.

Frequently Asked Questions

A Resource is a link to a Sage 100 Business Object. For example, the Customer Resource links to AR_Customer_BUS. Many Resources can point to the same Sage 100 Business Object in order to set up different Defaults and Returns.

Yes! You can set the Sage 100 Company Code in SDE in three different areas. You can enter the default Company Code in the SDE Application Setup. You can enter a Company Code in SDE User Maintenance, overriding the Company Code in Setup. Finally, you can pass the Company Code in the posted JSON or XML document, overriding both.

Yes! You can retrieve data from, and post data to, User Defined Tables and Fields. In Resource Maintenance, just select the User Defined Table and enter the table name. User Defined Fields are read or written like any other field in the selected business object.

See the Advanced Demo page to perform GET's and POST's to the Territory UDT. Select Territory UDT from the Resource dropbox. Or watch the Sage User Defined Tables video.

Yes! You may want several Customer Resources that return different datasets. You can also create Resources for Business Objects you've created as a Sage 100 Master Developer.

Yes! With your SDE License you can post from several different application and/or websites. Your posts can target one company or different companies.

No, retreiving data does not tie up a Sage 100 License. However, SDE uses a Sage 100 License when it's posting data into Sage 100.

Yes! Security is maintained by Sage 100 business objects when posting data to Sage 100. When retrieving data from Sage 100, security is checked by SDE prior to accessing the data.

Yes! You can find the Sage 100 Business Object Reference and Data File Layouts here.

If Batch Entry is enabled for a data entry program in Sage 100, and the JSON or XML does not contain the Batch Number, SDE will retrieve and assign the next batch for that data entry program. For example, if your Resource is associated with the business object AR_Invoice_BUS, and batches are enabled in Accounts Receivable Options, then SDE will assign the next batch number to your post.

Only one batch per day is created for a given data entry program. So if your website is creating several invoices a day through SDE, they will all be posted into a single batch. The batch will have the current date and the comment SDE.