Published
10/11/2021
Categories
E-Commerce, Software

Amazon STORIS Integration

Image icon with the words "Storis + Amazon".

A large mattress retailer with 300+ stores found Endertech not too long ago and became a client. They were attracted to our software which integrates Shopify and STORIS.

STORIS, in case you didn’t know, is an ERP software specialized for the furniture industry. It provides robust tools for inventory and order management, plus an API to enable integrations with external systems. Endertech has written software to integrate that API with e-commerce platforms such as Shopify, WooCommerce, and Magento.

Soon after we successfully demonstrated our Shopify / STORIS solution, our client wanted to integrate Amazon and STORIS. So of course they approached us with this challenge and we gladly accepted it.

The timeline was super tight, and fortunately we had half the solution already, as we could leverage the STORIS side of our software. Primarily we just had to focus on learning the Amazon Selling Partner API then mapping Amazon data and processes into STORIS data and processes.

The core of the Amazon STORIS integration is three things:

  1. Sending STORIS inventory and pricing to Amazon

  2. Sending Amazon orders to STORIS

  3. Sending STORIS order status to Amazon

Sending STORIS Inventory & Pricing to Amazon

Our existing software is middleware that sits between STORIS and whatever 3rd party platform we want to integrate with. Our middleware already has a process to retrieve the SKUs we want to sync from a platform and get the price and inventory for those SKUs from STORIS.

In the case of Amazon, we had to adapt our retrieval process to use their Reports API to obtain the list of SKUs our client wanted to sell on Amazon. With that list stored, we could then use our existing system to retrieve the inventory and price values from STORIS.

With the STORIS SKU data now in hand, we then utilized the Amazon Feeds API to update the inventory and pricing for each SKU. Our client had some specific rules about which inventory locations they wanted to use for Amazon inventory, so we coded those too.

Step one complete.

Sending Amazon Orders to STORIS

Now we wait for orders. Curiously, Amazon has no notion of a test environment or test orders. You have to place live orders for testing. So it’s handy to have some low value SKUs available.

We placed some orders and monitored their status on Amazon Seller Central. Orders begin in a “Pending” state, and after about 30 minutes, then transition to “Unshipped”. Once “Unshipped”, we can retrieve them.

We used the Amazon Orders API to retrieve new orders and store them in our middleware. From here, we adapted our code to map the Amazon order object into the STORIS order object. For the most part, this is a straightforward process, but a few “gotchas” crept up, such as how to deal with sales tax and shipping logistics.

STORIS provides a mechanism for overriding delivery charges. Amazon provides delivery charges  per line-item, but STORIS stores a single value for an order. So, we developed a little algorithm to make that translation.

With respect to sales tax, for all states except Missouri, Amazon remits sales tax. STORIS has no mechanism to override sales tax amounts, so the only option is to set the order as tax exempt.

Step two complete.

Sending STORIS Order Status to Amazon

To complete our loop, we have to alert Amazon when an order delivers, or if there is a problem leading to the order needing to be cancelled.

Our middleware scans open orders in STORIS looking for them to change status. Once they change to completed or voided, our system uses the Feeds API again to alert Amazon as appropriate.

Step three complete.

Summary

So to wrap it all up… if you represent a furniture retailer that uses STORIS, and you want to automate your Amazon marketplace operations… we have the solution for you. It’s pretty much ready to go.