Boopis WooCommerce RFQ

Description

Sponsored by Attributio. Can’t Track Your Conversions? We Can. Meet Your Expert Today!

Demo

The Original RFQ Plugin For WordPress

Turning your online store into a lead generating machine has never been easier with the WooCommerce Request For Quotation Plugin for WordPress. As competition increases with everyone selling the same products online, merchants are beginning to use ecommerce stores as a means to generate inquiries for custom quoted products.

If you have restrictions from your manufacturer for published prices, this plugin in perfect for you to generate interest from potential customers, and turn them into sales. If you sell expensive goods that requires negotiating prices, this plugin will help you start selling online.

Turn all you products into quotable items or pick just a few and mix and match items that can be purchased online and items that need quotes. All you need to do is change the price to zero, and presto, you’ve got a quotable item.

Alernatively you can turn your products into quotable items based on product tags.

Once the users click the inquire button, they are sent to a contact form where the product information is automatically filled into the form and you can define the fields that the customer needs to fill in. By reducing the amount of steps your online users take, the better chance you have of converting them into customers.

Features

  • Convert products into quotatable items with prices set to zero
  • Convert products into quotatable items based on tags
  • Add multiple products to quotations request
  • Autofill logged in user’s information into quote request
  • Transfer filled in data for quote request into an order
  • Create proposal to customer with emails and webviews of proposal
  • Adjust all the details of proposal with terms, expiration date, pricing, line items
  • Set auto emails for new, pending, expired, and failed quotes
  • Copy and customize your own emails
  • Allow customer to pay for proposal on your website through checkout
  • Translatable text

Special Thanks For Contributions

@kimoj for reporting translation bug.

Screenshots

  • Modifies WooCommerce Add to Cart buttons to quotations request buttons
  • Add variable products with options into quote list
  • Collect same fields as checkout for seamless checkout integration
  • On submission of request, customer is redirected to a review of request
  • Admin email when a request for quotation is made
  • Customer email when a request for quotation is made
  • Set terms, expiration, and pricing for proposal from rfq
  • Customer email wil proposal and action links to accept or deline
  • Web view of proposal with action links
  • Option to pay once proposal is accepted

Installation

Ensure that you have WooCommerce installed. Then upload the contents via ftp or ssh to the file directory of your wordpress site under wp-content/plugins/

Product Settings

Once installed, change the price of the items you want displayed as quotable items to ZERO. You will notice that on the front end, your quotable item buttons have changed. You can also choose to modify products based on tags in the settings menu.

RFQ Page

You can change the page where all quotation requests are made from the default under the settings menu.

Proposal Settings

Add details under the terms meta box in the quote order to present terms for the proposal.
Add an expiration date that shows valididy of the proposal. If the date exceeds, the expiration date, the user will not be able to move forward to pay based on the offer.

Hooks To Change Elements

RFQ Form

  • RFQ Page product list heading

    add_filter(‘boopis_rfq_page_item_title’, ‘your_function_to_change_page_item_heading’);

  • RFQ Page details form heading

    add_filter(‘boopis_rfq_page_details_title’, ‘your_function_to_change_page_details_heading’);

  • RFQ Page when products have not been added to list

    add_filter(‘boopis_rfq_page_empty_text’, ‘your_function_to_change_page_text’);

more to come…

RFQ Emails

RFQ Proposal Page

Modify / Remove / And Add New Form Fields

List of fields to modify (based on wc checkout):

['billing']['billing_first_name']
['billing']['billing_last_name']
['billing']['billing_company']
['billing']['billing_address_1']
['billing']['billing_address_2']
['billing']['billing_city']
['billing']['billing_postcode']
['billing']['billing_country']
['billing']['billing_state']
['billing']['billing_email']
['billing']['billing_phone']
['order']['order_comments']

Modifying or removing existing fields

// Hook in to form
add_filter( 'boopis_rfq_form_fields' , 'custom_override_rfq_fields' );

// Our hooked in function - $fields is passed via the filter!
function custom_override_rfq_fields( $fields ) {

    // Remove billing first and last name
    unset($fields['billing']['billing_first_name']);
    unset($fields['billing']['billing_last_name']);


    // Make phone number optional
    $fields['billing']['billing_phone']['required'] = false;

    // Modify name and class of postcode 
    $fields['billing']['billing_postcode'] = array(
        'label'     => __('Zip Code', 'woocommerce'),
        'placeholder'   => _x('Zip Code', 'placeholder', 'woocommerce'),
        'required'  => false,
        'class'     => array('form-row-wide'),
        'clear'     => true
    );

  return $fields;
}

