There is a wrong concept among many WooCommerce users that local pickup and cash on delivery are the same but in fact they are two different things. Local pickup will require the purchaser to make a payment for the item in your WooCommerce store and head over to the actual store location to collect the item. On the other hand, cash on delivery will not require the purchaser to make a payment online and the item will be delivered to the door step of the purchaser and only then the purchaser hands over the total amount in the form of cash.
Setup and Configuration of Local Pickup
To offer the Local Pickup method in any online store, it must be added to a Shipping Zone. To get started,
→ Go to WooCommerce > Settings > Shipping.
→ Then Select a Shipping Zone and click the + icon to Add Shipping Method. A new window like the following display.
→ From the drop down menu select Local Pickup like the following screenshot.
→ Now click on Add Shipping Method.
→ Click on the Local Pickup row that you wish to define.
This will take you to a different screen to configure.
→ Enter a Title that displays to customers in checkout.
→ Select Tax Status – This define whether or not tax is applied to the shipping amount.
→ Enter Cost – Cost is applied to entire cart.
→ Now Save changes.
And now this shipping method will now be enabled in your WooCommerce store.
Customers residing in the zone with this shipping option are able to select this option in the cart and during checkout.
The cart view will be like the following:
The checkout view will be like the following screenshot:
Custom emails for local pickup
WooCommerce uses the standard flow of order when the local pickup shipping method has been selected. For example, the customer receives the same order confirmation email when local pickup or flat rate shipping has been selected.
Disable local taxes when using local pickup
To disable local tax calculations for Local Pickup, add this code at the end of your theme functions.php file:
add_filter( ‘woocommerce_apply_base_tax_for_local_pickup’, ‘__return_false’ );
When local pickup is selected this will make use regular taxes rather than local taxes.
Changing the location for local taxes
For charging local taxes based on postcode and city for Local Pickup, you need to define the shop’s base city and post code using the following code:
add_filter( 'woocommerce_countries_base_postcode', create_function( '', 'return "80903";' ) ); add_filter( 'woocommerce_countries_base_city', create_function( '', 'return "COLORADO SPRINGS";' ) );
You may also like: