{"id":386399,"date":"2026-10-13T17:41:52","date_gmt":"2026-10-13T17:41:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vanquish-request-a-quote-for-woocommerce\/"},"modified":"2026-10-13T18:22:12","modified_gmt":"2026-10-13T18:22:12","slug":"vanquish-request-a-quote-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/vanquish-request-a-quote-for-woocommerce\/","author":14329766,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.3","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Vanquish Request a Quote for WooCommerce","header_author":"Vanquish","header_description":"Let customers request a quote instead of buying: quote list, request form, quotes managed as WooCommerce orders, and payment of the accepted quote. Premium adds rules by category and user role, a form builder, expiry and automatic approval, and more.","assets_banners_color":"fcfbfd","last_updated":"2026-10-13 18:22:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/vanquish-request-a-quote-for-woocommerce\/","header_author_uri":"https:\/\/vanquishplugins.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":82,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"vanquish83","date":"2026-10-13 17:41:35","revision":3744572},"1.0.1":{"tag":"1.0.1","author":"vanquish83","date":"2026-10-13 18:22:12","revision":3744672}},"upgrade_notice":{"1.0.1":"<p>Premium: quotes accepted with the old CodeCanyon plugin no longer expire when Premium is activated.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3744567,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3744567,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3744567,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3744567,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3744672,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=vanquish-request-a-quote-for-woocommerce\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"vanquish-request-a-quote-for-woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"installTheme\",\"themeData\":{\"resource\":\"wordpress.org\\\/themes\",\"slug\":\"emoza-woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php\\n\\\/**\\n * Seed for WordPress Playground: the local dev server (dev-server.py) runs it,\\n * and so will the WordPress.org Live Preview.\\n *\\n * A small shop to exercise the quote flow: a simple product, one with no price\\n * (the classic \\\"price on request\\\" case), one sold individually, one with stock\\n * managed, and a variable product. Offline gateways are enabled so that an\\n * accepted quote can be paid without any payment account.\\n *\\n * Idempotent: guarded by the vanqt_demo_seeded option.\\n *\\\/\\n\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\nif ( get_option( 'vanqt_demo_seeded' ) ) {\\n\\treturn;\\n}\\n\\nupdate_option( 'blogname', 'Vanquish Request a Quote for WooCommerce' );\\n\\nif ( class_exists( 'WC_Install' ) ) {\\n\\tWC_Install::create_pages();\\n}\\n\\nupdate_option( 'woocommerce_store_address', 'Via Roma 1' );\\nupdate_option( 'woocommerce_store_city', 'Milano' );\\nupdate_option( 'woocommerce_store_postcode', '20100' );\\nupdate_option( 'woocommerce_default_country', 'IT' );\\nupdate_option( 'woocommerce_currency', 'EUR' );\\nupdate_option( 'woocommerce_onboarding_profile', array( 'skipped' => true ) );\\nupdate_option( 'woocommerce_coming_soon', 'no' );\\n\\n\\\/\\\/ Offline gateways, so a quote can be paid with no payment account.\\nforeach ( array( 'bacs', 'cheque', 'cod' ) as $vanqt_gateway ) {\\n\\t$vanqt_settings            = get_option( 'woocommerce_' . $vanqt_gateway . '_settings', array() );\\n\\t$vanqt_settings['enabled'] = 'yes';\\n\\tupdate_option( 'woocommerce_' . $vanqt_gateway . '_settings', $vanqt_settings );\\n}\\n\\n\\\/\\\/ name, price ('' = none), stock (null = not managed), sold individually.\\n$vanqt_products = array(\\n\\tarray( 'Industrial shelving unit', '240.00', null, false ),\\n\\tarray( 'Custom steel workbench', '', null, false ),\\n\\tarray( 'Forklift (demo unit)', '8900.00', null, true ),\\n\\tarray( 'Pallet jack', '310.00', 3, false ),\\n);\\n\\nforeach ( $vanqt_products as $vanqt_data ) {\\n\\t$vanqt_product = new WC_Product_Simple();\\n\\t$vanqt_product->set_name( $vanqt_data[0] );\\n\\t$vanqt_product->set_regular_price( $vanqt_data[1] );\\n\\t$vanqt_product->set_status( 'publish' );\\n\\tif ( null !== $vanqt_data[2] ) {\\n\\t\\t$vanqt_product->set_manage_stock( true );\\n\\t\\t$vanqt_product->set_stock_quantity( $vanqt_data[2] );\\n\\t}\\n\\t$vanqt_product->set_sold_individually( $vanqt_data[3] );\\n\\t$vanqt_product->save();\\n}\\n\\n\\\/\\\/ A variable product: one variation fixes the size, the other leaves it open.\\n$vanqt_attribute = new WC_Product_Attribute();\\n$vanqt_attribute->set_name( 'Size' );\\n$vanqt_attribute->set_options( array( 'Small', 'Large' ) );\\n$vanqt_attribute->set_visible( true );\\n$vanqt_attribute->set_variation( true );\\n\\n$vanqt_variable = new WC_Product_Variable();\\n$vanqt_variable->set_name( 'Storage container' );\\n$vanqt_variable->set_status( 'publish' );\\n$vanqt_variable->set_attributes( array( $vanqt_attribute ) );\\n$vanqt_variable->save();\\n\\nforeach ( array( array( 'Small', '45.00' ), array( '', '80.00' ) ) as $vanqt_data ) {\\n\\t$vanqt_variation = new WC_Product_Variation();\\n\\t$vanqt_variation->set_parent_id( $vanqt_variable->get_id() );\\n\\t$vanqt_variation->set_attributes( array( 'size' => $vanqt_data[0] ) );\\n\\t$vanqt_variation->set_regular_price( $vanqt_data[1] );\\n\\t$vanqt_variation->set_status( 'publish' );\\n\\t$vanqt_variation->save();\\n}\\n\\nWC_Product_Variable::sync( $vanqt_variable->get_id() );\\n\\n\\\/\\\/ The admin is also a customer: give the account a billing address.\\n$vanqt_customer = new WC_Customer( 1 );\\n$vanqt_customer->set_billing_first_name( 'Mario' );\\n$vanqt_customer->set_billing_last_name( 'Rossi' );\\n$vanqt_customer->set_billing_address_1( 'Via Verdi 2' );\\n$vanqt_customer->set_billing_city( 'Torino' );\\n$vanqt_customer->set_billing_postcode( '10100' );\\n$vanqt_customer->set_billing_country( 'IT' );\\n$vanqt_customer->set_billing_email( 'mario.rossi@example.com' );\\n$vanqt_customer->set_billing_phone( '0110000000' );\\n$vanqt_customer->save();\\n\\n\\\/\\\/ A second, ordinary customer: somebody whose quotes the first must not see.\\nif ( ! username_exists( 'buyer' ) ) {\\n\\twc_create_new_customer( 'buyer@example.com', 'buyer', 'password' );\\n}\\n\\n\\\/\\\/ A few quotes, so the Quotes screen and My account have something to show:\\n\\\/\\\/ two requests waiting for an answer (one from a guest) and one accepted, with\\n\\\/\\\/ the shop's prices, that the signed-in account can pay.\\nif ( class_exists( '\\\\Vanquish\\\\RequestQuote\\\\Com\\\\QuoteFactory' ) ) {\\n\\t$vanqt_ids = array();\\n\\n\\tforeach ( wc_get_products( array( 'limit' => -1 ) ) as $vanqt_product ) {\\n\\t\\t$vanqt_ids[ $vanqt_product->get_name() ] = $vanqt_product->get_id();\\n\\t}\\n\\n\\t$vanqt_buyer = get_user_by( 'login', 'buyer' );\\n\\n\\t\\\/\\\/ customer id, form values, lines: product name, quantity, unit price agreed (null = the shop's).\\n\\t$vanqt_quotes = array(\\n\\t\\tarray(\\n\\t\\t\\t1,\\n\\t\\t\\tarray( 'first_name' => 'Mario', 'last_name' => 'Rossi', 'email' => 'mario.rossi@example.com', 'phone' => '0110000000', 'message' => 'We are fitting out a second warehouse. Can you do a better price for four units?' ),\\n\\t\\t\\tarray( array( 'Industrial shelving unit', 4, 215.00 ), array( 'Pallet jack', 1, 290.00 ) ),\\n\\t\\t\\ttrue,\\n\\t\\t),\\n\\t\\tarray(\\n\\t\\t\\t$vanqt_buyer ? $vanqt_buyer->ID : 0,\\n\\t\\t\\tarray( 'first_name' => 'Anna', 'last_name' => 'Bianchi', 'email' => 'buyer@example.com', 'phone' => '', 'message' => 'The workbench should be 2.4 m long, with two drawers. What would it cost?' ),\\n\\t\\t\\tarray( array( 'Custom steel workbench', 1, null ), array( 'Industrial shelving unit', 2, null ) ),\\n\\t\\t\\tfalse,\\n\\t\\t),\\n\\t\\tarray(\\n\\t\\t\\t0,\\n\\t\\t\\tarray( 'first_name' => 'Luca', 'last_name' => 'Ferrari', 'email' => 'luca@example.com', 'phone' => '0200000000', 'message' => 'Do you rent the forklift by the month?' ),\\n\\t\\t\\tarray( array( 'Forklift (demo unit)', 1, null ) ),\\n\\t\\t\\tfalse,\\n\\t\\t),\\n\\t);\\n\\n\\tforeach ( $vanqt_quotes as $vanqt_quote ) {\\n\\t\\t$vanqt_lines = $vanqt_quote[2];\\n\\t\\t$vanqt_order = \\\\Vanquish\\\\RequestQuote\\\\Com\\\\QuoteFactory::create(\\n\\t\\t\\t$vanqt_quote[1],\\n\\t\\t\\t(int) $vanqt_quote[0],\\n\\t\\t\\tfunction ( $order ) use ( $vanqt_lines, $vanqt_ids ) {\\n\\t\\t\\t\\tforeach ( $vanqt_lines as $vanqt_line ) {\\n\\t\\t\\t\\t\\tif ( ! isset( $vanqt_ids[ $vanqt_line[0] ] ) ) {\\n\\t\\t\\t\\t\\t\\tcontinue;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t$vanqt_args = null === $vanqt_line[2] ? array() : array(\\n\\t\\t\\t\\t\\t\\t'subtotal' => $vanqt_line[2] * $vanqt_line[1],\\n\\t\\t\\t\\t\\t\\t'total'    => $vanqt_line[2] * $vanqt_line[1],\\n\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\t$order->add_product( wc_get_product( $vanqt_ids[ $vanqt_line[0] ] ), $vanqt_line[1], $vanqt_args );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t);\\n\\n\\t\\tif ( $vanqt_order instanceof WC_Order && $vanqt_quote[3] ) {\\n\\t\\t\\t$vanqt_order->calculate_totals();\\n\\t\\t\\t\\\\Vanquish\\\\RequestQuote\\\\Com\\\\Quotes::accept( $vanqt_order );\\n\\t\\t}\\n\\t}\\n}\\n\\n\\\/\\\/ Skip the Freemius connection, so no opt-in screen greets a visitor who only\\n\\\/\\\/ wanted to see the plugin, and cancel its post-activation redirect, which\\n\\\/\\\/ would replace the landing page (skip_connection() does not clear it).\\nif ( function_exists( 'vanqt_fs' ) ) {\\n\\ttry {\\n\\t\\tif ( ! vanqt_fs()->is_registered() ) {\\n\\t\\t\\tvanqt_fs()->skip_connection();\\n\\t\\t}\\n\\t} catch ( \\\\Exception $e ) {\\n\\t\\t\\\/\\\/ Nothing to do: the preview works without it.\\n\\t}\\n}\\n\\ndelete_transient( 'fs_plugin_vanquish-request-a-quote-for-woocommerce_activated' );\\n\\nupdate_option( 'vanqt_demo_seeded', 1 );\\n\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3744567,"resolution":"1","location":"assets","locale":"","width":1280,"height":760},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3744567,"resolution":"2","location":"assets","locale":"","width":1280,"height":940},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3744567,"resolution":"3","location":"assets","locale":"","width":1280,"height":620},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3744567,"resolution":"4","location":"assets","locale":"","width":1280,"height":1090},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3744567,"resolution":"5","location":"assets","locale":"","width":1280,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3744567,"resolution":"6","location":"assets","locale":"","width":760,"height":1040},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3744567,"resolution":"7","location":"assets","locale":"","width":1280,"height":1400},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3744567,"resolution":"8","location":"assets","locale":"","width":1280,"height":1000},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3744567,"resolution":"9","location":"assets","locale":"","width":1280,"height":1000}},"screenshots":{"1":"The Add to quote button on the product page, next to Add to cart.","2":"The quote page: the list of products and the request form.","3":"The Quotes screen in your admin, with Accept and Reject on each new request.","4":"A quote on the order screen: set your prices, then accept it.","5":"What the customer sees in My account: the quote, your prices and the Pay button.","6":"The \"Quote accepted\" email, with the Pay button.","7":"The settings: what can be quoted, prices, Add to cart, the quote page and the request form.","8":"Premium: build your own request form, with drag and drop and a live preview.","9":"Premium: rewrite the buttons, the notices and the emails, with the plugin's own wording always in sight."}},"plugin_section":[],"plugin_tags":[64243,13760,286529,13758,65561],"plugin_category":[],"plugin_contributors":[78154,269507],"plugin_business_model":[],"class_list":["post-386399","plugin","type-plugin","status-publish","hentry","plugin_tags-call-for-price","plugin_tags-hide-price","plugin_tags-price-on-request","plugin_tags-quote-request","plugin_tags-woocommerce-quote","plugin_contributors-freemius","plugin_contributors-vanquish83","plugin_committers-vanquish83","plugin_support_reps-supportvanquishplugins"],"banners":{"banner":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/banner-772x250.png?rev=3744567","banner_2x":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/banner-1544x500.png?rev=3744567","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/icon-128x128.png?rev=3744567","icon_2x":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/icon-256x256.png?rev=3744567","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-1.png?rev=3744567","caption":"The Add to quote button on the product page, next to Add to cart."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-2.png?rev=3744567","caption":"The quote page: the list of products and the request form."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-3.png?rev=3744567","caption":"The Quotes screen in your admin, with Accept and Reject on each new request."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-4.png?rev=3744567","caption":"A quote on the order screen: set your prices, then accept it."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-5.png?rev=3744567","caption":"What the customer sees in My account: the quote, your prices and the Pay button."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-6.png?rev=3744567","caption":"The \"Quote accepted\" email, with the Pay button."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-7.png?rev=3744567","caption":"The settings: what can be quoted, prices, Add to cart, the quote page and the request form."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-8.png?rev=3744567","caption":"Premium: build your own request form, with drag and drop and a live preview."},{"src":"https:\/\/ps.w.org\/vanquish-request-a-quote-for-woocommerce\/assets\/screenshot-9.png?rev=3744567","caption":"Premium: rewrite the buttons, the notices and the emails, with the plugin's own wording always in sight."}],"raw_content":"<!--section=description-->\n<p>Vanquish Request a Quote for WooCommerce lets your customers ask for a price instead of buying straight away. They add products to a quote list, send it with a short form, and you answer with your prices. Once you accept the quote, the customer pays it online like any other order.<\/p>\n\n<p>A quote is a WooCommerce order with its own statuses, so everything you already know keeps working: you edit prices, quantities, shipping and discounts on the order screen, the customer pays with the payment methods of your store, and the paid quote carries on as a normal order.<\/p>\n\n<p>How it goes:<\/p>\n\n<ol>\n<li>The customer clicks <strong>Add to quote<\/strong> on the products they are interested in, in the shop or on the product page.<\/li>\n<li>On the quote page they review the list, fill in the form and send the request. They do not need an account.<\/li>\n<li>You get an email and find the request under <strong>Quotes<\/strong> in your admin. You set your prices and accept it, or reject it.<\/li>\n<li>The customer gets your quote by email, with a button to pay it. Customers with an account also find it under <strong>My account \u2192 Quotes<\/strong>.<\/li>\n<\/ol>\n\n<p>It works with simple and variable products, with any payment method, and with HPOS (High-Performance Order Storage).<\/p>\n\n<h4>Free features<\/h4>\n\n<ul>\n<li>An <strong>Add to quote<\/strong> button in the shop and on the product page, with your own text, and a shortcode to place it anywhere: <code>[vanqt_add_to_quote id=\"123\"]<\/code>.<\/li>\n<li>A <strong>quote list<\/strong> with thumbnails, SKUs and quantities, and a <strong>quote page<\/strong> with the request form, created for you when you activate the plugin. Show the form below the list or beside it.<\/li>\n<li>A <strong>link to the quote list with a counter<\/strong> in the menu you choose, and as a shortcode: <code>[vanqt_quote_link]<\/code>.<\/li>\n<li>Choose what can be quoted: <strong>every product<\/strong>, or <strong>only the products you tick<\/strong> on the product screen. Products without a price can be quoted too.<\/li>\n<li><strong>Show or hide prices<\/strong> on the products that can be quoted, and <strong>keep or remove \"Add to cart\"<\/strong> on them: sell and quote side by side, or work on price on request only.<\/li>\n<li>A request form with name, email, phone and message, and an optional <strong>privacy checkbox<\/strong> linked to your privacy policy.<\/li>\n<li><strong>Guests can ask for a quote<\/strong>, and pay it from the link in the email, without creating an account.<\/li>\n<li>Quote statuses of their own: <strong>New quote<\/strong>, <strong>Accepted<\/strong>, <strong>Rejected<\/strong>, and more, in a <strong>Quotes<\/strong> screen with Accept \/ Reject buttons, a counter of the new requests, and an <strong>Add quote<\/strong> button to write a quote from scratch.<\/li>\n<li><strong>Payment of the accepted quote<\/strong> through the checkout of your store. Once it is paid, the quote becomes a normal order and the usual WooCommerce emails go out.<\/li>\n<li><strong>My account \u2192 Quotes<\/strong> for the customer: the list of their quotes and each quote in detail, with a Pay button when there is something to pay.<\/li>\n<li>Four <strong>emails<\/strong>, managed in WooCommerce \u2192 Settings \u2192 Emails like any other: <em>New quote request<\/em> to you, and <em>Quote request received<\/em>, <em>Quote accepted<\/em> (with the Pay button) and <em>Quote rejected<\/em> to the customer.<\/li>\n<li><strong>Spam protection<\/strong> that needs no account anywhere: a hidden trap field and a limit on how often a visitor can send. Google reCAPTCHA v2 is there too if you want it.<\/li>\n<li>The quote list survives page caching: nothing personal is written in the page itself.<\/li>\n<li>Every text translatable; template overrides from your theme.<\/li>\n<li><strong>Migrates automatically<\/strong> from the CodeCanyon plugin \"WooCommerce Quote\": your settings are imported and your quotes keep working, with nothing to convert.<\/li>\n<\/ul>\n\n<h4>Premium features<\/h4>\n\n<ul>\n<li><strong>Rules for what can be quoted<\/strong> \u2014 by category (with or without its subcategories), by tag, by single variation, every product except the ones you list, and automatically for products that are <strong>out of stock<\/strong> or <strong>have no price<\/strong>.<\/li>\n<li><strong>Rules for who can ask<\/strong> \u2014 by user role, guests included.<\/li>\n<li><strong>Turn the cart into a quote<\/strong> \u2014 a button in the cart sends its whole content as a quote request, options added by other plugins included.<\/li>\n<li><strong>Your own request form<\/strong> \u2014 add, remove and reorder fields: text, email, phone, text area, drop-down, multiple choice, checkbox, date, time and country. Half or full width, required or not, and copied to the order field you choose (company, billing or shipping address, customer note).<\/li>\n<li><strong>Expiry and automation<\/strong> \u2014 accepted quotes expire after the time you set and can no longer be paid; a reminder email goes out before they do; requests you have not answered in time can be accepted automatically. Set a different expiry date, and write a message, on each single quote.<\/li>\n<li><strong>The customer can reject the quote<\/strong>, giving a reason, and you are told by email.<\/li>\n<li><strong>A thank-you page<\/strong> of your choice after the request is sent.<\/li>\n<li><strong>Webhook<\/strong> \u2014 the quote is sent as JSON to an address you choose when it is created, when its status changes and when it is paid, signed so that the receiver can check where it comes from. Use it with Zapier, Make, n8n or your CRM.<\/li>\n<li><strong>Your own sender<\/strong> \u2014 a \"From\" name and address for the quote emails only.<\/li>\n<li><strong>Your own wording, in every language<\/strong> \u2014 rewrite the buttons, the headings, the notices and each email's subject, heading and message, with placeholders such as the quote number, the total, the expiry date and the payment link, in each language of a WPML, Polylang or Falang site.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin can use <strong>Google reCAPTCHA v2<\/strong> to protect the request form from spam. It is <strong>off by default<\/strong>: nothing is loaded from Google and nothing is sent to it unless you turn it on under Quotes \u2192 Settings and enter your keys. When it is on, the quote page loads Google's reCAPTCHA script, which runs in the visitor's browser and talks to Google from there, and when a request is sent your site sends Google the response token produced by that script, together with your secret key, to verify it. The service is provided by Google: <a href=\"https:\/\/policies.google.com\/terms\">terms of service<\/a>, <a href=\"https:\/\/policies.google.com\/privacy\">privacy policy<\/a>.<\/p>\n\n<p>This plugin uses <strong>Freemius<\/strong> to manage licensing and updates for the premium version, and to offer an optional opt-in when you first activate it. Nothing is sent unless you opt in or activate a licence; if you do, Freemius receives your site URL, WordPress and PHP versions and your administrator email address, in order to deliver updates and support. See <a href=\"https:\/\/freemius.com\/\">freemius.com<\/a>, its <a href=\"https:\/\/freemius.com\/terms\/\">terms<\/a> and its <a href=\"https:\/\/freemius.com\/privacy\/\">privacy policy<\/a>.<\/p>\n\n<p>The <strong>premium version<\/strong> can send each quote to a <strong>webhook address that you enter yourself<\/strong> (your CRM, Zapier, Make and so on). It is empty by default and nothing is sent until you fill it in. When you do, the quote's number, status, total and products, the customer's name, company, email and phone, their note and the answers given in the request form are sent to that address when a quote is created, changes status or is paid. That address is your own choice, so its terms and privacy policy are those of the service you point it at.<\/p>\n\n<h4>More WooCommerce plugins by Vanquish<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/vanquish-order-approval-for-woocommerce\/\">Vanquish Order Approval for WooCommerce<\/a> - review every order before it goes ahead, and let the customer pay before or after you approve it. Where this plugin is about agreeing on a price, Order Approval is about deciding whether an order can go ahead.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/vanquish-upload-files-for-woocommerce\/\">Vanquish Upload Files for WooCommerce<\/a> - let customers upload files (even large ones) on the product, cart, checkout and order pages, for custom, personalized and print-on-demand products.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/vanquish-shipping-tracking-for-woocommerce\/\">Vanquish Shipping Tracking for WooCommerce<\/a> - tracking numbers on orders and emails, with 1,600+ carriers and their logos, a direct tracking link and a Track button. No account needed.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/vanquish-multiple-addresses-for-woocommerce\/\">Vanquish Multiple Addresses for WooCommerce<\/a> - give customers an address book: save multiple billing and shipping addresses and pick one at checkout.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/vanquish-attach-me-for-woocommerce\/\">Vanquish Attach Me for WooCommerce<\/a> - attach any file to any order or product, show it to the customer and send it with the order emails.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/vanquish-request-a-quote-for-woocommerce<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>That is all it takes to start: every product gets an <strong>Add to quote<\/strong> button, and a \"Request a quote\" page is created for you. Go to <strong>Quotes \u2192 Settings<\/strong> to choose which products can be quoted, whether their prices are shown, and which menu gets the link to the quote list.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20does%20the%20customer%20get%20the%20price%20and%20pay%3F\"><h3>How does the customer get the price and pay?<\/h3><\/dt>\n<dd><p>The request arrives with the prices of your shop, or with no price for the products that have none. You open it under <strong>Quotes<\/strong>, set the price of each line as you would on any order, add shipping or a discount if you need to, and click Accept. The customer receives the \"Quote accepted\" email with your prices and a Pay button, which leads to the payment page of your store. Customers with an account can also pay from My account \u2192 Quotes.<\/p><\/dd>\n<dt id=\"do%20customers%20need%20an%20account%20to%20ask%20for%20a%20quote%3F\"><h3>Do customers need an account to ask for a quote?<\/h3><\/dt>\n<dd><p>No. A guest fills in the form and receives the emails like anyone else, and the link in the email opens their quote and lets them pay it.<\/p><\/dd>\n<dt id=\"can%20i%20sell%20some%20products%20normally%20and%20quote%20others%3F\"><h3>Can I sell some products normally and quote others?<\/h3><\/dt>\n<dd><p>Yes. Under Quotes \u2192 Settings choose \"Only for the products I select\" and tick <strong>Can be quoted<\/strong> on the product screen of the ones you want. The other products are not touched. On the products that can be quoted you decide whether the price is shown and whether \"Add to cart\" stays next to \"Add to quote\".<\/p><\/dd>\n<dt id=\"can%20i%20hide%20prices%20and%20work%20on%20price%20on%20request%20only%3F\"><h3>Can I hide prices and work on price on request only?<\/h3><\/dt>\n<dd><p>Yes. Under Quotes \u2192 Settings, switch off \"Show the price of products that can be quoted\" and \"Products that can be quoted can also be bought the normal way\": the products that can be quoted show no price and can only be added to the quote list.<\/p><\/dd>\n<dt id=\"the%20%22add%20to%20quote%22%20button%20does%20not%20appear%20in%20my%20shop%20or%20on%20a%20page%20built%20with%20a%20page%20builder.\"><h3>The \"Add to quote\" button does not appear in my shop or on a page built with a page builder.<\/h3><\/dt>\n<dd><p>The button is added through the standard WooCommerce hooks, which most themes run. Product grids made of blocks, and pages laid out with a page builder, often do not run them. In those places use the shortcode: <code>[vanqt_add_to_quote]<\/code> inside a product page, or <code>[vanqt_add_to_quote id=\"123\"]<\/code> anywhere, with the ID of the product.<\/p><\/dd>\n<dt id=\"where%20is%20the%20quote%20list%2C%20and%20can%20i%20link%20to%20it%3F\"><h3>Where is the quote list, and can I link to it?<\/h3><\/dt>\n<dd><p>It is on the \"Request a quote\" page the plugin created when you activated it, which you can rename or replace with any page containing the <code>[vanqt_request_quote]<\/code> shortcode. Under Quotes \u2192 Settings you choose a menu to add a link with a counter to, and <code>[vanqt_quote_link]<\/code> prints the same link wherever you put it.<\/p><\/dd>\n<dt id=\"can%20i%20create%20a%20quote%20myself%2C%20for%20a%20customer%20who%20called%20or%20wrote%20to%20me%3F\"><h3>Can I create a quote myself, for a customer who called or wrote to me?<\/h3><\/dt>\n<dd><p>Yes. <strong>Quotes \u2192 Add quote<\/strong> opens a new order in the \"New quote\" status: add the customer and the products, set your prices and accept it. The customer gets the same email with the Pay button.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%3F\"><h3>Does it work with page caching?<\/h3><\/dt>\n<dd><p>Yes. The pages are the same for every visitor: the counter and the state of the buttons are filled in by a small request after the page has loaded, and only for visitors who have something in their list.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does it work with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes, with HPOS and with the classic order storage.<\/p><\/dd>\n<dt id=\"i%20am%20migrating%20from%20the%20codecanyon%20%22woocommerce%20quote%22%20plugin.%20do%20i%20lose%20anything%3F\"><h3>I am migrating from the CodeCanyon \"WooCommerce Quote\" plugin. Do I lose anything?<\/h3><\/dt>\n<dd><p>No. The quote statuses have the same names, so every quote \u2014 new, accepted, rejected, expired or long paid \u2014 keeps its status and history with nothing to convert. Your settings are imported automatically the first time the new plugin runs, and <strong>Quotes \u2192 Settings \u2192 Import from the old plugin<\/strong> shows what was imported, which of the functions you were using are now part of Premium, and the two that are no longer there. The old plugin's data is never changed or deleted, so you can always go back.<\/p>\n\n<p>The two plugins drive the same statuses, so they cannot run together: while the old one is active the new one waits and says so. Deactivate the old one and everything carries on.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20wording%20the%20customer%20sees%3F\"><h3>Can I change the wording the customer sees?<\/h3><\/dt>\n<dd><p>The text of the \"Add to quote\" button is a setting. The other texts are translatable like any other plugin's, and each email's subject, heading and additional content are edited in WooCommerce \u2192 Settings \u2192 Emails. Premium adds a Texts screen to rewrite the buttons, the notices and the email messages, per language.<\/p><\/dd>\n<dt id=\"do%20the%20premium%20features%20change%20how%20the%20free%20ones%20behave%3F\"><h3>Do the premium features change how the free ones behave?<\/h3><\/dt>\n<dd><p>No. The premium package is the same plugin with more in it. Everything described above under \"free features\" works the same either way, and the settings you have already made are untouched by activating a licence.<\/p><\/dd>\n<dt id=\"how%20much%20does%20premium%20cost%2C%20and%20how%20do%20i%20get%20it%3F\"><h3>How much does Premium cost, and how do I get it?<\/h3><\/dt>\n<dd><p>There are monthly, yearly and lifetime plans, for one site up to ten.<\/p>\n\n<p>To see the current prices and to order, install and activate the free version, then go to <strong>Quotes \u2192 Upgrade<\/strong> in your WordPress admin. The plans and a secure checkout, handled by Freemius, are right there, and the same screen walks you through activating Premium on your site.<\/p><\/dd>\n<dt id=\"can%20i%20try%20the%20plugin%20before%20buying%20premium%3F\"><h3>Can I try the plugin before buying Premium?<\/h3><\/dt>\n<dd><p>Yes, and it is the best way to start. The free version on WordPress.org is the same plugin with fewer features: install it on your own site, with your own theme and payment methods, and check that the Add to quote button, the quote page and the quote emails fit your shop before upgrading. Premium adds features on top of it, on the same foundations.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20uninstall%20the%20plugin%3F\"><h3>What happens if I uninstall the plugin?<\/h3><\/dt>\n<dd><p>Nothing of yours is removed: your settings and your quotes, with their statuses, stay as they are, so reinstalling puts you back exactly where you were. Only the plugin's scheduled events and caches go.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed (Premium): on a store migrated from the CodeCanyon plugin, quotes accepted with the old plugin were marked as expired as soon as Premium was activated, when the date the old plugin had stored for them was in the past. Only an expiry date set by this plugin counts now; those quotes stay as they are, and get a deadline when you accept them again or set one yourself.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release, replacing the CodeCanyon plugin \"WooCommerce Quote\".<\/li>\n<\/ul>","raw_excerpt":"Request a quote for WooCommerce: a quote list, a request form, quotes you price as orders, and online payment once the quote is accepted.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/386399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=386399"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vanquish83"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=386399"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=386399"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=386399"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=386399"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=386399"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=386399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}