Boring Quote – Request a Quote for WooCommerce

Description

Boring Quote adds a “Request a quote” flow to WooCommerce without the bloat. It does one job and does it quietly.

Features

  • “Request a quote” button on product pages (simple and variable products)
  • Works with classic AND block themes out of the box
  • Quote list with instant quantity update and removal (REST API, no admin-ajax)
  • Works without JavaScript too (graceful fallback)
  • Quote request page created automatically on activation
  • Request form with a configurable GDPR consent checkbox (linked to your privacy policy) and invisible spam protection: honeypot, minimum fill time and per-IP rate limit
  • Privacy tools: quote requests are included in WordPress personal data export and erasure, plus suggested privacy policy text
  • Quote list counter for your header: [bbquote_count] shortcode or block, page-cache friendly
  • “Quote list” block for block themes
  • Emails sent through the WooCommerce mailer: admin notification (Reply-To set to the customer) and customer confirmation, both editable in WooCommerce > Settings > Emails
  • Every request is saved in WooCommerce > Quote Requests, visible only to administrators and shop managers
  • Optionally hide prices and “Add to cart” buttons (catalog mode)
  • Hide the button on individual products
  • Sessions stored in a dedicated table (no wp_options bloat), no plugin framework
  • Translation ready (translations via translate.wordpress.org)

Boring Quote Pro

Turn requests into paid orders: edit prices and send offers, customers accept with one click and pay through your normal checkout. Custom form fields, quote button on shop and category pages. Learn more

Shortcodes

  • [bbquote_quote_list] – quote list and request form
  • [bbquote_button product="123"] – quote button anywhere
  • [bbquote_count label="Quote"] – link to the quote page with the number of items

For developers

Override templates in yourtheme/boring-quote/.

Actions: boring_quote_loaded, bbquote_item_added, bbquote_quote_created, bbquote_quote_submitted, bbquote_before_button, bbquote_admin_quote_view, bbquote_admin_status_box_actions, bbquote_quote_page_before.

Filters: bbquote_show_button, bbquote_item_is_valid, bbquote_form_fields, bbquote_submit_errors, bbquote_quote_statuses, bbquote_selectable_statuses, bbquote_settings_fields, bbquote_render_default_quote_view, bbquote_page_url, bbquote_session_expiration, bbquote_session_use_secure_cookie, bbquote_session_renew_threshold, bbquote_quote_page_takeover, bbquote_submit_min_seconds, bbquote_submit_rate_limit, bbquote_show_pro_note, bbquote_getting_started_steps.

JavaScript event: bbquote:updated on document, detail.count holds the number of items.

Cookies: bbquote_session (signed session id, HttpOnly, set only when a product is added) and bbquote_count (number of items, read by JavaScript).

Screenshots

Blocks

This plugin provides 2 blocks.

  • Quote list
  • Quote list counter

Installation

  1. Upload the plugin and activate it (WooCommerce must be active).
  2. A “Request a Quote” page is created automatically.
  3. Configure options in WooCommerce > Settings > Boring Quote.

FAQ

The button does not add products for logged-out visitors

If you use full page caching, exclude the quote page and make sure product pages do not serve a cached security nonce older than 12 hours.

Where are the requests?

WooCommerce > Quote Requests.

Reviews

Read all 1 review

Contributors & Developers

“Boring Quote – Request a Quote for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • First public release.
  • Quote statuses: New, In progress, Offer sent, Accepted, Rejected and Expired, all can be set by hand (filter bbquote_selectable_statuses).
  • Buttons and forms follow the theme style in classic and block themes (Twenty Twenty-Five, Storefront).
  • Quote requests use their own capabilities (administrators and shop managers only).
  • GDPR: personal data exporter and eraser, privacy policy text, configurable consent label with privacy policy link.
  • Spam protection: minimum fill time and per-IP rate limit next to the honeypot.
  • Variable products can be added only with a chosen variation.
  • [bbquote_count] shortcode and blocks: Quote list, Quote list counter.
  • “Hide Add to cart” also hides the button in block-theme product collections.
  • Getting started screen (WooCommerce > Quote setup) with a setup checklist, opened once after the first activation, plus a Help tab on plugin screens.
  • Quote page: list and form side by side on wide layouts, product cards on phones, quantity buttons, clear empty and thank-you screens.
  • Admin: status labels in Quote Requests, customer details with a “Reply by email” button, product thumbnails.
  • Emails: product thumbnails, total quantity and a button to the request in the dashboard.