Washington State Sales Tax for Shopp

IvyCat Web Services
PoorWorksGoodGreatFantastic (No Ratings Yet)

Washington State is a destination-based sales tax state. Meaning, you charge the tax rate of the destination you’re shipping to, rather than the rate of where you’re shipping from.

Most e-commerce platforms have relatively rudimentary tax calculation tools and tables. Shopp, while robust, doesn’t have the ability to calculate the actual sales tax in Washington State based on destination address and zip.

When enabled, the customer’s zip and address information is passed up to the WA DOR along with some basic information about the order and it returns the actual tax rate, and amount for the ship-to address.

Find out more about Washington’s Destination-based Sales Tax


Like most WordPress plugins, you can install from within the WordPress Dashboard under Plugins/Add New.

If you wish to install manually:

  1. Upload the wa-state-sales-tax-shopp folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Settings/WA Taxes for Shopp and click enable
  4. Shopp will automatically get the destination-based sales tax for all orders shipped to WA State.
  1. Can you tell us what version of Shopp is required to run this plugin?

    August 2nd   #

  2. IvyCat,

    Thanks, this really saved my WA State bacon 🙂

    I made a couple changes that may be useful for you. Basically, I found that the plugin was taxing the subtotal, but the subtotal includes items that should not be taxed for my client. I added a little code to check and see if an item in the cart should be taxed before calculating. (I can send you entire patch file if you like). Here’s the basic code:

    Line 137: $Shopp->Order->Cart->Totals->taxrate = $taxrate;
    + //KMT: Do not tax items that are set as “not taxed”
    + $mysubtot = 0;
    + $contents = $Shopp->Order->Cart->contents;
    + foreach($contents as $item) {
    + if($item->option->tax != ‘off’) {
    + //add to our subtotal
    + $mysubtot =+ $item->totald;
    + };
    + }

    Line 148: // include shipping in tax calc…
    if ( shopp_setting( ‘tax_shipping’ ) === on ) {
    – $Shopp->Order->Cart->Totals->tax = ( $subtotal + $shipping ) * $taxrate;
    + $Shopp->Order->Cart->Totals->tax = ( $mysubtot + $shipping ) * $taxrate;
    } else {
    – $Shopp->Order->Cart->Totals->tax = $subtotal * $taxrate;
    + $Shopp->Order->Cart->Totals->tax = $mysubtot * $taxrate;

    Thanks again!!

    Also, Django, we have 1.2.X and it’s working well.


    October 16th   #

Need Help?

Please don't ask support questions in the comments! Search the Knowledge Base for solutions to known problems. If you can't find anything, open a ticket with the support team on the Help Desk, or ask in the Community Forums.


© Ingenesis Limited. Shopp™ is a registered trademark of Ingenesis Limited.