Overview
Delivery methods in Odoo 19 define how shipping costs are calculated and applied to sales orders. You can configure fixed-price shipping, rule-based rates by weight or price, and integrate with external carriers like FedEx, UPS, DHL, and USPS for real-time rate calculation and tracking.
Prerequisites
- Odoo 19 with Inventory and Sales modules installed
- The
deliverymodule installed (Delivery Costs) - Products with accurate weights for weight-based shipping
Step 1: Install the Delivery Module
Navigate to Apps and search for Delivery Costs (technical name: delivery). Install the module. This adds shipping method configuration to Inventory and shipping cost calculation on sales orders.
Step 2: Create a Fixed-Price Delivery Method
Go to Inventory > Configuration > Delivery Methods and click New:
- Name — e.g., "Standard Shipping" or "Express Delivery"
- Provider — Select Fixed Price
- Delivery Product — Select or create a service product that represents the shipping charge on invoices
- Fixed Price — Set the flat rate (e.g., $9.99)
- Free if order amount is above — Optionally set a threshold for free shipping (e.g., orders over $100 ship free)
Step 3: Create a Rule-Based Delivery Method
For variable shipping based on weight or order total:
- Set Provider to Based on Rules
- In the Pricing tab, add price rules:
| Condition | Operator | Value | Delivery Cost |
|---|---|---|---|
| Weight | less than or equal to | 5 kg | $8.00 |
| Weight | less than or equal to | 20 kg | $15.00 |
| Weight | less than or equal to | 50 kg | $30.00 |
| Price | greater than or equal to | $200 | $0.00 (free) |
Rules are evaluated top-to-bottom. The first matching rule determines the shipping cost.
Step 4: Configure Carrier Integrations
For real-time rate calculation with external carriers, install the relevant connector module:
delivery_fedex— FedEx integrationdelivery_ups— UPS integrationdelivery_dhl— DHL integrationdelivery_usps— USPS integrationdelivery_easypost— Easypost multi-carrier integration
After installation, create a delivery method with the carrier as the Provider. Enter your API credentials (account number, API key, etc.) in the method's configuration tab.
Step 5: Assign Delivery Methods to Sales Orders
On a sales order, click Add Shipping (or the shipping action) to select a delivery method. Odoo calculates the shipping cost based on the method's rules and adds a shipping line to the order. The customer sees this on the quotation and portal.
Step 6: Configure Shipping on eCommerce
If using the Website/eCommerce module, delivery methods appear at checkout:
- Go to the delivery method and enable Website Published
- Set which countries the method applies to via the Destination Availability settings
- Customers select their preferred shipping option during checkout
Step 7: Enable Delivery Tracking
For carrier-integrated methods, tracking numbers are automatically generated when validating the delivery transfer. The tracking number appears on the delivery order and is shared with the customer via email notification. Customers can click the tracking link to view shipment status on the carrier's website.
Best Practices
- Set accurate product weights and dimensions for reliable rate calculation
- Offer 2-3 shipping options (economy, standard, express) to give customers choice
- Test carrier integrations with sandbox/test API credentials before going live
- Configure free shipping thresholds to increase average order value
- Review shipping costs monthly to ensure they align with actual carrier invoices