Adding new custom fields

Add the new field

// Add new custom field
add_action( 'boopis_rfq_after_order_notes', 'custom_select_referal_rfq' );

function custom_select_referal_rfq( $rfq ) {

    woocommerce_form_field( 'referal', array(
        'type'          => 'select',
        'class'         => array('form-row-wide'),
        'label'         => __('How did you hear about us?'),
        'required'          => true,
        'clear'         => false,
        'options'       => array(
            ''                      => __('Select Option', 'boopis-woocommerce-rfq' ),
            'friend'            => __('Friend', 'boopis-woocommerce-rfq' ),
            'coworker'      => __('Coworker', 'boopis-woocommerce-rfq' )
        ),
    ), $rfq->get_value( 'referal' ));

}

Validate the new field

// Validate new custom field
add_action('boopis_rfq_process', 'custom_select_referal_rfq_process');

function custom_select_referal_rfq_process() {
  // Check if set, if its not set add an error.
    if ( empty($_POST['referal']) ) {
        wc_add_notice( __( 'You must select the referal field.' ), 'error' );
    }
}

Update the new field

// Update new custom field
add_action( 'boopis_rfq_update_order_meta', 'custom_select_referal_update_order_meta' );

function custom_select_referal_update_order_meta( $order_id ) {
    if ( ! empty( $_POST['referal'] ) ) {
        update_post_meta( $order_id, 'Referal', sanitize_text_field( $_POST['referal'] ) );
    }
}

See WooCommerce Docs for more details.

Change redirect url

Add the shortcode [boopis_rfq] to your tahnk you page “My Page Name”

// Change redirect url
add_filter( 'boopis_rfq_redirect_url', 'my_custom_redirect_url' );

function my_custom_redirect_url() {
    $page = get_page_by_title( 'My Page Name' );
    return get_permalink( $page->ID );
}

FAQ

Q: Can I add multiple products?

A: Yes.

Q: Can I add or remove form fields?

A: Yes. Please make a support request for more details.

Installation Instructions

Ensure that you have WooCommerce installed. Then upload the contents via ftp or ssh to the file directory of your wordpress site under wp-content/plugins/

Product Settings

Once installed, change the price of the items you want displayed as quotable items to ZERO. You will notice that on the front end, your quotable item buttons have changed. You can also choose to modify products based on tags in the settings menu.

RFQ Page

You can change the page where all quotation requests are made from the default under the settings menu.

Proposal Settings

Add details under the terms meta box in the quote order to present terms for the proposal.
Add an expiration date that shows valididy of the proposal. If the date exceeds, the expiration date, the user will not be able to move forward to pay based on the offer.

Hooks To Change Elements

RFQ Form

  • RFQ Page product list heading

    add_filter(‘boopis_rfq_page_item_title’, ‘your_function_to_change_page_item_heading’);

  • RFQ Page details form heading

    add_filter(‘boopis_rfq_page_details_title’, ‘your_function_to_change_page_details_heading’);

  • RFQ Page when products have not been added to list

    add_filter(‘boopis_rfq_page_empty_text’, ‘your_function_to_change_page_text’);

more to come…

RFQ Emails

RFQ Proposal Page

Modify / Remove / And Add New Form Fields

List of fields to modify (based on wc checkout):

['billing']['billing_first_name']
['billing']['billing_last_name']
['billing']['billing_company']
['billing']['billing_address_1']
['billing']['billing_address_2']
['billing']['billing_city']
['billing']['billing_postcode']
['billing']['billing_country']
['billing']['billing_state']
['billing']['billing_email']
['billing']['billing_phone']
['order']['order_comments']

Modifying or removing existing fields

// Hook in to form
add_filter( 'boopis_rfq_form_fields' , 'custom_override_rfq_fields' );

// Our hooked in function - $fields is passed via the filter!
function custom_override_rfq_fields( $fields ) {

    // Remove billing first and last name
    unset($fields['billing']['billing_first_name']);
    unset($fields['billing']['billing_last_name']);


    // Make phone number optional
    $fields['billing']['billing_phone']['required'] = false;

    // Modify name and class of postcode 
    $fields['billing']['billing_postcode'] = array(
        'label'     => __('Zip Code', 'woocommerce'),
        'placeholder'   => _x('Zip Code', 'placeholder', 'woocommerce'),
        'required'  => false,
        'class'     => array('form-row-wide'),
        'clear'     => true
    );

  return $fields;
}

