WooCommerce

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.

WooCommerce Requirements

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.

Connect a WooCommerce store to ShipStation

To connect your WooCommerce store to ShipStation.

  1. Download the ShipStation Integration plugin to your computer.

  2. Log in to your WooCommerce administrators' portal.

  3. Go to Plugins, and click on Add New.

    WooCommerce plugins menu with arrow pointing to Add New.
  4. Click Upload and select the plugin zip file from your local computer, then click Install Now.

  5. Click Activate Plugin after installation is complete.

  6. Go to the WooCommerce menu, then select Settings.

    WooCommerce menu with arrow pointing to Settings.
  7. 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.

  8. 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.

    WooCommerce Integration tab with arrow pointing to ShipStation tab and Authentication Key section highlighted.
  9. Select WooCommerce.

    WooCommerce logo. Button that reads, Connect
  10. 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.

Available Features for WooCommerce

The ShipStation integration with WooCommerce supports these standard features:

Order Status Mapping

ShipStation Status

WooCommerce Status

Awaiting Payment

Pending

Awaiting Shipment

Processing

Shipped

Completed

Cancelled

Cancelled

On Hold

On-hold

Data Sent with Shipment Notification

This table indicates which data ShipStation sends to WooCommerce with the marketplace shipment notification:

Field

Sent to Marketplace?

Status Update

Green checkmark. Supported feature. Yes.

Tracking Number

Green checkmark. Supported feature. Yes.

Carrier

Green checkmark. Supported feature. Yes.

Service

Green checkmark. Supported feature. Yes.

Carrier Fee

Green checkmark. Supported feature. Yes.

Note to Buyer

Green checkmark. Supported feature. Yes.

Item Information

Green checkmark. Supported feature. Yes.

Status UpdateTracking NumberCarrierServiceCarrier Fee

The shipment update ShipStation sends to the selling channel will include any Notes to Buyer set on the order in ShipStation.

Item Information

WooCommerce Additional Features

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.

If a store allows custom statuses, this means you define that statuses your orders use in your selling channel. In most cases, if you have custom statuses you'll need to define which ShipStation statuses each custom order status corresponds to.

ShipStation will import the customer's email address with the order data and can send shipment confirmation and delivery emails to that email address (configured in your Store settings).

ShipStation will import the customer phone number with the order data.

ShipStation will import the shipping method chosen by the customer during their store checkout.

ShipStation will import the payment method used to pay for the order.

ShipStation will import discount and coupon information for the order.

ShipStation can determine if an order is a gift from the order data sent by the store.

ShipStation will import internal notes or order activity from the store into the ShipStation Internal Notes field.

ShipStation will import notes provided by the customer when they made their purchase.

ShipStation will import the total order weight from the store.

ShipStation will import the weight for each line item in the order.

ShipStation will import an image URL for each line item in the order. These images will appear as thumbnails in your Order Details and can be included in email notifications and packing slips.

ShipStation will import item options (such as color or size) for each line item in the order. This data will appear in your Order Details and can be included in customer emails and packing slips.

ShipStation will import a product stock location for each line item in the order.

Status UpdateTracking NumberCarrierServiceCarrier Fee

The shipment update ShipStation sends to the selling channel will include any Notes to Buyer set on the order in ShipStation.

Item Information

WooCommerce Integration Notes

  • 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.

WooCommerce Troubleshooting Tips

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 (pending-shipment) instead of the space (Pending Shipment) and the order will import.

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 Settings > Selling Channels > Store Setup, click the 3-dot menu next to the store, click Edit Marketplace Connection, then click Edit WooCommerce Settings. Change the statuses to the English statuses with lowercase first letters. Then, try importing orders again. These are the statuses in English for your reference.

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 Plugins > Settings (ShipStation). Learn more about Custom Statuses in ShipStation.

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:

  • Remove and add back the plugin to reconfigure your store.

  • Check the WooCommerce logs for a PHP Fatal Error, and try to debug following the steps in this WooCommerce Finding PHP Error Logs article.

  • Go to WooCommerce > System Status on WordPress to check for errors.

  • Confirm that your additional plugins are turned off, as this error may occur due to security plugins.

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.

If a store allows custom statuses, this means you define that statuses your orders use in your selling channel. In most cases, if you have custom statuses you'll need to define which ShipStation statuses each custom order status corresponds to.

ShipStation will import the customer's email address with the order data and can send shipment confirmation and delivery emails to that email address (configured in your Store settings).

ShipStation will import the customer phone number with the order data.

ShipStation will import the shipping method chosen by the customer during their store checkout.

ShipStation will import the payment method used to pay for the order.

ShipStation will import discount and coupon information for the order.

ShipStation can determine if an order is a gift from the order data sent by the store.

ShipStation will import internal notes or order activity from the store into the ShipStation Internal Notes field.

ShipStation will import notes provided by the customer when they made their purchase.

ShipStation will import the total order weight from the store.

ShipStation will import the weight for each line item in the order.

ShipStation will import an image URL for each line item in the order. These images will appear as thumbnails in your Order Details and can be included in email notifications and packing slips.

ShipStation will import item options (such as color or size) for each line item in the order. This data will appear in your Order Details and can be included in customer emails and packing slips.

ShipStation will import a product stock location for each line item in the order.

Status UpdateTracking NumberCarrierServiceCarrier Fee

The shipment update ShipStation sends to the selling channel will include any Notes to Buyer set on the order in ShipStation.

Item Information