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.
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
| Fields | Trường dữ liệu | Description |
|---|---|---|
| Carrier | Đơn vị vận chuyển | Shipping service provider (FedEx, UPS, USPS, DHL) |
| Carrier Prefix | Tiền tố đơn vị vận chuyển | Short carrier identifier code |
| Default Package Type | Loại kiện hàng mặc định | Default package type to use |
| Default Service Level | Cấp độ dịch vụ mặc định | Default shipping service (Express, Ground, etc.) |
| Production API Key | Khoá API production | API key for production environment |
| Test API Key | Khoá API kiểm thử | API key for test environment |
| Label Format | Định dạng nhãn | Label 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
| Information | Where to Check |
|---|---|
| Product weight | Product → Inventory tab → Weight |
| Complete delivery address | Customer → Addresses → Delivery Address |
| Warehouse address | Warehouse → Address |
| Package type | Delivery 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
| Error | Cause | Solution |
|---|---|---|
| Production key required | Production API Key not entered | Go to Delivery Method, enter Production API Key, save and retry |
| Weight is missing | Product has no weight | Go to Product → Inventory tab, enter Weight, save and recalculate rate |
| Package type not configured | Package type does not match carrier | Select package type matching carrier or enter custom dimensions |
| No carrier linked | No carrier account configured in Easypost | Log in to Easypost Dashboard, go to Carrier Accounts, add at least one carrier |
| No rate available | Service not available for this route | Clear Default Service Level to let system auto-select, or choose different service |
| Easypost do not provide shipments | Order data missing or invalid | Enable Log XML to see details, check complete address, weight > 0, appropriate package type |
| Cannot cancel Easypost shipping | Easypost API does not support cancellation | Contact 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