WooCommerce is a free, ecommerce plugin for the WordPress content management system. Add ecommerce functions to your WordPress site and expand those functions with ShipStation.
We built our extension specifically for WooCommerce. Install and configure the WooCommerce shipping plugin in a just few steps. Afterward, you can import your WooCommerce orders directly into ShipStation, synchronize your orders, let customers choose their shipping method, include order notes, and enjoy customizable shipping-confirmation emails.
Connection Requirements:
-
An active account with WooCommerce.
-
The ShipStation Integration installed in WooCommerce.
-
Your WooCommerce authentication key.
-
Your WordPress domain's Store URL.
Scope of Support
Installing the extension file to your WooCommerce environment is beyond our scope of support. We recommend you contact your store developer or WooCommerce Support if you need assistance with the extension installation process. They can help you best, as the process may differ based on the unique configuration of the WooCommerce environment.
Order Import Requirements:
-
Include a Ship To address.
-
Include at least one physical product.
To connect your WooCommerce store to ShipStation.
-
Download the ShipStation Integration plugin to your computer.
-
Log in to your WooCommerce administrators' portal.
-
Go to Plugins, and click on Add New.
-
Click Upload and select the plugin zip file from your local computer, then click Install Now.
-
Click Activate Plugin after installation is complete.
-
Go to the WooCommerce menu, then select Settings.
-
Click Integrations.
WooCommerce Connected Integrations
If you have any other Integrations connected to WooCommerce, you may also need to click ShipStation below the tab bar.
-
Copy the Authentication Key. You can also adjust the statuses that will be exposed to ShipStation, adjust the status an order will move to when ShipStation sends a shipment update, and adjust whether logging is enabled or not. Click Save Changes when you're done.
-
Select WooCommerce.
-
Enter your WooCommerce Authentication Key and Store URL, and map any custom statuses if needed.
After you've completed the connection steps, the store's Settings page will open. You can adjust your store-specific settings like branding and customer notifications, if you wish. Or click Save to close.
The ShipStation integration with WooCommerce supports these standard features:
Feature |
Supported? |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ShipStation Status |
WooCommerce Status |
---|---|
Awaiting Payment |
Pending |
Awaiting Shipment |
Processing |
Shipped |
Completed |
Cancelled |
Cancelled |
On Hold |
On-hold |
This table indicates which data ShipStation sends to WooCommerce with the marketplace shipment notification:
Field |
Sent to Marketplace? |
---|---|
Status Update |
|
Tracking Number |
|
Carrier |
|
Service |
|
Carrier Fee |
|
|
|
Item Information |
|
The ShipStation integration with WooCommerce allows for these additional features:
Feature |
Description |
---|---|
Custom Statuses |
To use a custom status with ShipStation, first create a Custom Status in WooCommerce. Under the WooCommerce Integration tab, add the "slug" of the created custom status. Then you can add the custom status in your ShipStation settings. |
Configurable Time Zone |
By default, ShipStation assumes that the WooCommerce store's server uses UTC as the timezone. If your WooCommerce account uses a different server timezone, then you can define it in the store's settings. |
Custom Fields |
If a coupon is used for an order, then the coupon code will be included as Custom Field 1. Additionally, you can modify the ShipStation Integration plugin file to include custom values for Custom Field 2 and Custom Field 3. See this section of the plugin documentation for details. |
-
ShipStation will not receive products that are marked as Virtual or Downloadable.
-
ShipStation cannot connect to a WooCommerce store while the store is in Maintenance Mode.
-
If your WordPress site requires any extra authentication to load the page, ShipStation may be unable to connect or import orders.
Extra authentication can include security plug-ins or features meant to block access to the site. This includes plug-ins like an age-verification screen meant to create an extra step before accessing the site. If you whitelist ShipStation in the plug-in that should allow us to bypass any additional authentication.
Here are some common issues experienced by users, potential causes, and available troubleshooting tips.
Issue |
How to troubleshoot or resolve |
---|---|
Custom Status is not importing |
What it means: This may be happening because WooCommerce is not reading the slug correctly. What to do: Input the custom status exactly as it is sent from WooCommerce to ShipStation. Use the dash ( See Custom Statuses in the Additional Features section here. See WordPress Slugs: What They Are & How to Change Them for a more technical context. |
Orders from a WooCommerce store based in France are not importing |
Cause: WooCommerce is sending order statuses to ShipStation in English with a lowercase first letter rather than in French, and ShipStation is not configured to accept these statuses. What to do: Option 1: Update the store’s status mappings to the English (non-capitalized) status names. Go to Option 2: You can customize the order statuses as you see fit if you enable custom status mappings in WooCommerce. In your WooCommerce account go to Check Timezone: Confirm the website's server timezone. If the store is set to expect Dateline Standard Time (International Dateline West) but the server actually responds in GMT, such a review may prevent delays with order imports. |
Error: An error occurred attempting to update orders: The remote server returned an error: (500) Internal Server Error or IntegrationError: WooCommerce encountered an error and responded with StatusCode InternalServerError. Content: 500 Internal Server Error |
What it means: This error may indicate that we cannot reach the WooCommerce store for a variety of reasons. Most often, it is an issue outside of ShipStation. This can be a store import or ShipNotify error, but its root cause is the same. What to do:
|
The Order Date in ShipStation is different than the Order Date in WooCommerce |
What it means: This error usually occurs when the WooCommerce server uses a timezone different than the timezone set in the store's settings in ShipStation. This difference causes the Order Date to deviate when the WooCommerce server uses timezone as the basis to convert the timestamp. What to do: Update the store's settings so the store uses the same timezone as the server that hosts your WooCommerce store. |
Certain orders placed late in the day are not importing into ShipStation |
What it means: Similar to the first timezone issue, this error typically occurs when the WooCommerce server uses a different timezone than the timezone set in the store's settings in ShipStation. That timezone difference causes our import process to inadvertently skip ahead. What to do: Update the store's settings so the store uses the same timezone as the server that hosts your WooCommerce store. |
Error: (500) Internal Server Error When connecting a store or trying to import orders |
What it means: A (500) Internal Server Error is a generic error message that essentially means something went wrong, but without any additional detail to indicate the cause of the problem. What to do: To troubleshoot these issues, enable the WP_DEBUG option for your WordPress site. Read more about WP_DEBUG on the Debugging in WordPress page. This setting will allow for more robust logging for WordPress, which will allow you or your site developer to find the cause of the generic error. If you're unable to resolve the issue on your own, please contact ShipStation support with the full error log and a status report. We'll help you with the next steps you should take. |
Orders not importing into ShipStation after updating WooCommerce or restoring site from a backup |
What it means: Sometimes, updating a WooCommerce store will cause your order database to reset and reuse Order ID values. Such resets and reuses can be problematic for ShipStation because we use Order ID values to identify unique orders. This issue is most common when you update your WooCommerce site to the latest version. The same issue can also happen if you restore the site from a backup or make other configuration changes to the store. This problem also happens if you use sequential order number plugins, or plugins that edit order numbers. This Sequential Order Number for WooCommerce blogpost from the store explains more. What to do: If only a handful of orders were affected, and the latest orders continue to import as expected, you should create manual orders to replace the absent WooCommerce orders. Then manually update WooCommerce with the shipment information. If many orders were affected or the latest orders do not import, another solution is to create a new WooCommerce store connection in ShipStation. The new WooCommerce store connection will import the current version of the Order ID so new orders will import consistently. However, if you leave the original store connection active, you could see duplicate orders import into ShipStation. You'll want to deactivate the original store connection after you have shipped out any unresolved orders. |