Full Version WooCommerce Multiple Customer Addresses

Main Page Informations

The WooCommerce Multiple Customer Addresses (WCMCA) allows your registered customers to associate multiple addresses to their profile and optionally different product addresses on the Checkout page!


user: demo
pass: demo

user: demo2
pass: demo

How to automatically update the plugin

To receive automatic updates just install and configure the Envato updater plugin: https://goo.gl/pkJS33 .The official guide that explains how to configure it can be found in the following link: https://envato.com/market-plugin .



The idea behind the plugin is to have let the customer to easily save multiple billing and/or shipping addresses to be later used during the checkout process.
Furthermore, the plugin allows the user to save new addresses also directly in the checkout page! In this way the user, once saved an address (by accessing the My Account page or directly in the Checkout page)
will be able to select on the fly as shipping and/or billing address any previously saved address!

NEW WCMCA now allows your customers to assign different shipping addresses for each product during the checkout process!


Simply accessing the My Account page every customer will be able to add, edit or delete additional billing and/or shipping addresses that later could be used during the checkout process as shipping or billing address. Before saving an address, the plugin performs
a validation process on postcode (according the selected country), email and phone number fields. For each address, the user will be also able to set default addresses option, in this way the marked address will be the one automatically loaded as billing/shipping address on checkout form!


Would you like to disable the multiple addresses for billing or shipping address type? You can! go to the WooCommerce -> Multiple Customer Addresses Options menu and disable
the option does display multiple addresses selection for billing and/or shipping addresses!


During the checkout process, the customer will be able to switch on the fly addresses or add new ones! All done using a select menu seamlessly integrated into the checkout page!

Shipping email & email notification

The plugin allows you to optionally add a shipping email to the checkout shipping form and eventually send WooCommerce notification emails to that address!


NEW WCMCA now allows your customers to ship each item to different addresses! You have just to enable the special Shipping per product on the plugin options menu and that’s it!
The plugin will display in the Checkout order table, under each item, a select menu seamless integrated by which the registered customer will be able to create a new billing/shipping address or to select an already existing address to which the item will be shipped!

Guest users will be able to set an address for each item.

NOTE: No additional shipping costs or taxes will be added according products address. Shipping costs and taxes will be normally calculated using the main billing/shipping addresses.


For products shipped to addresses different from the current checkout shipping address, the plugin can optionally add additional handling fee. For example:

  1. If there are from 2 to 4 products to ship to different addresses from the checkout address, add a fee to 4$ each.
  2. If there are from 5 to 10 products to ship to different addresse from the checkout address, add a fee to 3$ each.

and so on.

NOTE: Handling fee is NOT ADDITIONAL SHIPPING COST. It is a fixed value and it do not consider the shipping location to compute a cost.

Add same items multiple times to cart

You can optionally enable the same products distinctly to cart. This option is particular useful if it used in conjunction with the product shipping addresses feature.


The admin will be able to see and eventually add, edit and delete all the customer addresses. The operation can be performed simply by access to the user profile page.


Through the admin order page, the admin will be able to load any customer shipping and billing address and use them as current order billing and shipping addresses. This
can be performed on the fly without leaving the page!


WCMCA allows you to optionally add the VAT Identification number field on the checkout billing address. To do that, go to the WooCommerce -> Multiple Customer Addresses Options menu and enable the
field display option.
Optionally it can be setted also as required.
In this way, your EU customer will be able to enter their VAT Identification number!

Would you like to have better VAT field management? Good! then try my latest plugin WooCommerce Eu Vat & B2B! The WooCommerce Multiple Addresses plugin has full support
for it, just install, and for each extra billing address, you will be able to enter a VAT number (only if the selected country is part of the European Union).


Using the special option you find on WooCommerce -> Multiple Customer Addresses Options you can disable/enable the required option for billing/shipping first, last name and company name
on checkout page. This is very useful for business users.

Max number of addresses limit

The shop admin can optionally set the max number of shipping/billing addresses that the user can create!

Disable user capabilities to add, edit and delete

The shop admin can optionally avoid the user being able to create, delete or delete existing addresses. Once this option is enabled, only the admin will be able to add, delete or edit user addresses. To do that, just go into the user admin page and perform the action you need!

WooCommerce MultiStep Checkout Wizard

It works if the multistep checkout is implemented by the WooCommerce MultiStep Checkout Wizard plugin.

