Multiple Customer Addresses and Shipping gives WooCommerce customers an address book of saved billing and shipping addresses and lets them ship a single order to multiple addresses — choosing the destination per line item at checkout. Gift senders, B2B buyers shipping to client sites, and corporate ops teams all need this.
I built this as the address-book and split-shipment layer that WooCommerce should have shipped with. The plugin handles the data model, the per-line-item address selector, the shipping-cost recalculation, and the order-record structure that lets a single order genuinely ship to multiple destinations.
The problem it solves
WooCommerce assumes one shipping address per order. That works for most consumer purchases, but it falls apart for gift orders going to multiple recipients, B2B orders shipping to multiple client sites, or corporate purchases distributing across branch offices. The workaround is asking the customer to place multiple orders, which loses sales and breaks the basket discount logic.
The plugin reshapes the order model so a single order can route different line items to different addresses, with shipping costs calculated per destination.
What the plugin does
A full address-book and split-shipment layer for WooCommerce:
- Saved address book per customer — multiple billing and shipping addresses on the My Account page
- Ship to multiple addresses in one order — choose the destination per line item at checkout
- Per-line-item address selector — pick the saved address for each item in the cart
- Shipping cost calculated per destination — accurate rates for each address segment
- Address management on My Account — add, edit, delete and default saved addresses
- Default address selection — set a default shipping address that auto-fills checkout
- Compatible with the WooCommerce shipping zone model — respects zone-based rates
- Order record shows split destinations — admin and customer see clearly which item went where
How it is built
Saved addresses are stored as a custom post type per customer, with the customer’s default address mirrored to the standard WooCommerce billing/shipping user meta for compatibility. The split-shipment flow extends the cart with per-item address meta, and shipping cost recalculation runs through the standard woocommerce_package_rates path once per destination zone. The order-record extension stores the per-line-item destination as line-item meta so the order screen, packing slip and customer emails all reflect the split correctly.
The plugin is HPOS-compatible, fully translatable, and works with major shipping plugins like Table Rate Shipping and Advanced Shipping.
Marketplace adoption
A 4.2-star rating across 10 reviews on the official WooCommerce Marketplace reflects an active customer base in gifting, B2B and corporate-ordering stores. These are stores where the split-shipment feature is not nice-to-have — it directly unlocks order patterns that would otherwise be lost.
- Marketplace rating: 4.2 stars — based on 10 customer reviews on the official WooCommerce Marketplace
- Active gifting and B2B customer base — used where one-order-to-many-destinations is the norm
- Compatible with shipping-method plugins — Table Rate Shipping, Advanced Shipping and the WooCommerce zone model
- Address-book reuse — saved addresses speed up checkout for repeat customers
- Multi-year tenure on the marketplace — continuously maintained through WooCommerce releases
Need a custom WooCommerce plugin built like this?
I build production-grade WooCommerce plugins like the ones I shipped on the official WooCommerce Marketplace — engineered to extend WooCommerce’s data model without breaking the integrations that depend on it. If you need custom shipping or checkout logic, let’s talk.
See my WooCommerce plugin development service