Table of Contents
SPS Commerce
Updated
by Colin

SPS Commerce offers, among other things, a leading solution for business-to-business data exchange, taking much of the pain out of setting up and maintaining your EDI connections.
ShipStream's SPS Commerce integration makes a direct connection to your SPS Commerce account and simplifies the setup of your trading partners to get you launched quickly and with minimal effort.
Overview
In a nutshell, there are two components to setting up EDI via SPS Commerce:
- Setup the Global Integration to connect to your SPS Commerce account (only performed once)
- Add a Merchant Integration to map your Trading Partners to the correct ShipStream Merchants and Brands by Vendor ID and Trading Partner ID (performed once per merchant)
The "Global Integration" establishes the connection to SPS Commerce and acts as a communication channel for the SPS Commerce "Merchant Integration", of which you may setup any number of subscriptions. This allows the configuration to be managed per-Merchant as part of the plugin system giving your merchants maximum flexibility and visibility while keeping the EDI data and connection management siloed appropriately.
- When an EDI file is received from SPS Commerce, ShipStream will parse the file and attempt to match it to a plugin subscription based on the Vendor ID.
- Merchants will be able to see plugin errors that are logged for troubleshooting so long as the incoming EDI files matched the Merchant's SPS Commerce plugin subscription using the Vendor ID.
- If a Merchant cannot be matched to the incoming file's Vendor ID, the EDI Transaction will be left in "Merchant Not Found" status and will not be visible to any merchants.
- All sent and received documents can be seen at System > Integrations > EDI Documents.
Supported Fulfillment Models
ShipStream currently supports the Drop Ship (B2C) and Bulk Import (B2B) fulfillment models. Please let us know if you are interested in supporting other fulfillment models.
The following document types are utilized:
- Orders - Receive orders for goods fulfillment
- 850, 875, 940, ORDERS, PurchaseOrders
- OrderAcks - Acknowledge receipt of or reject Orders
- 855, ORDRSP, PurchaseOrderAcks
- Shipments - Notify of shipped goods including tracking details
- 856, 943, 945, AdvanceShipNotices, DESADV
Setup Global Integration
Before you can start, you will need an account with SPS Commerce. If you don't have one, let us know and we'll get you introduced!
Once you have your SPS Commerce account, head over to your ShipStream instance and follow these instructions.
- Login and click System > Integrations > Global Integrations (if you don't see this you may need to add or update your User Roles).
- Below "Setup new Global Integration" click "SPS Commerce".
- If your Location IDs are known and differ from your ShipStream Warehouse IDs (see System > Enumerations > System > Warehouses), add them to the Location ID Map.
- Click "Save and Continue Edit".
- Click the "Authorize" button and complete the authorization with your SPS Commerce account.
- When you are returned to the ShipStream page for the SPS Commerce integration you should see your company name listed in the Connection Status.

The connection setup is now complete and ShipStream can now pull and push data files to and from your SPS commerce account!
You are now ready to proceed to Setup Merchant Integration below.
Setup Merchant Integration
Once your Global Integration is setup you still need to setup a Merchant Integration subscription for each merchant that will use SPS Commerce.
- Login and click System > Integrations > Merchant Integrations (if you don't see this you may need to add or update your User Roles).
- Click "Add New Subscription".
- Select the appropriate Merchant and click "SPS Commerce" in the list of plugins.
- Configure the plugin as appropriate (details below) and click "Save Subscription".
Plugin Configuration
On the subscription page, expand the Plugin Configuration section to configure the SPS Commerce plugin subscription to each merchant's specific needs.
Active
If not active, incoming EDI files will not be matched against this subscription and no outgoing EDI files will be generated for activity on behalf of this merchant.
Enable Test Mode
Selecting "Yes" will prefix all incoming file queries and outgoing file uploads with "test/".
Vendor ID
The Vendor ID placed in the EDI files by SPS Commerce must either match the Merchant's "Code" or, if different, the correct value must be specified in the Vendor ID field.
Trading Partner ID
If the Trading Partner IDs setup with SPS Commerce already match the ShipStream Brand codes, there is no need to map the Trading Partner IDs, otherwise add a row for each Trading Partner ID for which you will be receiving orders and select the appropriate Brand for each.

Shipping Method Translation
As every order must have a Shipping Method assigned, the integration will make it's best effort to map the incoming CarrierAlphaCode
and ServiceLevelCode
fields to the closest matching Shipping Method. But, you may override this and specify a Shipping Method Translation to map the CarrierRouting
and ServiceLevelCode
values coming from SPS Commerce to the ShipStream Shipping Method of your choice.
The CarrierRouting
value is a free-form field so will vary by Trading Partner. The ServiceLevelCode
should be somewhat standardized and the expected values are listed at the end of this page.
Example
To map any value for CarrierRouting
and the ServiceLevelCode
for "Standard Ground" service (SG) to a Virtual Shipping Method which includes only ground methods and performs Rate Shopping.

Inventory Advice
To report your inventory levels to your trading partners you will simply need to add an Inventory Advice configuration for each Trading Partner which is entered in the first field, and the time interval selected for that Trading Partner in the second field.

Once saved, you can also force an upload to occur immediately by clicking "Upload Inventory Advice" in the Actions section.

Service Level Codes
Qualifier | Definition |
3D | Three Day Service |
AM | A.M. Service |
CG | Ground |
CX | Express Service |
DC | Delivery Confirmation |
DS | Door Service |
ET | Proof of Delivery with Signature |
FC | First Class |
G2 | Standard Service |
IDL | Inside Delivery |
IE | Expedited Service - Worldwide |
IS | International Service |
IX | Express Service - Worldwide |
LM | Last Mile Delivery (typically services that use USPS for the last-mile delivery - e.g. FedEx Ground Economy, UPS SurePost, DHL SmartMail, etc.) |
LT | Economy |
ME | Metro |
ND | Next Day Air |
NF | Next Flight Out |
NH | Next Day Hundred Weight |
NM | Next Morning |
NXD | Next Day |
ON | Overnight |
PA | Primary Service Area - Next Day by 10:30 A.M. |
PB | Priority Mail |
PC | Primary Service Area - Next Day by 9:30 A.M. |
PI | Priority Mail Insured |
PM | P.M. Service |
PN | Primary Service Area - Next Day by Noon |
PO | P.O. Box/Zip Code |
PR | Primary Service Area - Next Day by 5:00 P.M. |
PS | Primary Service Area - Second Day by Noon |
PT | Pooled Shipment |
PX | Premium Service (typically seen as White Glove Service, but varies by carrier or provider ) |
SA | Same Day |
SC | Second Day Air |
SD | Saturday Service |
SE | Second Day |
SG | Standard Ground |
SH | Second Day Hundred Weight |
SI | Standard Ground Hundred Weight |