We’ve had a lot of people ask us if there’s a plugin that will allow users to use the cart functionality of WooCommerce, but submit the cart as a quote. While there’s nothing that will allow you to do this presently (this involves some complex changes), here’s a workaround you can use to create a “Get a Quote” site for WooCommerce.

The plugins you’ll need are:

Create the Quote Form

The first thing we’ll want to do is create our quote form, which is why Gravity Forms is on the list. If you’d like to put this form in your product description, you can easily do so without another plugin.

However, I prefer to put this form in a new product tab, which is why the WooCommerce Tab Manager is on the list. This will also save me the trouble of adding this for each product, as I can create a global tab. Our “Get a Quote” form will be made just like the WooCommerce pre-sales form we made in an earlier post (which is more detailed, so check it out if we lose you!).

We’ll create a simple form with no conditional logic (as Tab Manager doesn’t support that yet, but will soon) to get a quote for a product in our shop. Customers will be able to submit this quote on each product page, so we’ll keep it short and sweet.

Let’s first add the basic fields to our form: name, email address, and phone number. You may need some or all of these pieces of information, and you can add any other forms as needed for your quote. You can usually find these under “Advanced Fields”:

Gravity Forms advanced fields

I’ll also add the other necessary fields for the quote – you may want fields for dates, a message, or others, so this will be up to you. I’m going to include a message field and a couple of hidden fields to get more information about my customer and the information they’d like. I’ll add a admin-only field for the product viewed so customers don’t have to fill it in themselves. This way, I know what the quote is for, and I can use the same form for all of my products. Pre-fill the default value with the post title:

WooCommerce PreSales form Create a "Product Title" field

Create a “Product Title” field

You may also need file uploads or other fields, so add them and we’ll save our form. Don’t forget to set any notifications or other form settings once you have your fields set up!

Embed the Quote Form (Optional)

Now let’s add our form! You can embed this form in your product descriptions, which may be a pain if you have to do it for each product. That’s why I’ll create a global tab to add this to all (or most) of my products quickly.

Go to WooCommerce > Tab Manager, and create a new global tab. You’ll be able to embed your form directly into this global tab:

Create Global Quote Tab

Now we’re getting somewhere! You can add this to your default tab layout if you’d like to add it to all products, or you can simply add it on a per-product basis. You can always remove this tab if needed, even if it’s part of the default layout, by overriding the tab layout at a product level. You can choose how to add the tab based on how many products will leverage it.

Now we have a shiny new tab with a quote form. Notice that the Product Title field is hidden from customers, but will be filled in for me when the form is submitted.

Get a Quote Tab

Awesome! Now that we have the “Submit for Quote” part of the WooCommerce shop covered, let’s talk about those pesky Add-to-Cart buttons and pricing that we probably don’t want to show.

Set Catalog Visibility Options

The Catalog Visibility Options plugin is optional in this setup. If you don’t want to display any purchasing options, you can simply leave the price field for the product blank, and no pricing or add-to-cart buttons will be displayed on the product page. For most themes, the shop page will have a button that reads “Read More” instead of “Add to Cart” if no price is set.

If you’re okay with this setup, you’re done! However, if you’d like to have the option to display price but get rid of purchasing, display price to only certain groups / members, or allow purchasing to only certain groups and members, then Catalog Visibility Options will give you the fine-grained control for this. You’ll also be able to control this on a category or per-product basis.

Catalog Visibility Options will let you disable purchasing for everyone or non-logged in members, and you can optionally disable pricing as well for everyone on non-logged in members under WooCommerce > Settings.

If you do disable pricing, you can set new text for the shop page “Add to Cart” buttons. If you disable pricing, you can show text in place of pricing (such as “Log in for Price” if you’ll show it to customers with accounts, or “Fill out quote form for price” instead). You can also add additional text that will appear below the product short description:

Catalog Visibility Settings

Catalog Visibility Settings

Catalog Purchase / Price Disabled

Purchase / Price Disabled

Showing price can be handy if you have a set price for your services, but don’t want customers to go through the checkout process. It’s also handy if you use your site as a catalog rather than an full eCommerce solution.

Rather than control this on a global level (from WooCommerce > Settings), you can also control this based on categories or on a per-product basis. For example, you can restrict categories to certain user roles (you can managed and add them easily with this plugin). This could be handy if certain members or types of customers can request quotes, but others cannot – excluded roles won’t be able to view a product.

Category visibility

Finally, you can adjust this on a per-product basis. This is really helpful if you have some customers that should be able to purchase, but others that will have to submit for a quote. Catalog Visibility options can do so on a per-product level by adjusting who can view products, view pricing, or purchase products:

Catalog Visibility Product restriction

In short, Catalog Visibility Options provides flexibility if you need to control who should submit quotes and for which products quotes should be submitted.

Put it Together

At minimum, you’ll need Gravity Forms or another form builder to make your WooCommerce Get a Quote forms. If you’d like to display this form for all products easily, Tab Manager can do this and help you determine when to display it. If you want to adjust purchasing and quote options based on category, product, or user role, then you can add Catalog Visibility Options into the mix.

As a recap, here are links to these plugins:

Published by Beka Rice

Beka leads product direction for SkyVerge and technical documentation. She spends a lot of time on research and interviews, but likes to write so she has an excuse to spend more time jamming out to anything from The Clash to Lady Gaga.

