Skip to content
Available now

PriceVeil for WooCommerce

Request-a-Quote, Hide-Price and Catalog Mode in one plugin — engineered so prices never leak through a theme, a cache, an SEO plugin or the Store API. Built for B2B, wholesale and made-to-order stores, and verified with an adversarial leak sweep across every public surface.

  • Request a Quote
  • Hide Price
  • Catalog Mode
  • Leak-tested
  • B2B roles
Built for WooCommerce
Free on WordPress.org
HPOS-compatible & 8 languages
Secure checkout by Freemius
The price you didn't mean to publish

Hiding a price is easy.
Hiding every copy of it is not.

B2B, wholesale, dealer and made-to-order stores price each customer differently. WooCommerce publishes one number to everybody — and then repeats it in half a dozen places most plugins never touch.

Your list price is public

Every competitor, marketplace scraper and walk-in visitor reads the same figure you meant to negotiate. You can't quote a dealer 30% off a number they already saw.

No way to ask

Remove the price and the page becomes a dead end. Buyers email, or they leave — and the enquiry that does arrive has no product, no quantity and no record in WooCommerce.

The "hidden" price is still in the API

CSS hides the label; the number stays in the Store API JSON your block theme ships to every visitor, in the JSON-LD your SEO plugin prints, and in wc/v3. View source and it's right there.

PriceVeil removes the number before the response leaves your server.

Everything in the free plugin

One plugin for the whole quote flow

Hide the price, close the side doors, and give the buyer somewhere to go instead.

Prices removed server-side

Not a CSS overlay. The price fields are blanked before the HTML or JSON leaves your server, so cached pages, API responses and view-source contain no price at all.

Block themes included

Block themes render prices from the Store API. PriceVeil blanks the product prices, price_html, the collection price-range aggregation and cart totals in those responses — server-side.

Request a quote

A configurable button and form take the price's place on the product page — or drop the [priceveil_form] shortcode anywhere. Nonce, honeypot and a per-IP rate limit protect it.

Quote Request orders

Each request becomes a native WooCommerce order with its own Quote Request status — in your normal orders screen, HPOS-compatible, and excluded from revenue and reports.

Catalog mode

Add-to-cart disappears from classic and block templates, and the Store API rejects cart writes — so the API can't be used as a side door around the missing button.

Choose your audience

Hide prices for everyone, or for guests only — so logged-in customers see prices and buy normally while the public catalogue stays price-free.

Live in three steps

Prices are hidden the moment you activate. Everything after that is fine-tuning.

1

Install & activate

Install from the WordPress plugins screen with WooCommerce active. Prices are hidden immediately — there is no setup wizard to finish first.

2

Set the rules

Under WooCommerce → PriceVeil, pick who prices are hidden from, switch on catalog mode, and choose the button label and the fields on the form.

3

Answer the requests

Quote requests land as Quote Request orders and arrive by email, with one-click reply to the customer. Price them yourself, or open the Requests console on Pro.

Everything on this page above the Pro sections is in the free plugin. Install it from WordPress.org, or read the full PriceVeil documentation first.

Leak-proof by design

Every surface a price can escape through

A price is not one string. WooCommerce writes it into the page, into the JSON your block theme fetches, into the schema your SEO plugin prints and into two REST namespaces. PriceVeil closes all of them in the same pass.

  • Variable price ranges and the inline variation JSON
  • Numeric fields, not just the visible label
  • A read-scoped API key reveals nothing
Surfaces coveredFree
Storefront & shop loopblanked
Store API block themesblanked
JSON-LD core, Rank Math, Yoast, AIOSEO, SASWPblanked
REST wc/v3 & wc/v2blanked
GraphQL WPGraphQL / WooGraphQLblanked
Cart, checkout, emails, My Accountblanked
Request a quote

The enquiry becomes a WooCommerce order

The buyer fills in a short form on the product page. What arrives is not an email in a shared inbox — it is a real order in your normal orders screen, with the product, the quantity and the customer already attached.

  • Its own Quote Request status, never counted as revenue
  • HPOS-compatible — no extra database tables
  • Email notification with one-click reply to the customer