WooCommerce Extra Checkout Fields for Brazil

WCMCA supports the WooCommerce Extra Checkout Fields for Brazil. So you can add new addresses that have the extra fields added by this plugin.
NOTE: the plugin will not perform any validation check on these extra fields.

WooCommerce Checkout Field Editor Pro (FREE VERSION)

WCMCA supports WooCommerce Checkout Field Editor Pro (FREE VERSION). All the new fields added using this plugin will be displayed in the billing and/or shipping addresses on the Checkout page.
NOTE: the plugin will not perform any validation check on these extra fields and Country and State fields have not to be removed. If so, the plugin will not work.

NOTE 2: The WooCommerce Checkout Field Editor Pro (as the name suggests) adds extra fields only to the checkout billing/shipping forms. They won’t be displayed in the My account -> addresses page. This means that it won’t allow the WCMCA to add and edit addresses containing
those fields in the Addresses page.
If you want your customer to be able to edit those fields for existing addresses or add new addresses containing those fields using the Addresses page, you have to manually edit the class-thwcfd-public-checkout.php located in the woo-checkout-field-editor-propublic folder, and replace line 165 and 173:





The plugin is designed to work with default shipping and billing forms. Adding or removing custom fields using a plugin not listed previously may cause the plugin to not work. In any case, if the shipping or billing country fields are removed (both using a plugin or via any customization)
the plugin will not properly work. Do not remove them.

The plugin doesn’t support any other 3rd party plugins that customize checkout (altering in any way) and that modifies the billing and shipping fields other than the ones listed previously. The alteration of the checkout form may lead the plugin or even the checkout page to not properly work. Use only the default WooCommerce checkout form template.


The plugin fires the following action befor and after adding, removing and updating an user address:

  1. apply_filter(‘wcmca_before_adding_new_user_address’, $new_address, $user_id);
  2. do_action(‘wcmca_after_adding_new_user_address’, $user_id, $new_address);
  3. do_action(‘wcmca_before_deleting_user_address’, $user_id, $address_id);
  4. do_action(‘wcmca_after_deleting_user_address’, $user_id, $new_address);
  5. apply_filter(‘wcmca_before_updating_user_address’, $new_address, $user_id, $address_id);
  6. do_action(‘wcmca_after_updating_user_address’, $user_id, $new_address);
  7. do_action(‘wcmca_before_duplicating_user_address’, $user_id, $address_id, $address);
  8. do_action(‘wcmca_after_duplicating_user_address’, $user_id, $address_id, $new_address_id, $address);
  9. do_action(‘wcmca_after_render_address_form’, $type); (After popup billing/shipping address form has been rendered)


Last default used addresses and custom addresses list

Add new addresses popup

Checkout custom address selection

Optional EU Identification Number field

Admin can edit and delete every user multiple addresses

Admin order page: select user addresses from multiple addresses list

Admin order page: select user addresses from multiple addresses list

Different shipping address per order item


= 19.5 - 19.11.21 =
* Improved product addresses store function

= 19.4 - 25.10.21 =
* Added option to disable smooth scroll on address selection on the checkout page

= 19.3 - 21.10.21 =
* Fixed an issue related to the "pickup" option with guest checkout

= 19.2 - 11.10.21 =
* Minor update

= 19.1 - 25.08.21 =
* Added new option to display billing and shipping address on the orders list table

= 19.0 - 18.07.21 =
* Fixed an issue that prevented the properly select customer address from the admin order page

= 18.9 - 10.07.21 =
* Updated internal libraries
* Fixed an issue due to product addresses were not properly loaded

= 18.8 - 25.06.21 =
* Minor bugfix

= 18.7 - 10.02.21 =
* Minor bugfix

= 18.6 - 15.02.21 =
* The actions triggered before saving and updating an address have now become filters

= 18.5 - 27.01.21 =
* Minor CSS improvement

= 18.4 - 21.01.21 =
* Minor bugfix

= 18.3 - 07.01.21 =
* Minor bugfix

= 18.2 - 10.10.20 =
* Minor improvements

= 18.1 - 06.10.20 =
* By default, the product address selector is not displayed if there is only one item in the cart. This behavior can be disabled through the special option

= 18.0 - 18.09.20 =
* Fixed a js issue with product addresses and guest users

