So, I looked into the TaxJar response that goes to the WooCommerce Shipping & Tax plugin. It seems like no-matter what the configuration, “freight_taxable” is empty:
stdClass Object
(
[amount_to_collect] => 0.7
[breakdown] => stdClass Object
(
[city_tax_collectable] => 0
[city_tax_rate] => 0
[city_taxable_amount] => 0
[combined_tax_rate] => 0.07
[county_tax_collectable] => 0.1
[county_tax_rate] => 0.01
[county_taxable_amount] => 10
[line_items] => Array
(
[0] => stdClass Object
(
[city_amount] => 0
[city_tax_rate] => 0
[city_taxable_amount] => 0
[combined_tax_rate] => 0.07
[county_amount] => 0.1
[county_tax_rate] => 0.01
[county_taxable_amount] => 10
[id] => 12-c20ad4d76fe97759aa27a0c99bff6710
[special_district_amount] => 0
[special_district_taxable_amount] => 0
[special_tax_rate] => 0
[state_amount] => 0.6
[state_sales_tax_rate] => 0.06
[state_taxable_amount] => 10
[tax_collectable] => 0.7
[taxable_amount] => 10
)
)
[special_district_tax_collectable] => 0
[special_district_taxable_amount] => 0
[special_tax_rate] => 0
[state_tax_collectable] => 0.6
[state_tax_rate] => 0.06
[state_taxable_amount] => 10
[tax_collectable] => 0.7
[taxable_amount] => 10
)
[freight_taxable] =>
[has_nexus] => 1
[jurisdictions] => stdClass Object
(
[city] => ******
[country] => US
[county] => SARASOTA
[state] => FL
)
[order_total_amount] => 16.5
[rate] => 0.07
[shipping] => 6.5
[tax_source] => destination
[taxable_amount] => 10
)
So, looking further into the TaxJar blog post (https://blog.taxjar.com/shipping-in-florida-taxable/), it actually states that “The TaxJar app defaults to the most common Florida scenario – that shipping and handling is non-taxable.” To change this, TaxJar allows subscribers to add a Shipping & Handling Override from the account settings (https://blog.taxjar.com/new-feature-shipping-handling-taxability-override/).
Since WooCommerce Shipping & Tax does not give me access to these TaxJar settings, I cannot set it.
To improvise, I (temporarily) fixed with the following filters:
//fix bug with WooCommerce Tax & Shipping (aka Services) not adding sales tax to shipping fees even though pickup is not an option, gets triggered after WooCommerce Tax & Shipping saves new tax rates
add_action('woocommerce_tax_rate_added', 'twt_make_shipping_taxable');
add_action('woocommerce_tax_rate_updated', 'twt_make_shipping_taxable');
function twt_make_shipping_taxable($tax_rate_id) {
global $wpdb;
$tax_rate_id = absint( $tax_rate_id );
//force sales tax on shipping fees
$tax_rate['tax_rate_shipping'] = 1;
$wpdb->update(
$wpdb->prefix . 'woocommerce_tax_rates',
array(
'tax_rate_shipping' => 1
),
array(
'tax_rate_id' => $tax_rate_id,
)
);
WC_Cache_Helper::invalidate_cache_group( 'taxes' );
}
However, I recommend you to add a setting to the WooCommerce Shipping & Tax plugin to be able to overwrite if shipping is sales taxable. This will allow people in Florida to charge the right amount of sales tax.