Watch the journey from order to printed label in the video, then read each stage below. In Instant Shipping (Ship API) mode, the plugin creates the FedEx label automatically the moment a customer pays. You never build a label by hand. This page walks through the whole journey: checkout, the automatic label, printing, the customer email, and tracking updates. Instant is the default shipping mode. Not sure which mode your store uses? Jump to When Instant mode is unavailable.

The journey at a glance

From checkout to printed label

1

The customer checks out with a FedEx rate

At checkout, the customer sees live FedEx services and prices and picks one. The plugin works with both the classic WooCommerce checkout and the block checkout.The customer lands on the order-confirmation page and sees a Shipment created successfully! notice.Order confirmation page The order-confirmation page the customer sees after paying.
2

The plugin creates the shipment and buys the label

Straight after the order is placed, the plugin sends the shipment to FedEx. Before it does, it runs a few plain checks:
  • The store has not reached its daily shipment limit — 10 per day on Free, 100 on Premium, unlimited on Golden.
  • For international orders, a pre-shipment customs check runs first.
  • If you enabled checkout address validation, the delivery address is validated.
  • A duplicate guard makes sure a double-click or a payment retry never buys two labels for one order.
Expected result: FedEx returns a tracking number and the label document. There is nothing for you to click. If FedEx refuses the shipment, the reason is written as a note on the order — see What can block a label.
3

The label is stored on your site

The label PDF is saved in a protected folder inside your site’s uploads directory. The plugin creates and manages this folder for you. It is blocked from public access, and you never need to open it — every label stays one click away in the admin list described in the next step.
If your environment is set to Sandbox, the label is a test label. Sandbox labels never move real packages and never create real charges. Switch to Production when you are ready to ship for real — see Going live.
4

You print the label from Shipments & Printings

WordPress Admin → FedEx Shipping → Shipments & PrintingsEach shipment is one row. Find the row for the order and click View Label in the Label column to open the PDF. Print it and attach it to the box.Use the Label Printed switch to keep track of what has already been printed. It shows Printed or Not printed.The most recent shipments also appear in the Recent FedEx shipments widget on your WordPress dashboard.Every column and button on this page is explained in Shipments & Printings (label manager).Shipments list The Shipments & Printings list — one row per shipment.
5

The customer gets an email about 5 minutes later

About five minutes after the label is created, WooCommerce sends the customer an email with the subject Your Shipment Has Been Created - Order #123 (with their real order number).The email contains:
  • The shipping cost.
  • The tracking number.
  • A Download Label link, so the customer can download and print the label without asking you.
  • A Printable Order Copy download.
The email goes out through a scheduled task, which is why it is not instant. If your hosting is slow to run scheduled tasks, it may arrive a little later — it always arrives after the label exists, never before.Shipment confirmation email The shipment email, with the tracking number and the Download Label link.
6

Tracking updates as the package moves

Once you set up the tracking webhook, FedEx pushes progress updates back to your store. The Status badge on the shipment row changes as the package moves, and notes are added to the WooCommerce order. When FedEx reports delivery, the plugin marks the order as completed and adds a note confirming delivery.The webhook is not set up automatically. You copy a URL from the plugin and paste it into your FedEx developer project — the full walkthrough is in Tracking webhooks.
In this version, tracking numbers are not added to WooCommerce’s own order emails or to the customer’s My Account area. Customers see tracking in the shipment email above, or on a tracking page you set up — see Tracking.

Viewing and printing labels

All labels are printed from WordPress Admin → FedEx Shipping → Shipments & Printings. Click View Label in the Label column of the shipment row. The button opens the label PDF straight from your site, so it works even if the original link from FedEx has expired. Multi-box shipments: if the order was packed into more than one box (see Product Box), two things appear on the row:
  • The Box info column lists each box and the products inside it.
  • The Label column shows one button per box — for example Box 1 label — next to View Label, which opens the merged PDF with every box’s label.
Print what you need: the merged PDF for a single printout, or the per-box buttons when different people pack different boxes.
A multi-box shipment has one master tracking number and one label per box. FedEx scans each box separately, so the tracking timeline can show partial movement while some boxes are still in transit. See Multi-piece shipments.

Deletion warning

Deleting a shipment that has been cancelled also permanently deletes the linked WooCommerce order — order, items, and history. This happens when a deleted-in-Trash shipment is removed for good (for example, via Empty Trash). Shipments that are not cancelled are protected: WordPress blocks deleting them until they are cancelled. Moving to Trash and restoring is safe. Empty Trash is not.

Cancelling a shipment

Instant shipments can be cancelled from the shipments list at any time — you do not need to call FedEx. When you cancel:
  1. The plugin asks FedEx to cancel (void) the label.
  2. The shipment row is marked Canceled, and the Cancel button becomes a disabled Canceled button.
  3. The linked WooCommerce order is set to Cancelled, with the order note “Shipment canceled”.
The click-by-click procedure is in Cancelling a shipment.
Cancelling does not move money in either direction. The plugin cancels the label on the FedEx side and sets the WooCommerce order to Cancelled. It does not refund your customer — use WooCommerce’s own refund process if you owe one — and this documentation makes no claim about how FedEx handles the charge for a voided label. Check your FedEx invoice or ask FedEx billing if you are unsure.

Trade documents (customs upload)

International shipments sometimes need customs paperwork after the label exists. The Trade docs column handles this without leaving the list. Click Upload docs in the Trade docs column. A window titled Trade Documents Upload opens (“Upload customs documents in a clean, paperless flow.”). It shows the shipment’s details — tracking number, shipment date, origin and destination — and lets you attach up to five documents per request and send them straight to FedEx. The supported document types and what each one is for are listed in International ETD. After uploading, the badge in the Trade docs column changes to Uploaded with the number of documents. If FedEx rejects a file, the badge shows Failed with the reason underneath. This is the post-shipment half of paperless customs — what it is and when FedEx requires it is covered in International ETD.
There is no customs-document upload box on the WooCommerce order screen in this version. Trade documents are uploaded from this list (and from Open Shipments in Advanced mode).

Status badges

The Status column shows a colored badge for every shipment — Label created, Pending, In transit, Out for delivery, Delivered, Exception, Customs, or Customs hold. The full legend, badge by badge, is in Shipments & Printings. Badges change as FedEx events arrive at your store. To receive them, set up the tracking webhook — see Tracking webhooks.

What can block a label

When Instant mode is unavailable

The Shipments & Printings menu item only exists in Instant mode. If your store is in Advanced mode, the menu item disappears and is replaced by Open Shipments — labels are then created when you confirm each shipment by hand, not at checkout. To check which mode you are in:
  1. Go to WordPress Admin → FedEx Shipping → Settings.
  2. Open the Shipping tab.
  3. Look at the Shipping mode field. It shows Instant Shipping (Ship API) or Advanced Shipping (Open Ship API).
To create labels automatically at checkout again, select Instant Shipping (Ship API) and click Save Changes. See the Shipping tab for what each mode does.

Shipments & Printings (label manager)

Every column, button, and bulk action on the label manager page — the daily home of Instant mode.

Open Ship (Advanced mode)

Edit packages by hand and confirm labels yourself, instead of buying them at checkout.

Tracking

How customers check a package’s progress, and how to add a tracking page to your store.