Easypost Shipping

Multi-carrier integration via Easypost

The Easypost Shipping module integrates Odoo with Easypost shipping service, enabling connection to multiple carriers (FedEx, UPS, USPS, DHL, etc.) through a single Easypost account.

Automatic rate calculation, shipping label creation, real-time shipment tracking, return label generation and insurance management.

Easypost
Multi-carrier
FedEx
UPS
USPS
DHL
Insurance
Return Labels

Key Benefits

Key points

  • Save time: No need to log into multiple carrier websites

  • Compare rates: View rates from multiple carriers at once

  • Automation: Automatic label creation and tracking from delivery orders

  • Flexibility: Support multiple package types and service levels

  • Insurance: Integrated cargo insurance management

  • Returns: Easy return label creation


Key Terminology

FieldsTrường dữ liệuDescription
CarrierĐơn vị vận chuyểnShipping service provider (FedEx, UPS, USPS, DHL)
Carrier PrefixTiền tố đơn vị vận chuyểnShort carrier identifier code
Default Package TypeLoại kiện hàng mặc địnhDefault package type to use
Default Service LevelCấp độ dịch vụ mặc địnhDefault shipping service (Express, Ground, etc.)
Production API KeyKhoá API productionAPI key for production environment
Test API KeyKhoá API kiểm thửAPI key for test environment
Label FormatĐịnh dạng nhãnLabel file format (PDF, PNG, ZPL, EPL2)
Insurance fee rate (USD)Mức phí bảo hiểm (USD)Insurance fee rate

Configure Easypost Account

First, you need to register an Easypost account and obtain API Keys to integrate with Odoo.

Steps

  • 1. Visit https://www.easypost.com and click Sign up to create new account

  • 2. Complete registration process and verify email

  • 3. Log in to Easypost Dashboard

  • 4. Click arrow next to username, select API Keys

  • 5. Copy Test API Key (for testing) and Production API Key (for production)

  • 6. Go to Carrier Accounts, add accounts for carriers you want to use (FedEx, UPS, USPS, DHL)

  • 7. Enter login credentials for each carrier


Set Up Shipping Method

After obtaining API Keys, create Easypost shipping method in Odoo.

Steps

  • 1. Go to Inventory → Configuration → Shipping Methods

  • 2. Click New to create new method

  • 3. Fill Shipping Method (e.g., "Easypost FedEx"), select Provider = Easypost, select Company

  • 4. Click Save

  • 5. In Easypost Configuration tab, paste Test API Key and Production API Key

  • 6. Click Save

  • 7. Click Load your Easypost carrier accounts button

  • 8. System displays list of carriers configured in Easypost

  • 9. Select carrier you want to use (e.g., FedEx, UPS)

  • 10. Click Select


Configure Package Type and Service

System automatically loads list of package types and service levels after selecting carrier.

Key points

  • Default Package Type: Select appropriate package type (FedEx Envelope, FedEx Box, UPS Letter, USPS Flat Rate Envelope, etc.)

  • Go to Inventory → Configuration → Package Types to view/edit package dimensions

  • Default Service Level (optional): Select service (FEDEX_GROUND, FEDEX_2_DAY, UPS Ground, USPS Priority)

  • If not selected: System automatically selects cheapest available service

  • Label Format: Select PDF (regular printer), PNG (image), ZPL (Zebra printer), EPL2 (older printer)

  • Test Mode: Enable to use Test API Key, disable to use Production API Key


Calculate Shipping Rates on Sales Orders

For accurate rate calculation, ensure products have weight, delivery address is complete and default package type is configured.

Steps

  • 1. Create or open Sales Order

  • 2. Fill complete information: customer with delivery address, products with weight

  • 3. Switch to Other Info tab

  • 4. In Delivery Method field, select configured Easypost method

  • 5. Click Set price or Get Rate button

  • 6. System calls Easypost API to get shipping rate

  • 7. Automatically adds shipping cost line to order

  • 8. Rate displays in order currency


