Pricing quote template for salespeople

This snippet is inspired by an Account Executive that I recently spoke to, who built out a really impressive interactive quote generator for their specific business.

This generic version uses our new(ish) Tables feature and is relatively simple. It is meant to demonstrate how you might create something like this, and it can be customized to your business.

{note}{formtoggle: name=Include professional services?}

{endnote: trim=left}

Product # Licenses Monthly Price Per User Annual Cost
Basic {formtext: name=basic; cols=5} ${formtext: name=bprice; default=10; cols=5} {btotal=(basic*bprice)*12}{=btotal; format=$.2f}
Pro {formtext: name=pro; cols=5} ${formtext: name=pprice; default=15; cols=5} {ptotal=(pro*pprice)*12}{=ptotal; format=$.2f}
Advanced {formtext: name=advanced; cols=5} ${formtext: name=aprice; default=20; cols=5} {atotal=(advanced*aprice)*12}{=atotal; format=$.2f}
{if: `Include professional services?`}Professional Services N/A N/A {proserv=5000}{=proserv; format=$.2f}{endif}

Total due for licenses: {if: not `Include professional services?`}{=btotal+ptotal+atotal; format=$.2f}{else}{=btotal+ptotal+atotal+proserv; format=$.2f}{endif}

This snippet uses:

  • Form fields for the number of licenses and monthly prices
  • Formulas for calculating the annual cost of licenses and the grand total
    • using format, different currencies can be used
  • Rules for conditionally showing the row about professional services when a form toggle is checked
2 Likes

Here's a second version that supports providing discounts of a set percentage:

{note}{formtoggle: name=Include professional services?}
Pricing discount: {formmenu: default=List pricing; 10%; 25%; 50%; name=discount}{if: discount="List pricing"}{discountp=1}{elseif: discount="10%"}{discountp=0.9}{elseif: discount="25%"}{discountp=0.75}{elseif: discount="50%"}{discountp=0.5}{endif}
{endnote: trim=left}

Product # Licenses Monthly Price Per User Annual Cost{if: discount<>"List pricing"} with {=discount} discount{endif}
Basic {formtext: name=basic; cols=5} {formtext: name=bprice; default=10; cols=5} {btotal=((basic*bprice)*12)*discountp}{=btotal; format=$.2f}
Pro {formtext: name=pro; cols=5} {formtext: name=pprice; default=15; cols=5} {ptotal=((pro*pprice)*12)*discountp}{=ptotal; format=$.2f}
Advanced {formtext: name=advanced; cols=5} {formtext: name=aprice; default=20; cols=5} {atotal=((advanced*aprice)*12)*discountp}{=atotal; format=$.2f}
{if: `Include professional services?`}Professional Services N/A N/A {proserv=5000*discountp}{=proserv; format=$.2f}{endif}

{if: discount="List pricing"}Total due for licenses: {elseif: discount<>"List pricing"}Total due for licenses including {=discount} discount: {endif}{if: not `Include professional services?`}{=(btotal+ptotal+atotal); format=$.2f}{else}{=(btotal+ptotal+atotal+proserv); format=$.2f}{endif}

4 Likes