Spotlight: Creating Dynamic, Customizable Quoting Forms with Jennifer Erdman

We explore how Jennifer Erdman built a quote calculator — based on highly customizable product offerings — step by step.

It’s a common problem: you have a quoting form and it has detailed requirements. Customizations, specifications, sizes, dates, you name it. Each of these play a role in calculating the total, and it all has to happen under the hood.  

Jennifer Erdman has been working through this challenge (on steroids) while building new order forms for PFA Inc., a manufacturer of locking cylinders, among other things. This all started when she needed to replace their old PHP forms with Gravity Forms because she wanted to future-proof them and make them PHP8 ready.

My clients come to me because I solve unique problems. I’m not someone that walks away when it gets hard. I feel like Gravity Wiz has the same philosophy. I’ve never been turned away from any question or problem I’ve had.

Jennifer’s goal was to create forms that run calculations based on numerous specifications and sizes, provide both the customer — and PFA Inc. — a final quote, and simultaneously collect potential customer information (ahem, leads).

But, there’s a catch, which will be our focus. She needed to find a way to get her calculated quotes (created via Gravity Forms Advanced Calculations and Gravity Forms Conditional Pricing) neatly into the quote emails sent to the prospects and her client.

Project background

We won’t bore you with the nitty gritty (unless you want us to 😏 seriously — let us know below) so here’s the essential information.

  • There are 10 stroke sizes for these parts (locking cylinders) and a myriad of customization options.
  • The pricing tiers that result from these customizations are handled through a mix of Gravity Forms Advanced Calculations and Gravity Forms Conditional Pricing. 

Gravity Forms Advanced Calcualtions lets you perform complex calculations on Number fields with mathematical functions, conditionals, and a powerful formula editor. Gravity Forms Conditional Pricing is all about creating flexible pricing levels for your Product fields based on conditional values in your form.

Go take a peak at one of the forms yourself, test it out, and get an idea for how many specifications are involved.

Using Gravity Forms to customize locking cylinder's on PFA Inc.'s quoting form

Live Merge Tags for Real Time Custom Quotes

Here’s a rundown on Jennifer’s requirements.

  1. PFA required a Part Number to be generated from the form based on user-selected options like the Stroke Size, Stroke Type, Sensor Option, etc.
  2. Jennifer needed this user-generated Part Number to appear neatly within the order summary appearing in both the quote the user receives, as well as her client, PFA Inc.
  3. She didn’t want these product specifications to appear as separate charges.

Taking a look below, you’ll see Part Number highlighted. Looking at the contents of it, “KLH-75-0.38-XLT-MW” is made up of the specifications chosen from Drop Down fields for Stroke Size, Stroke Type, Sensor Option, etc. 

a part number is generated from the product specifications using live merge tags

I didn’t want the quote that the customer received to itemize the chosen features or make them look like separate charges.

PFA Inc.'s final quote, showing part numbers generated by product specifications

How did she do it? 

This is where she made great use of Populate Anything’s Live Merge Tags. Jennifer created user select fields (Drop Downs and Text fields) to obtain the specifications, then populated Product option fields with that info. Voilà!

Specifically, she created a new Text field that then used a default value with the appropriate data from the Drop Down fields. In this case:

@{KOR-LOK Size:97}-@{Stroke (in Inches):68}-@{Sensor Option:35}@{Optional Equipment:33.1:value}@{Optional Equipment:33.2:value}

Live Merge Tags let you add auto-updating merge tags anywhere inside your form (e.g. labels, descriptions, choices, values, HTML content). This allows for you to provide dynamic content with ease.

In addition, to keep the product options consolidated with the product, Jennifer used Gravity Forms’ Option fields. Option fields must be attached to a Product field and are output as subitems of that product in the order summary.

That field could then be used in the final notification (quote) sent to the customer.

And, as a side note, we’re dealing with engineers here — so decimal places are important. The final Part Number we calculated in field 68 needed to have a specific number of decimal places. Gravity Wiz provided a custom Javascript code to enable that to happen!

Here’s a summary:

  • Multiple forms with numerous customizations and specifications for pricing based on user input.
  • On the backend, Jennifer uses Gravity Forms Advanced Calculations and Gravity Forms Conditional Pricing to calculate total cost. 
  • These forms then generate a Part Number dynamically and itemize the product specifications for the quote sent to the potential customer and PFA Inc. 

After submission, the customer’s get a quote and PFA Inc. gets a lead. Everyone’s happy. 

Big shout out to Jennifer for sharing this beast of a setup!

I’ve never had support help as much as I have with Gravity Perks. You provide real answers that actually fix issues. 99% of the issues aren’t product failure, they’re support in getting the setup right and making things work. Even you figuring out snippets for things have saved my life! It’s real world help like this that is incredibly rare. Most people just blame it on something else or don’t offer solutions. Even Gravity Forms themselves are hit and miss depending upon the support person you get. Every single one of your support people has been fantastic. Thank you for giving me the tools that make me look good and my clients happy!

Have more questions about what’s going on under the hood? Let us know!

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Trouble installing this snippet? See our troubleshooting tips.
  • Need to include code? Create a gist and link to it in your comment.
  • Reporting a bug? Provide a URL where this issue can be recreated.

By commenting, I understand that I may receive emails related to Gravity Wiz and can unsubscribe at any time.

Grab a bundle of free Gravity Forms plugins

Enter your email and receive our most popular free plugins and snippets, plus access to hundreds of others.

This field is for validation purposes and should be left unchanged.