The WooCommerce settings allow you to define the default customer tax location (“Calculate tax based on” -> “Shop base address“). In this case, when a guest customer enters the checkout, tax will be calculated based on the store address.
The problem is that this option is unusual – businesses require the “Calculate tax based on” -> “Customer billing address” option in most cases.
So, today, we will be setting the default tax location when “Customer billing address” has been chosen AND the customer is either logged out (so, no billing address is set) or logged in but have no saved address (for example, a brand new customer). Enjoy!

PHP Snippet: Set Customer Default Billing Country for Tax Calculations @ WooCommerce Checkout
/**
* @snippet Set Customer Default Tax Location
* @how-to businessbloomer.com/woocommerce-customization
* @author Rodolfo Melogli, Business Bloomer
* @compatible WooCommerce 8
* @community https://businessbloomer.com/club/
*/
add_filter( 'woocommerce_get_tax_location', 'bbloomer_customer_default_tax_location', 9999, 3 );
function bbloomer_customer_default_tax_location( $location, $tax_class, $customer ) {
if ( $customer && ! $customer->get_billing_country() ) {
return array( 'US', '', '', '' );
}
return $location;
}
Note: you can even set the default state, postcode and city by using the 3 array values after the country code e.g. ( ‘US’, ‘CA’, ‘90210’, ‘Beverly Hills’ )
Muchas gracias 😀
You’re welcome!