Required Information for Rate Calculation

Required Information

InformationWhere to Check
Product weightProduct → Inventory tab → Weight
Complete delivery addressCustomer → Addresses → Delivery Address
Warehouse addressWarehouse → Address
Package typeDelivery Method → Default Package Type

Create Shipping Labels

After confirming order and validating delivery order, you can create shipping labels.

Steps

  • 1. Confirm Sales Order to create Delivery Order

  • 2. Open Delivery Order

  • 3. Check Carrier field is filled (Easypost method)

  • 4. Click Validate to confirm shipment

  • 5. After validate, click Send to Shipper button

  • 6. System calls Easypost API to create shipment

  • 7. Purchase shipping label at selected rate

  • 8. Download shipping label and attach to delivery order

  • 9. Record tracking number

  • 10. Send notification to chatter


View and Print Shipping Labels

Key points

  • In delivery order, scroll down to Chatter section (bottom)

  • Find message "Shipment created into Easypost"

  • Click attached file (e.g., Label-TRACKING123.pdf)

  • Print label and attach to package

  • If multiple packages, there will be multiple label files

  • Use Put in Pack to create multiple packages, each package gets separate label


Track Shipments

Tracking number and tracking link are automatically recorded in delivery order and can be shared with customers.

Key points

  • Open delivery order and view Tracking Reference field

  • If multiple packages, tracking numbers separated by "+"

  • Click Tracking button on delivery order

  • System opens Easypost tracking page

  • Customers can track shipment status in real-time

  • Tracking number automatically sent via delivery confirmation email (if email template configured)


Create Return Labels

Easypost supports automatic or manual return label creation when customers need to return items.

Key points

  • Manual: Open completed delivery order, click Return, select products to return, confirm return picking, click Send to Shipper

  • Automatic: Enable Return Label on Delivery option in Delivery Method → Configuration

  • When creating shipping label, system automatically creates return label

  • Both labels attached to delivery order

  • Benefit: Customers have return label ready in package, easy to return if needed


Manage Cargo Insurance

Easypost allows cargo insurance with fees automatically calculated based on order value.

Steps

  • 1. Go to Delivery Method → Configuration

  • 2. Find Shipping Insurance field

  • 3. Enter percentage of value to insure (e.g., 100 = insure 100% of goods value)

  • 4. Click Save

  • 5. Click Load Insurance Fees button (if available) to automatically get insurance fee rates from Easypost account

  • 6. System saves Insurance fee rate and Insurance fee minimum

  • 7. When calculating shipping cost or creating label, system automatically calculates insurance value and adds insurance fee


Common Error Handling

Common Errors

ErrorCauseSolution
Production key requiredProduction API Key not enteredGo to Delivery Method, enter Production API Key, save and retry
Weight is missingProduct has no weightGo to Product → Inventory tab, enter Weight, save and recalculate rate
Package type not configuredPackage type does not match carrierSelect package type matching carrier or enter custom dimensions
No carrier linkedNo carrier account configured in EasypostLog in to Easypost Dashboard, go to Carrier Accounts, add at least one carrier
No rate availableService not available for this routeClear Default Service Level to let system auto-select, or choose different service
Easypost do not provide shipmentsOrder data missing or invalidEnable Log XML to see details, check complete address, weight > 0, appropriate package type
Cannot cancel Easypost shippingEasypost API does not support cancellationContact carrier directly or log in to Easypost Dashboard to handle

Practical Tips

Key points

  • Optimize costs: Do not select Default Service Level to let system auto-select cheapest service, use standard packages (Flat Rate Box), weigh accurately

  • Manage multiple carriers: Create multiple Easypost methods, one per carrier, use clear names (Easypost - FedEx Ground, Easypost - UPS 2-Day)

  • Testing: Always test with Test API Key first, create test orders, check label prints correctly, switch to Production API Key when ready

  • International shipping: Ensure products have HS Code (customs code), fill complete Country of Origin, Easypost automatically creates commercial invoice