ShipStation

Our ShipStation extension helps you get your orders from WooCommerce with ShipStation and expedite the shipping process as part of your order fulfillment steps.

ShipStation is a web-based shipping service that streamlines the order fulfillment process for online retailers, handling everything from order import and batch label creation to customer communication. ShipStation is a great fit for businesses with any number of users or locations.

Installation

↑ Back to top
  1. Purchase the product from WooCommerce.com
  2. Download the ZIP file from your WooCommerce.com dashboard
  3. Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
  4. Click Install Now and then Activate.
  5. Read on to learn how to set up and configure the product.

More information at: Install and Activate Plugins/Extensions.

Requirements

↑ Back to top

To use this integration, you must have:

  • A ShipStation monthly plan. More info at: ShipStation.com
  • A REST API key with Read/Write permissions, created on the WooCommerce > Settings > Advanced > REST API page of your site.

Setup and Configuration

↑ Back to top

After installing and activating the ShipStation extension, you can view your Authentication Key and configure the settings on the WooCommerce > Settings > Integration > ShipStation page.

Authentication Key

↑ Back to top

The Authentication Key is the first thing you’ll see on the ShipStation extension’s settings page, which is automatically generated for you and unique to your store. This is one of the required keys that you’ll need when connecting your store in your ShipStation.com account dashboard.

Export Order Statuses

↑ Back to top

Select the WooCommerce orders with statuses you want sent to ShipStation. We recommend sending only orders that have been paid for, those being: Processing, Completed, and possibly On-Hold/Cancelled.

Shipped Order Status

↑ Back to top

Next set the order status an order should be changed to once marked shipped in ShipStation. We recommend Completed as that usually means the order needs no further action.

Logging

↑ Back to top

If you’ve run into any issues, enable logging here. This can be helpful for troubleshooting things. You can view the logs at: WooCommerce > System Status > Logs. Then in the logs dropdown find the appropriate ShipStation log files.

Finally select Save changes.

REST API Keys

↑ Back to top

In the past, the ShipStation connection only required the Authentication Key and the store URL. ShipStation now connects via the REST API, so you will also need a Consumer Key and Consumer Secret when connecting your site in your ShipStation.com account dashboard.

Generating the Consumer Key and Consumer Secret

↑ Back to top

To generate the Consumer Key and Consumer Secret, you will need to create an API key on the WooCommerce > Settings > Advanced > REST API page in your site admin.

If you haven’t created any REST API keys yet, you can click on the “Create an API key” button in the middle of the screen. If you have created REST API keys already, those keys will be shown on this page. To create a new REST API key, click the “Add key” button in the top-left:

On the “Key details” page, enter a Description (ex: “ShipStation REST API Key”), choose the User account that will have ownership of this key, and select “Read/Write” in the Permissions dropdown. Then click the “Generate API key” button.

After clicking the “Generate API key” button, you will be provided with the automatically-generated Consumer Key and Consumer Secret. Make sure to copy and save these keys in a secure location, as you will need this information when connecting the store on ShipStation.com and the secret key will be hidden once you leave this page.

Connect to ShipStation

↑ Back to top

After setting up the the ShipStation extension and generating the REST API Consumer Key and Consumer Secret on your site, the next step is to connect your WooCommerce store to your ShipStation.com account. If you don’t have a ShipStation account yet, you can sign up by clicking the “Connect to ShipStation.com” button below.

After signing up, you’ll be prompted to pick a ‘Selling Channel’ to connect to your WooCommerce store. If you’re an existing ShipStation user, you can find this page by logging into your account on ShipStation.com and going to My Profile > Selling Channels and clicking Connect a Store. Select the WooCommerce store connection option to continue.

