Local Pickup is a shipping method that can be added to Shipping Zones. Please see our Shipping Zones guide and create zones to begin using.
Local Pickup is a method that allows the customer to pick up the order themselves.
Setup and Configuration
To use this method it must be added to a Shipping Zone.
1/ Go to WooCommerce > Settings > Shipping.
2/ Select a Shipping Zone, and click the + icon to Add Shipping Method. A modal window will display.
3/ Select Local Pickup from the dropdown.
4/ Click Add shipping method.
5/ Click Local Pickup in the row you wish to define.
This takes you to a different screen.
6/ Enter a Title that displays to customers in checkout – some shops change the title to Local Delivery, for example.
7/ Select Tax Status – Define whether or not tax is applied to the shipping amount.
8/ Enter Cost – Cost for the option, is applied to entire cart.
9/ Save changes.
Customers residing in the zone with this shipping option are able to select this in the cart and during checkout.
Custom emails for local pickup
WooCommerce uses the standard order flow when the local pickup shipping method has been selected. For example, the customer receives the same order confirmation email whether local pickup or flat rate shipping has been selected.
To create custom emails, use the guide How to Add a Custom WooCommerce Email.
Disable local taxes when using local pickup
Note: Local Pickup calculates taxes based on your base store location by default, and not the customer’s address.
To disable local tax calculations for Local Pickup, add this snippet at the end of your theme functions.php file:
add_filter( 'woocommerce_apply_base_tax_for_local_pickup', '__return_false' );
Regular taxes will be used when local pickup is selected, instead of local taxes.
Changing the location for local taxes
To charge local taxes based on postcode and city for Local Pickup, you need to define the shop’s base city and post code using this code:
|add_filter( ‘woocommerce_countries_base_postcode’, create_function( ”, ‘return “80903”;’ ) );|
|add_filter( ‘woocommerce_countries_base_city’, create_function( ”, ‘return “COLORADO SPRINGS”;’ ) );|