Menu Close

WooCommerce: Get Order Tax Percentage

default

You’d think WooCommerce had an easy way to get the order tax rate percentage, the same way as you can get almost everything inside the “order object” with a single line of PHP. Well, that’s not the case unfortunately.

The reason is that probably each order can have multiple tax rates, and that tax is not only applied to product prices, but also optionally to shipping, fees and more.

So, how do we get the list of tax rates in a WooCommerce order? Here’s a quick snippet that you can use – enjoy!

We can only get the total tax amount that was applied to a given WooCommerce order – but how do we get the percentage instead?

PHP Snippet: Get List of WooCommerce Order Tax Percentages

The function below “returns” an array of percentages – you can then use that in a plugin, snippet or theme in order to do calculations or print it somewhere.

/**
 * @snippet       Get Order Tax Percentages
 * @usage         Use bbloomer_woocommerce_get_tax_rates( $order );
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 8
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

function bbloomer_woocommerce_get_tax_rates( $order ) {
	$rates = array();
	foreach ( $order->get_items('tax') as $item_id => $item ) {
		$tax_rate_id = $item->get_rate_id();
		$rates[] = WC_Tax::get_rate_percent( $tax_rate_id );
	}
	return $rates;
}
View Source
Posted in WooCommerce Tips