= 17.9 - 14.08.20 =
* Fix an interference performed by the Porto theme

= 17.8 - 10.07.20 =
* Minor UI improvements

= 17.7 - 10.07.20 =
* Fixed an issue that prevented the plugin to be properly installed

= 17.6 - 10.07.20 =
* Fixed a minor issue

= 17.5 - 09.05.20 =
* Minor bugfix

= 17.4 - 03.04.20 =
* Fixed an issue due to the country and state select box was not properly displayed

= 17.3 - 02.04.20 =
* Minor CSS improvement

= 17.2 - 20.02.20 =
* Fixed an issue related to the vat number loading on the admin order details page

= 17.1 - 05.02.20 =
* CSS minor improvements

= 17.0 - 23.01.20 =
* Minor Bugfix

= 16.9 - 20.01.20 =
* Minor UI improvement

= 16.8 - 15.01.20 =
* Minor UI improvement

= 16.7 - 10.01.20 =
* Default addresses are now shown as first in the My Account -> Addresses page

= 16.6 - 26.12.19 =
* Fixed an issue that in some cases may preventing the address identifier field to be properly saved

= 16.5 - 24.12.19 =
* Minor bugfix

= 16.4 - 10.12.19 =
* Minor bugfix

= 16.3 - 01.12.19 =
* Fixed an issue that may prevent the country selector to be properly shown

= 16.2 - 28.11.19 =
* Added some UI improvement related to the back office customer addresses management

= 16.1 - 28.11.19 =
* Minor UI improvement

= 16.0 - 27.11.19 =
* Fixed an issue related to the popup close function when clicking on the background

= 15.9 - 21.11.19 =
* Improved address save and load processes on the checkout page

= 15.8 - 15.11.19 =
* Fixed an issue that prevented addresses to be properly loaded on the checkout page

= 15.7 - 14.11.19 =
* Fixed a minor issue related to the id attribute

= 15.6 - 16.10.19 =
* Fixed an issue related to the JetPack Lazy Image load feature

= 15.5 - 07.10.19 =
* Minor bugfix

= 15.4 - 03.10.19 =
* Minor bugfix

= 15.3 - 25.09.19 =
* Added option to set type for product address for guest 

= 15.2 - 21.09.19 =
* Added option to disable the "last used address" option

= 15.1 - 06.08.19 =
* Fixed an issue due to the bulk delete button was showed even if the "edit" capabilities were disabled

= 15.0 - 23.07.19 =
* Improved text translation escaping

= 14.9 - 10.07.19 =
* Fixed minor CSS issue with Enfold theme

= 14.8 - 29.05.19 =
* Typo

= 14.7 - 24.05.19 =
* Added feature to bulk delete addresses

= 14.6 - 20.05.19 =
* Added 'wcmca_product_note_label' filter to customize product note label

= 14.5 - 17.05.19 =
* Shipping per product: this option won't be shown for virtual products

= 14.4 - 18.04.19 =
* Fixed an issue due to the product address selector was not properly showing the selected address 
* Product address selector is now disabled while loading the address

= 14.3 - 11.04.19 =
* Minor bugfix

= 14.2 - 02.04.19 =
* Minor bugfix

= 14.1 - 01.04.19 =
* Fixed a minor CSS issue on checkout page

= 14.0 - 19.03.19 =
* Minor UI improvement

= 13.9 - 19.03.19 =
* Improved address selector UI

= 13.8 - 06.03.19 =
* New account email is now sent also to shipping email (if the special option has been enabled)

= 13.7 - 04.03.19 =
* Improved the 'wcmca_get_woocommerce_address_fields_by_type' filter

= 13.6 - 02.03.19 =
* Added the 'wcmca_get_woocommerce_address_fields_by_type' filter when retrieving the native woocommerce billing/shipping fields

= 13.5 - 16.02.19 =
* Fixed and issue with Flatsome theme

= 13.4 - 18.01.19 =
* Minor bugfix 

= 13.3 - 10.01.19 =
* Minor bugfix 

= 13.2 - 11.12.18 =
* Improved CSS

= 13.1 - 09.12.18 =
* Fixed an issue that may prevent the product to be saved

= 13.0 - 07.12.18 =
* Minor bugfix related to WP 5.0

= 12.9 - 03.12.18 =
* Fixed an issue with Ireland Eircode