WooCommerce Services


WooCommerce Services makes basic eCommerce features like shipping more reliable by taking the burden off of your site’s infrastructure.

With WooCommerce Services, critical services are hosted on Automattic’s best-in-class infrastructure, rather than relying on your store’s hosting. That means your store will be more stable and faster.

To use the features, simply install this plugin and activate the ones you want directly in your dashboard. As we add more services, you’ll see more features available directly in WooCommerce – making setup simpler.

Show live rates for USPS or Canada Post

Show your customers accurate shipping rates automatically for USPS, the largest delivery network in the US, or Canada Post.

Print shipping labels for USPS at a discounted rate

Give customers lower rates on their shipping. Create ready-to-print shipping labels for USPS directly in WooCommerce and take advantage of our special discount rate.

Collect accurate taxes at checkout

We’ve got taxes for you – no need to enter tax rates manually.

Be ready to accept payments instantly

Have a Stripe account created on your behalf or accept PayPal Checkout payments without having to setup an account.


  • Buying a USPS shipping label for an order
  • Adding a shipping method
  • Setting up real-time USPS rates
  • Real-time rate display in checkout
  • Setting up custom packages
  • Selecting your preferred payment method
  • Enabling automated taxes
  • Creating a Stripe account from the setup wizard
  • Checking on the health of WooCommerce Services
  • Checking and exporting the label purchase reports


This section describes how to install the plugin and get it working.

  1. Upload the plugin files to the /wp-content/plugins/plugin-name directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Install and activate WooCommerce if you haven’t already done so
  4. Install, activate and connect Jetpack if you haven’t already done so
  5. Add a USPS or Canada Post shipping method instance to any shipping zone
  6. Want to buy shipping labels? First, add your credit card to https://wordpress.com/me/purchases/billing and then print labels for orders right from the Edit Order page
  7. Enable automated taxes from WooCommerce > Settings > Tax (make sure “enable taxes” is checked in General settings first)


What services are included?
  • Real-time shipping rates from USPS or Canada Post
  • USPS label purchase/printing
  • Automated tax calculation
  • Stripe account provisioning (through WooCommerce setup wizard)
  • PayPal Checkout payment authorization
Are Real-Time Rates in Checkout Free?

Yes, real-time rates in checkout are totally free.

Can I buy and print shipping labels for US domestic and international packages?

Yes! You can buy and print USPS shipping labels for domestic and international destinations.

This works with WooCommerce, right?

Yep! WooCommerce version 3.0 or newer, please.

Why is a Jetpack Connection and WordPress.com account required?

We use the Jetpack connection to authenticate each request and, if you use the shipping label service, to charge your credit card on file.

Are there Terms of Service and data usage policies?

Absolutely! You can read our Terms of Service here and our data policy here.

Where can I see the source code for this plugin?

The source code is freely available in GitHub.


Plugin requires Jetpack to use, which severely hinders page load time

Title pretty much says it all. You can’t use WooCommerce Services without installing the Jetpack plugin. Jetpack (link to my review for it below) kills page load time.


This plugin could be improved by allowing users to select which services they need (personally I just want discounted shipping labels and correctly calculated taxes) and doing those things without requiring touching WP.com (which happens a la Jetpack).

Poor Tax Calculation

I think they made this Automated Tax Plug-in So bad, they get you to buy their premium plugin.

In NC, tax is calculated by county/zip code. Also, tax is only charged if we are shipping to NC residents. On top of that, NC food/beverage items are taxed only at 2%. Shipping is taxed based on the item.

This program does none of this properly.

Installed without permission

This plugin was installed during WooCommerce activation within the confuse setup. It’s not a thing I was expecting from WooCommerce. Why don’t you merge this plugin with WooCommerce core? It’s because it’s not necessary. Then, if it’s not necessary, why you install it during activating process without permission?

Automated tax calculations do not work.

Automated tax Calculations – 0%, 0%, 0% no matter what you do, always 0%. Look in the log “order_total_amount”:85.0,”shipping”:0.0,”taxable_amount”:0.0
Tax status is correctly set up for product but always taxable_amount 0.

I hate to say it but other Automattic plugins I have tried recently have had serious issues and this plugin behaviour disappoints but doesn’t surprise me.

The last time I posted a poor review for an Automattic plugin I got somebody trying to bully me over the review. Please don’t do so again.

Nice idea, but buggy

I like the idea of automated taxes and whatnot, but it’s buggy. I get notifications that notify even my vendor admins. Even if I uninstall the plugin it still forces a notification to install Woocommerce Services across all type of admin dashboard.

I get “An error occurred in WooCommerce Services. Details are logged” and even when I fix the errors it still shows the error notification. There was a product that apparently didn’t have weight for shipping but did. I searched through products and found the actual product that had missing weight. So, it showed the there was a product without weight but displayed the wrong product.

There’s another review in regards to the same issue of notifications being forced upon all dashboards, a fix is needed.

Read all 30 reviews

Contributors & Developers

