This is an info Alert.
x402 Logo
  • Product
    • Become Agent-Ready
      • Merchants
        Agentic Commerce — list your store across ChatGPT, Gemini, Claude & Perplexity
      • Publishers
        Monetize your content when AI agents read, cite, or train on it
      • SaaS Companies
        Treat AI agents as first-class customers with agent-priced checkout
    • Monetize
      • Monetize MCP Server
        Charge per call on any MCP server in 2 minutes
      • Monetize AI Agents
        Turn n8n, Zapier, Activepieces workflows into revenue
      • Agent Feed
        Pay-per-query access to licensed publisher content for your agents
  • Resources
    • xpay Ecosystem
      • xpay✦ Tools
        1,000+ pay-per-use tools for your AI agents
      • Agent-Ready SaaS Index
        25,481 SaaS scored on agent-buyability
      • SaaS Pricing Database
        Pricing pages indexed across 1,000+ categories
      • Shopify Apps Directory
        Every Shopify app, with its full review history
      • WooCommerce Plugins Directory
        Every WooCommerce plugin, scored on how well it is maintained
      • GitHub
        Open source repositories
    • Agent Building
      • Agent Frameworks
        AI frameworks for building multi-agent systems
      • x402 Integration
        AI frameworks with x402 payment integration
      • Networks
        Blockchain networks supporting x402
    • Company
      • About xpay✦
        Our mission, products, and protocols
      • Blog
        Latest insights and updates
      • Docs
        Complete xpay documentation
  • Pricing
  • Blog
  • Docs
Get Started
  1. xpay✦ Commerce

  2. Directory

  3. WooCommerce plugins

  4. Tax Switch for WooCommerce

Tax Switch for WooCommerce

Let customers toggle between inclusive and exclusive tax pricing in your WooCommerce store.

900+ active installs
5.0
(27 ratings)
Free on WordPress.org
View on WordPress.orgSupport forum
Will this break my store?

What the WordPress.org registry says about keeping Tax Switch for WooCommerce running.

WordPress compatibility
Tested to 7.0.2
Tested against the WordPress branch in use today.
Last updated
19 days ago
At least 33.9 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.
Requires PHP
7.2
Your host must be running at least this version.
Requires WordPress
6.1
Requires other plugins
woocommerce
These must be installed and active first.
Contributors
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.

900+ active installsWordPress.org reports installs in bands, not exact counts.
Maintenance & trust

Scored on how Tax Switch for WooCommerce is looked after — not on how many stores run it.

93

out of 100
Well maintainedSome ratings or support history.

Maintenance
35 / 35
Updated 18 days ago.
WordPress compatibility
20 / 20
Tested to WP 7.0.2 (current).
Support responsiveness
Not enough data
Only 0 support thread(s) — not enough to judge.
Merchant satisfaction
14 / 15
5.0/5 across 27 rating(s).
Listing transparency
6 / 10
Provides: description, homepage
1 of 5 measures had too little evidence to score. They are left out of the total rather than counted as zero — otherwise a plugin would be marked down for being small rather than for being poorly kept.Measured 2026-08-01 from the WordPress.org plugin registry.
Ratings

5.0

27 ratings
5★27
4★0
3★0
2★0
1★0
Every rating WordPress.org holds for this plugin, not a sample. Written reviews live in the plugin's WordPress.org reviews forum.

Tax Switch for WooCommerce enhances your WooCommerce store by allowing users to toggle between displaying prices including or excluding tax. This plugin adds a customizable switch component and provides a flexible way to display both price versions.

See Tax Switch for WooCommerce in action: Try the live demo →

Key features

  • Display customizable switches where you want
  • Gutenberg block support
  • Shortcode for easy integration (including shortcode generator)
  • Flexible display options for prices with and without tax
  • Remembers the user’s preference for future visits
  • Choose between a toggle switch or buttons

For more information about this plugin, please visit the plugin page.

Requirements

  • WooCommerce plugin installed and activated
  • WooCommerce tax calculations enabled and configured

Configuration

Configure the plugin settings below for proper functionality.

WooCommerce settings

