{% extends "cpq/base.html" %}{% load cpq_extras %}{% block title %}{{ quote.number }}{% endblock %} {% block content %}

{{ quote.number }} {{ quote.status|label }}

{{ quote.title }} · {{ quote.customer.name }} · owner {{ quote.owner.get_full_name|default:quote.owner.username }} · {{ quote.currency }} · valid until {{ quote.valid_until }} · price book {{ quote.price_book.name }}

{% if owner %} {% if quote.editable %}Edit lines
{% csrf_token %}
{% endif %} {% if quote.status == 'approved' %}
{% csrf_token %}
{% endif %} {% if quote.status == 'sent' %}
{% csrf_token %}
{% csrf_token %}
{% endif %} {% if not quote.editable and quote.status != 'accepted' and quote.status != 'lost' and quote.status != 'expired' %}
{% csrf_token %}
{% endif %} {% endif %} Quote document

Lines · v{{ rev.version }}{% if not is_current %} (historic){% endif %}

{% for l in lines %} {% empty %}{% endfor %}
SKUItemQtyListNetDiscMarginTotal
{{ l.product.sku }}{{ l.product.name }} {% if l.product.type == 'subscription' %}
{% if l.ramp %}Ramp: {% for p in l.periods %}{{ p.label }} {{ p.qty }}×{{ p.unit_net|money:quote.currency }}{% if not forloop.last %}, {% endif %}{% endfor %}{% else %}{{ l.term_months }}-month term{% endif %}
{% endif %}
{{ l.qty }}{{ l.list_unit|money:quote.currency }}{{ l.net_unit|money:quote.currency }} {{ l.discount_pct|pct }}{{ l.margin_pct|pct }}{{ l.total|money:quote.currency }}
Price waterfall{% include "cpq/_waterfall.html" with steps=l.waterfall cur=quote.currency %}
No lines yet.

Totals

List value
{{ totals.list_total|money:quote.currency }}
Discount
{{ totals.discount_pct|pct }}
Net subtotal
{{ totals.subtotal|money:quote.currency }}
Tax
{{ totals.tax|money:quote.currency }}
Grand total
{{ totals.total|money:quote.currency }}
Margin
{{ totals.margin_pct|pct }}
TCV
{{ totals.tcv|money:quote.currency }}
ACV
{{ totals.acv|money:quote.currency }}
ARR
{{ totals.arr|money:quote.currency }}

Approvals

{% for a in approvals %}
{{ a.get_role_display }} {{ a.status|label }}
{% for r in a.reasons %}
{{ r }}
{% endfor %} {% if a.approver %}
{{ a.approver.get_full_name|default:a.approver.username }}{% if a.decided_at %}, {{ a.decided_at|date:"d M Y H:i" }}{% endif %}{% if a.comment %}: “{{ a.comment }}”{% endif %}
{% endif %} {% if a.can_act %}
{% csrf_token %}
{% endif %}
{% empty %}

{% if quote.status == 'draft' %}Not submitted.{% else %}No approvals were required: auto-approved within guardrails.{% endif %}

{% endfor %} {% if routing and quote.status == 'draft' %}

If submitted now

{% if routing.blocked %}{% for b in routing.blocked %}
Blocked: {{ b }}
{% endfor %} {% elif routing.required %}{% for r in routing.required %}
{{ r.role|label }}: {{ r.reasons|join:" | " }}
{% endfor %} {% else %}

Within guardrails: will be auto-approved.

{% endif %}{% endif %}

Revisions

{% if revisions|length > 1 %}Compare revisions{% endif %}

Timeline

{% endblock %}