21 Comments

  1. The problem I am having is when I select “Disabled” for purchasing and “Enabled for Logged in Users” for pricing, it deactivates or hides my gravity forms alltogether.

    It appears that I need to have purchasing enabled to get the gravity forms to show at all. Can you help?

    • Hey Shawn, is this while using Catalog Visibility Options? I haven’t been able to replicate that myself but I’m not using the most recent version anymore. I’d recommend opening a ticket at WooCommerce so the dev can poke at this. 🙂

  2. All your tutorials are great, thank you so much for sharing your expertise with us!

    I am wondering if this can be used to create an enquiry form. We are using Woocommerce as a catalogue (using the Catalogue Visibility plugin) and we want our customers to enquire about the product(s) they are interested renting. Yes, renting. We do not require a shopping cart. However, we also don’t want to receive 101 emails a day from people enquiring about each product separately. My question is: is it possible, using this or a similar system, to have one enquiry form users can add the product(s) they are interested in, for that form to remember the products even if the user goes back and looks at another product, then comes back and submits the form containing all the products?

    Oh dear – not sure if I am making myself clear here! Sorry if this seems long-winded however I’ve been looking for a solution for quite a while now.

    Thank you SO much for your time!

    • Hey Nancy, at present I’m not aware of a way to do this across multiple products. You could use Gravity Forms to create an enquiry form and simply list all products in it (perhaps using a multiselect field), but a customer can’t leave the page then return to the form with products still selected. Of course, almost anything is possible via custom code, so it could be done, but it’s not a small task 🙂 .

      I think the cart system actually would be best here, but perhaps you’d like to just use the cart system and then use the “cheque” gateway to submit an order for a quote instead of paying for it (you can change the Add to Cart and Place Order text as needed). You could also use the Checkout Field Editor to remove unneeded checkout fields.

      • Thank you so much for getting back to me, Beka. I figured as much – we might look at having this custom-coded at a later stage. For now, the cart system solution you propose indeed seems the way to go.

        Cheers!

  3. hello, thank you for the article.
    please, can you suggest me:
    I need these steps:
    1) The customer ask a quotation
    2) I make the customized quotation
    3) The customer accepts the customized quotation (and my terms and conditions), so he pays

    I don’t know how do the 3th step.

    Thanks

    • Hey Paolo, I’d recommend creating an “invoice” or “quote” product and using the Name your Price extension, and customers could then enter the price on the quotation to pay. This will take them through the checkout process, where you can also have them accept terms and conditions.

  4. Hi !!

    A question here :

    I would like such a solution (“get a quote” form + no price) to be applied to specific categories.
    The other categories being “standard”, showing the classic “add to cart” button as well as the price.

    While I know how to achieve this with a form, assigning it to a specific tab visible in one or more categories, it seems that you can’t use Catalog Visibility Options to set price visibility on a per category basis. Looks like it is a site-wide setting. I may be wrong.

    (The plugin’s description is rather unclear : it seems you can do it on a per-product basis as well. Then there is the odd settings’ screen capture : option “purchase” turned on, but “price” turned off? Who would purchase something without knowing it’s price, but I digress … )

    I may have missed the obvious, here … I am getting a headache … any clue ?

    Many thanks in advance !

  5. Hi Paolo, regarding you earlier remark*

    1) The customer ask a quotation
    2) I make the customized quotation
    3) The customer accepts the customized quotation (and my terms and conditions), so he pays,

    I’d like to recommend Propoza. This is a new early adapter software (free) that will help you to do exactly that, maing the quote-to-order process really simple and efficient.
    Take a look at the site to see how it works: http://www.propoza.com

    Hope this helps!
    Remco

  6. I need a ‘add to quote’ basked solution. So people can ask for a quote for multiple products at once. And when they checkout they should submit the basked without the payment options. See what I mean? Could you advise?

  7. Hi,

    Am wondering if this could work with a product warranty. We offer a warranty on our products but first they have to register and show proof of purchase. Once this is complete they can pay for shipping/handling

    • Hey Betsy, sounds like it could be a good fit, though if they’re also paying for shipping / handling after registering, you may want to either (a) make a new order for these fees that can then be paid, or (b) use the Gravity Forms payment integrations (with a developer license) to process the shipping & handling as part of this form instead of through WooCommerce.

  8. Would this quote work with Contact Form 7, WooCommerce Tab Manager and Catalog Visibility Options?

    Thanks
    Mike

  9. Hi Beka,

    What about these 2 Request a Quote plugins for WooCommerce?

    WooQuatation – https://woocommercequoteplugin.com/
    WooCommerce Request a Quote – http://codecanyon.net/item/woocommerce-request-a-quote/6460218

    I consider using WooQuotation as it seems to have more features and flexibility. What do you say?

    Thanks,

    Noam

  10. Hi, only just saw this thread. We’ve been trying and looking around a bit and found http://www.propoza.com very useful. For a start it’s free (which for dutch people is always nice) but it also really helps and enables our clients to have a quotation functionality on their e-commerce platform. Anyway, it might be worth the try for some of you 😉
    Cheers

  11. I am using TheRetailer theme and right not the tabs are vertical and say:

    Description
    Additional Information
    Discussion(0)

    and leave a lot of wasted space because of this layout. Can your app allow me to change the layout to:

    Description Additional Information Reviews(s)

    If so, I am a buyer!

    Thank You,
    Michael

    • Hey Michael, the only thing that would change this is using a different theme I’m afraid — the theme is entirely what dictates the tab layout. Sorry I don’t have better news here! You’d have to change themes or have a developer customize the existing theme.

Hmm, looks like this article is quite old! Its content may be outdated, so comments are now closed.