Custom Quote Template Beta

JMartin93
Participant

Quote list is broke

JMartin93_0-1617392185530.png

The custom quote templets we have created have disapeared from the the list

8 Replies 8
ethankopit
HubSpot Product Team
HubSpot Product Team

Quote list is broke

@JMartin93 would you be willing to file a support ticket and kindly ask them to tag in a Product Expert? If they can't figure it out, I'd like them to file a JIRA so my team can explore it (with examples from support).

0 Upvotes
ethankopit
HubSpot Product Team
HubSpot Product Team

Quote list is broke

Also @JMartin93 would you be comfortable with me accessing your portal to try and reproduce the bug? I won't make any changes. I will try to create a quote, but won't save it in Drafts or Publish.

0 Upvotes
JMartin93
Participant

Quote list is broke

I have created the ticket and yes you may access our portal

0 Upvotes
ethankopit
HubSpot Product Team
HubSpot Product Team

Quote list is broke

Awesome - will you DM me your portal ID?

0 Upvotes
JMartin93
Participant

Quote list is broke

It normaly works for me as a super admin, though I do see it from time to time it mostly effect the sales reps, we are currently expricing this issue right now the name of this template is quote__varsity.html

 

<!--
  templateType: "proposal"
  label: "5by5 Varsity"
  isAvailableForNewContent: true
-->

<!doctype html>
  {% from '../imports/mock_data.html' import SAMPLE_TEMPLATE_DATA as backup_template_data %}

  {% set template_data = template_data || backup_template_data %}
  {% set QUOTE_PROPS = template_data.quote %}
  {% set DEAL_PROPS = template_data.quoteAssociatedObjects.deal %}
  {% set QUOTE_TOTAL = template_data.totals.total %}
  {% set SUB_TOTALS = template_data.totals.subTotals %}
  {% set CURRENCY = QUOTE_PROPS.hs_currency || 'USD' %}
  {% set LOCALE = QUOTE_PROPS.hs_locale || 'en-US' %}
  {% set TIMEZONE = QUOTE_PROPS.hs_timezone || 'US/Eastern' %}
  {% set RECIPIENT_CONTACTS = template_data.quoteAssociatedObjects.contacts %}
  {% set RECIPIENT_COMPANY = template_data.quoteAssociatedObjects.company %}
  {% set CONTACT_SIGNERS = template_data.quoteAssociatedObjects.contactSigners %}
  {% set LINE_ITEMS = template_data.quoteAssociatedObjects.lineItems %}
  {% set ADDITIONAL_FEES = template_data.quoteAssociatedObjects.additionalFees %}

