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 Express 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


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 (domestic USA only)
  • Automated tax calculation
  • Stripe account provisioning (through WooCommerce setup wizard)
  • PayPal Express 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?

You can buy and print USPS shipping labels for domestic packages only. International shipping is not yet supported.

This works with WooCommerce, right?

Yep! WooCommerce version 2.6 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.


(Resolved) Fix/Remove Phone Number in Address Validation

Original: Love this extension for generating USPS labels within orders. However the last update has caused delays in our shipping flow. Before, as long as there was data in the phone number field it was happy. Now if there is a proper U.S. formatted number filled in (xxx)xxx-xxxx now it kicks it back to be modified. It wants only numbers with no spaces nor special characters. Please fix this, customers will fill numbers oin all kinds of formats and they vary widely especially with ext. numbers or if they choose to put the U.S. code 1 or +1 at the front of the numbers. This function makes no sense, we used to print labels directly from the USPS website (that sucked) but they never required phone numbers. Why does this extension require it when the post office itself does not.

Edited: Well the developer has listened and removed the issues from this plugin. Yay, thanks and our review has gone up to 5 stars.


This is a great plugin with the exception that you can NOT print shipping labels without customers phone numbers. I’ve submitted a support ticket and waiting on a response, one of the contributors mentioned the method they use to purchase USPS shipping labels requires a phone number. This should NOT be a requirement. This plugin is completely useless unless you want to make a phone number an absolute requirement at checkout.

SEE: https://imgur.com/a/3WJBa

In which case…I don’t want to force my customers to give up their phone number just so that I can print a shipping label. If you’re okay forcing your customers to submit their phone number, cool, but if they submit a NON-VALID phone number, it’s going to cause some hiccups for you, you’ll have to manually type in EACH time for EACH order a valid phone number, which could result in you emailing the customers asking for a phone number for the order.

Honestly…who wants to do that? C’mon devs….there’s a bunch of services out there that DO NOT require a phone number to fulfil a shipping label order.

I’m surprised this plugin doesn’t have all 1 star ratings…even more surprised nobody has really mentioned this. This should be at the top of the description of this plugin.




Annoyingly installed, persistent nag screen, potential security issue.

Shame on WordPress for acting like a slimy used car salesman.

Read all 15 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.



  • 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