237 "Where's My Order?" Tickets Monthly: Set Up Order Tracking in Odoo 18
By Braincuber Team
Published on December 20, 2025
You got 237 "Where's my order?" emails last month. Each one takes your support team 4.7 minutes to answer: Look up order in Odoo backend, find delivery reference, copy tracking number, paste into email. That's 18.6 hours per month just copy-pasting tracking numbers.
Cost: $518/month in support time. Plus the customer frustration: They placed an order 3 days ago and have zero visibility. They email. They wait 4 hours for response. They check tracking. It says "Label created" from 2 days ago with no movement. They email again: "Is my order stuck?"
Your NPS dropped from 67 to 54 last quarter. Main complaint: "No way to track my order." You're losing repeat customers because they don't trust that orders will arrive. One customer left a 1-star review: "Ordered 11 days ago. No tracking info. No updates. Had to email 3 times."
Odoo 18 has built-in order tracking. Customers log into their account, see order status, click tracking link, view live shipment updates. Your support team stops being human tracking number lookup machines. Here's how to set it up so customers answer their own "Where's my order?" questions.
You're Bleeding Money If:
What Odoo 18 Order Tracking Actually Does
Automatically generates delivery orders when customers checkout. Links delivery to carrier tracking systems (FedEx, UPS, DHL). Shows tracking info in customer portal. No support tickets needed.
| Without Order Tracking | With Odoo 18 Tracking |
|---|---|
| Customer emails: "Where's my order?" | Customer checks portal themselves |
| Support looks up tracking (4.7 min) | Zero support time (0 min) |
| Manual tracking reference entry | Auto-sync with carrier API |
| Customer anxiety: "Did they ship it?" | Customer confidence: "It's in transit" |
Prerequisites: Configure Shipping
Before order tracking works, you need shipping carriers configured in Odoo.
Step 1: Enable Shipping Connectors
- Go to Inventory app
- Click Configuration → Settings
- Scroll to "Shipping Connectors"
- Enable your carriers:
- FedEx: Needs FedEx API credentials
- UPS: Needs UPS API credentials
- DHL: Needs DHL API credentials
- USPS: Needs USPS API credentials
- Click Save
API Setup Required: You need developer accounts with FedEx/UPS/DHL to get API keys. Each carrier has their own signup process. Budget 30-60 minutes per carrier for API setup.
Step 2: Configure Delivery Methods
- Go to Inventory → Configuration → Delivery Methods
- Click Create
- Name: "FedEx Ground"
- Provider: Select FedEx
- Service: Ground
- Pricing: Fixed price or based on carrier rates
- Save
- Repeat for other methods (UPS 2-Day, USPS Priority, etc.)
How Order Tracking Works (Customer Journey)
Complete Flow:
- Customer places order on your Odoo website
- Quotation auto-confirms to Sales Order
- Delivery order auto-creates in Inventory app
- Warehouse validates delivery when items ship
- Odoo syncs with carrier (FedEx/UPS) via API
- Tracking reference auto-populates in delivery order
- Customer receives email with tracking link
- Customer clicks link → Redirects to FedEx/UPS tracking page
- Or customer logs into portal → Views order → Clicks tracking link
Step-by-Step: Process an Order with Tracking
1. Customer Places Order
- Customer browses shop on your website
- Adds product to cart
- Clicks Checkout
- Enters shipping address
- Selects shipping method (e.g., "FedEx Ground - 3-5 days - $8.99")
- Enters payment info
- Clicks Pay Now
- Order confirmation page appears
2. Sales Order Auto-Creates
When payment succeeds, Odoo automatically:
- Converts quotation to Sales Order
- Assigns to eCommerce sales team
- Creates Delivery Order in Inventory
- Sends order confirmation email to customer
3. Warehouse Prepares Shipment
- Warehouse sees delivery order in Inventory → Operations → Delivery Orders
- Picks items from shelf
- Packs into box
- Weighs package
- Opens delivery order in Odoo
- Clicks "Get Rate" button (if using real-time carrier rates)
- Prints shipping label via Odoo
4. Add Tracking Reference
Two ways to add tracking info:
Manual Entry
- Open delivery order
- Click Additional Info tab
- Find Tracking Reference field
- Paste tracking number from carrier label
- Save
Auto-Sync (Better)
- Print label via Odoo
- Odoo sends request to FedEx API
- FedEx returns tracking number
- Odoo auto-fills tracking reference
- No manual entry needed
5. Validate Delivery
- After package ships, click Validate button
- Status changes from "Ready" to "Done"
- Odoo automatically:
- Updates stock quantities
- Sends shipment notification email to customer
- Email includes tracking link
Customer View: Tracking from Portal
Customer's perspective after order ships:
Option 1: Email Link
- Customer receives "Your order has shipped" email
- Email contains tracking number and link
- Clicks link → Redirects to carrier website (FedEx.com)
- Sees live tracking: "In Transit → Expected Delivery: Dec 23"
Option 2: Customer Portal
- Customer logs into your website
- Clicks My Account
- Clicks Your Orders
- Sees list of all orders with statuses:
- Quotation: Payment pending
- Sales Order: Confirmed, awaiting shipment
- Shipped: Package in transit
- Delivered: Package received
- Clicks on specific order
- Sees order details: Products, amounts, addresses
- Scrolls to "Last Delivery Orders" section
- Clicks tracking link next to Tracking Reference
- Opens carrier tracking page in new tab
Portal Shows:
- • Order Number: SO0047
- • Order Date: Dec 18, 2025
- • Total: $147.89
- • Payment Status: Paid
- • Delivery Status: Shipped
- • Tracking Reference: 1Z999AA10123456784 (clickable link)
- • Expected Delivery: Dec 23, 2025
Backend View: Tracking from Odoo Admin
Support team or operations can track orders from Odoo backend:
View Orders
- Go to Website → eCommerce → Orders
- See all orders in list view
- Columns show: Order #, Date, Customer, Website, Total, Invoice Status
- Click on order to open details
View Delivery & Tracking
- In order view, click Delivery smart button
- Delivery order opens
- See tracking reference in Additional Info tab
- Click Tracking smart button
- Opens carrier tracking interface embedded in Odoo
- Or click tracking link to open carrier website
Automated Email Notifications
Odoo sends automatic emails at each order stage:
| Event | Email Sent | Contains |
|---|---|---|
| Order placed | Order Confirmation | Order #, items, total, estimated ship date |
| Package ships | Shipment Notification | Tracking number, tracking link, expected delivery |
| Invoice created | Invoice (if configured) | PDF invoice, payment details |
Real-World Example: Full Order Flow
Scenario: Customer Orders $247 Product
Dec 18, 2:47 PM:
- Customer "Sarah Lee" places order on website
- Selects FedEx Ground shipping ($8.99)
- Pays via Stripe ($247 + $8.99 = $255.99)
- Receives: "Order Confirmation - SO0047"
Dec 19, 10:23 AM:
- Warehouse picks order
- Prints FedEx label via Odoo
- Tracking auto-populates: 1Z999AA10123456784
- Validates delivery in Odoo
- Sarah receives: "Your order has shipped" email with tracking link
Dec 19, 2:14 PM:
- Sarah clicks tracking link in email
- Sees: "Package picked up by FedEx - In transit to regional facility"
Dec 21, 8:47 AM:
- Sarah logs into portal to check status
- My Account → Your Orders → SO0047
- Sees: "Out for Delivery - Expected by end of day"
Dec 21, 3:32 PM:
- Package delivered
- FedEx updates tracking: "Delivered - Left at front door"
- Sarah confirms delivery, happy customer
Support tickets for this order: Zero
Customer self-served all tracking info. No "Where's my order?" emails.
Common Mistakes That Break Tracking
1. Forgetting to Validate Delivery
Package ships but warehouse forgets to click "Validate" in Odoo. Customer never gets tracking email.
Fix: Train warehouse team: Ship → Validate → Done. Every time.
2. Wrong Tracking Number Entry
Manual entry, typo in tracking number. Customer clicks link, sees "Tracking not found."
Fix: Use API integration to auto-populate tracking. Or scan barcodes instead of typing.
3. No Carrier API Configured
Tracking link doesn't work because FedEx connector isn't set up. Link goes to generic carrier homepage.
Fix: Complete carrier API setup in Inventory → Configuration → Shipping Connectors.
4. Customer Portal Not Enabled
Customer tries to log in, can't access orders. Portal access wasn't granted.
Fix: Website → Configuration → Settings → Enable "Customer Account" feature.
ROI: Self-Service Tracking
Monthly Impact (237 orders):
Without Order Tracking:
- "Where's my order?" tickets: 237
- Support time per ticket: 4.7 minutes
- Total time: 18.6 hours/month
- Cost @ $28/hour: $518/month
- Customer frustration: High
- NPS impact: -13 points
With Odoo Order Tracking:
- "Where's my order?" tickets: 23 (90% reduction)
- Support time per ticket: 2.1 minutes (just edge cases)
- Total time: 0.8 hours/month
- Cost @ $28/hour: $22/month
- Customer satisfaction: High
- NPS improvement: +11 points
Savings: $496/month = $5,952/year
Plus 17.8 hours recovered monthly = 214 hours/year = 5.3 weeks of work capacity
Quick Implementation Checklist
- Enable shipping connectors in Inventory settings
- Get API credentials from FedEx/UPS/DHL
- Configure carriers in Odoo (API keys, service levels)
- Create delivery methods (FedEx Ground, UPS 2-Day, etc.)
- Enable customer portal in Website settings
- Test order flow: Place test order, ship it, verify tracking works
- Train warehouse team: Always validate deliveries after shipping
- Monitor tickets: Track "Where's my order?" volume pre/post implementation
Pro Tip: Add order status to your website footer: "Track Your Order" link → Goes directly to portal login. Makes tracking even easier for customers.
Support Team Buried in "Where's My Order?" Tickets?
We set up Odoo order tracking with carrier API integration, customer portal access, and automated notifications. Stop wasting 18.6 hours monthly on tracking lookups. Let customers answer their own questions.
