Shopify is a leading ecommerce platform which many online merchants use for an ecommerce storefront and order management system. At Excelsior, our warehouse near San Francisco, has 3PL fulfillment integration to Shopify that allows us to hook into to your Shopify account to automatically pull new orders, confirm shipped orders, and sync inventory. Here’s how it works:
At scheduled times every day, Excelsior will automatically pull in new orders from Shopify. Usually this occurs at 8am and noon, though the second run is dependent on your account’s same-day cutoff time. All the address and order-item information is included in the Excelsior order. The ship method can be copied directly from Shopify or mapped by Excelsior (for example: “free shipping” gets mapped to “USPS First Class Mail”).
Excelsior has validation rules for which orders will import:
As Excelsior’s integration is running through the open Shopify orders, it will tag each one to signify the action taken. It will tag the order with a “FULFILLMENT IN PROCESS” tag, if that order passes all the above checks and Excelsior is able to successfully import it for fulfillment. Or it will tag the order with an error tag, if it fails to import an order for any of the above-mentioned reasons. Error tags include: “FULFILLMENT ERROR INVENTORY”, “FULFILLMENT ERROR CHARACTER MAX”, “FULFILLMENT ERROR FOREIGN CHARACTER”, “FULFILLMENT ERROR SHIP ADDRESS”, and “FULFILLMENT ERROR INVALID ITEM”.
Generally every fulfillable item in shopify should have a SKU that matches a SKU in Excelsior. But situations can arise where you may want to add items to an order, substitute one SKU for another, or create a shipping bundle where one item in shopify corresponds to multiple items in Excelsior. We can set these rules up for you. Some examples include:
Excelsior will skip any order that has a “HOLD” tag applied to it, or a “HIGH RISK” tag applied to it, before our integration imports it. If you do not see a “FULFILLMENT IN PROCESS” tag on the order, then you are free to apply a HOLD tag to the order if you’d like to keep it out of the Excelsior fulfillment system temporarily. Customers can also setup automated processes/scripts in shopify using Shopify Flow, that identify problematic orders and tag them with “HIGH RISK” until they have a chance to review them. Read more about Shopify Flow here: https://help.shopify.com/en/manual/apps/apps-by-shopify/flow
If you need us to cancel an order in the Excelsior system, that same order will import again into Excelsior on the next integration run, unless it is handled in Shopify as well – either by cancelling it, marking it refunded, or marking it fulfilled.
Once an order is imported into Excelsior’s system, any edits made in Shopify will not be carried into Excelsior. Also be aware that orders that have items with missing or invalid SKUs in Shopify, will not be fixed after you fix the item setup in shopify. Order item data is not editable after the order is placed, so if there’s a mismatch it will have to be fixed by Excelsior through an order exception.
If your inventory is stored in both our east and west coast warehouses, we will need to institute logic to handle which warehouse the order is assigned to. Unfortunately, Shopify does not have a way of assigning the correct warehouse and decrementing inventory accordingly. The most basic order assignment logic involves checking the ship to state to determine the closest warehouse, then checking available inventory at that warehouse. If inventory is insufficient, fall back to the next-closest warehouse. We can add nuances to these rules for each customer.
After Excelsior physically ships an order and it is marked COMPLETE in our system, our confirmation process will automatically mark that order as fulfilled in Shopify. The order confirmation is a scheduled batch process that runs at 6pm ET and/or 6pm PT (can vary by customer). Orders are confirmed at the line item level. For each order that we mark as shipped, we include the following data which populates in Shopify:
Not all clients choose to use this feature, but Excelsior offers an Inventory Sync to Shopify. We can run the inventory sync as often as a client wants, but in most cases it runs once per day in the evening. There must be a one to one relationship between the Excelsior item and the shopify item – item mappings and bundles will complicate the inventory sync rules. Clients can set up each item in Excelsior to either sync or not sync, and they can also set the sync “buffer”. The buffer quantity is subtracted from the quantity available that Excelsior sends to Shopify, so it acts as a safety net against over selling. In the Excelsior portal, clients have access to two reports:
Please talk to Excelsior’s IT support team. The first step is to grant us a login to your shopify account. We will login and generate a private app in shopify called “Excelsior Integrated” with read/write access to both orders and inventory resources. We will then utilize the API keys from the private app in our integration to your store. Setup can take 1-3 days.