<html lang="{{ html_lang }}" {{ html_lang_dir }}>
    <head>
      <meta http-equiv=“Pragma” content=”no-cache”>
      <meta http-equiv=“Expires” content=”-1″>
      <meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
        <title>{{ page_meta.html_title }}</title>
        {% if site_settings.favicon_src %}
        <link rel="shortcut icon" href="{{ site_settings.favicon_src }}" />
        {% endif %}

        <meta name="description" content="{{ page_meta.meta_description }}">
        {{ require_css(get_asset_url("../css/quote__varsity1.css")) }}
        {{ require_css(get_asset_url("../css/theme-overrides1.css")) }}
        {{ standard_header_includes }}

        <script>
          function graphics_error(){
            document.getElementById("graphics_section").style.display = "none"
            document.getElementById("logo_fee").style.display = "none"
          }  
        </script>
      
    </head>

    <body class="hs-proposals hs-proposals--varsity">

        <section class="letterhead">
            <div class="fixed-width">
                <div>
                    <img width="300" height="75.59" style="text-align:center;padding:30px 0px; object-fit:contain;" loading="lazy" src="https://f.hubspotusercontent10.net/hubfs/8927366/Varsity%20Logos/varsity-scoreboards-primarylogo-reverse-rgb.png" alt="{{ QUOTE_PROPS.hs_sender_company_name }} logo">
                </div>
                <div style="text-align:center;">
                    <h3 style='color:#fff;'>QUOTATION</h3>
                    <p style='color:#fff;font-size: 13px;margin:5px 0;'><b>Created On: </b>{{ QUOTE_PROPS.hs_createdate|int|datetimeformat('%B %e, %Y', TIMEZONE, LOCALE) }}</p>
                </div>
                <div>
                    {%- if QUOTE_PROPS.hs_sender_company_address -%}<span>{{ QUOTE_PROPS.hs_sender_company_address }}</span><br>{%- endif -%}
                    {%- if QUOTE_PROPS.hs_sender_company_address2 -%}<span>{{ QUOTE_PROPS.hs_sender_company_address2 }}</span><br>{%- endif -%}
                    <span>{{ QUOTE_PROPS.hs_sender_company_city ~ ' ' ~ QUOTE_PROPS.hs_sender_company_state ~ ' ' ~ QUOTE_PROPS.hs_sender_company_zip }}</span><br>
                    {%- endif -%}
                    <br>
                    <span>Toll-Free: <b>1-800-323-7745</b></span><br>
                    <span>Fax: <b>270-759-0004 | 270-759-4112</b></span><br>
                    <span><b>varsityscoreboards.com</b></span>
                </div>
            </div>
        </section>


        <section class="quote-data">
            <div class="fixed-width">
                <div class="customer-data">
                    <h5 style='color:#b5252b;margin-bottom: 5px;'>PREPARED FOR</h5>
                    {% if RECIPIENT_COMPANY %}
                    <span><b>{{ RECIPIENT_COMPANY.name }}</b></span><br>
                    {%- if RECIPIENT_COMPANY.address -%}<span>{{ RECIPIENT_COMPANY.address }}</span><br>{%- endif -%}
                    {%- if RECIPIENT_COMPANY.address2 -%}<span>{{ RECIPIENT_COMPANY.address2 }}</span><br>{%- endif -%}
                    <span>{{ RECIPIENT_COMPANY.city ~ ' ' ~ RECIPIENT_COMPANY.state ~ ' ' ~ RECIPIENT_COMPANY.zip }}</span><br>
                    {%- if RECIPIENT_COMPANY.country -%}<span>{{ RECIPIENT_COMPANY.country }}</span><br>{%- endif -%}
                    <br>
                    {% endif %}
                    {% for recipient in RECIPIENT_CONTACTS %}
                    <span><b>{{ recipient.firstname ~ ' ' ~ recipient.lastname }}</b></span><br>
                    <span>{{ recipient.email }}</span><br>
                    {%- if recipient.phone -%}<span>{{ recipient.phone }}</span><br>{%- endif -%}
                    <br>
                    {% endfor %}
                </div>
                <div class="sales-data">
                    <h5 style='color:#b5252b;margin-bottom: 5px;'>DETAILS</h5>                  
                    <span><b>Quote Number:</b> {{ QUOTE_PROPS.id }}</span><br>
                    {%- if DEAL_PROPS.invoice_number -%} <span><b>Order Number:</b> {{DEAL_PROPS.invoice_number}}</span><br>{%- endif -%}
                    <span><b>Prepared By:</b> {{ QUOTE_PROPS.hs_sender_firstname ~ ' ' ~ QUOTE_PROPS.hs_sender_lastname }}</span><br>
                    <span><b>PO Number:</b> {{DEAL_PROPS.po_number}}</span><br>
                    <span><b>Expires:</b> {{ QUOTE_PROPS.hs_expiration_date|int|datetimeformat('%B %e, %Y', TIMEZONE, LOCALE) }}</span><br>
                </div>
            </div>
        </section>    


        <section aria-label="quote-items" class="quote-items">
            <div class="fixed-width">
                <table class="line-items">
                    <thead>
                        <tr>
                            <th scope="col">PART #</th>
                            <th scope="col">DESCRIPTION</th>
                            <th scope="col">QTY.</th>
                            <th scope="col">LIST PRICE ($)</th>
                            <th scope="col">EXTENDED PRICE ($)</th>
                        </tr>
                    </thead>
                    <tbody>
                        {% for item in LINE_ITEMS|sort(False, False, 'hs_position_on_quote') %}
                        <tr>
                            <td>{{ item.hs_sku }}</td>
                            <td>{{ item.description }}</td>
                            <td>{{ item.quantity }}</td>
                            <td>{{ item.price|format_currency(LOCALE, CURRENCY, true) }}</td>
                            <td>{{ item.amount|format_currency(LOCALE, CURRENCY, true) }}</td>
                        </tr>
                        {% endfor %}
                    </tbody>
                </table>


                <div class="quote-totals">
                    <div class="notes">
                        <div class="heading"><h4>NOTES:</h4></div>
                        <div class="text">
                            {{ QUOTE_PROPS.hs_comments }}
                            <p class="disclaimer"><i>Quote valid for 30 days. Installation and electrical work not included. Visa, Mastercard, American Express and personal checks accepted for your convenience</i></p>
                        </div>
                    </div>
                    <table aria-label="totals" class="totals">
                        {% if SUB_TOTALS|length > 0 %}
                        <thead>
                            <tr>
                                <th scope="col"></th>
                                <th scope="col"></th>
                            </tr>
                        </thead>
                        <tbody>
                        {% if SUB_TOTALS.one_time %}
                            <tr>
                                <td>Subtotal</td>
                                <td>{{ SUB_TOTALS.one_time.subTotal|format_currency(LOCALE, CURRENCY, true) }}</td>
                            </tr>
                        {% endif %}
                        {% if SUB_TOTALS.monthly %}
                            <tr>
                                <td>Monthly subtotal</td>
                                <td>{{ SUB_TOTALS.monthly.subTotal|format_currency(LOCALE, CURRENCY, true) }}</td>
                            </tr>
                        {% endif %}
                        {% if SUB_TOTALS.quarterly %}
                            <tr>
                                <td>Quarterly subtotal</td>
                                <td>{{ SUB_TOTALS.quarterly.subTotal|format_currency(LOCALE, CURRENCY, true) }}</td>
                            </tr>
                        {% endif %}
                        {% if SUB_TOTALS.per_six_months %}
                            <tr>
                                <td>Per 6 Months Subtotal</td>
                                <td>{{ SUB_TOTALS.per_six_months.subTotal|format_currency(LOCALE, CURRENCY, true) }}</td>
                            </tr>
                        {% endif %}
                        {% if SUB_TOTALS.annually %}
                            <tr>
                                <td>Annual Subtotal</td>
                                <td>{{ SUB_TOTALS.annually.subTotal|format_currency(LOCALE, CURRENCY, true) }}</td>
                            </tr>
                        {% endif %}
                        {% if SUB_TOTALS.per_two_years %}
                            <tr>
                                <td>Per 2 Years Subtotal</td>
                                <td>{{ SUB_TOTALS.per_two_years.subTotal|format_currency(LOCALE, CURRENCY, true) }}</td>
                            </tr>
                        {% endif %}
                        {% if SUB_TOTALS.per_three_years %}
                            <tr>
                                <td>Per 3 Years Subtotal</td>
                                <td>{{ SUB_TOTALS.per_three_years.subTotal|format_currency(LOCALE, CURRENCY, true) }}</td>
                            </tr>
                        {% endif %}
                        {% endif %}
        
                        {%- if ADDITIONAL_FEES|length > 0 -%}
                            {%- for fee in ADDITIONAL_FEES -%}
                            <tr>
                                <td>{{ fee.name }}</td>
                                <td>
                                    {{ fee.category == "DISCOUNT" ? "-" : null }}
                                    {% if fee.isPercentage %}
                                    {{ fee.amount }} %
                                    {% else %}
                                    {{ fee.amount|format_currency(LOCALE, CURRENCY, true)}}
                                    {% endif %}
                                </td>
                            </tr>
                            {% endfor %}
                        {%- endif -%}
                            <tr>
                                <td>Quote Total</td>
                                <td>{{ QUOTE_TOTAL|format_currency(LOCALE, CURRENCY, true) }} </td>
                            </tr>
                        </tbody>
                    </table>
                </div>


                {% if QUOTE_PROPS.hs_payment_enabled == 'true' %}
                <div style="text-align: right; margin-top: 30px">
                    {% module "payment" path="../modules/payment"
                    url_key="{{ QUOTE_PROPS.hs_public_url_key }}",
                    api_base_url="{{ template_data.hubspotBaseUrl }}"
                    %}
                </div>
                {% endif %}
            </div>
        </section>


        <section aria-label="Graphics" class="graphics" id="graphics_section">
            <div class="small-fixed-width">
                <div class="graphic-image">
                    <img class="img" width="90%" style="object-fit:contain;" loading="lazy" src="https://f.hubspotusercontent10.net/hubfs/8927366/Graphics/{{ QUOTE_PROPS.id }}.jpg?{{ unixtimestamp() }}" onerror="graphics_error()" alt="Graphics Request Image"><br />
                    <p class="disclaimer"><i>Please review these graphics carefully. Changes requested after acceptance of this quote my result in additional charges. Colors are for proofing only and may vary on different printers, monitors, and finished products.</i></p>
                </div>
            </div>
        </section>


        <section class="final-comment">
            <div class="small-fixed-width">
              <p><span id="logo_fee">Logo creation fee may apply. </span>If you have any questions concerning this quotation or if there is anything else I can do for you, please give me a call. Thank you for the opportunity to quote on your project.</p>
                <br>
                <p>Sincerely,</p>

                <div class="preparer-signature">
                    <div class="logo"><img src="https://f.hubspotusercontent10.net/hubfs/8927366/Varsity%20Logos/varsity%20logo.png"></div>
                    <div class="info">
                        <h5><span>{{ QUOTE_PROPS.hs_sender_firstname ~ ' ' ~ QUOTE_PROPS.hs_sender_lastname }},</span> {% if QUOTE_PROPS.hs_sender_jobtitle %}{{ QUOTE_PROPS.hs_sender_jobtitle }}{% else %}Sales Associate{% endif %}</h5>
                        <a href="{{'mailto:' ~ QUOTE_PROPS.hs_sender_email}}">{{ QUOTE_PROPS.hs_sender_email }}</a>
                    </div>
                </div>
            </div>
        </section>


        
        {% module "esign" path="../modules/esign",
            url_key="{{ QUOTE_PROPS.hs_public_url_key }}",
            api_base_url="{{ template_data.hubspotBaseUrl }}",
            show_signature_box="{{ QUOTE_PROPS.hs_show_signature_box }}",
            show_countersignature_box="{{ QUOTE_PROPS.hs_show_countersignature_box }}",
            show_esign="{{ QUOTE_PROPS.hs_esign_enabled }}",
            contact_signers_preview="{{ template_data.quoteAssociatedObjects.contactSigners }}",
            user_signers_preview="{{ template_data.quoteAssociatedObjects.userSigners }}"
        %}

        {{ standard_footer_includes }}

    </body>

 

0 Upvotes
ethankopit
HubSpot Product Team
HubSpot Product Team

Quote list is broke

@JMartin93 that's odd. The list pulls templates that have a "templateType" of "proposal" or "quote" - do your templates have that? Example below.

jmclaren
HubSpot Employee
HubSpot Employee

Quote list is broke

Hey @JMartin93 are you still experiencing this issue?

Jon McLaren

Sr. CMS Developer Advocate

Get started developing on the HubSpot CMS Developer Changelog
How to optimize your CMS Hub site for speed

If my reply answered your question, please mark it as a solution, to make it easier for others to find.

JMartin93
Participant

Quote list is broke

Yes we are still having this issue, though it seems to be intermittent

0 Upvotes