Skip to content

Instantly share code, notes, and snippets.

@davidparys
Created March 4, 2025 12:53
Show Gist options
  • Save davidparys/d228410d11f486ad2cf735b08281534b to your computer and use it in GitHub Desktop.
Save davidparys/d228410d11f486ad2cf735b08281534b to your computer and use it in GitHub Desktop.
<!-- invoice -->
<html>
<head>
<link href='https://my.sevdesk.de/assets/fonts/OpenSans.css' rel='stylesheet' type='text/css'>
<style>
@font-face {
font-family: 'ocrb';
src: url('https://my.sevdesk.de/assets/fonts/OcrB/ocrb.ttf');
}
@media print {
@page {
size: A4 portrait;
margin: 50mm 17mm 35mm 20mm;
@top-left {
content: element(headerIdentifier);
}
@bottom-left {
content: element(footerIdentifier);
}
@left-middle {
content: element(foldlinesIdentifier);
}
}
}
.foldline1 {
position: absolute;
left: 0;
top: 55mm;
width: 4mm;
border-bottom: 1px solid #000;
}
.foldline2 {
position: absolute;
left: 0;
top: 160mm;
width: 4mm;
border-bottom: 1px solid #000;
}
.foldline3 {
position: absolute;
left: 0;
top: 98.5mm;
width: 7mm;
border-bottom: 1px solid #000;
}
aside.foldlines {
position: running(foldlinesIdentifier);
}
body.main {
font-family: 'Open Sans', arial, sans-serif;
counter-reset: position;
margin: 2px 8px 8px 8px;
}
header {
position: running(headerIdentifier);
width: 100%;
font-size: 23pt;
text-align: right;
}
footer {
position: running(footerIdentifier);
width: 100%;
font-size: 7pt;
line-height: 10pt;
height: 35mm;
overflow: hidden;
}
footer table {
width: 100%;
color: #707070;
}
footer table td {
width: 25%;
}
footer .pagecount {
text-align: right;
width: 100%;
}
h1 {
font-size: 12pt;
font-weight: bold;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
div.addressline {
font-size: 6pt;
position: absolute;
top: -2mm;
left: 1mm;
max-width: 87mm;
white-space: pre-wrap;
}
div.recipient {
font-size: 9pt;
position: absolute;
top: 10mm;
left: 1mm;
max-width: 87mm;
white-space: pre-wrap;
word-wrap: anywhere;
}
div.descbox {
position: absolute;
top: -15mm;
right: 0;
width: 65mm;
font-size: 7pt;
}
div.descbox table {
width: 100%;
}
div.descbox table tr {
margin: 3px 0;
}
div.descbox table tr td {
width: 50%;
word-wrap: anywhere;
}
.url-qrcodeWrapper {
height: 14mm;
text-align: right;
margin-bottom: 3mm;
}
.url-qrcode {
width: 14mm;
}
.epcQr {
height: 80px;
text-align: right;
margin-bottom: 6px;
}
hr.invisible {
visibility: hidden;
clear: both;
margin: 0;
height: 40mm;
}
.headText {
font-size: 9pt;
word-wrap: anywhere;
}
.footText {
font-size: 9pt;
word-wrap: anywhere;
}
.headText table th,
.footText table th {
text-align: left;
}
table tr {
vertical-align: top;
}
td.right {
text-align: right;
}
table.postable {
font-size: 9pt;
width: 100%;
border-collapse: collapse;
margin: 4mm 0;
}
table.postable tr {
line-height: 6mm;
padding: 0 2mm;
}
table.postable td {
padding: 0 1mm;
vertical-align: top;
word-wrap: anywhere;
word-break: break-all;
}
tr.postheader {
background-color: #EBEBEB;
font-weight: bold;
}
tr.postheader td {
white-space: nowrap;
}
table.postable .position {
page-break-inside: auto;
}
table.postable .position td {
padding-bottom: 2mm;
}
table.postable tbody .posnr {
padding-left: 2mm;
}
table.postable .postext {
line-height: 14pt;
white-space: pre-wrap;
word-break: break-all;
max-width: 90mm;
}
table.postable tbody .discount {
font-size: 7pt;
line-height: 10pt;
}
table.postable tfoot {
page-break-inside: avoid;
display: table-row-group;
}
table.postable tfoot .line {
border-top: 1px solid #EBEBEB;
height: 2pt;
}
table.postable tfoot .totalnet,
table.postable tfoot .discountnet {
background-color: #EBEBEB;
}
table.postable tfoot .total {
background-color: #EBEBEB;
font-weight: bold;
}
table.postable tfoot .totalnetPosSum {
background-color: #EBEBEB;
border-bottom: 1px solid #000;
}
h1.partialInvoiceCalculation {
margin-top: 10mm;
}
table.partialheader {
page-break-inside: avoid;
font-size: 9pt;
width: 100%;
border-collapse: collapse;
}
table.partialheader tr {
line-height: 6mm;
padding: 0 2mm;
}
table.partialheader .partialPosition td {
border-top: 1px solid #EBEBEB;
}
table.sum_table {
margin: 10mm 0 0 0;
page-break-inside: avoid;
font-size: 9pt;
width: 100%;
border-collapse: collapse;
}
table.sum_table tr {
line-height: 6mm;
}
table.sum_table td {
padding: 0 1mm;
}
table.sum_table thead tr td {
background-color: #EBEBEB;
font-weight: bold;
}
table.sum_table tr:nth-child(odd) {
background-color: transparent;
}
table.sum_table tr:nth-child(even) {
background-color: #EBEBEB;
}
table.sum_table .remaining_amount_net td {
padding-top: 5mm;
}
table.sum_table .remaining_amount {
background-color: transparent !important;
font-weight: bold;
}
table.sum_table .remaining_amount_gross {
border-bottom: double 4px #000;
}
table.partialheader tr td {
padding: 0.5mm;
word-wrap: anywhere;
}
table.partialheader tr.discount {
line-height: 2mm;
font-size: 8pt;
}
table.partialheader thead tr td {
background-color: #EBEBEB;
font-weight: bold;
}
table.partialheader tbody tr.sum_row {
border-top: 1px solid #EBEBEB;
font-weight: bold;
}
table.partialheader tbody tr.sum_row_partial {
border-top: 1px solid #EBEBEB;
border-bottom: 1px solid #EBEBEB;
font-weight: bold;
}
div.shortPay {
font-size: 9pt;
line-height: 2.5;
position: relative;
}
div.centered {
position: absolute;
color: white;
font-size: 8pt;
font-weight: bold;
bottom: 36px;
left: 31px;
}
.newPage {
position: relative;
height: 297mm;
width: 210mm;
}
.paymentSlip-wrapper {
position: absolute;
left: -22mm !Important;
bottom: -141mm !important;
height: 297mm;
width: 210mm;
}
.paymentSlip-content {
position: relative;
background-image: url(https://my.sevdesk.de/images/invoice/templates/einzahlungsschein.png);
background-size: 100%;
max-width: 210mm !important;
width: 210mm;
height: 106mm;
max-height: 106mm;
overflow: hidden;
display: table;
}
.paymentSlip-content-v2 {
position: relative;
background: white !important;
background-size: 100%;
max-width: 210mm !important;
width: 210mm;
height: 106mm;
max-height: 106mm;
overflow: hidden;
display: table;
}
.paymentSlip-table-parent {
position: relative;
display: table-row;
width: 210mm;
}
.paymentSlip-table-wrapper {
position: relative;
display: table-cell;
width: 123mm;
}
.paymentSlip-table-wrapper2 {
position: relative;
display: table-cell;
}
.paymentSlip-table {
font-size: 8.5pt !important;
font-weight: lighter;
border-collapse: collapse !important;
border-spacing: 0 !important;
}
.paymentSlip-table-row {
min-height: 30px;
vertical-align: top;
}
.paymentSlip-table-row>* {
padding-left: 2mm;
vertical-align: top;
}
.ocrFont {
font-family: 'ocrb' !important;
}
</style>
</head>
<body class="main">
<!-- running-elements -->
<header>
<img src="https://balancehorsemanship.shop/cdn/shop/files/Frame_56_5a77d171-6205-4d4e-be06-0ed641df9633.png?v=1728846371&width=600"
style="height: 50px; margin-bottom: 20px;" alt="Balance Horsemanship Logo" />
</header>
{{#parameter.printFoldLines_Y}}
<aside class="foldlines">
<hr class="foldline1" />
<hr class="foldline2" />
<hr class="foldline3" />
</aside>
{{/parameter.printFoldLines_Y}}
<footer>
{{#parameter.printPageNumbers_Y}}
<div class="pagecount">
{{# i18n }}Page{{/ i18n}} <span class="page" /> {{# i18n }}PageOf{{/ i18n}} <span class="totalPages" />
</div>
{{/parameter.printPageNumbers_Y}}
{{#parameter.printFooter_Y}}
<table>
<tr>
<td>
{{data.client.name}}<br />
{{#data.client.name_addition}}
{{data.client.name_addition}}<br />
{{/data.client.name_addition}}
{{data.client.address_street}}<br />
{{data.client.address_zip}} {{data.client.address_city}} <br />
{{data.client.address_country}}
</td>
<td>
{{#data.client.contact_phone}}
{{# i18n }}Tel.{{/ i18n}}: {{data.client.contact_phone}}<br />
{{/data.client.contact_phone}}
{{#data.client.contact_fax}}
{{# i18n }}Fax.{{/ i18n}}: {{data.client.contact_fax}}<br />
{{/data.client.contact_fax}}
{{#data.client.contact_email}}
{{# i18n }}E-Mail.{{/ i18n}}: {{data.client.contact_email}}<br />
{{/data.client.contact_email}}
{{#data.client.website}}
{{# i18n }}Web{{/ i18n}}: {{data.client.website}}
{{/data.client.website}}
</td>
<td>
{{#data.client.district_court}}
{{data.client.district_court}}<br />
{{/data.client.district_court}}
{{#data.client.company_register}}
{{# i18nForCompanyRegister }}{{data.client.address_country_translation_code}}{{/
i18nForCompanyRegister}}: {{data.client.company_register}}<br />
{{/data.client.company_register}}
{{#data.client.vat_number}}
{{# i18n }}VAT.-ID{{/ i18n}}: {{data.client.vat_number}}<br />
{{/data.client.vat_number}}
{{#data.client.tax_number}}
{{# i18n }}Tax-No.{{/ i18n}}: {{data.client.tax_number}}<br />
{{/data.client.tax_number}}
{{#data.client.ceo_name}}
{{#data.client.is_owner}}
{{# i18n }}Owner{{/ i18n}}: {{data.client.ceo_name}}
{{/data.client.is_owner}}
{{#data.client.is_ceo}}
{{# i18n }}CEO{{/ i18n}}: {{data.client.ceo_name}}
{{/data.client.is_ceo}}
{{/data.client.ceo_name}}
</td>
<td>
{{#data.client.bank}}
{{data.client.bank}}<br />
{{/data.client.bank}}
{{#data.client.bank_account_number}}
{{# i18n }}Account no.{{/ i18n}}: {{data.client.bank_account_number}}<br />
{{/data.client.bank_account_number}}
{{#data.client.bank_number}}
{{# i18n }}Bank no.{{/ i18n}}: {{data.client.bank_number}}<br />
{{/data.client.bank_number}}
{{#data.client.bank_iban}}
IBAN: {{data.client.bank_iban}}<br />
{{/data.client.bank_iban}}
{{#data.client.bank_bic}}
BIC: {{data.client.bank_bic}}<br />
{{/data.client.bank_bic}}
</td>
</tr>
</table>
{{/parameter.printFooter_Y}}
</footer>
<!-- end running-elements -->
<!-- header first page -->
{{#parameter.printDeliveryReturn_Y}}
<div class="addressline">{{data.client.name}} - {{data.client.address_street}} - {{data.client.address_zip}}
{{data.client.address_city}}</div>
{{/parameter.printDeliveryReturn_Y}}
<div class="recipient">{{data.object.address}}{{#data.it}}{{#data.object.vat_number}}<br /><span
style="font-size: 14px;">VAT: {{data.object.vat_number}}</span>{{/data.object.vat_number}}{{/data.it}}</div>
<div class="descbox">
<div class="url-qrcodeWrapper">
{{#parameter.qrCode_Y}}
<a href="{{data.object.qr_url}}" class="qrcode url-qrcode"></a>
{{/parameter.qrCode_Y}}
</div>
<table>
<tr style="font-size:11pt;">
<td>{{# i18n }}Invoice Nr.{{/ i18n}}</td>
<td class="right">{{data.object.invoice_number}}</td>
</tr>
<tr>
<td>{{# i18n }}Invoicedate{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.invoice_date}}{{/ date }}</td>
</tr>
{{#data.object.customer_internal_note}}
<tr>
<td>{{# i18n }}customer_internal_note{{/ i18n}}</td>
<td class="right">{{data.object.customer_internal_note}}</td>
</tr>
{{/data.object.customer_internal_note}}
{{#data.object.delivery_date}}
{{#data.object.delivery_date_until}}
<tr>
<td>{{# i18n }}DeliverydateUntil{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.delivery_date}}{{/ date }} - {{# date
}}{{data.object.delivery_date_until}}{{/ date }}</td>
</tr>
{{/data.object.delivery_date_until}}
{{^data.object.delivery_date_until}}
<tr>
<td>{{# i18n }}Deliverydate{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.delivery_date}}{{/ date }}</td>
</tr>
{{/data.object.delivery_date_until}}
{{/data.object.delivery_date}}
<tr style="height:3mm;">
<td colspan="2"></td>
</tr>
{{#parameter.printCustomerNumber_Y}}
<tr>
<td>{{# i18n }}Your customer no.{{/ i18n}}</td>
<td class="right">{{data.object.customer_number}}</td>
</tr>
{{/parameter.printCustomerNumber_Y}}
{{#data.object.vat_number}}
<tr>
<td>{{# i18n }}Your VAT-ID{{/ i18n}}</td>
<td class="right">{{data.object.vat_number}}</td>
</tr>
{{/data.object.vat_number}}
{{#parameter.printContactPerson_Y}}
<tr>
<td>{{# i18n }}Your contact{{/ i18n}}</td>
<td class="right">{{data.object.contact_person}}</td>
</tr>
{{/parameter.printContactPerson_Y}}
</table>
</div>
<!-- end header first page -->
<hr class="invisible" />
<h1>{{data.object.header}}</h1>
<div class="headText">
{{{data.object.head_text}}}
</div>
<!-- position table -->
<table class="postable">
<thead>
<tr class="postheader">
<td style="width: 8mm;">{{# i18n }}Pos.{{/ i18n}}</td>
{{#parameter.printPartNumber_Y}}
<td style="width: 15mm;">{{# i18n }}Article{{/ i18n}}</td>
<td style="width: 40mm;">{{# i18n }}Description{{/ i18n}}</td>
{{/parameter.printPartNumber_Y}}
{{^parameter.printPartNumber_Y}}
<td style="width: 55mm;" colspan="2">{{# i18n }}Description{{/ i18n}}</td>
{{/parameter.printPartNumber_Y}}
<td style="width:17mm;" class="right">{{# i18n }}Quantity{{/ i18n}}</td>
<td style="width:25mm;" class="right">{{# i18n }}Unit price{{/ i18n}}</td>
<td style="width:26mm;" class="right">{{# i18n }}Total price{{/ i18n}}</td>
</tr>
</thead>
<tbody>
{{#data.object.positions}}
<tr class="position">
{{#pos_nr}}
<td class="posnr">{{pos_nr}}.</td>
{{#parameter.printPartNumber_Y}}
<td>{{part_number}}</td>
<td><span style="font-weight: bold;">{{{name}}}</span>
<div class="postext">{{{text}}}</div>
</td>
{{/parameter.printPartNumber_Y}}
{{^parameter.printPartNumber_Y}}
<td colspan="2"><span style="font-weight: bold;">{{{name}}}</span>
<div class="postext">{{{text}}}</div>
</td>
{{/parameter.printPartNumber_Y}}
<td class="right">
{{^hide_quantity}}
{{#numberformat}}{{quantity}}{{/numberformat}}
{{/hide_quantity}}
{{unity_name}}
</td>
<td class="right">{{#currencyformat}}{{tax_price}}{{/currencyformat}}</td>
<td class="right">
{{#currencyformat}}{{total}}{{/currencyformat}}
{{#discount}}
<div class="discount">
({{# i18n }}Discount{{/ i18n}}{{#is_percentage}} {{discount}}% {{/is_percentage}}<br />
{{#currencyformat}}{{discounted_value}}{{/currencyformat}})
</div>
{{/discount}}
{{#parameter.printPosTax_Y}}
<div class="discount">
({{# i18n }}Tax{{/ i18n}} {{tax_rate}}%)<br />
</div>
{{/parameter.printPosTax_Y}}
</td>
{{/pos_nr}}
{{^pos_nr}}
<td colspan="6"><span style="font-weight: bold;">{{{name}}}</span>
<div class="postext">{{{text}}}</div>
</td>
{{/pos_nr}}
</tr>
{{/data.object.positions}}
</tbody>
<tfoot>
<tr class="line">
<td colspan="6"></td>
</tr>
{{#data.object.has_discounts}}
<tr class="discountnet">
<td></td>
<td colspan="4">{{# i18n }}Sum positions{{/ i18n}}</td>
{{#data.object.show_net}}
<td class="right">{{#currencyformat}}{{data.object.total_withoutdisc_net}}{{/currencyformat}}</td>
{{/data.object.show_net}}
{{^data.object.show_net}}
<td class="right">{{#currencyformat}}{{data.object.total_without_discount}}{{/currencyformat}}</td>
{{/data.object.show_net}}
</tr>
{{#data.object.discounts}}
<tr class="discount">
<td></td>
<td colspan="3">{{ text }}</td>
<td class="right" colspan="2">
{{#percentage}}
{{value}} % ({{#currencyformat}}{{value_relative}}{{/currencyformat}})
{{/percentage}}
{{^percentage}}
{{#currencyformat}}{{value}}{{/currencyformat}}
{{/percentage}}
</td>
</tr>
{{/data.object.discounts}}
{{/data.object.has_discounts}}
{{#data.object.show_net}}
<tr class="totalnet">
<td></td>
<td colspan="4">{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_net}}{{/currencyformat}}</td>
</tr>
{{/data.object.show_net}}
{{^data.object.show_net}}
{{^data.object.has_discounts}}
{{^data.object.propertyShowGrossInvoicePosSum}}
<tr class="totalnet">
<td></td>
<td colspan="4">{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_net}}{{/currencyformat}}</td>
</tr>
{{/data.object.propertyShowGrossInvoicePosSum}}
{{#data.object.propertyShowGrossInvoicePosSum}}
<tr class="discountnet">
<td></td>
<td colspan="4">{{# i18n }}Sum positions{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_without_discount}}{{/currencyformat}}</td>
</tr>
{{/data.object.propertyShowGrossInvoicePosSum}}
{{/data.object.has_discounts}}
{{#data.object.has_discounts}}
<tr class="totalnet">
<td></td>
<td colspan="4">{{# i18n }}Gross with discounts{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total}}{{/currencyformat}}</td>
</tr>
{{/data.object.has_discounts}}
{{/data.object.show_net}}
{{#tax_type_rule}}
<tr class="vat">
<td></td>
<td colspan="4">TAX_TYPE_RULE_DESCRIPTION_PLACEHOLDER</td>
<td class="right">TAX_TYPE_RULE_VALUE_PLACEHOLDER</td>
</tr>
{{/tax_type_rule}}
{{^data.object.show_net}}
{{^data.object.has_discounts}}
{{#data.object.propertyShowGrossInvoicePosSum}}
<tr class="totalnetPosSum">
<td></td>
<td colspan="4">{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_net}}{{/currencyformat}}</td>
</tr>
{{/data.object.propertyShowGrossInvoicePosSum}}
{{/data.object.has_discounts}}
{{#data.object.has_discounts}}
<tr class="totalnetPosSum">
<td></td>
<td colspan="4">{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_net}}{{/currencyformat}}</td>
</tr>
{{/data.object.has_discounts}}
{{/data.object.show_net}}
<tr class="total">
<td></td>
<td colspan="4">{{# i18n }}Total gross{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total}}{{/currencyformat}}</td>
</tr>
</tfoot>
</table>
<!-- end position table -->
<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
{{#data.use_new_calculation}}
<!-- calculation for final invoices -->
{{#data.object.is_final_invoice}}
{{#data.object.related_final_invoice_variables.layout_type_AR}}
<h1 class="partialInvoiceCalculation">{{# i18n }}InterimInvoiceCalculation{{/ i18n }}</h1>
{{/data.object.related_final_invoice_variables.layout_type_AR}}
{{^data.object.related_final_invoice_variables.layout_type_AR}}
<h1 class="partialInvoiceCalculation">{{# i18n }}PartialInvoiceCalculation{{/ i18n }}</h1>
{{/data.object.related_final_invoice_variables.layout_type_AR}}
{{#data.object.related_final_invoice_variables.layout_type_AR}}
<!-- table for AR -->
<table class="partialheader">
<thead>
<tr>
<td style="width: 14mm; padding-left: 1mm;">{{# i18n }}Date{{/ i18n}}</td>
<td style="width: 20mm;">{{# i18n }}Invoice Nr.{{/ i18n}}</td>
<td style="width: 25mm;" class="right">{{# i18n }}InvoiceSumGross{{/ i18n}}</td>
<td style="width: 11.5mm; padding-left: 1mm;" class="right">{{# i18n }}TaxRateSplit{{/ i18n}}</td>
<td style="width: 21.5mm;" class="right">{{# i18n }}PaymentNet{{/ i18n}}</td>
<td style="width: 17mm; padding-left: 1mm;" class="right">{{# i18n }}vat{{/ i18n}}</td>
<td style="width: 22mm; padding-right: 1mm;" class="right">{{# i18n }}PaymentGross{{/ i18n}}</td>
</tr>
</thead>
<tbody>
{{#data.object.related_final_invoice_documents}}
<tr class="partialPosition">
<td style="padding-left: 1mm;">{{date_day_month}}{{date_year}}</td>
<td>{{invoice_number}}</td>
{{#isCreditNote}}
<td class="right">{{#currencyformat}}{{grossCn}}{{/currencyformat}}</td>
<td style="padding-left: 2mm;" class="right"></td>
<td class="right">{{#currencyformat}}{{netCn}}{{/currencyformat}}</td>
<td style="padding-left: 1mm;" class="right"></td>
<td style="padding-right: 1mm;" class="right">{{#currencyformat}}{{vatCn}}{{/currencyformat}}</td>
{{/isCreditNote}}
{{^isCreditNote}}
{{#tax_groups}}
<td class="right">{{#currencyformat}}{{gross}}{{/currencyformat}}</td>
<td style="padding-left: 2mm;" class="right">{{tax_rate}}%</td>
<td class="right">{{#currencyformat}}{{paid_net}}{{/currencyformat}}</td>
<td style="padding-left: 1mm;" class="right">{{#currencyformat}}{{paid_tax}}{{/currencyformat}}</td>
<td style="padding-right: 1mm;" class="right">{{#currencyformat}}{{paid_gross}}{{/currencyformat}}</td>
</tr>
<tr>
<td colspan="2"></td>
{{/tax_groups}}
</tr>
{{/isCreditNote}}
{{#has_discount}}
<tr>
<td colspan="1">
<td style="padding: 0 1mm;" class="left">{{# i18n }}included discount{{/ i18n}}</td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{discount_gross}}{{/currencyformat}}</td>
</tr>
{{/has_discount}}
</tr>
{{/data.object.related_final_invoice_documents}}
<!-- sum AR -->
<tr class="sum_row">
<td colspan="4">{{# i18n }}SumPaymentsMade{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_net}}{{/currencyformat}}
</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_tax}}{{/currencyformat}}
</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_gross}}{{/currencyformat}}
</td>
</tr>
</tbody>
</table>
<!-- sum_table AR -->
<table class="sum_table">
<thead>
<tr class="sum_table_row">
<td style="width: 112mm;">{{# i18n }}Description{{/ i18n}}</td>
<td class="right" style="width: 19mm;">{{# i18n }}Amount{{/ i18n}}</td>
</tr>
</thead>
<tbody>
<tr>
<td>{{# i18n }}FinalInvoiceSumGross{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total}}{{/currencyformat}}</td>
</tr>
{{#data.object.related_final_invoice_variables.has_discount}}
<tr>
<td>{{# i18n }}ARInvoiceDiscounts{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_discounts}}{{/currencyformat}}
</td>
</tr>
{{/data.object.related_final_invoice_variables.has_discount}}
<tr>
<td>{{# i18n }}SumPaymentsMadeGross{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_gross}}{{/currencyformat}}
</td>
</tr>
<tr class="remaining_amount_net">
<td>{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.remaining_claim_net}}{{/currencyformat}}
</td>
</tr>
{{#data.object.related_final_invoice_variables.remaining_claim_tax_array}}
<tr>
<td>{{# i18n }}PlusVat{{/ i18n}} {{tax_rate}} %</td>
<td class="right">{{#currencyformat}}{{tax_amount}}{{/currencyformat}}</td>
</tr>
{{/data.object.related_final_invoice_variables.remaining_claim_tax_array}}
<tr class="remaining_amount">
<td>{{# i18n }}RemainingAmountCaps{{/ i18n}}</td>
<td class="right remaining_amount_gross">
{{#currencyformat}}{{data.object.related_final_invoice_variables.remaining_claim_gross}}{{/currencyformat}}
</td>
</tr>
</tbody>
</table>
<!-- end of table for AR -->
{{/data.object.related_final_invoice_variables.layout_type_AR}}
{{^data.object.related_final_invoice_variables.layout_type_AR}}
<!-- table for TR -->
<table class="partialheader">
<thead>
<tr>
<td style="width: 17mm; padding: 0 1mm;">{{# i18n }}Date{{/ i18n}}</td>
<td style="width: 31mm; padding: 0 1mm;">{{# i18n }}Invoice Nr.{{/ i18n}}</td>
<td style="width: 14mm; padding: 0 1mm;" class="right">{{# i18n }}TaxRate{{/ i18n}}</td>
<td style="width: 25mm; padding: 0 1mm;" class="right">{{# i18n }}net{{/ i18n}}</td>
<td style="width: 19mm; padding: 0 1mm;" class="right">{{# i18n }}vat{{/ i18n}}</td>
<td style="width: 25mm; padding: 0 1mm;" class="right">{{# i18n }}gross{{/ i18n}}</td>
</tr>
</thead>
<tbody>
{{#data.object.related_final_invoice_documents}}
<tr class="partialPosition">
<td style="padding-left: 1mm;">{{date_day_month}}{{date_year}}</td>
<td style="padding: 0 1mm;">{{invoice_number}}</td>
{{#isCreditNote}}
<td style="padding: 0 1 0 2mm;" class="right"></td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{netCn}}{{/currencyformat}}</td>
<td style="padding: 0 1mm;" class="right"></td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{grossCn}}{{/currencyformat}}</td>
{{/isCreditNote}}
{{^isCreditNote}}
{{#tax_groups}}
<td style="padding: 0 1 0 2mm;" class="right">{{tax_rate}}%</td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{net}}{{/currencyformat}}</td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{tax}}{{/currencyformat}}</td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{gross}}{{/currencyformat}}</td>
</tr>
<tr>
<td colspan="2">
{{/tax_groups}}
</tr>
{{/isCreditNote}}
{{#has_discount}}
<tr>
<td colspan="1">
<td style="padding: 0 1mm;" class="left">{{# i18n }}included discount{{/ i18n}}</td>
<td style="padding: 0 1mm;" class="right"></td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{discount_net}}{{/currencyformat}}</td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{discount_vat}}{{/currencyformat}}</td>
<td style="padding: 0 1mm;" class="right">{{#currencyformat}}{{discount_gross}}{{/currencyformat}}</td>
</tr>
{{/has_discount}}
</tr>
{{/data.object.related_final_invoice_documents}}
<!-- sum TR -->
<tr class="sum_row_partial">
<td colspan="3">{{# i18n }}PartialInvoiceSum{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_net}}{{/currencyformat}}
</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_tax}}{{/currencyformat}}
</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_gross}}{{/currencyformat}}
</td>
</tr>
<!--
<tr>
<td colspan="3">{{# i18n }}PartialInvoiceSumRemaining{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.related_final_invoice_variables.remaining_net}}{{/currencyformat}}</td>
<td class="right">{{#currencyformat}}{{data.object.related_final_invoice_variables.remaining_tax}}{{/currencyformat}}</td>
<td class="right">{{#currencyformat}}{{data.object.related_final_invoice_variables.remaining_gross}}{{/currencyformat}}</td>
</tr>
-->
</tbody>
</table>
<!-- sum_table for TR -->
<table class="sum_table">
<thead>
<tr class="sum_table_row">
<td style="width: 112mm;">{{# i18n }}Description{{/ i18n}}</td>
<td class="right" style="width: 19mm;">{{# i18n }}Amount{{/ i18n}}</td>
</tr>
</thead>
<tbody>
<tr>
<td>{{# i18n }}FinalInvoiceSumGross{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total}}{{/currencyformat}}</td>
</tr>
{{#data.object.related_final_invoice_variables.has_discount}}
<tr>
<td>{{# i18n }}TRInvoiceDiscounts{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_discounts}}{{/currencyformat}}
</td>
</tr>
{{/data.object.related_final_invoice_variables.has_discount}}
<tr>
<td>{{# i18n }}SummGrossPartialInvoice{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.sum_paid_gross}}{{/currencyformat}}
</td>
</tr>
<tr class="remaining_amount_net">
<td>{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">
{{#currencyformat}}{{data.object.related_final_invoice_variables.remaining_claim_net}}{{/currencyformat}}
</td>
</tr>
{{#data.object.related_final_invoice_variables.remaining_claim_tax_array}}
<tr>
<td>{{# i18n }}PlusVat{{/ i18n}} {{tax_rate}} %</td>
<td class="right">{{#currencyformat}}{{tax_amount}}{{/currencyformat}}</td>
</tr>
{{/data.object.related_final_invoice_variables.remaining_claim_tax_array}}
<tr class="remaining_amount">
<td>{{# i18n }}RemainingAmountCaps{{/ i18n}}</td>
<td class="right remaining_amount_gross">
{{#currencyformat}}{{data.object.related_final_invoice_variables.remaining_claim_gross}}{{/currencyformat}}
</td>
</tr>
</tbody>
</table>
<!-- end of table for TR -->
{{/data.object.related_final_invoice_variables.layout_type_AR}}
{{/data.object.is_final_invoice}}
{{/data.use_new_calculation}}
<!-- end calculation for final invoices -->
<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
{{^data.use_new_calculation}}
<!-- calculation for legacy final invoices -->
{{#data.object.is_final_invoice}}
{{#data.object.has_interim_invoice}}
<h1 class="partialInvoiceCalculation">{{# i18n }}InterimInvoiceCalculation{{/ i18n }}</h1>
{{/data.object.has_interim_invoice}}
{{#data.object.has_partial_invoice}}
<h1 class="partialInvoiceCalculation">{{# i18n }}PartialInvoiceCalculation{{/ i18n }}</h1>
{{/data.object.has_partial_invoice}}
<table class="partialheader">
<thead>
<tr>
<td style="width:55mm;"></td>
<td style="width:25mm;" class="right">{{# i18n }}net{{/ i18n}}</td>
<td style="width:25mm;" class="right">{{# i18n }}vat{{/ i18n}}</td>
<td style="width:25mm;" class="right">{{# i18n }}gross{{/ i18n}}</td>
</tr>
</thead>
<tbody>
{{#data.object.partial_invoices}}
<tr>
<td style="width:55mm;">- {{header}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{net}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{vat}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{gross}}{{/currencyformat}}</td>
</tr>
{{#has_discount}}
<tr class="discount">
<td style="width:55mm;">({{# i18n }}included discount{{/ i18n}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{discount_net}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{discount_vat}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{discount_gross}}{{/currencyformat}})</td>
</tr>
<tr style="height: 2mm;"></tr>
{{/has_discount}}
{{/data.object.partial_invoices}}
{{#data.object.credit_notes}}
<tr>
<td style="width:55mm;">- {{headerCn}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{netCn}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{vatCn}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{grossCn}}{{/currencyformat}}</td>
</tr>
{{#has_discount}}
<tr class="discount">
<td style="width:55mm;">({{# i18n }}included discount{{/ i18n}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{discount_net}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{discount_vat}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{discount_gross}}{{/currencyformat}})</td>
</tr>
<tr style="height: 2mm;"></tr>
{{/has_discount}}
{{/data.object.credit_notes}}
<tr class="sum_row">
<td style="width:55mm;">{{# i18n }}RemainingAmount{{/ i18n}}</td>
<td style="width:25mm;" class="right">
{{#currencyformat}}{{data.object.partial_calc_net}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">
{{#currencyformat}}{{data.object.partial_calc_tax}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">
{{#currencyformat}}{{data.object.partial_calc_gross}}{{/currencyformat}}</td>
</tr>
</tbody>
</table>
{{/data.object.is_final_invoice}}
{{/data.use_new_calculation}}
<!-- end calculation for legacy final invoices -->
<div class="footText">
{{#data.object.delivery_equal_invoice}}
{{# i18n }}Delivery date footer text{{/ i18n}}<br />
{{/data.object.delivery_equal_invoice}}
{{#data.object.payment_method_text}}
{{data.object.payment_method_text}}<br />
{{/data.object.payment_method_text}}
{{#data.object.paymentterms}}
{{data.object.paymentterms}}<br />
{{/data.object.paymentterms}}
{{{data.object.foot_text}}}
</div>
<!-- end footer text -->
{{#parameter.epcQrCode_Y}}
{{#data.epc_qr.show}}
<img src="{{data.epc_qr.img_base64}}" class="epcQr" />
{{/data.epc_qr.show}}
{{/parameter.epcQrCode_Y}}
<!-- second page swiss payment -->
{{#data.object.esr.config}}
{{#parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
<div class='newPage'>
<div class='paymentSlip-wrapper'>
{{#parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
<div class='paymentSlip-content-v2'>
{{/parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
{{^parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
<div class='paymentSlip-content'>
{{/parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
<div class="paymentSlip-table-parent">
<div class='paymentSlip-table-wrapper'>
<table class="paymentSlip-table">
<tr style='height: 9mm'></tr>
{{#data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:50px!important; width: 500px;">
<td style="width: 50%;">
<span>&nbsp;</span><br>
<span>&nbsp;</span><br><br>
</td>
<td style="width: 50%;">
<span>&nbsp;</span><br>
<span>&nbsp;</span><br><br>
</td>
</tr>
{{/data.object.esr.is_esr}}
{{^data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:50px!important; width: 500px;">
<td style="padding-left:5mm;!important">
<span>{{data.client.bank}}</span><br>
<span>{{data.object.esr.address_zip_credit}}
{{data.object.esr.address_city_credit}}</span><br><br>
</td>
<td style="padding-left:5mm;!important">
<span>{{data.client.bank}}</span><br>
<span>{{data.object.esr.address_zip_credit}}
{{data.object.esr.address_city_credit}}</span><br><br>
</td>
</tr>
{{/data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:80px!important;">
<td style="width: 50%;line-height: 12pt;padding-left:5mm;!important">
<span>
{{data.client.name}}<br />
{{data.client.address_street}}<br />
{{data.client.address_zip}} {{data.client.address_city}} <br />
{{data.client.address_country}}
</span>
</td>
<td style="width: 50%;line-height: 12pt;padding-left:5mm;!important">
<span>
{{data.client.name}}<br />
{{data.client.address_street}}<br />
{{data.client.address_zip}} {{data.client.address_city}} <br />
{{data.client.address_country}}
</span>
</td>
</tr>
<tr class="paymentSlip-table-row">
<td style="text-align:right;padding-right:18mm;">
<span>{{data.object.esr.post_subscriber_number_bank}}</span>
</td>
<td style="text-align:right;padding-right:15mm;">
<span>{{data.object.esr.post_subscriber_number_bank}}</span>
</td>
</tr>
<tr style='height: 1mm'></tr>
<tr class="paymentSlip-table-row ocrFont" style="min-height:15px;">
<td class="ocrFont"
style="text-align:right;font-size:14px;font-weight: bold;vertical-align: middle!important;">
<span
style="padding-right: 6mm;letter-spacing: 5px">{{data.object.esr.data.sum}}</span>
<span
style="padding-right: 5mm;letter-spacing: 5px">{{data.object.esr.data.sumcomma}}</span>
</td>
<td class="ocrFont"
style="text-align:right;font-size:14px;font-weight: bold;vertical-align: middle!important;">
<span
style="padding-right: 7mm;letter-spacing: 5px">{{data.object.esr.data.sum}}</span>
<span
style="padding-right: 6mm;letter-spacing: 5px">{{data.object.esr.data.sumcomma}}</span>
</td>
</tr>
<tr style='height: 4mm'></tr>
<tr class="paymentSlip-table-row">
<td style="padding-left: 5mm!important;">
<span>{{data.object.esr.data.factura_two}}</span><br><br>
<span
style="line-height: 12px;white-space: pre-wrap;">{{data.object.address}}</span>
</td>
</tr>
</table>
</div>
<div class='paymentSlip-table-wrapper2'>
<table class="paymentSlip-table">
<tr style='height: 35mm'></tr>
<tr class="paymentSlip-table-row">
<td style="padding-left: 5mm!important;">
<span>{{data.object.esr.data.factura}}</span>
</td>
</tr>
<tr style='height: 8mm'></tr>
<tr class="paymentSlip-table-row">
<td style="padding-left: 5mm!important">
<span
style="line-height: 12px;white-space: pre-wrap;">{{data.object.address}}</span>
</td>
</tr>
</table>
</div>
</div>
<div class="ocrFont"
style="position: absolute; width: 210mm; height: 20.05mm; left: 0; bottom: 0; font-size: 1.0em!important;">
<div style="text-align: right; padding-right: 6.81mm;">
<span>{{data.object.esr.data.bignumber}}</span>
</div>
</div>
</div>
</div>
</div>
{{/parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
{{^parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
{{#parameter.printSwissPaymentSlip_SHOW_ESR}}
<div class='newPage'><!--auf dem Formular-->
<div class='paymentSlip-wrapper'>
<div class='paymentSlip-content'>
<div class="paymentSlip-table-parent">
<div class='paymentSlip-table-wrapper'>
<table class="paymentSlip-table">
<tr style='height: 8mm'></tr>
{{#data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:50px!important; width: 500px;">
<td style="width: 50%;">
<span>&nbsp;</span><br>
<span>&nbsp;</span><br><br>
</td>
<td style="width: 50%;">
<span>&nbsp;</span><br>
<span>&nbsp;</span><br><br>
</td>
</tr>
{{/data.object.esr.is_esr}}
{{^data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:50px!important; width: 500px;">
<td style="padding-left:5mm;!important">
<span>{{data.client.bank}}</span><br>
<span>{{data.object.esr.address_zip_credit}}
{{data.object.esr.address_city_credit}}</span><br><br>
</td>
<td style="padding-left:5mm;!important">
<span>{{data.client.bank}}</span><br>
<span>{{data.object.esr.address_zip_credit}}
{{data.object.esr.address_city_credit}}</span><br><br>
</td>
</tr>
{{/data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:80px!important;">
<td style="width: 50%;line-height: 12pt;padding-left:5mm;!important">
<span>
{{data.client.name}}<br />
{{data.client.address_street}}<br />
{{data.client.address_zip}} {{data.client.address_city}} <br />
{{data.client.address_country}}
</span>
</td>
<td style="width: 50%;line-height: 12pt;padding-left:5mm;!important">
<span>
{{data.client.name}}<br />
{{data.client.address_street}}<br />
{{data.client.address_zip}} {{data.client.address_city}} <br />
{{data.client.address_country}}
</span>
</td>
</tr>
<tr class="paymentSlip-table-row">
<td style="text-align:right;padding-right:18mm">
<span>{{data.object.esr.post_subscriber_number_bank}}</span>
</td>
<td style="text-align:right;padding-right:15mm">
<span>{{data.object.esr.post_subscriber_number_bank}}</span>
</td>
</tr>
<tr style='height: 1mm'></tr>
<tr class="paymentSlip-table-row ocrFont" style="min-height:15px;">
<td class="ocrFont"
style="text-align:right;font-size:14px;font-weight: bold;vertical-align: middle!important">
<span
style="padding-right: 6mm;letter-spacing: 5px">{{data.object.esr.data.sum}}</span>
<span
style="padding-right: 5mm;letter-spacing: 5px">{{data.object.esr.data.sumcomma}}</span>
</td>
<td class="ocrFont"
style="text-align:right;font-size:14px;font-weight: bold;vertical-align: middle!important">
<span
style="padding-right: 7mm;letter-spacing: 5px">{{data.object.esr.data.sum}}</span>
<span
style="padding-right: 6mm;letter-spacing: 5px">{{data.object.esr.data.sumcomma}}</span>
</td>
</tr>
<tr style='height: 4mm'></tr>
<tr class="paymentSlip-table-row">
<td style="padding-left:5mm;!important">
<span>{{data.object.esr.data.factura_two}}</span><br><br>
<span
style="line-height: 12px;white-space: pre-wrap;">{{data.object.address}}</span>
</td>
</tr>
</table>
</div>
<div class='paymentSlip-table-wrapper2'>
<table class="paymentSlip-table">
<tr style='height: 34mm'></tr>
<tr class="paymentSlip-table-row">
<td style="padding-left: 5mm!important">
<span>{{data.object.esr.data.factura}}</span>
</td>
</tr>
<tr style='height: 8mm'></tr>
<tr class="paymentSlip-table-row">
<td style="padding-left: 5mm!important">
<span
style="line-height: 12px;white-space: pre-wrap;">{{data.object.address}}</span>
</td>
</tr>
</table>
</div>
</div>
<div class="ocrFont"
style="position: absolute; width: 210mm; height: 20.05mm; left: 0; bottom: 0; font-size: 1.0em!important;">
<div style="text-align: right; padding-right: 6.81mm;">
<span>{{data.object.esr.data.bignumber}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
{{/parameter.printSwissPaymentSlip_SHOW_ESR}}
{{/parameter.printSwissPaymentSlip_SHOW_NO_IMG}}
{{/data.object.esr.config}}
<!-- end second page swiss payment -->
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment