Avalara AvaTax and points redemptions
Updated September 11, 2026
Stores using Avalara AvaTax calculate tax through Avalara’s API rather than WooCommerce’s own tax tables. That changes how a points discount needs to be applied, so the plugin detects AvaTax and offers two extra settings when it finds it.
Why a special case is needed
A points redemption is added to the cart as a negative fee. WooCommerce handles the tax on a negative fee by spreading the discount proportionally across the cart’s tax classes, which is correct behaviour with native tax tables and needs no configuration.
A tax service works differently. It only reduces the taxable value of an order when the discount line it receives is itself marked as taxable and carries a tax class. Without that, Avalara sees the full pre-discount amount and calculates tax on it, so the customer is taxed on money they did not pay.
Apply tax reduction to redeemed points
This setting sits under Include tax in points preview in the Points Discount on Checkout settings. Turning it on applies the redemption as a taxable discount fee, so AvaTax reduces the taxable order amount accordingly.
It only appears on stores where an AvaTax integration is detected, and it defaults to enabled on those stores. If you do not use Avalara you will never see it, and you do not need it.
Points redemption tax class
With the option enabled, a tax class selector appears alongside it. Leave it on Default (standard rate) unless your Avalara configuration expects discounts to carry a specific class.
How detection works
The plugin looks for the AvaTax integration’s own classes and functions first, then falls back to a list of known plugin files. If you run an AvaTax bridge the plugin does not recognise, a developer can force detection with the spar_is_avalara_tax_plugin_active filter, or add your plugin file to the list with spar_avalara_tax_plugin_files.
Other tax services
These settings are specific to Avalara. If you use a different tax service that calculates through an API, the same underlying issue may apply, and the detection filter above is the supported way to opt in.


