Integration
FedEx parcel shipping from NetSuite, on your own FedEx account
NesoTMS connects to your FedEx account through FedEx's developer API. It rates the FedEx services your account returns, buys PNG, PDF or ZPL labels, cancels shipments, and writes tracking numbers, package sizes and cost back to the NetSuite item fulfillment. It is for NetSuite teams with a FedEx account that want FedEx prices next to UPS and USPS for every box.
Last updated
What the FedEx integration does
Once your FedEx account is connected on the Carriers page, each fulfillment you open is rated with it, and the FedEx services appear next to your other carriers with their prices and transit times. When you buy, NesoTMS asks FedEx for the label with your account number, stores the label file, prints it, and updates NetSuite. Each package keeps its own weight, size and tracking number, so a five-box order has five labels.
FedEx's ship reply doesn't include charges, so NesoTMS prices that exact shipment with FedEx right before buying and writes that cost to NetSuite. If that price check fails, nothing is bought. FedEx bills your account directly, and NesoTMS doesn't resell FedEx rates or charge per label.
Who it is for
It fits a NetSuite warehouse that ships FedEx Ground, Home Delivery or Express from the US, and optionally into Canada. It suits teams that use FedEx for part of their volume and want to compare it with UPS and USPS on the same screen. The account has to be yours: NesoTMS connects accounts you already hold with FedEx, using a project you own at developer.fedex.com.
How to connect FedEx
A NesoTMS administrator does this once on the Carriers page, under Add carrier.
- 1
Get your keys from FedEx
In the FedEx Developer Portal, open the Ship, Rate and other APIs project for your account and copy its API key and secret key. Note which Rates product the project lists.
- 2
Add the account in NesoTMS
Choose FedEx under Add carrier. Enter the account number (6 to 12 digits), the API key and secret key, the shipper name and phone, and choose Test or Production. Select the Rates product that matches your project: Rates and Transit Times, or Comprehensive Rates and Transit Times.
- 3
Choose services and settings
Turn on the services to show and, separately, the ones that can buy labels. Choose the label format (PNG, PDF or ZPL), the pickup type and the two label reference lines.
- 4
Test the connection
Test connection asks FedEx for a sample rate, which checks your keys and your account number together.
What is supported
| Lane | Services you can buy labels for | Notes |
|---|---|---|
| US to US | FedEx Ground, Home Delivery, Express Saver, 2Day, 2Day A.M., Standard Overnight, Priority Overnight and First Overnight. | Up to 10 packages per purchase, each with its own label and tracking number. |
| US to Canada | FedEx Ground, International Priority (including Priority Express) and International Economy. | Needs a paper commercial invoice, with net weights and an export reference you supply. |
| Everything else FedEx quotes | Shown as rates only. | They can't be selected for purchase. |
Label formats on a FedEx account: PNG (the default), PDF or ZPL. Comprehensive quotes leave out FedEx One Rate, because labels are bought with your own packaging.
Return labels
NesoTMS also buys FedEx return labels on your account, US to US: the customer ships from their address to your return address, and you pay as for any label. Start one from Quick ship by choosing Return, or from a shipped fulfillment's ship page with Create return label. That fills in the customer's address, your default return-to address from Settings and the boxes from the original label, with their sizes and weights.
A return label is its own shipment. It doesn't change the NetSuite item fulfillment it came from, and you can void it like any other label.
What you need
- A FedEx account number and a FedEx developer project with the Rates and Ship products enabled. FedEx can require its own label approval for a project before production labels work, so ask FedEx if production labels are refused.
- The project's API key and secret key. If you reach FedEx through an integrator or a parent and child project instead of your own, the account form has a setting for that and asks for the customer key and secret FedEx gave you.
- Optionally, a separate tracking project. If FedEx gave tracking its own keys, choose Use a separate tracking project and add them.
- A NesoTMS administrator to add the account. Members can rate and buy with it afterwards.
- For printing without a dialog, a shipping station running NesoTMS Print. FedEx international Express labels print at least three copies.
Shipping to Canada
When the ship-from and ship-to countries differ, the ship page shows a Customs panel. FedEx needs more from you than a total value: each item's description, quantity, unit value, country of manufacture and actual net weight, who pays duties and taxes, the Incoterm, and your export compliance reference, which is an AES ITN or an FTR exemption. NesoTMS never invents an exemption and never works out weights from values. The invoice currency comes from NetSuite, not from the browser.
FedEx quotes to Canada need those commodity lines too, so the FedEx offers appear once the invoice is complete, and until then the rates panel says what FedEx is waiting for. The invoice is a paper one: print it, sign it and attach it to the shipment. NesoTMS doesn't upload electronic trade documents to FedEx.
What happens in NetSuite
Each purchase updates the item fulfillment: the shipping cost, one package line per box with weight, length, width, height and the tracking number, and the ship status set to Shipped. NesoTMS writes to the package list the fulfillment already uses. FedEx's package list in NetSuite has no description field, so none is written there, and a size NetSuite refuses is skipped instead of failing the update.
Cancelling a FedEx shipment goes to FedEx first and cancels the whole shipment by its master tracking number. Then NesoTMS blanks that shipment's tracking numbers in NetSuite and, when no other label is active, sets the status back to Packed. If the NetSuite update fails, the label stays bought and is marked Not in NetSuite yet, with a retry button. On production labels, Shipments History shows FedEx's tracking status for each shipment. The NetSuite integration page lists every field.
Limitations
- Labels are US to US and US to Canada only. Other international lanes show as rates only.
- Canada shipments use a paper commercial invoice. There are no electronic trade documents and no USMCA certification.
- NesoTMS doesn't schedule FedEx pickups. The Pickup type setting only tells FedEx how your packages reach FedEx, because FedEx prices some services by it.
- Cancelling a multi-package shipment cancels all of its labels, because FedEx cancels by shipment, not by package. It also doesn't guarantee a refund of the fee.
- FedEx labels you print are only as good as your printer and stock. NesoTMS Print and the browser print what FedEx returns, and a test label on your own printer is the way to check.
- A purchase with no clear answer from FedEx stays guarded as unconfirmed and is never retried automatically, so it can't buy a second label.
- FedEx Freight, for pallets, is a separate carrier account with its own keys.
Cost
FedEx is included in every plan. Basic is $99/month with two connected carrier accounts and Advanced is $499/month with unlimited accounts. FedEx bills your account directly for the labels you buy, so there is no per-label fee from NesoTMS. See pricing for the full comparison.
Where to verify
The carriers page lists what each carrier does today. The interactive demo lets you compare rates and buy a sample label in your browser, with made-up orders and labels marked as samples. The Test connection button on the Carriers page checks your own FedEx keys and account number before you ship anything.
FedEx integration questions
Which FedEx keys does NesoTMS need?
- The API key and secret key from your FedEx project, plus the account number. FedEx Freight uses a separate set of keys from developer.fedexfreight.com, and parcel keys don't work there.
Can I ship to Canada with FedEx?
- Yes, from the US, with FedEx Ground, International Priority or International Economy. You fill in the Customs panel, including each item's net weight and your export reference, and you print and attach the paper invoice.
Why does FedEx price a shipment before NesoTMS buys it?
- FedEx's label reply has no charges, so NesoTMS asks for the price of that exact shipment first and writes that cost to NetSuite. If the price check fails, no label is bought.
What does cancelling do in NetSuite?
- NesoTMS cancels with FedEx first, then clears the shipment's tracking numbers on the fulfillment and sets it back to Packed when no other label is active.
Related pages
- UPS integration for NetSuite shippingRate, buy and void UPS labels from NetSuite fulfillments with your own UPS account. US to US, and US to Canada with a commercial invoice. Setup and limits.
- FedEx Freight LTL booking for NetSuite ordersGet FedEx Freight LTL estimates beside parcel rates and book the shipment with its bill of lading from NetSuite fulfillments. Requirements, class rules, limits.
- Carrier rate shopping for NetSuite ordersCompare UPS, FedEx, FedEx Freight and USPS rates on your own carrier accounts, side by side, for each NetSuite fulfillment, then buy the one you pick.
- Carrier coverageUPS, FedEx, USPS and FedEx Freight side by side: what works today and what is coming.
- PricingBasic $99/month or Advanced $499/month, with every shipping feature in both plans.