After selecting the WooCommerce store connection, you will be prompted to enter the following info:

  • Authentication Key: This is the unique key shown on the WooCommerce > Settings > Integration > ShipStation page of your site admin.
  • Consumer Key: This is part of the REST API key that was created on the WooCommerce > Settings > Advanced > REST API page of your site admin. This key begins with ck_.
  • Consumer Secret: This is part of the REST API key that was created on the WooCommerce > Settings > Advanced > REST API page of your site admin. This key begins with cs_.
  • URL to Custom XML Page: This is the URL for your site (ex: https://www.yoursite.com).

Once you have entered all of that info, click the “Test Connection” link in the bottom left to test the connection. Then click the “Connect” button to finalize the connection.

Shipped Orders

↑ Back to top

When marking an order shipped via ShipStation there is an important checkbox to select. Be sure to select/enable the “Notify Marketplace?” checkbox. This is required so ShipStation notifies your store which then does the following in WooCommerce:

  • Changes the order status to your Shipped Order Status (which is typically Completed)
  • Adds a customer note with carrier and tracking information.

If you are using our WooCommerce Shipment Tracking extension, then the tracking information is added there instead.

Export Custom Field Data to ShipStation

↑ Back to top

Note: We are unable to provide support for customizations under our Support Policy. If you need to further customize a snippet, or extend its functionality, we highly recommend Codeable, or a Certified WooExpert.

ShipStation supports up to three custom fields that may contain extra data you want sent to the ShipStation orders section.

Custom Field 1 contains coupon codes used in an order. Enabled by default.

Custom Fields 2 and 3 can be customized with a snippet in which you define the name of meta data you want to export. Example:

// Add this code to your theme functions.php file or a custom plugin
add_filter( 'woocommerce_shipstation_export_custom_field_2', 'shipstation_custom_field_2' );
function shipstation_custom_field_2() {
return '_meta_key'; // Replace this with the key of your custom field
}
// This is for custom field 3
add_filter( 'woocommerce_shipstation_export_custom_field_3', 'shipstation_custom_field_3' );
function shipstation_custom_field_3() {
return '_meta_key_2'; // Replace this with the key of your custom field
}

We are unable to provide support for customizations under our Support Policy. If you are unfamiliar with code and resolving potential conflicts, select a WooExpert or Developer for assistance.

Usage

↑ Back to top

How ShipStation works with your ShipStation account:

  • Customer places an order on your WooCommerce shop that requires shipping.
  • ShipStation.com makes an API call to the Merchant’s store to the extension’s endpoint.
  • Extension looks at the setup, and generates an XML output response to the ShipStation API. ShipStation imports those orders into their system.
  • Merchant’s shipping person/people go into ShipStation.com, sees orders that need shipment, and generates shipping labels (aka: “ships them”).
  • Once a label is generated, ShipStation.com sends a notification to the Merchant’s store via the extension’s endpoint.
  • Extension updates the order to Shipped Order status (typically ‘Completed’) and stores the shipping info within the order.

Troubleshooting

↑ Back to top

Orders are not imported into ShipStation

↑ Back to top

Caching plugins providing file minification can generate this kind of issue. Make sure that you disable file minification and try to import orders again.

Orders are not exporting to ShipStation

↑ Back to top

If orders are in an Export Status but are not being exported to ShipStation (i.e. no “Order has been exported to ShipStation” note is added to the order and the ShipStation logs show “Exported 0 orders”), check the Connection in your ShipStation.com dashboard.

To do this, login to ShipStation.com and go to My Profile > Selling Channels. Click the ... icon in the “Actions” column and choose “Edit Connection” (as seen in the screenshot below). Make sure all of the connection fields are filled out and click “Test Connection”. If the Consumer Key and Consumer Secret fields are empty, follow the instructions to generate those REST API keys and add them to those respective fields.

Testing the XML Export

↑ Back to top

The XML feed for ShipStation is can be tested at a specific URL. It’s formatted as per this example below that looks at orders from 1 Feb 2022 until 30 April 2022.

https://example.com/?wc-api=wc_shipstation&auth_key=YOUR_AUTH_KEY&action=export&start_date=02/01/2022%2000:05&end_date=04/30/2022%2021:00

Be sure to replace example.com with your site’s URL, and YOUR_AUTH_KEY with your authentication key. The link should then load an XML view of orders from your store, which is what ShipStation reads.

Frequently Asked Questions

↑ Back to top

Does ShipStation provide real-time shipping quotes that can be used at checkout?

No. Store owners need a real-time shipping quote extension such as USPS, FedEx, UPS, etc. or have an alternate way to show shipping quotes (e.g. the built-in Flat rate method).

Does ShipStation send data when not being used (e.g., Free Shipping)?

↑ Back to top

Yes, there isn’t conditional exporting. If the data is there, we export it!

Why am I getting an “Unable to connect to the remote server” error?

↑ Back to top

Check if you have security plugins active – Security plugins usually restrict the accessibility of endpoints/URLs on a WP online store. The Security plugin may not be allowing ShipStation to connect to the server. If it is, disable the security plugin and test again.

If the error is still not resolved, then please check with your host if they have some sort of firewall enabled. If they do, please ask them to disable that and check again. Also, make sure to Whitelist ShipStation IPs.

Why do multiple line items in an order on the WooCommerce side get combined when they reach ShipStation?

↑ Back to top

This is most likely because unique Product SKUs have not been configured for each product and variation in the Store. To ensure that order line items show up correctly in ShipStation, we recommend assigning a unique SKU to each product as well as each variation within a product.

Why don’t orders show as Completed in WooCommerce after being Shipped in ShipStation?

↑ Back to top

Most likely causes are:

  • A misconfiguration – Check WooCommerce > Integrations > ShipStation to ensure that “Shipped Order Status” is set to Completed
  • A conflict with a Security plug-in – Security plugins usually restrict the accessibility of endpoints/URLs on a WP online store. Although orders may be exporting fine, the Security plugin may not be allowing ShipStation to POST shipping information to the server. If you have “Shipped” an Order in ShipStation (created a label or used ‘Mark as shipped’), but the order is not being updated to Completed, check to see if the WP site is running a Security plugin. If it is, disable the security plugin and test again. If disabling the plugin resolves the issue, see if it can whitelist your endpoints.

If the above two items do not resolve the issue, first contact ShipStation.com support to request further information on the error their system is seeing when communicating to the WP/WooCommerce server.

Once ShipStation has responded with the technical information, share the information with Woo Support for further investigation.

Using a custom order status with ShipStation

↑ Back to top

ShipStation supports custom order statuses but these must be setup in your ShipStation account. You can find this in your Account > Store Setup > Your Order Statuses. If you add a custom order status then you will need to use the slug (case insensitive), to match it to a ShipStation order status. You can use the WooCommerce Order Status Manager for creating a custom order status in WooCommerce.

How to change the Authentication Key

↑ Back to top

To change the Authentication Key, please go to your WordPress option page here: https://yoursitename.com/wp-admin/options.php and look for a field that’s called woocommerce_shipstation_auth_key.

Delete the value of the field and click save. This will allow a new Authentication Key to be generated which you can find here: WooCommerce > Settings > Integration > ShipStation

On multisite installations, the woocommerce_shipstation_auth_key data can be deleted in the store settings for each site. Doing this can help resolve issues related to non-unique key generation problems.

Questions and Feedback

↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with a Happiness Engineer via the Help Desk.