“WooCommerce Services” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “WooCommerce Services” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Clear shipping rates when changing package weight or signature requirement so they can be recalculated
  • Correctly purchase a “First Class Envelope” or a “First Class Package Service” label depending if the package is an envelope or not


  • Add international destinations support to USPS label printing
  • Fix bug with Shipping Label pointer dismissal when creating a label for the first time
  • Fix z-index issue with purchased shipping label ellipsis menu components
  • Prevent checkout with invalid ZIP code when using Automated Taxes
  • Fix tax calculation with multiple line items sharing product tax class
  • Display native tax tables for custom rates
  • Add street-level accuracy for tax calculation


  • Fix the “Save changes” button staying disabled after failing to save the shipping method settings
  • Remove emojis from the shipping rates messages, they were causing problems at checkout on sites with a non-default MySQL charset configuration


  • Several bugfixes and improvements for Automated Taxes
  • Immediately save the shipping method configuration when it’s added to a shipping zone
  • Allow to bypass the address verification when purchasing a shipping label
  • Show which WordPress.com user can add a credit card for shipping label purchases
  • Tweak the list of purchased labels for an order so it’s less cluttered


  • Fix error when adding shipping method price adjustments


  • GDPR – Added WCS section to the privacy policy guide
  • GDPR – Support for personal data export functionality
  • GDPR – Support for personal data erasure functionality
  • Minor changes to the settings page UI
  • Fix the PHP warning on the Status page when logs are empty
  • Fix log file retrieval on Status page to work with new WC 3.4 format that includes the date
  • Add error message on manual service data refresh failure


  • Fix broken admin after product featured in ‘missing weight’ notice is deleted


  • Fix PHP Warning when the server cannot be reached for shipping rates or products are missing dimensions


  • Fix PHP Warning for individually packed shipping rates


  • Show customer selected shipping rate when purchasing a shipping label
  • Add shipping labels to Reports
  • Add USPS signature requirement support to label purchase
  • Add link to view receipt for Shipping Labels
  • Fix bug showing incorrect shipping label rates when changing packages
  • Fix styling for purchasing shipping labels on mobile devices
  • Prevent incompatible settings for Automated Taxes
  • Fix duplicate “packages” section in Shipping Settings (Advanced Shipping Packages extension compatibility)
  • Add “copy to clipboard” button to debug logs on Status page
  • Improved error messaging
  • Fix unnecessary shipping rates requests made in the Dashboard
  • Fix PHP Warning when saving Tax settings
  • Add caching to Shipping Rate requests


  • Fixed PHP Fatal when PayPal Express Checkout has not fully initialized


  • Fix some REST API calls being erroneously cached by certain hosting providers


  • Fix missing file in 1.12.0 plugin release


  • Add email receipts for purchased shipping labels
  • Clean up Stripe account keys when deauthorized
  • Fix bug in database migration script for older plugin versions
  • Add “back to order” link when adding a credit card from order details
  • Add frontend debugging messages for shipping rates
  • Separate troubleshooting logs by feature (taxes, shipping, etc)
  • Avoid making unnecessary automated tax requests
  • Fix PHP Fatal bug in tax request error handling
  • Integrate with WooCommerce Shipment Tracking extension
  • Add Conditional Shipping and Payments compatibility


  • Fix bug with TOS acceptance on WordPress Multisite
  • Add PayPal Express Checkout payment authorization
  • No longer require phone number for label purchases
  • Fix bug with label print button on Firefox


  • Fix bug with product variation names in Packaging description


  • Add WooCommerce compatibility to plugin header
  • Add ability to refresh server schemas from status page
  • Fix tax calculations for subscription products
  • Fix “limit usage to X items” coupon tax calculation
  • Fix tax calculation for product bundles and add-ons
  • Make phone number optional for shipping labels
  • Only allow label printing for stores using USD
  • Add label printing for stores in Puerto Rico


  • Fix PHP Warning when Jetpack is disabled or missing
  • Fix plain permalinks support


  • Add tracking numbers to completed order emails
  • Add USPS support for Puerto Rico
  • Fix some tax bugs related to discount calculation and taxable address
  • Updated Calypso-based UI


  • Fix tax calculation in order total bug (WooCommerce 3.2+)


  • Fix crash in the WooCommerce setup wizard when picking a supported country but an unsupported currency


  • Fix label printing on iOS
  • Fix NUX banner images and connect button


  • Automatically configure live rates based on setup wizard choices
  • Add automated tax calculation
  • Add deferred Stripe account setup (if chosen in wizard)


  • Support plain permalinks setting
  • Fix PHP Fatal error when order contains a deleted product
  • Fix use of non-SSL URLs in plugin header
  • Fix some React console warnings
  • Add asynchronous label purchase flow (will be used for future performance gains)


  • Fix bug that allows accidental double click of label purchase button
  • More immediate display of purchased labels on order detail screen
  • Fix bug that showed settings screen links before Terms of Service are accepted
  • No longer override package weight when changing type if specified by user
  • Several small appearance tweaks (alignment, spacing)


  • Fix spacing bug in purchased label display
  • Fix bug with “create label” flow on WooCommerce 3.1.0


  • Better UX when selecting shipping label payment method


  • New streamlined onboarding process for plugin dependencies
  • Better packaging workflow for orders not using live rates at checkout
  • Improved discovery for label printing
  • Fix bug with test label printing on status page


  • Handle decoding errors retrieving older package data from orders
  • Code cleanup – React 16 prep, better i18n support
  • Fix PHP error when order has no packaging info
  • Updated shipping label settings to include paper size
  • Fix missing item bug with individually packaged products
  • Fix display bug in “saved for later” item list
  • Fix PHP error when using Jetpack in development mode


  • Fix deleted product bug in labels UI
  • Tweak Accept-Language header


  • WooCommerce 3.0 compatibility
  • Add test label print to system status page
  • Remove shipping label preview
  • Better handling of logged out users
  • Add contextual plugin link to WooCommerce.com support form
  • Fix bug when purchasing additional shipping labels without a page refresh
  • Better NUX flow when Jetpack missing or inactive
  • Temporarily remove label support for military addresses (requires customs form)
  • Fix bug where predefined USPS packages weren’t being sent in requests


  • Hide destination address normalized order meta
  • Log rate retrieval failures as errors with admin notice


  • Fix compatibility bug with mod_security
  • Update shipping address on order when corrected by API


  • Fix label PDF viewing in IE, Microsoft Edge, and Firefox
  • Fix label modal width issue in Internet Explorer 11
  • Don’t initially show red error highlights for missing label destination address
  • Labels: Fix escaped HTML showing in product variation names
  • Remove unused icon font, reducing CSS size
  • Fix tax rate calculation for shipping
  • Fix WP Super Cache label printing bug


  • Improve label printing flow when origin or destination addresses need modification
  • More descriptive text in pointer notice for setting up a WCS shipping method
  • Remove plugin options during uninstall
  • Prevent a label rates request when prerequisite data needs modification
  • Include more information when JSON parsing fails
  • Fix compatibility issues with Internet Explorer 11 and Microsoft Edge browsers
  • Add version to plugin script and style includes
  • Reduce size of CSS and JS files
  • Fix incompatibility with existing WooCommerce USPS extension


  • Update plugin support documentation link
  • Fix bug related to tracking Terms of Service acceptance


  • Fetch service schemas earlier – fix bug where no shipping methods displayed
  • Fix bug related to tracking Terms of Service acceptance too early
  • Display label number relative to order instead of ID
  • Clear shipping rates cache when shipping settings change
  • Ensure only the Jetpack connection owner can accept the Terms of Service
  • Better visiblity into which shipping services are selected
  • Add hint for first shipping method instance configuration


  • Improve logging for rates request errors
  • Fix a rates bug with individually packaged items
  • Add an easier UI to select grouped shipping services
  • Fix a database table prefix bug
  • Fix a bug allowing an errant double-purchase of labels
  • Always retrieve a refunded label’s status
  • Save the shipping label origin address for reuse earlier
  • Add a fallback rate for USPS
  • Recommend checking logs when errors occur
  • Fix bug showing the wrong label purchase amount when requesting refunds
  • Add tooltip explaining what shipping service price adjustments are
  • Notify admins when products are missing dimensions when retrieving rates
  • Improve terms of service message
  • Improve user experience with form validation
  • Move the settings under WooCommerce > Shipping
  • Automatically enable flat rate packages when their corresponding service is enabled
  • Improve the on-boarding experience for new users
  • Show the card information being used to purchase labels
  • Don’t allow the labels flow to be entered without a selected payment method


  • Add non-flat-rate predefined USPS packaging
  • Add enhanced labels metabox with tracking info, reprint button, and refunds
  • Allow payment methods to be managed in Jetpack “Developer Mode”
  • Add messaging in labels dialog when no packages are configured
  • Fix label preview display bug
  • Fix a bug with variable product dimensions


  • Fix a bug that caused a packages error in the labels UI when checkout used free shipping
  • Tweak to the refund request success message
  • Fix to avoid a WP_User error notice when editing payment methods
  • Fix a React version error that was happening when editing shipping settings
  • Only allow the primary Jetpack user to select payment method


  • Improvements for phone validation error messages
  • Increase the remote request timeout
  • Adds USPS flat rate packages to the packaging manager
  • Store the origin address when the label is purchased
  • Clean-up a few React errors in the console
  • Tweak the Jetpack status message
  • Auto-accept address normalizations in labels UI if they are trivial
  • Make sure notices appear on top of (not beneath) the labels UI
  • CSS clean-up
  • Fix an error where clicking outside the labels UI modal did not always close it
  • Fix incorrect service counts in shipping method instance group headers
  • Remove inappropriate target blank in certain anchors
  • Fix timestamp presentation for label refunds
  • Fix empty dimension handling and dimension casting


  • Fix a fatal error that could happen on activation if WooCommerce or Jetpack were not present
  • Send order shipping information with label rate requests to allow for pre-selection


  • Update contributors to include a few we missed
  • Add USPS flat-rate packaging support to the packaging manager
  • Improvements to label preview
  • Ensure self-help works even if connect is unable to download the service schemas
  • Switch to PDF based multi-page labels


  • Beta release