FedEx
Navigate to WooCommerce → ShipLabel → FedEx.
| Setting | Default | Description |
|---|---|---|
| Enable FedEx | Off | Master toggle for FedEx label generation and checkout rates |
| Environment | Production | Production or Sandbox / Testing |
| Client ID | - | FedEx API key from developer.fedex.com |
| Client Secret | - | FedEx secret key |
| Account Number | - | Your FedEx shipping account number (required for rates and labels) |
| Default service | FedEx Ground | Pre-selected service on the order panel, and the service used for bulk and automatic labels |
| Label format | PDF, PNG, or ZPL (Zebra printer) |
Click Test connection after entering credentials to confirm ShipLabel can sign in to FedEx.
A FedEx developer account and API keys are free at developer.fedex.com (opens in a new tab). A FedEx shipping account number (separate from the API keys) is also required. FedEx sandbox keys issue test labels that are never charged.
APIs Your FedEx Project Needs
In the FedEx developer portal, each API must be added to your project before ShipLabel can use it. If one is missing, that feature fails with FedEx's "We could not authorize your credentials" error while the others keep working.
| Feature | FedEx API |
|---|---|
| Rates | Rate API |
| Labels (create and cancel) | Ship API |
| Tracking sync | Track API |
| Validate with FedEx | Address Validation API |
Supported Services
| Service | Notes |
|---|---|
| FedEx Ground | Business addresses |
| FedEx Home Delivery | Residential addresses - ShipLabel flags the recipient as residential automatically |
| FedEx 2Day, 2Day A.M., Express Saver | - |
| FedEx Standard, Priority and First Overnight | - |
| FedEx International Economy, International Priority, International Connect+ | International shipments - see below |
FedEx labels always use your own packaging.
International Shipments
When the destination country differs from your shipper country, ShipLabel adds a customs declaration to the label request automatically, built from the order:
- One line per physical product being shipped (virtual and downloadable products are skipped).
- Quantity and unit value from the order, in the order's currency.
- The package weight split across the items by quantity.
- Country of manufacture set to your shipper country.
- Duties billed to the sender.
For a partial shipment, only the items selected in the order panel are declared. Developers can add harmonized (HS) codes or change the country of manufacture per item with the shiplabel_fedex_customs_commodity filter - see the Developer Reference.
An international label can't be created for an order with no physical products, because there's nothing to declare.