See the Amazon connector on the Odoo App Store
Guide · FBM / MFN on Odoo 17, 18 and 19

Amazon tracking not sending from Odoo: why it happens and how to fix it

You validate the delivery in Odoo, the order shows as "delivered" in your system, but on Amazon Seller Central it's still "pending shipment" with no tracking number attached. Here's the real technical cause and how to close that gap.

Written by engineers in Barcelona. No empty promises.

The exact symptom

This is what an FBM (Fulfilled by Merchant) seller running Odoo typically reports:

If this sounds familiar, the problem is almost never the delivery itself. It's that nothing is calling Amazon's API to confirm the shipment.

The 4 real causes

1. No API call is being made

Validating a delivery in Odoo only changes a status in your own database. It doesn't trigger the confirmShipment operation on the Orders API / Fulfillment SP-API. Without that call, Amazon has no way of knowing you shipped.

2. The carrier has no Amazon code

Amazon requires a CarrierCode from its own list (UPS, DHL, etc.) or a free-text CarrierName. If the delivery's carrier isn't mapped, confirmation fails with "Invalid carrier code" even when you have the tracking number.

3. No tracking number exists

Without a carrier connector, the delivery's tracking field is empty. You never generated the carrier's label, so there's nothing to send Amazon. A made-up tracking number or your internal order number won't work.

4. Credentials or SP-API region

An expired LWA token, a misconfigured IAM role, or the wrong marketplaceId (e.g. using Spain's A1RKKUPIHCS9HS against an order from a different marketplace). Returns 403 Unauthorized or InvalidInput.

The correct flow (how it should work)

When everything is wired up, an FBM order's lifecycle in Odoo looks like this, with no manual typing:

  1. The order comes down from Amazon into Odoo as a sale.order with its delivery.
  2. The warehouse operator validates the delivery. The carrier connector (Correos Express, MRW…) calls the carrier, generates the label, and returns the tracking number to the carrier_tracking_ref field.
  3. The Amazon connector picks up the validated delivery with tracking, maps the carrier to the right CarrierCode, and calls confirmShipment on the SP-API.
  4. Amazon marks the order as "Shipped", emails the buyer, and records the tracking. Your Valid Tracking Rate stays healthy.

The key is that you need two pieces talking to each other: the one that generates the tracking (carrier) and the one that confirms it (marketplace). If you only have one, the flow breaks at step 2 or step 3.

How to fix it, step by step

What if I only need tracking, without touching the carrier?

Let's be honest: there are two scenarios, and it's worth knowing which one you're in.

You already generate the label and tracking another way (carrier portal, a different system) and just need that number to reach Amazon. In that case, a properly configured Amazon connector is all you need: paste or import the tracking number into the delivery and the connector confirms the shipment against the SP-API.
You want the whole cycle automated, without logging into any portal: for that you need the Amazon connector plus the carrier connector. It's more investment, but it's the only way for validating the delivery to generate the label, the tracking, and the confirmation in one go.

We won't sell you two modules if one covers you. Tell us your flow and we'll tell you what you actually need.

Manual confirmation in Seller Central vs. automating

While you decide, the fastest option is confirming the shipment by hand in Seller Central: open the order, click Confirm Shipment, pick the carrier, and paste the tracking number. It works, but it has a cost. Here's the honest comparison:

Criterion Manual in Seller Central Connector in Odoo
Time per order 1-2 min copying and pasting between systems 0 · fires when the delivery is validated
Risk of forgetting High during volume spikes, hits your Late Shipment Rate Low · doesn't depend on remembering
Typing errors A mistyped tracking number invalidates the Valid Tracking Rate None · the carrier's exact number travels through
Cost Free, but it costs your time every day One-time module payment
When it pays off Few orders a day and stable volume Growing volume or several marketplaces

If you ship 5 orders a day, the manual method probably works fine and you don't need to spend anything. Once you pass 20-30 or add more channels, copying and pasting stops being sustainable and one missed confirmation costs you account metrics. That's where a connector pays for itself.

Close the gap between Odoo and Amazon

The Amazon connector for Odoo confirms the shipment and sends the tracking number as soon as you validate the delivery. Compatible with Odoo 17, 18 and 19.

See the Amazon connector for Odoo

Frequently asked questions

Why doesn't validating the delivery send tracking to Amazon?

Validating a delivery only changes the status in your Odoo database. There's no automatic call to Amazon's SP-API confirmShipment operation unless a connector triggers it. Without that call, Amazon receives neither the carrier nor the tracking number.

Do I need a carrier connector as well as the Amazon one?

Only if you want the tracking number to be generated automatically. The carrier connector creates the shipment and returns the tracking number to the delivery; the Amazon one confirms it. If you already generate tracking another way, the Amazon connector alone is enough.

What's the risk if I confirm late?

Amazon tracks Late Shipment Rate and Valid Tracking Rate. Confirming late, or without valid tracking, degrades those metrics and can affect the Buy Box or even your account. That's why the confirmation should fire automatically on validation.

Does this work for FBA or only FBM?

The tracking problem only exists in FBM/MFN, where you're the one shipping and confirming. In FBA, Amazon handles it. Our connector is built for the FBM flow.

Ready to fix it?

See the Amazon connector for Odoo Free test: which connector do I need?

Does your flow mix several carriers or marketplaces? We'll build it to measure with custom Odoo development.