WooCommerce › OrdersQuote Request
RQ
#1284 · Ayse K.Industrial Shelving Unit × 40
Quote Request
RQ
#1283 · M. YilmazSteel Workbench × 6
Quote Request
OK
#1281 · Retail orderCounted in your reports as normal
Completed
Revenue impact of quote requests0.00
Catalog mode

A catalogue, not a checkout

Some stores publish a full catalogue but sell entirely off-platform: dealers, distributors, made-to-order workshops. Catalog mode removes buying from the storefront without removing the storefront.

  • Add-to-cart gone from classic and block templates
  • The Store API rejects cart writes — no side door
  • Variable products too: no stray button beside the variations form
Product page · guest viewCatalog mode on
Industrial Shelving Unit
Price on request
Request a quote
Add to cart removed
POST /wc/store/v1/cart/add-item403
GET /wc/store/v1/products/812 → pricesempty
Prove it, don't promise it

Coverage you can check yourself

Anyone can claim their plugin hides prices. PriceVeil ships the two things that let you confirm it: an honest coverage panel that names what it does not cover, and a command that re-tests every server-reachable surface on demand.

The coverage panel

The settings screen lists every surface protected automatically — and the short list you should check once yourself, because no plugin can close them for you.

Storefront, Store API, schema, REST, GraphQL
Cart, checkout, emails, My Account
Product feed plugins — they export prices on purpose
Theme code calling get_price() directly
Edge caches primed before activation

The self-test

Run it after every WooCommerce, theme or SEO-plugin update. It re-verifies each server-reachable surface and fails loudly the moment one of them starts leaking again.

wp-cli
$ wp priceveil selftest

storefront          PASS
store-api           PASS
schema (json-ld)    PASS
rest wc/v3, wc/v2   PASS
graphql             PASS
cart & checkout     PASS

Success: no price leaks found.

Illustrative output. Run it on your own store and it reports on your own surfaces — and returns a non-zero exit code if anything fails, so it fits straight into a deploy script.

PriceVeil Pro

From collecting requests to closing them

Free gets the price off your site and the request into WooCommerce. Pro turns that request into a priced quote the customer can accept and pay for online.

Requests console PRO

Open a request, price each line, set how long the quote stays valid, and send it — by email or WhatsApp — without leaving WordPress.

Accept & pay online PRO

The customer opens their own quote page, accepts it and pays there — and gets a paid receipt. The negotiation ends in a completed WooCommerce order.

Configurable quotes PRO

Build a quote out of required, optional and alternative line items, so the customer can add the extras they want or pick between two options before accepting.

Customer groups PRO

Give dealers, wholesale and retail their own percentage pricing, so a quote starts from the right number for that buyer instead of from the list price.

Targeted hiding PRO

Hide prices by category, by individual product or by user role instead of store-wide — so one catalogue can serve a public shop and a trade counter at once.

Multi-product quote drawer PRO

Buyers collect several products into a slide-in drawer and request one quote for the lot. Add custom form fields, and let auto-quote answer the routine ones for you.

Simple, honest pricing

The hiding, the catalog mode and the quote requests are free forever. Pro is one flat annual price per plan — no per-request fees, no commission on the quotes you win.

Free

Hide every price, collect every request.
$0
forever, on WordPress.org
  • Prices hidden on every surface
  • Catalog mode
  • Quote request form & Quote Request orders
  • Everyone / guests-only audience
  • Coverage panel + wp priceveil selftest
Download free

Pro · 1 site

For a single trade or wholesale store.
$69 /yr
billed annually
  • Everything in Free, plus:
  • Requests console & sent quotes
  • Customer accepts & pays online
  • Customer groups & targeted hiding
  • Quote drawer, custom fields, auto-quote
Upgrade to Pro
★ Most popular

Pro · 5 sites

