Description
Many US states hold an annual sales tax holiday — a “tax free weekend” during which certain products under a price threshold are exempt from sales tax (for example, Texas exempts qualifying items priced under $100 during its August holiday).
This plugin automates that for WooCommerce. While the promotion is enabled, on the days you select, products at or under your price cap that ship to your selected states are not charged sales tax. Everything else in the cart is taxed normally — mixed carts are handled per line item.
Features
- Master toggle — turn the promotion on and off with one checkbox.
- Day selection — pick which days of the week the exemption applies (e.g. Friday–Sunday), evaluated in your site’s timezone.
- Auto-shutoff date — optionally set a date after which the promotion deactivates automatically (it stays active through the end of that date). Leave it blank to keep it enabled until you turn it off.
- Price cap — items at or under this price qualify (default 99.99, matching “under $100” rules). Compared per unit against the active (sale) price, pre-tax.
- Multiple states — select one or more US states; the exemption applies when the customer’s taxable (shipping) address is in one of them.
- Product exclusions — search and exclude specific products or variations.
- Category exclusions — exclude whole product categories; subcategories are excluded automatically.
- Customer savings message — an optional banner on the cart and checkout pages tells customers exactly how much sales tax they’re saving (e.g. “you’re saving $8.25”), computed from your real tax rates. Classic cart/checkout templates only.
- Order audit trail — exempt line items and orders are flagged with hidden meta (
_rbtfw_exempt,_rbtfw_applied) so you can report on holiday sales later. - Admin warning notice — while the promotion is enabled, a persistent notice in wp-admin reminds you that tax is not being charged on qualifying items.
- Performance-first — zero database queries added to the storefront; all checks run from one autoloaded option in memory.
- WP-CLI —
wp rbtfw statusandwp rbtfw check <product_id> [--state=TX] [--day=saturday]let you dry-run eligibility without waiting for the weekend. - HPOS (High-Performance Order Storage) compatible.
How it works
Eligible items are assigned WooCommerce’s built-in Zero rate tax class at calculation time. WooCommerce then handles mixed carts, refunds, order taxes, and tax reports natively — this plugin never performs its own totals math and never modifies your tax rate tables.
Developer filters
rbtfw_is_product_eligible— final say on a product’s eligibility after all built-in rules pass.rbtfw_taxable_location— override the[ country, state ]used for the destination check.rbtfw_now— override the “current” datetime (used by the WP-CLI dry-run, handy in tests).
FAQ
-
Is this legal / tax advice?
-
No. This plugin is a tool that changes how tax is charged in your store. You are responsible for confirming your state’s holiday dates, price thresholds, and which product categories legally qualify — consult your tax advisor. State rules also contain nuances this plugin does not implement (see below).
-
Which rules does the plugin NOT implement?
-
Two known simplifications: (1) some states (e.g. Texas) count shipping/delivery charges toward the item’s price threshold and exempt shipping allocated to exempt items — this plugin compares the product price only and does not zero shipping tax; (2) some states let a coupon discount qualify an item that was over the threshold — this plugin compares the pre-coupon price. If these matter for your store, review with your tax advisor.
-
Does it work with automated tax services?
-
No. If you use an automated tax calculation service (WooCommerce Tax / TaxJar / Avalara), tax is computed by the external service and the tax-class swap this plugin performs has no effect. It requires standard WooCommerce tax rate tables.
-
What if the customer hasn’t entered an address yet?
-
No exemption is applied until a qualifying address is known (the safe default is to charge tax). As soon as the customer enters a shipping address in a selected state, qualifying items become tax free at cart/checkout.
-
Does the price cap apply per item or per cart?
-
Per unit. Three $40 items qualify even though the line totals $120. For variable products, each variation’s own price is compared.
-
What data does uninstalling remove?
-
Uninstalling deletes the plugin’s settings. The hidden order meta flags (
_rbtfw_exempton line items,_rbtfw_appliedon orders) are intentionally kept — they are historical accounting records of orders that were placed tax free. -
The banner renders on the classic cart and checkout pages (shortcode templates) only — the block-based cart/checkout does not run the hooks it uses. It also only appears while it has something true to say: promotion enabled, an active day, a qualifying customer address, and at least one exempt item in the cart. It can be turned off entirely in the settings.
-
Does it slow down my store?
-
No. All eligibility checks read from one autoloaded option already in memory. The plugin adds zero database queries to the storefront.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Tax Free Weekend for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Tax Free Weekend for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.1
- Improved: the “promotion is enabled” admin reminder is now limited to the Dashboard, Plugins and WooCommerce screens instead of appearing site-wide, and is dismissible via the standard notice dismiss button (persisted per user). It reappears if the promotion’s days, states, price cap or auto-shutoff date change, so a configuration is never silently forgotten, and it still disappears on its own once the promotion is switched off or its shutoff date passes.
- Improved: the “WooCommerce is required” notice is limited to the Dashboard and Plugins screens.
1.1.0
- New: optional customer savings banner on the classic cart and checkout pages (“you’re saving $X in sales tax”), computed from your configured tax rates for the customer’s address. Enabled by default; toggle in settings. New filter
rbtfw_savings_notice_html.
1.0.0
- Initial release: day selection, optional auto-shutoff date, price cap, multi-state selection, product and category exclusions (subcategories included automatically), order audit trail, admin warning notice, WP-CLI status/check commands, HPOS compatibility.
