WooCommerce®Early access
A WooCommerce shipping app that installs nothing on your site.
I’d Ship That for WooCommerce reads your orders through the WooCommerce REST API, with a consumer key you generate yourself and revoke whenever you want. No plugin, no code of ours on your server, no change to your theme or database. You buy USPS and UPS labels from the orders that come back.
See an order go CompletedFree account. Pay per label. USPS and UPS.
WooCommerce® and its associated designs are trademarks of Automattic Inc.
What your store needs
Four things, all of them properties of the WooCommerce REST API rather than anything we add. The key screen and the permission levels are WooCommerce’s own, documented in the WooCommerce REST API guide.
- A WordPress site running WooCommerce
- We read the store you already run, on whatever host. Theme, plugin list and database stay as they are.
- The REST API reachable over HTTPS
- The API takes the key and secret as basic authentication over HTTPS only. A store that takes card payments already meets this.
- A Read/Write REST API key
- Generate it in WP admin under WooCommerce › Settings › Advanced › REST API. Read alone imports orders but cannot write tracking back.
- Pretty permalinks enabled
- The REST API answers at /wp-json/. With permalinks set to Plain that route does not resolve and the check fails.
There is no plugin. Nothing to install, nothing to keep updated, nothing new in your plugin list. A store URL and a key pair is the whole of it, which is why WP admin alone can end it.
Three moving parts, in order
Once, at connectYour move
The key pair goes in
You paste your store URL, consumer key and consumer secret once. The key is checked on the spot, so you know the store is connected before you leave the screen.
Processing→in your queue
Orders come in
Orders marked Processing or On hold show up within 15 minutes of payment, with their items and recipient. No export, no refresh.
Label bought→Completed
Tracking is written back
Buy the label and the order is marked Completed, with the tracking number and carrier saved on it and a note your customer can see.
USPS and UPS, priced on a Woo order
A Woo order carries no package, so weight comes from your product presets or from what you type once. USPS and UPS are then priced side by side on the order’s own address, with your shipping rules and service mappings applied.
Where the shipping fields are empty we rate against the billing address: a billing-only checkout gives the order no other one.
The statuses and what they mean are WooCommerce’s own, set out in its order statuses guide.
Completed in WooCommerce the moment you buy
Processing and On hold orders show up on their own, with no export from WP admin. Buy the label and the order moves to Completed, with the tracking number saved on it and a note your customer sees.
Tracking is saved where the Shipment Tracking extension reads it. Nothing installed on your site: no refunds, cancellations or item edits either.
Your store, your server
You host the store, so you decide what leaves it. The answer here is short: orders you ship, and their tracking.
Only shipping data leaves WordPress
We bring in the orders you ship and send back their tracking. Nothing else leaves your site.
Your API key stays locked
The key you created in WP admin is stored encrypted, next to a copy of your open orders so they are ready to ship.
Your catalog stays private
We never ask for products, stock or order tags. The key is only used for orders.
Order totals stay out
We never read order totals, fee lines or refunds. Item and shipping prices come across only to prepare the shipment, and reports show what postage cost you.
Customer details do not linger
Names and addresses are erased 90 days after the order date, once the order is closed or cancelled.
You can cut us off anytime
Delete the key in WP admin and access stops at once. Disconnect in I’d Ship That and we delete our copy too.
What a label costs here
You pay per label, with the full price in front of you before you buy. Our USPS rates sit below USPS commercial on almost every label. No minimums, and no charge for connecting a store.
A free account buys one label at a time; The Workbench, part of Pro, rates and prints the day’s Woo orders together.
WooCommerce shipping questions, answered
- How do I create WooCommerce REST API keys?
Go to WooCommerce > Settings > Advanced > REST API in WP admin and select Add Key.
- Why does /wp-json/ return 404 rest_no_route?
The route was not registered at the path you used, and on a WooCommerce store the usual cause is permalinks.
- Why does my WooCommerce API key return 401?
Over HTTPS the WooCommerce REST API takes basic auth: consumer key as username, consumer secret as password.
- How do I add a tracking number to a WooCommerce order?
Open the order in WP admin and put the number where the customer can see it.
- When should a WooCommerce order be marked completed?
Mark it completed when the order is fulfilled, which for a shipping store means the label exists and the package is going out.
- Does WooCommerce email my customer when I add tracking?
Not for the tracking itself. Saving tracking details on an order sends no email, because the customer email fires when the status changes to Completed.
- Does a shipping app need a plugin on my WooCommerce site?
It does not have to. WooCommerce exposes a REST API at /wp-json/wc/v3/, so an outside app can read orders and update them using a consumer key and secret you generate in WP admin.
- How often does a shipping app pull new WooCommerce orders?
I'd Ship That for WooCommerce polls your store's REST API on a schedule, every 10 to 15 minutes, so a paid order reaches The Workbench inside that window rather than the moment the buyer checks out.
- Why are WooCommerce orders completing before I ship them?
Usually it is the cart, not a bug. WooCommerce's own status guide says all orders require processing except those in which all products are both virtual and downloadable, so a downloads only order never waits in Processing.
- Will HPOS break my WooCommerce shipping setup?
Not by itself. High Performance Order Storage moves orders into four dedicated tables and uses WooCommerce's own CRUD design instead of the posts tables.
- How do I see which WooCommerce orders still need shipping?
Filter the Orders list by status. Processing means payment received and stock reduced, awaiting fulfilment, so the Processing link above the orders table is your shipping queue.
- Can I ship a WooCommerce order to a non-billing address?
Yes. A WooCommerce order carries a billing address and a shipping address as separate sets of fields, and the label should go to the shipping address whenever one is present.
- How do I print USPS labels for WooCommerce orders?
WooCommerce publishes its own WooCommerce Shipping extension, which prints USPS and UPS labels from your dashboard.
- How do I bulk complete WooCommerce orders with tracking?
WooCommerce's bulk actions on the Orders screen change status and nothing else.
- How do I print packing slips for WooCommerce orders?
WooCommerce core has no packing slip document. Its order management screens cover statuses, editing and bulk actions, and printing paperwork is not among them.
Questions store owners ask first
Read/Write. Read alone imports orders but cannot mark an order Completed or save the tracking number on it, so the order never closes. The key only works for the API. It cannot sign in to your WordPress admin.
No. The connection is a store URL and a REST API key pair you generate in WP admin. Your plugin list, your theme and your database stay as they are.
Within 10 to 15 minutes. We check your store on that schedule, so a paid order shows up on the next check.
Processing and On hold orders come in. Pending payment does not, because the order is not paid yet. A Completed order leaves your queue, whether we completed it or you did. Cancelled, Refunded, Failed and Trash orders are pulled from the queue, and if you already bought the label, you get an alert. Changes are picked up for orders from the last 14 days.
Everything stops in both directions, because the key is how we connect. Nothing already imported is lost. Create a new key in WP admin, paste it in, and orders pick up on the next check.
We fall back to the billing address. Plenty of Woo checkouts collect billing details only, so empty shipping fields are normal rather than an error. The recipient is editable before you buy.
No. High Performance Order Storage moves orders into their own tables, and what needs checking is code that reads those tables directly. We connect through the standard WooCommerce API instead, so HPOS makes no difference.
Not today. One order takes one shipment, and buying the label completes the whole order. A second tracking number has to go on the order yourself, in WP admin.
Request WooCommerce early access
Leave your email. When your store can connect, you create an API key in WP admin, paste it in, and your orders start showing up.
Also connects: eBay, Available now. Shopify, Early access.
WooCommerce® and its associated designs are trademarks of Automattic Inc. I’d Ship That is not affiliated with or endorsed by Automattic.
USPS® is a trademark of the United States Postal Service. UPS® is a trademark of United Parcel Service of America, Inc.
Every I'd Ship That and in-app price on this page is a Pro price. Prices marked Pro price are what Pro members pay. On the free Starter plan, each label adds a platform fee of about 10% of the postage, rounded to the nearest $0.25, at least $0.50 and at most $2.50. Prices shown are for paying from your I'd Ship That balance; paying by card costs slightly more.