Skip to content

How to Set Up Delivery Methods in Odoo 19

DeployMonkey Team · March 24, 2026 8 min read

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 delivery module 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:

  1. Set Provider to Based on Rules
  2. In the Pricing tab, add price rules:
ConditionOperatorValueDelivery Cost
Weightless than or equal to5 kg$8.00
Weightless than or equal to20 kg$15.00
Weightless than or equal to50 kg$30.00
Pricegreater 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 integration
  • delivery_ups — UPS integration
  • delivery_dhl — DHL integration
  • delivery_usps — USPS integration
  • delivery_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