Odoo FedEx Integration: Live Rates, Labels and Tracking

  • Home
  • Blog
  • Odoo
  • Odoo FedEx Integration: Live Rates, Labels and Tracking
FedEx rates, labels and tracking inside Odoo

Odoo Enterprise already includes a FedEx shipping connector. You connect your FedEx account, and Odoo can then fetch rates, print labels and store tracking numbers on the delivery order. For a lot of companies that is the whole integration.

The work is in the setup: credentials, packaging, services, warehouse rules and the international paperwork. This guide covers what Odoo does out of the box, what O2B adds on top, and what to check before the first label. If you want the setup handled, our Odoo integration services team does the configuration and the test shipments.


What Odoo's Built-in FedEx Connector Does

FedEx is one of the carriers Odoo supports natively in Inventory. Once the provider is configured, the standard flows work without a third-party module.

Live Rates on Orders and at Checkout

Odoo asks FedEx for a rate based on the shipment's weight, dimensions, destination and selected service, then shows that rate on the sales order or delivery. On a website store the same provider can quote FedEx at checkout, so the shipping charge comes from the carrier rather than a flat table.

Label Printing

From the delivery order you choose the service and package type, generate the label and print it. No re-keying the address into FedEx Ship Manager, and no separate label file floating around the warehouse. Labels can be voided in Odoo if a shipment is cancelled.

Tracking Numbers on Deliveries

The tracking number is written back to the delivery order and can be sent to the customer in the shipping notification. Staff can follow the shipment from Odoo instead of pasting numbers into FedEx's tracking page one at a time.

Two limits worth knowing up front: this is an Enterprise feature, and the standard connector covers standard shipping. Rules that are specific to your business — surcharges, unusual packaging, freight, approvals — are where custom work starts.


What O2B Adds

O2B implements the standard connector and then fills the gaps around it. The exact scope is set per project; typical additions include:

  • Credentials and testing. FedEx Developer Portal setup, API keys tied to the right shipping account, sandbox tests, then one live domestic shipment before go-live.
  • Packaging and services. Package types, default services per warehouse, weight units and dimension rules, so the rate Odoo asks for matches what the warehouse actually ships.
  • Custom rate rules. Free-shipping thresholds, handling fees, markup or surcharges, and service restrictions by destination that the standard provider does not express.
  • Special services. Signature requirements, Saturday delivery, declared value, insurance, freight or account-specific FedEx services.
  • Automation. Validating a delivery triggers the label and the tracking email; exceptions go to a queue instead of disappearing.
  • Error handling. Logging and alerts for failed rate calls, rejected addresses and label errors, so someone knows before the customer does.

Setup Basics

FedEx's current integration APIs are REST, exposed through the FedEx Developer Portal alongside tracking webhooks. The older SOAP Web Services are legacy; FedEx still runs a separate Developer Resource Center for existing Web Services and Ship Manager Server customers. A new setup should use the current REST APIs and OAuth credentials, and if a module you are evaluating still relies on SOAP, ask the vendor about its migration plan.

  1. Get a FedEx account and API credentials. Create an organization in the FedEx Developer Portal, attach the shipping account, then create a project to get the API key and secret.
  2. Test in the sandbox first. FedEx provides test credentials. Run rates and labels there before anything touches a real shipment or a real invoice.
  3. Configure the provider in Odoo. Add FedEx under Inventory → Configuration → Shipping Methods, with the production credentials, your account number and the services you actually use.
  4. Set package types and defaults. Match Odoo's packaging to the boxes and envelopes you ship, and pick a default service per warehouse.
  5. Check the warehouse address and units. Rates depend on the origin address, weight unit and dimensions. A wrong unit is the most common reason a quote looks wrong.
  6. Ship one live order. Print a label, hand it to FedEx, confirm the tracking number returns to Odoo, then open the rest of the team's access.

International Shipping

Cross-border shipments need more than a label. Odoo can produce the commercial invoice and packing documents from the delivery order, but the data has to exist on the products and the order first:

  • HS codes and country of origin on each product, so the commercial invoice is not blank where customs looks first.
  • Declared value and currency that match the commercial invoice, not the discounted price the customer paid.
  • Incoterms agreed with the buyer: who pays duties and taxes, and who is the importer of record.
  • Restricted goods and export paperwork confirmed with FedEx before the first shipment, not at the counter.

The standard connector does not estimate duties and taxes for you; FedEx bills them according to the Incoterm. If you need landed-cost estimates at checkout, that is custom work.

For clients shipping across borders, O2B configures both domestic and international FedEx shipping methods in Odoo, including custom package presets and automatic generation of customs documentation.


Multi-Carrier Shipping

FedEx rarely ships everything. Odoo also includes providers for carriers such as DHL, UPS and USPS, and each can be configured alongside FedEx so the right service is chosen per order. For online orders, the same delivery flow applies once the store is connected — see our Odoo Shopify integration guide for the storefront side.

When a carrier or broker is not a standard provider, it becomes a custom integration. Two examples from our work: the USPS integration with Odoo and the C.H. Robinson freight integration. For the wider picture, see Odoo for supply chain.


O2B Example: FedEx Rates, Labels and Tracking for a Distributor

What the client needed. A distributor was shipping from more than one warehouse and quoting FedEx by hand. Rates did not always match the invoice, labels were created in FedEx Ship Manager and the tracking number was pasted back into Odoo afterwards. International orders added customs paperwork that was assembled separately.

What O2B set up. We connected FedEx through its API with test credentials first, then configured package types and default services per warehouse. Rates are now requested from FedEx using the real weight, dimensions and destination. Labels are generated from the delivery order, the tracking number returns to Odoo automatically, and international deliveries print the commercial invoice with the product HS codes. Failed calls and rejected addresses raise an alert instead of failing silently, and the shipping team was trained on the new flow.

We have not published a before-and-after metric for this project; if the team can confirm one, it belongs here.

Need FedEx rates and labels inside Odoo, set up your way?

Talk to O2B.

Odoo integration services

Frequently Asked Questions

Does Odoo have a FedEx integration?

Yes. Odoo Enterprise includes a FedEx shipping connector, configured as a shipping provider in Inventory alongside the other built-in carriers.

Can Odoo print FedEx labels?

Yes, from the delivery order once the connector is set up. You pick the service and package type, generate the label in Odoo, and print it without opening FedEx Ship Manager.

Do I need a FedEx developer account?

Yes. You need FedEx API credentials tied to your shipping account, created in the FedEx Developer Portal, before Odoo can request rates or create labels.