Ensure these WooCommerce settings are configured first:

  1. Configure tax calculations

    • Go to: WooCommerce > Settings > General
    • Verify your shop address is complete
    • Enable “Enable tax rates and calculations”
    • Set “Default customer location” to “Shop base address”
  2. Set up tax rates

    • Go to: WooCommerce > Settings > Tax > Standard Rates
    • Add your regional tax rates
  3. Recommended: tax calculation method

    • Go to: WooCommerce > Settings > Tax
    • Set “Calculate tax based on” to “Shop base address”
      (This provides instant tax calculation. Other methods require customers to enter their address first.)
  4. Individual product configuration

    • Edit products at: Products > [Product]
    • Under Product Data > Tax, set status to “Taxable”

Plugin settings

Configure these plugin-specific settings:

  1. Main settings
    • Go to: WooCommerce > Settings > Tax Switch
    • Set your preferred text values
    • Optional: Restrict display locations
    • Optional: Generate a shortcode via WooCommerce > Settings > Tax Switch > Shortcode

Usage

After installation and configuration, you can add the tax switch to your pages in two ways:

  1. Use the Gutenberg block “Tax Switch for WooCommerce” in your page or post editor.
  2. Use the shortcode [wdevs_tax_switch] anywhere in your content.

Shortcode Usage

Switch/buttons

Basic usage:
[wdevs_tax_switch]

Displays a switch to toggle displaying prices including or excluding tax.

The shortcode accepts several attributes to customize its appearance and behavior:

  • class-name: Adds custom CSS classes to the switch.
    • Default: is-style-default
    • Options: is-style-default, is-style-inline, is-style-flat-pill, or custom classes
  • switch-type: Determines the style of the toggle.
    • Default: switch
    • Options: switch, buttons
  • switch-color: Sets the color of the switch handle.
  • switch-color-checked: Sets the color of the switch when it’s in the “on” position.
  • switch-background-color: Sets the background color of the switch.
  • switch-text-color: Sets the text color of the switch labels.
  • switch-background-color-checked: Sets the background color of the switch when it’s in the “on” position.
  • switch-label-incl: Sets the text for the “including tax” label.
    • Default: Uses the text set in the plugin settings or “Incl. VAT” if not set.
  • switch-label-excl: Sets the text for the “excluding tax” label.
    • Default: Uses the text set in the plugin settings or “Excl. VAT” if not set.
  • switch-aria-label: Sets the aria label of the switch.
    • Default: Uses the text set in the plugin settings or “Switch between prices including and excluding tax” if not set.

Example with custom attributes:

[wdevs_tax_switch class-name="is-style-inline" switch-type="switch" switch-color="#ffffff" switch-color-checked="#000000" switch-background-color="#000000" switch-background-color-checked="#4CAF50" switch-text-color="#FF0000" switch-label-incl="Incl. VAT" switch-label-excl="Excl. VAT" switch-aria-label="Switch between prices including and excluding tax"]

Label

Basic usage:
[wdevs_tax_switch_label]

Displays text indicating the currently selected tax setting. The text updates automatically when the tax switch is toggled.

The shortcode accepts several attributes to customize its appearance and behavior:

  • class-name: Adds custom CSS classes to the label.
    • Default: is-style-default
    • Options: is-style-default or custom classes
  • label-text-incl: Sets the text to display when “including tax” is selected.
    • Default: Uses the text set in the plugin settings or “Incl. VAT” if not set.
  • label-text-excl: Sets the text to display when “excluding tax” is selected.
    • Default: Uses the text set in the plugin settings or “Excl. VAT” if not set.
  • label-text-color: Sets the “excluding tax” text color.
  • label-text-color-checked: Sets the “including tax” text color.

Example with custom attributes:

[wdevs_tax_switch_label class-name="tax-indicator" label-text-incl="Prices include tax" label-text-excl="Prices exclude tax" label-text-color="#FF0000" label-text-color-checked="#4CAF50"]

PHP implementation

You can use these shortcodes with PHP with the do_shortcode() function:

<?php echo do_shortcode('[wdevs_tax_switch]'); ?>
<?php echo do_shortcode('[wdevs_tax_switch_label]'); ?>

JavaScript API

Tax Switch provides a JavaScript API for custom integrations, such as buttons, preference popups, or other flows where visitors choose whether they want to see prices including or excluding tax.

if ( window.wdevsTaxSwitch && ! window.wdevsTaxSwitch.hasSavedChoice() ) {
    window.wdevsTaxSwitch.setDisplay( 'incl', {
        respectExistingChoice: true,
    } );
}

API methods:
* getDisplay(): returns the current display, either 'incl' or 'excl'.
* setDisplay( display, options ): changes the display to 'incl' or 'excl'.
* hasSavedChoice(): returns whether the visitor already has a saved switch choice.
* refresh(): reapplies the current display.
* toggle( options ): toggles between inclusive and exclusive tax display.

Options:
* respectExistingChoice: boolean – preserves an existing saved visitor choice.

Set respectExistingChoice to true when you only want to apply a default if the visitor has not already made a saved choice.

You can also request a display change by dispatching an event. This is useful when your integration is event-driven.

document.dispatchEvent(
    new CustomEvent( 'wdevs-tax-switch-context-changed', {
        detail: {
            display: 'incl',
            respectExistingChoice: true,
        },
    } )
);

Detail properties:
* display: 'incl' | 'excl' | 'toggle' – requested tax display.
* respectExistingChoice: boolean – preserves an existing saved visitor choice.

JavaScript events

The switch fires a JavaScript event when the tax display changes. You can listen for this event to execute custom code when a user switches between inclusive and exclusive tax display. This is useful for when you need to perform additional actions based on the tax display state.

document.addEventListener( 'wdevs-tax-switch-changed', function( event ) {
    console.log( event.detail );
} );

Detail properties:
* isSwitched: boolean – the raw switch state.
* displayIncludingTax: boolean – whether prices now display including tax.

If you are loading the switch dynamically (via AJAX), dispatch this event after rendering to initialize the component:

document.dispatchEvent( new CustomEvent( 'wdevs-tax-switch-appeared' ) );

WPML

To translate the option texts via WPML:

  1. Save your options first in: WooCommerce -> Settings -> Tax Switch
  2. Then translate the texts in: WPML -> String Translations and search for your option values in the domain ‘tax-switch-for-woocommerce’

Compatibility

This plugin integrates with WooCommerce’s standard filters and actions for price display and calculation. While most plugins and themes work out of the box, some third-party code use custom price building methods that require specific compatibility integrations.

The following themes have been tested and confirmed compatible:

  • GeneratePress
  • Blocksy
  • Thrive
  • Flatsome
  • Kapee
  • Entr
  • Woodmart
  • Hello Elementor

The following plugins have been tested and confirmed compatible:

  • WooCommerce Product Table Lite (+ PRO)
  • Tiered Pricing Table for WooCommerce (+ Premium)
  • Measurement Price Calculator for WooCommerce
  • Discount Rules for WooCommerce
  • YITH WooCommerce Product Add-Ons (+ & Extra Options Premium)
  • JetEngine Listing Grid (Elementor)
  • Product Add-Ons for WooCommerce
  • B2BKing – Ultimate WooCommerce Wholesale and B2B Solution (+ Premium)
  • Advanced Product Fields Pro/Extended for WooCommerce
  • WooCommerce Quantity Discounts, Rules & Swatches
  • FacetWP
  • Variation Swatches for WooCommerce (+ PRO)
  • Variation Price Display Range for WooCommerce (+ PRO)
  • WooCommerce Product Add-Ons Ultimate
  • Advanced Woo Search (+ PRO)
  • B2B Market
  • FiboFilters
  • Extra Product Options & Add-Ons for WooCommerce
  • FiboSearch – Ajax Search for WooCommerce (+ Pro)
  • YayMail – WooCommerce Email Customizer
  • PDF Invoices & Packing Slips for WooCommerce
  • WooCommerce Product Bundles
  • LiteSpeed Cache
  • Elementor Pro
  • YITH WooCommerce Role Based Prices
  • WooCommerce Dynamic Pricing and Discount Rules
  • Price Based on Country for WooCommerce
  • WP Grid Builder

If you encounter any compatibility issues with other plugins or themes, please let us know. Your feedback helps us improve the plugin and extend compatibility to more third-party solutions.

Incompatibility

After multiple attempts to create compatibility functions, reaching out to the plugin developers several times, and still finding no viable solution, the following plugins remain incompatible:

  • Unlimited Elements for Elementor (+ Pro): AJAX pagination and filtering issues
  • Barn2: WooCommerce Product Options

Additional Information

This plugin is fully open source. You can find the source code on GitHub

For more information and other WordPress plugins, visit Wijnberg Developments.

Are there any known compatibility issues?

Some WooCommerce Blocks are not fully compatible with this plugin as they do not use standard WooCommerce filters for price display. This is a known limitation of WooCommerce Blocks and not specific to this plugin. You can fix this by using WooCommerce shortcodes instead of the WooCommerce Blocks.

Why do prices stay the same after switching?

Sometimes prices may not appear to change when toggled. This is often related to WooCommerce tax settings. If possible, select ‘Shop based’ in WooCommerce → Settings → Tax → “Calculate tax based on”. Otherwise, WooCommerce requires a billing/shipping address to calculate taxes, which is typically only available after login or during checkout.

Why don’t prices update in the cart/checkout when switching?

The plugin is designed to keep prices consistent in the cart and checkout process. There are two main reasons for this:

  1. Customer clarity: This ensures visitors always see the exact final amount they’ll pay, without unexpected changes during checkout.
  2. Technical simplicity: While dynamic price switching could be implemented, it would require compatibility with various third-party cart/checkout plugins. The focus is, at the moment, on maintaining a lightweight and reliable solution rather than this specific feature.

Categories
Currency & tax
Plugin details
Version1.8.2
Last updated2026-07-14 10:02am GMT
Added2024-09-23
Requires WordPress6.1
Tested up to7.0.2
Requires PHP7.2

Tags on WordPress.org
tax
vat
woocommerce
Alternatives
Other plugins in the same categories.
WebPlanex: GST Invoice India
400+ installs
5.0(34)
FOX – Currency Switcher Professional for WooCommerce
50K+ installs
4.4(249)
Price Based on Country for WooCommerce
20K+ installs
4.8(262)
Quaderno: Global Tax & Invoicing Automation for WooCommerce
500+ installs
4.7(18)
Saudi Currency
100+ installs
5.0(3)
Currency Exchange for WooCommerce
500+ installs
5.0(29)
x402 Logo

The agent-readiness stack for the AI shopping era — helping merchants, publishers and SaaS companies get discovered, cited and transacted with by ChatGPT, Perplexity, Claude, Gemini and the custom shopping agents underneath them.

CompanyAgentically Inc. (d/b/a xpay✦)1875 Mission St, Ste 103San Francisco, CA 94103, United Stateslegal@xpay.sh · privacy@xpay.sh
or ask your AI app
Company
About xpayAgency PartnersGitHubDiscordllms.txt
DevelopersDocumentationAPI ReferenceSDKs & LibrariesQuickstart GuideOpenAPI Spec
Stay Updated
Occasional product updates and agent-readiness playbooks from xpay (Agentically Inc.) — typically a couple of emails a month. Double opt-in: we email you a link to confirm before sending anything, and every email has one-click unsubscribe.
Social
  • For Publishers
    • News
    • Finance
    • Dev / Tech
    • Travel
    • View all verticals
  • Agent Feed
    • AI Search Engines
    • RAG Builders
    • Browser Agents
    • Vertical Research
    • Browse full catalog
  • Agent-Ready Index
    • SaaS Pricing Database
    • Agent-Ready SaaS Index
    • Verified band
    • AI & ML
    • Sales & CRM
  • Products
    • Pricing Widget
    • Monetize MCP Server
    • Paywall
    • Smart Proxy
    • Monetize AI Agents
    • xpay x402 Facilitator
  • Agentic Economy
    • Timeline
    • Resources
    • Manifesto
    • Stack
  • Agentic Commerce
    • Get listed
    • ChatGPT Ads
    • How ChatGPT Ads work
    • ChatGPT Ads · Apparel
    • ChatGPT Ads · Health & Beauty
    • xpay Listings · Amazon + Google
    • Pricing
    • Free audit
    • Shopify
    • WooCommerce
    • Apparel & Accessories
    • Health & Beauty
    • Overview
  • Commerce Index
    • Shopify apps directory
    • Agentic Commerce Ready Index
    • Methodology
    • Pet brands · WooCommerce
    • Pet brands · Shopify
  • Marketplace
    • 🛍️ xpay.deals — agentic storefront for deals
  • Protocols
    • Overview
    • x402
    • MPP
    • UCP
    • ACP
    • AP2
    • TAP
    • A2A
  • Agent Frameworks
    • Overview
    • LangChain
    • CrewAI
    • Claude MCP
    • AutoGPT
    • LangChain vs Mastra
    • LangGraph vs Pydantic AI
  • Company
    • About xpay
    • Blog
    • Docs
    • GitHub
  • Free prompts
    • Ecommerce prompts
    • Email marketing prompts
    • Product description prompts
    • Facebook ad prompts
    • Skincare prompts
    • Supplement prompts
    • Wine prompts
    • Electronics prompts

© 2025 Agentically Inc. All rights reserved.
Privacy PolicyTerms of UseAcceptable Use Policy