The ShipStation plugin helps store owners significantly speed up the shipping process by offering an easy way to seamlessly integrate with ShipStation.
ShipStation is a web-based shipping solution that streamlines the order fulfillment process for online retailers. With real-time integrations into popular marketplaces and shopping cart platforms, ShipStation handles 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
- Unzip and upload the plugin’s folder to your /wp-content/plugins/ directory
- Activate the extension through the ‘Plugins’ menu in WordPress
- Go to WooCommerce > Settings > Integrations > ShipStation to configure the plugin
For more information on installing and managing plugins
Integration Settings ↑ Back to top
The first field you’ll see in the integration settings is the Authentication Key. This key is read-only and generated for you. You’ll need this when you setup WooCommerce on ShipStation.
Export Order Statuses
This setting is used to tell WooCommerce which orders to send to ShipStation. These should be your paid orders (processing, completed and possibly on-hold/cancelled).
Shipped Order Status…
This is the order status you wish ShipStation to change your order to after you’ve shipped it. ‘Completed’ is usually the most appropriate status to use here.
If enabled, all requests to the ShipStation API on your store will be logged. You can view these logs by going to WooCommerce > System Status > Logs.
Testing the XML Export ↑ Back to top
XML is generated on a certain endpoint which you can access directly to test. This will be something like:
If you substutute your URL and AUTH key in the above, possibly tweaking dates, you should see an XML view of orders from your store. This will what ShipStation will be reading.
Setup and Configuration ↑ Back to top
When you signup for ShipStation you’ll be prompted with a ‘Selling Channel’ pop-up which will let you connect to WooCommerce. If you’re an existing ShipStation user, you can find this in ShipStation Account Settings > Selling Channels > Connect a store or marketplace.
Find WooCommerce in the list and click it to setup.
Enter the Auth Key found in WooCommerce > Settings > Integrations > ShipStation. This is a unqiue string generated by the plugin and allows ShipStation to connect.
Secondly, enter your WordPress site’s domain e.g. https://yoursite.com/ This tells ShipStation where to request orders.
Once this is done, click ‘test connection’ then finish. You’re setup.
Shipped Orders ↑ Back to top
When an order is shipped via ShipStation, ShipStation will notify your store’s shipnotify endpoint which:
- Changes the order status to your “Shipped Order Status” setting (usually completed)
- Adds a customer note with carrier and tracking information.
If you are running the WooCommerce Shipment Tracking extension, tracking information will be added there instead.
Export Custom Field Data to ShipStation ↑ Back to top
ShipStation supports up to 3 custom fields which can contain extra data you want to send to the ShipStation orders section.
Custom Field 1 will contain coupon codes used in an order. This is enabled by default.
Custom Fields 2 and 3 can be customised using a small snippet in which you define the name of the meta data you want to export. Example:
Usage ↑ Back to top
An overview of how the ShipStation extension works with your ShipStation account:
- Customer places order on your WooCommerce shop that requires shipping.
- ShipStation.com makes an API call to the Merchant’s store to our Extension’s endpoint.
- The extension looks at the config, 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 the 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.
- The Extension updates the order to ‘Completed’ status and stores the shipping information 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 have real-time shipping quote capability that can be used at checkout?
No. Store owners will need a real-time shipping quote Extension like USPS, FedEx, UPS, etc. or have an alternate way to show shipping quotes (e.g., Flat rate charge)
Does ShipStation send data when it’s not being used (ex. Free Shipping)?
Yes, there isn’t any conditional exporting. If the data is there, we export it!
Why do multiple lines 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 lines items show up correctly inside ShipStation, we recommend you assign 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?
The 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.