For agencies & multi-brand sellers.
$149 /yr
billed annually
  • All Pro features
  • Up to 5 activations
  • One licence, one renewal date
  • Priority support
Choose 5 sites

Pro · 25 sites

For larger portfolios.
$299 /yr
billed annually
  • All Pro features
  • Up to 25 activations
  • Best value per site
  • Priority support
Choose 25 sites

Compare Free & Pro

Everything that hides a price is free. Pro is about what happens after the request arrives.

FeatureFreePro
Hide prices on the storefrontsingle, loop, related, grouped, variable ranges
Store API blankedso block themes have nothing to render
Structured data cleanedcore JSON-LD, Rank Math, Yoast, AIOSEO, SASWP
REST & GraphQL price fieldswc/v3, wc/v2, WPGraphQL / WooGraphQL
Cart, mini-cart, checkout, emails, My Account
Catalog modeclassic + block templates, Store API rejects cart writes
Quote request formnonce, honeypot, per-IP rate limit
Quote Request ordersHPOS-compatible, excluded from revenue & reports
Audience: everyone or guests only
Coverage panel & wp priceveil selftest
8 languages incl. Arabic (RTL)
Requests consoleprice each line, set validity, send by email or WhatsApp
Customer decision pageaccept the quote and pay online
Paid receipt for the accepted quote
Configurable quotesrequired, optional and alternative line items
Customer groups with percentage pricing
Category, product and role targeting
Multi-product quote drawer
Custom quote-form fields
Auto-quote automation
Priority support
Get FreeGet Pro
14-day money-back guarantee. If a problem makes the plugin unusable and we can't fix it, we refund you in full — no hard feelings.

Questions, answered

Everything worth knowing before you hide a price.

Removed server-side. The price fields are blanked before the HTML or JSON leaves your server, so cached pages, API responses and view-source contain no price at all — there is nothing left for a reader, a scraper or a browser extension to un-hide.

Yes. Block themes render prices from the Store API rather than from PHP, so PriceVeil blanks the product prices, price_html, the collection price-range aggregation and cart totals in those responses server-side. Catalog mode also makes the Store API reject cart writes.

Yes. Set Hide prices for to Guests only and logged-in users get the normal store, prices included, while the public catalogue stays price-free. Pro narrows it further — by category, by product or by user role.

Into your normal WooCommerce orders screen, as native orders with a dedicated Quote Request status. They are HPOS-compatible, need no extra database tables, and are excluded from paid statuses so they never appear as revenue or in your reports. You also get an email with one-click reply to the customer.

Three things, and the settings screen names them rather than hiding them: product feed plugins (they export prices on purpose), custom theme code that calls $product->get_price() directly, and edge caches primed before you activated the plugin. Everything reachable server-side is verified by wp priceveil selftest.

Free covers all of the hiding: storefront, Store API, schema, REST, GraphQL, cart and emails, plus catalog mode, the quote request form, Quote Request orders, the coverage panel and the CLI self-test. Pro adds what happens next — the Requests console, a customer page where they accept and pay online, configurable quotes, customer groups, targeting, the multi-product drawer, custom fields and auto-quote.

WordPress 6.4 or newer on PHP 8.1 or newer, with WooCommerce active. It is HPOS-compatible, works with classic and block themes, handles simple, variable and grouped products, and ships in 8 languages — English, Turkish, Spanish, German, French, Italian, Brazilian Portuguese and Arabic with right-to-left layout.

Checkout and billing are handled by Freemius, our merchant of record, with proper invoices and a 14-day money-back guarantee. Your plan sets how many sites can run Pro at once (1, 5 or 25) on a single licence key and a single renewal date, and you can cancel any time from your account panel.

Still deciding? The PriceVeil documentation covers every setting in detail, and the free plugin on WordPress.org answers the rest in about five minutes.

Publish the catalogue. Keep the price.

Install the free plugin and your prices are gone from every surface in minutes — or go straight to Pro and start sending quotes your customers can accept and pay online.

14-day money-back · No lock-in · Cancel any time

Guides & notes about PriceVeil