updated quote print format

This commit is contained in:
Ty Reynolds
2026-01-22 09:41:05 -05:00
parent 5b70cd43fa
commit 372167f6fd

View File

@@ -1,49 +1,90 @@
<!DOCTYPE html> <style>
<html> /* Reserve space in PRINT/PDF so table does not overlap window address */
<head> @media print {
<meta charset="utf-8"> .window-address-space {
<title>Quotation</title> padding-top: 1in;
</head> }
}
</style>
<body style="font-family: Helvetica, Arial, sans-serif; font-size: 14px; color: #333;"> <div style="font-family: Helvetica, Arial, sans-serif; font-size: 12px; color: #333;">
<!-- HEADER --> {% set company_doc = frappe.get_doc("Company", company) %}
<table style="width:100%; border-bottom:1px solid #ccc; margin-bottom:12px;">
<!-- Header -->
<table style="width: 100%; border-bottom: 1px solid #ccc; margin-bottom: 10px;">
<tr> <tr>
<td> <td>
<h2 style="margin:0;">{{ doc.company }}</h2> <h2 style="margin: 0;"><strong>{{ company_doc.company_name }}</strong></h2>
{% if doc.company_address %} <p style="margin: 0; font-size: 14px;">
<p style="margin:0;">{{ doc.company_address }}</p> 1063 Chestnut Level Road, Quarryville PA 17566<br>
{% endif %} {% if company_doc.address %}{{ company_doc.address }}<br>{% endif %}
{% if company_doc.phone_no %}Phone: {{ company_doc.phone_no }}{% endif %}
{% if company_doc.email %} | Email: {{ company_doc.email }}{% endif %}
</p>
</td> </td>
<td style="text-align:right;"> <td style="text-align: right; font-size: 14px;">
<h1 style="margin:0;">QUOTATION</h1> <strong>Quotation:</strong>
<p style="margin:0;"><strong>Quote #:</strong> {{ doc.name }}</p> <span>{{ doc.name }}</span><br>
<p style="margin:0;"><strong>Date:</strong> {{ doc.transaction_date }}</p> <strong>Date:</strong> {{ frappe.utils.formatdate(doc.transaction_date, "MM-dd-yyyy") }}<br>
{% if doc.valid_till %} <strong>Valid Till:</strong>
<p style="margin:0;"><strong>Valid Till:</strong> {{ doc.valid_till }}</p> {{ frappe.utils.formatdate(doc.valid_till, "MM-dd-yyyy") if doc.valid_till else "" }}
{% endif %}
</td> </td>
</tr> </tr>
</table> </table>
<!-- CUSTOMER --> <!-- Valid Till / Terms -->
<table style="width:100%; margin-bottom:16px;"> <table style="width:100%; margin-top:-4px; margin-bottom:10px;">
<tr> <tr>
<td> <td style="width:60%;"></td>
<strong>Quote To:</strong><br> <td style="width:40%; text-align:right; font-size:15px; line-height:1.4;">
<strong>Terms:</strong>
{{ doc.payment_terms_template or "Net 30" }}
</td>
</tr>
</table>
<!-- WINDOW ADDRESS -->
<div style="
position:absolute;
top:1.5in;
left:1.125in;
width:4.5in;
height:1.25in;
font-size:15px;
line-height:1.15em;
overflow:hidden;
">
{{ doc.customer_name }}<br> {{ doc.customer_name }}<br>
{% if doc.customer_address %} {{ doc.address_display or doc.customer_address }}
{{ doc.customer_address }} </div>
<!-- PRINT SPACE -->
<div class="window-address-space">
{% if doc.terms or doc.note %}
<table style="width:100%; margin:0 0 6px 0;">
<tr>
<td style="font-size:14px; line-height:1.3;">
{% if doc.note %}
<div style="font-weight:bold;">
{{ doc.note }}
</div>
{% endif %}
{% if doc.terms %}
<div style="white-space:pre-line;">
{{ doc.terms }}
</div>
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
</table> </table>
{% endif %}
<!-- ITEMS TABLE --> <!-- Items Table -->
<table style="width:100%; border-collapse:collapse; font-size:14px;"> <table style="width:100%; border-collapse:collapse; margin-bottom:0;">
<thead> <thead>
<tr> <tr style="background-color:#f5f5f5;">
<th style="border:1px solid #ccc; padding:6px;">Item</th> <th style="border:1px solid #ccc; padding:6px;">Item</th>
<th style="border:1px solid #ccc; padding:6px;">Description</th> <th style="border:1px solid #ccc; padding:6px;">Description</th>
<th style="border:1px solid #ccc; padding:6px; text-align:right;">Qty</th> <th style="border:1px solid #ccc; padding:6px; text-align:right;">Qty</th>
@@ -54,21 +95,20 @@
<tbody> <tbody>
{% for row in doc.items %} {% for row in doc.items %}
<tr> <tr>
<td style="border:1px solid #ccc; padding:6px;">{{ row.item_code }}</td> <td style="border:1px solid #ccc; padding:6px; font-size:14px;">{{ row.item_code }}</td>
<td style="border:1px solid #ccc; padding:6px;">{{ row.item_name }}</td> <td style="border:1px solid #ccc; padding:6px; font-size:14px;">{{ row.item_name }}</td>
<td style="border:1px solid #ccc; padding:6px; text-align:right;">{{ row.qty }}</td> <td style="border:1px solid #ccc; padding:6px; font-size:14px; text-align:right;">{{ row.qty }}</td>
<td style="border:1px solid #ccc; padding:6px; text-align:right;">{{ row.rate }}</td> <td style="border:1px solid #ccc; padding:6px; font-size:14px; text-align:right;">{{ row.rate }}</td>
<td style="border:1px solid #ccc; padding:6px; text-align:right;">{{ row.amount }}</td> <td style="border:1px solid #ccc; padding:6px; font-size:14px; text-align:right;">{{ row.amount }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<!-- TOTALS --> <!-- Totals -->
<div style="font-size: 15px; margin-top: 8px; width: 40%; margin-left: auto;"> <div style="font-size:15px; margin-top:10px; width:40%; margin-left:auto;">
<p style="display:flex; justify-content:space-between;"> <p style="display:flex; justify-content:space-between;">
<strong>Subtotal:</strong> <strong>Subtotal:</strong><span>{{ doc.total }}</span>
<span>{{ doc.total }}</span>
</p> </p>
{% for tax in doc.taxes %} {% for tax in doc.taxes %}
@@ -79,17 +119,21 @@
{% endfor %} {% endfor %}
<p style="display:flex; justify-content:space-between;"> <p style="display:flex; justify-content:space-between;">
<strong>Total:</strong> <strong>Total:</strong><span>{{ doc.grand_total }}</span>
<span>{{ doc.grand_total }}</span>
</p> </p>
</div>
</div> <!-- end print space -->
<!-- Footer -->
<div style="margin-top:23px; font-size:10px; color:#777; text-align:center;">
<p style="white-space:pre-line; margin:0;">
This quotation is valid until the date listed above and subject to change thereafter.
Pricing does not include applicable taxes unless otherwise stated.
Thank you for considering NS Innovations.
</p>
</div>
</div> </div>
<!-- TERMS -->
{% if doc.terms %}
<hr>
<p><strong>Terms & Conditions</strong></p>
<p>{{ doc.terms }}</p>
{% endif %}
</body>
</html>