Ship Multiple Sales Orders in One Package with EasyPost Batch Shipping in Odoo

For many distributors and manufacturers, shipping multiple sales orders to the same customer in a single package is a common way to reduce freight costs. This is especially true for international shipments, where combining orders into one package can result in significant savings. However, Odoo’s standard shipping workflow makes this difficult when using EasyPost. Companies often have to rely on third-party shipping software or manually consolidate orders, creating extra work and increasing the risk of errors.
Steersman has developed an enhancement that extends Odoo’s Batch Transfers functionality, allowing businesses to consolidate multiple EasyPost shipments into a single package while maintaining separate Sales Orders, deliveries, and invoices.
The Challenge with Standard Batch Transfers
Odoo includes a Batch Transfers feature that allows warehouse users to process multiple deliveries together. While this works well for many shipping workflows, it isn’t compatible with EasyPost out of the box.
When multiple deliveries using EasyPost are validated as a batch, Odoo is unable to process the shipment correctly, preventing companies from taking advantage of consolidated shipping.
As a result, businesses are often forced to choose between two inefficient options:
- Ship each Sales Order individually, increasing shipping costs.
- Manually combine order lines into a new Sales Order, making invoicing and order tracking more complicated.
Neither approach is ideal for organizations that regularly ship multiple orders to the same customer.
The Solution: EasyPost Batch Shipping
Steersman’s enhancement bridges the gap between Odoo’s Batch Transfers and the EasyPost integration.
Warehouse users can now add multiple outbound deliveries to a single Batch Transfer, package them together, and generate one EasyPost shipment and one shipping label—while keeping each Sales Order and delivery record separate.
This allows companies to reduce shipping costs without disrupting their existing order or invoicing processes.
Built-In Shipment Validation
Before creating a consolidated shipment, the system performs a series of validation checks to ensure the deliveries are compatible.
The deliveries must all share the same:
- Customer
- Delivery address
- Shipping carrier and shipping method
- Shipping billing configuration
If shipping charges are billed to the receiver or a third party, the billing account information must also match.
If any of these conditions are not met, Odoo prevents the shipment from being validated and clearly identifies the issue before a shipping label is purchased.
These safeguards help prevent incorrect shipments and unnecessary carrier charges.
One Shipment, One Label
Once validation succeeds, the enhancement changes how EasyPost processes the shipment.
Instead of creating separate shipments for each delivery, Odoo sends the combined package information to EasyPost as a single shipment.
EasyPost then:
- Creates one shipment
- Performs carrier rate shopping
- Purchases one shipping label
- Returns tracking information for the combined package
Steersman’s integration automatically distributes the shipment information back to each individual delivery record, preserving complete traceability across every Sales Order included in the shipment.
Automatic Shipping Cost Allocation
Shipping one package shouldn’t mean losing visibility into shipping costs.
After EasyPost returns the shipment cost, the system automatically allocates the shipping expense across every delivery that contributed to the package.
Each Sales Order continues to maintain accurate shipping cost information, allowing businesses to preserve reporting accuracy and support existing “Real Shipping Cost” workflows.
Handles Real-World Warehouse Scenarios
The enhancement was designed for the realities of warehouse operations.
It supports:
- Multiple Sales Orders shipped together
- Shared packages
- Automatic tracking updates
- Batch validation
- Partial shipment success handling
- Backorder processing when necessary
Even when part of a batch cannot be processed, successful shipments continue while remaining deliveries are safely moved into backorders, minimizing disruption to fulfillment operations.
A Typical Workflow
With the enhancement installed, the shipping process becomes straightforward:
- Create multiple Sales Orders for the same customer.
- Generate outbound deliveries for each order.
- Create a Batch Transfer and add the deliveries.
- Package the deliveries together.
- Validate the batch.
- Odoo verifies that all deliveries are compatible.
- A single EasyPost shipment and shipping label are created.
- Tracking information is written back to each delivery.
- Shipping costs are automatically distributed across the participating orders.
The result is a streamlined fulfillment process with fewer shipping charges and no manual consolidation.
The Benefits
By extending Odoo’s EasyPost integration to support Batch Transfers, businesses gain:
- Lower shipping costs by consolidating multiple orders into one shipment
- Single shipping label generation for combined packages
- Automatic validation to prevent incompatible shipments
- Accurate shipping cost allocation across Sales Orders
- Preserved order and invoice integrity
- Reduced manual work and fewer shipping errors
- Full EasyPost integration within Odoo’s existing warehouse workflow
Related posts

Odoo EasyPost Shipping and Rate Shopping with UPS, USPS, FedEx, DHL, SurePost, Canada Post
Optimize shipping costs and improve operational efficiency with advanced rate shopping, shipping estimates, delivery routing, and more!

Log Shipping Expense onto Delivery and Invoice in Odoo
Attribute shipping costs into invoices for total profitability per invoice, so the invoice has product revenue, shipping revenue, COGS, and shipping expense lines.

Sending Advanced Shipping Notices (ASN) in Odoo
The EDI 856 outbound integration offered by Steersman enables businesses using Odoo to generate and send Advanced Shipping Notices (ASNs) efficiently to their buyers.

Automatically Print UCC-128 Shipping Labels on Delivery Validation in Odoo
We’ve added support for automatically generating and printing UCC-128 shipping container labels when deliveries are validated in Odoo. This feature is useful for customers who require UCC-128 labels for every shipment.