Sales Tax Warnings on Your Shopify Catalog Site? How to Clean Up Fake Orders & Optimize Quote Requests

Hey everyone! I recently stumbled upon a really interesting and frankly, quite common, dilemma in the Shopify community that I just had to share insights from. It’s a classic case of using Shopify in a slightly unconventional way and hitting a snag, which, let’s be honest, many of us have done at some point.

The original post, from a merchant named LeisureCraft, started with a head-scratcher: “We Are Getting Messages About Sales Tax But Our Site Is Not A Store - It's A Catalog Website.” You can imagine the confusion! They’re running a beautiful catalog site, explicitly avoiding direct e-commerce to support their resellers, and all sales go through their customer service team via phone. Yet, Shopify was pinging them about sales tax thresholds because of “orders” that weren’t actually orders at all.

The Root of the Problem: Quote Requests Gone Rogue

LeisureCraft explained that their site uses the theme’s “order form capability” as a “quote request” form. Smart workaround, right? Except it backfired big time. For about a year, they were getting absolutely slammed by spambots – hundreds, sometimes thousands, of fraudulent “quote requests” daily. These fake requests piled up in Shopify’s order queue, triggering those sales tax warnings. Their customer service department was inundated, and the webmaster, LeisureCraft, only realized the scale of the problem when it became unmanageable.

Imagine trying to clear thousands of fake “orders” when Shopify’s UI limits you to canceling just 250 at a time, each taking about a second. LeisureCraft said it would take a “week’s work” just to clean up the backlog! Thankfully, they’ve since implemented a plugin that effectively stops new bot requests, so current inquiries are legit. But those old, fake entries are still sitting there, causing headaches.

Community to the Rescue: Immediate Fixes & Long-Term Solutions

The community jumped in with some fantastic advice, really honing in on two key areas: clearing out the existing mess and setting up a more robust, decoupled quote request system. Maximus3, Moss_Mercury, mastroke, and Gimmesales all offered valuable perspectives.

Tackling the Backlog: Bulk Canceling Those Pesky “Orders”

The most pressing issue for LeisureCraft was those thousands of old, fraudulent entries. Manually, it’s a non-starter. This is where a powerful app comes into play. Maximus3 wisely pointed out that “Matrixify should be able to do that relatively quickly.” And they’re absolutely right!

How to Bulk Cancel Orders with Matrixify:

Matrixify is an incredibly robust app for importing and exporting data in bulk on Shopify. Here’s a general workflow to clean up those old “orders”:

  1. Install Matrixify: Head to the Shopify App Store and install the Matrixify app.
  2. Export Orders:
    • Go into Matrixify and choose to “Export” orders.
    • You’ll want to filter these orders. Since LeisureCraft found a plugin to stop new bots, you might filter by a date range (e.g., all orders created *before* the anti-bot plugin was implemented).
    • You could also filter by specific criteria if your fraudulent “orders” had common patterns (e.g., suspicious email domains, specific names).
    • Make sure to export all relevant fields, especially the “ID” or “Name” of the order.
  3. Modify the Spreadsheet:
    • Open the exported Excel/CSV file.
    • You’ll need to add or modify a column to indicate that these orders should be canceled. Matrixify typically uses a “Command” column or a “Status” column. If using “Status”, you’d change it to “Canceled” for all the fraudulent entries.
    • Important: Double-check your filters and selections carefully to ensure you’re only marking the fraudulent “orders” for cancellation. You don’t want to accidentally cancel legitimate quote requests!
  4. Import the Updated Spreadsheet:
    • Go back to Matrixify and choose to “Import.”
    • Upload your modified spreadsheet.
    • Matrixify will process the file, updating the status of the specified orders to “Canceled.” This will happen much faster than manual cancellation.
  5. Review: Once the import is complete, check your Shopify “Orders” section to confirm the fraudulent entries have been canceled. This should resolve the sales tax threshold warnings.

A Smarter Way Forward: Decoupling Quote Requests from Orders

While clearing the backlog is crucial, the community also emphasized a long-term fix: getting a dedicated request form that isn’t tied into Shopify’s order system. LeisureCraft mentioned budget constraints for custom development, but the good news is, there are excellent, affordable (even free!) app solutions.

Moss_Mercury, Gimmesales, and Maximus3 all suggested Shopify Forms – a fantastic, free option from Shopify itself! Other great choices include powerful form builders like JotForm or Typeform, but for a simple “request a quote” flow, Shopify Forms is a perfect starting point.

Setting Up a Dedicated Quote Request Form & Workflow:

  1. Install a Form App:
    • For a free option, install Shopify Forms from the App Store.
    • Alternatively, explore other robust form builders if you need more advanced features.
  2. Design Your Form: Use the app’s builder to create your quote request form. Include all the fields your customer service team needs (contact info, product interest, quantity, specific questions, etc.).
  3. Embed or Link: Embed the new form directly onto a page on your Shopify site, or create a clear link to it from your product pages or navigation. Make sure it’s easy for visitors to find and use.
  4. Implement Bot Protection: LeisureCraft already has a plugin, which is great. For others, mastroke and Moss_Mercury recommended Google reCAPTCHA v3 or similar captcha tools to keep bots at bay. Most reputable form apps offer this integration.
  5. Streamline Your Workflow (Moss_Mercury’s brilliant suggestion):
    • Instead of submissions going straight to “orders,” they’ll now go to your form app’s dashboard or directly to your email.
    • Moss_Mercury suggested a semi-automated workflow: “Export the good form submissions to a spreadsheet, clean/review them there, then use an import tool like Altera to upload those rows back into Shopify as draft orders or customer records.”
    • This is key! You can review submissions outside of Shopify’s order system, preventing spam from ever touching your order history. Once a quote request is vetted and looks promising, you can then import it as a Draft Order (which doesn’t impact sales tax or payment processing until finalized) or simply as a new Customer Record for your CSRs to follow up on. Tools like Matrixify or Altera (mentioned by Moss_Mercury) can handle this import process.

Beyond the Fix: General Best Practices for Catalog Sites on Shopify

LeisureCraft already did a fantastic job of disabling all e-commerce machinery – no cart, no payment capture, nothing that could lead to an actual sale. This is absolutely critical for a catalog-only site. Maximus3 reiterated this point, asking if “all cart and navigation and links to cart” were disabled, which LeisureCraft confirmed they were.

If you’re running a similar catalog-style site on Shopify, always double-check these settings:

  • Disable Payment Gateways: Ensure no payment options are active.
  • Remove Cart Functionality: Hide or remove the cart icon and any links to checkout.
  • Clear “Add to Cart” Buttons: Customize your theme to replace “Add to Cart” with “Request a Quote,” “Learn More,” or “Call Us.”

The journey LeisureCraft shared is a great reminder that Shopify is incredibly versatile, but sometimes that versatility requires a little tweaking and community wisdom to ensure it aligns perfectly with your unique business model. By implementing bulk cancellation for old “orders” and setting up a dedicated, decoupled quote request system, you can keep your Shopify site running smoothly as a powerful catalog, free from confusing sales tax warnings and bot-generated clutter.

Share:

Use cases

Explore use cases

Agencies, store owners, enterprise — find the migration path that fits.

Explore use cases