The ShipStation plugin helps store owners integrate WooCommerce with ShipStation and expedite the shipping process.
ShipStation is a web-based shipping solution that streamlines the order fulfillment process for online retailers, handling everything from order import and batch label creation to customer communication. Advanced customization features allow ShipStation to fit businesses with any number of users or locations.
Requirements ↑ Back to top
To use this integration, you must have:
- A ShipStation monthly plan. More info at: ShipStation.com
Installation ↑ Back to top
- Download the .zip file from your WooCommerce account.
- Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
- Install Now and Activate the extension.
More information at: Install and Activate Plugins/Extensions.
Sign up with ShipStation ↑ Back to top
Go to ShipStation.com and you are prompted with a ‘Selling Channel’ pop-up that allows you connect to WooCommerce.
If you’re an existing ShipStation user, find this at: ShipStation Account Settings > Selling Channels > Connect a store or marketplace.
Find WooCommerce in the list and click to set up.
Enter the Auth Key found on your site at: WooCommerce > Settings > Integration > ShipStation. This is a unique string generated by the plugin and allows ShipStation to connect.
Enter your WordPress site domain e.g., https://yoursite.com/ This tells ShipStation where to request orders.
Select ‘Test Connection’ and Finish.
Setup and Configuration ↑ Back to top
Go to: WooCommerce > Settings > Integration > ShipStation.
Integration Settings ↑ Back to top
The Authentication Key is read only and generated for you.
Export Order Statuses
Select the WooCommerce orders with statuses you want sent to ShipStation. We recommend that only paid orders be sent: Processing, Completed and possibly On-Hold/Cancelled.
Shipped Order Status
Select the status to which ShipStation should change to, once the order has been shipped. We recommend Completed.
Tick the checkbox to enable logging of all requests to the ShipStation API on your store. This can be helpful for troubleshooting. View logs at: WooCommerce > System Status > Logs.
Testing the XML Export ↑ Back to top
XML is generated on a certain endpoint that you can access directly to test. This will be similar to:
If you substitute your URL and AUTH key in the above, possibly tweaking dates, you should see an XML view of orders from your store. This is what ShipStation reads.
Shipped Orders ↑ Back to top
When an order is shipped via ShipStation, ShipStation notifies your store’s shipnotify endpoint, which:
- Changes the order status to your Shipped Order Status to (typically) Completed
- Adds a customer note with carrier and tracking information.
If you are using WooCommerce Shipment Tracking (separate purchase), tracking information is added there instead.
Export Custom Field Data to ShipStation ↑ Back to top
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:
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. ShipStations imports those orders into their system.
- Merchant’s shipping person/people go into ShipStation.com, see 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 ‘Completed’ status and stores the shipping info within the order.
Troubleshooting ↑ Back to top
My orders are not imported into ShipStation
Caching plugins providing files minification can generate this kind of issue, make sure that you disable file minification and try to import orders again.
FAQ ↑ 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., Flat rate charge).
Does ShipStation send data when not being used (e.g., Free Shipping)?
Yes, there isn’t conditional exporting. If the data is there, we export it!
Why do multiple line items in an order on the WooCommerce side get combined when they reach ShipStation?
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?
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 ‘marked 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
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.
Questions and Feedback
Have a question before you buy? Please fill out this pre-sales form.
Already purchased and need some assistance? Get in touch with a Ninja via the Help Desk.