Adding new custom fields

Add the new field

// Add new custom field
add_action( 'boopis_rfq_after_order_notes', 'custom_select_referal_rfq' );

function custom_select_referal_rfq( $rfq ) {

    woocommerce_form_field( 'referal', array(
        'type'          => 'select',
        'class'         => array('form-row-wide'),
        'label'         => __('How did you hear about us?'),
        'required'          => true,
        'clear'         => false,
        'options'       => array(
            ''                      => __('Select Option', 'boopis-woocommerce-rfq' ),
            'friend'            => __('Friend', 'boopis-woocommerce-rfq' ),
            'coworker'      => __('Coworker', 'boopis-woocommerce-rfq' )
        ),
    ), $rfq->get_value( 'referal' ));

}

Validate the new field

// Validate new custom field
add_action('boopis_rfq_process', 'custom_select_referal_rfq_process');

function custom_select_referal_rfq_process() {
  // Check if set, if its not set add an error.
    if ( empty($_POST['referal']) ) {
        wc_add_notice( __( 'You must select the referal field.' ), 'error' );
    }
}

Update the new field

// Update new custom field
add_action( 'boopis_rfq_update_order_meta', 'custom_select_referal_update_order_meta' );

function custom_select_referal_update_order_meta( $order_id ) {
    if ( ! empty( $_POST['referal'] ) ) {
        update_post_meta( $order_id, 'Referal', sanitize_text_field( $_POST['referal'] ) );
    }
}

See WooCommerce Docs for more details.

Change redirect url

Add the shortcode [boopis_rfq] to your tahnk you page “My Page Name”

// Change redirect url
add_filter( 'boopis_rfq_redirect_url', 'my_custom_redirect_url' );

function my_custom_redirect_url() {
    $page = get_page_by_title( 'My Page Name' );
    return get_permalink( $page->ID );
}

Reviews

Works like a charme

Perfect! Works as described.
Immidiate fix/update after notifying about issue with a woocommerce depricated function in current woocommerce.
Thanks David!

Awesome Plugin with One on One Developer Support

Great plugin been using it for years. David at Boopis has always been super responsive and helpful in assisting me and making sure the plugin is optimized for each site. Can’t thank you enough for how much this plugin has helped me and my clients. – Doug

Doesn't work!

This version is useless! Version 2.0.1 was working ok before developer released update – then everything lost functionality. We made contact with the developer and they simply blame theme incompatibility. Technical support Sux !

Read all 15 reviews

Contributors & Developers

“Boopis WooCommerce RFQ” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • Initial Release 1/23/14

1.0.1

  • Add-On Link Adjustment 1/24/14

1.0.2

  • Main Link Adjustment 1/24/14

1.0.3

  • Free price replace on sale price 1/24/14

1.0.4

  • Readme changes and version correction 1/24/14

1.0.5

  • Multi-Product Compatibility 2/4/14

1.1.0

  • Compatibility with WooCommerce v2.1.1 2/13/14

1.2.0

  • Added alternative trigger by tags 3/21/14
  • Added price replacement option 3/21/14

1.2.2

  • Compatibility with WordPress 4.0 & WooCommerce 2.2 9/30/14

1.3.0

  • Added field for custom thank you message 11/25/15

1.4.0

  • Added analytics data for form submissions 1/12/16

1.4.1

  • Sanitize, validate, and escape POST/GET/REQUEST calls 5/2/16

1.5.0

  • Added language support (ES) 5/19/16

2.0.0

  • Integrated multiple products into inquiry form 5/20/16

2.0.1

  • Bug fix declare array for sanitize array in form 5/20/16

3.0.0

  • Added quotes to orders for db storage and proposal creation 6/1/16

3.0.1

  • Added options to modify form fields 6/4/16

3.0.3

  • Fixed set message error 8/29/16
  • Custom emails 8/29/16

3.0.4

  • Missing View Quote language translation hook

3.0.5

  • Fix from 3.0.4 for wrong translation hook and added missing line in pot file

3.0.6

  • Fix from 3.0.5 for wrong translation hook and added missing line in pot file

3.0.7

  • Added hook for redirect url after submitting request