Wer über die Deutsche Post geschäftlich Briefe verschickt, hat womöglich schon einmal von der sogenannten DV-Freimachung gehört: Hierbei wird der Brief oder das Dokument durch ein digital erstelltes Freimachungs-Label entwertet.
Damit dieses Label sauber und automatisiert aufgedruckt werden kann, verlangt die Deutsche Post und andere Online-Briefdienstleister häufig einen fest definierten Freiraum im oberen Adressbereich zwischen Absenderzeile und Empfängerfeld.
Problem: Die offiziellen SevDesk-Standard- & Permium-Templates bieten diesen „Leerraum“ für die postkonforme Freimachungszone leider nicht an. SevDesk bietet für solche Sonderwünsche zwar individuelle Template-Anpassungen an, lässt sich diese Leistung allerdings bezahlen. Zudem warten – laut Homepage (Stand Januar 2025) – Nutzer derzeit rund fünf Wochen auf ein Angebot zur Erstellung eines personalisierten Layouts. Gerade für Neulinge und weniger „coding-affine“ Anwender ist das mühsam und dauert unverhältnismäßig lange.
Lösung: Weiter unten stelle ich Ihnen meine „auf eigene Faust“ leicht modifizierte DV-konformen Versionen der Originaltemplates (SevDesk-Version „Schwarz“) kostenfrei als HTML/CSS-Code zur Verfügung. In diesen habe ich den notwendigen Freiraum eingefügt, der für die DV-Freimachungszone benötigt wird.
Um diese angepassten Templates „im eigenen SevDesk“ zu nutzen, kopieren Sie jeweils den vollständigen untenstehenden Code bei sich in SevDesk unter Einstellungen -> Briefpapier -> Layouts -> Selbst erstellte Layouts in das jeweilige Formular und speichern es ab. Mit einem weiteren Klick auf das Thumbnail in der Layout-Übersicht können Sie das modifizierte DV-Freimachungslayout als „Standard“ abspeichern.
Inhalt
SevDesk-Template „Rechnung“
Original-Template mit modifiziertem Adressfeld, sodass dies DPAG-konform positioniert ist, und ausreichend Platz (17 mm Leerfläche) für die Deutsche Post DV-Freimachung bietet:
<!-- invoice -->
<html>
<head>
<link href='https://my.sevdesk.de/assets/fonts/RobotoCondensed.css' rel='stylesheet' type='text/css'>
<style>
@font-face {
font-family: 'ocrb';
src: url('https://my.sevdesk.de/assets/fonts/OcrB/ocrb.ttf');
}
/*
* Die ursprünglichen Seitenränder bleiben bestehen:
* 50mm oben, 17mm rechts, 35mm unten, 20mm links.
*/
@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: 'Roboto Condensed', 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%;
color: #666666;
}
h1 {
font-size: 12pt;
font-weight: 700;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
/*
* Adress- und Absenderfelder inkl. DV-Freimachung
* ----------------------------------------------
* Wir erhalten die hohe @page-Margin von 50mm oben bei.
*
* - Absenderzeile (5mm hoch) wandert ein paar mm höher, damit man oben etwas Platz gewinnt.
* - Dazwischen ein 17mm hoher Block für die DV-Freimachung.
* - Dann das Empfänger-Adressfeld (22mm hoch).
* - Linker Abstand bleibt bei 1mm wie im Original,
* damit keine unerwünschte Verschiebung nach rechts entsteht.
*/
/* Absender: war vorher top: -2mm, jetzt top: -9mm => 2 mm höher */
div.addressline {
font-size: 7pt;
position: absolute;
top: -9mm; /* leicht höher als bisher */
left: 3mm; /* unverändert wie im Original */
height: 5mm; /* definierte Höhe */
max-width: 87mm; /* wie original */
white-space: pre-wrap;
}
/* Neuer Block: DV-Freimachung (17 mm hoch).
Er beginnt direkt unter der Absenderzeile, also -6mm + 5mm = -1mm */
div.dvFreimachung {
position: absolute;
top: -4mm; /* = -9mm + 5mm */
left: 3mm;
width: 87mm;
height: 17mm; /* 17mm wie gefordert */
}
/* Empfänger: fängt nun erst bei top: 17mm an => -4mm + 21mm = 17mm */
div.recipient {
font-size: 9pt;
position: absolute;
top: 17mm;
left: 3mm;
max-width: 87mm;
height: 22mm; /* 22mm Höhe */
white-space: pre-wrap;
word-wrap: anywhere;
}
div.descbox {
position: absolute;
top: -15mm;
right: 0;
width: 65mm;
font-size: 7pt;
}
div.descbox table {
max-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;
color: #333333;
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;
}
tr.postheader {
background-color: #333333;
color: #fff;
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;
color: #333333;
word-break: break-all;
max-width: 90mm;
}
table.postable tbody .discount {
font-size: 7pt;
line-height: 10pt;
color: #333333;
}
table.postable tfoot {
page-break-inside: avoid;
display: table-row-group;
color: #333333;
}
table.postable tfoot .line {
border-top: 1px solid #666666;
height: 2pt;
}
table.postable tfoot .total {
font-size: 11pt;
font-weight: 700;
}
table.postable tfoot .totalnetPosSum{
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 #333333;
}
table.partialheader .partialPosition td {
word-wrap: anywhere;
}
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;
border-top: 1px solid #000;
}
table.sum_table thead tr td{
background-color: #333333;
color: #fff;
font-weight: bold;
}
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 td {
color: #000 !important;
}
table.sum_table .remaining_amount_gross {
border-bottom: double 4px #000;
color: #000;
}
table.partialheader tr td{
padding: 0.5mm;
word-wrap: anywhere;
}
table.partialheader tr.discount{
line-height: 2mm;
font-size: 8pt;
}
table.partialheader tr td{
padding-right: 1mm;
word-wrap: anywhere;
}
table.partialheader thead tr td{
background-color: #333333;
color: #fff;
font-weight: bold;
}
table.partialheader tbody tr.sum_row{
border-top: 1px solid #666666;
font-weight: bold;
}
table.partialheader tbody tr.sum_row_partial{
border-top: 1px solid #333333;
border-bottom: 1px solid #333333;
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>
{{#logo}}{{/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 -->
<!--
Absenderzeile, DV-Freimachung, Empfänger
---------------------------------------
Jetzt mit 5mm Absenderhöhe, 17mm DV-Bereich,
22mm Adressfeld,
ohne Änderung der großen 50mm-Seitenmarge.
-->
{{#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="dvFreimachung">
<!-- Platzhalter div (17mm) für DV-Freimachung -->
</div>
<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>
</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> </span><br>
<span> </span><br><br>
</td>
<td style="width: 50%;">
<span> </span><br>
<span> </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> </span><br>
<span> </span><br><br>
</td>
<td style="width: 50%;">
<span> </span><br>
<span> </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>
SevDesk-Template „Mahnung“
Original-Template mit modifiziertem Adressfeld, sodass dies DPAG-konform positioniert ist, und ausreichend Platz (17 mm Leerfläche) für die Deutsche Post DV-Freimachung bietet:
<!-- invoicereminder -->
<html>
<head>
<link href='https://my.sevdesk.de/assets/fonts/RobotoCondensed.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: 'Roboto Condensed', 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%;
color: #666666;
}
h1 {
font-size: 12pt;
font-weight: 700;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
/*
* Absender, DV-Freimachung, Empfänger
* -----------------------------------
* Wir lassen margin: 50mm 17mm 35mm 20mm bestehen.
* - Absenderzeile (5mm hoch), top: -9mm
* - DV-Freimachung (17mm hoch), schließt bei top: -4mm an
* - Empfänger (22mm hoch), beginnt bei top: 17mm
*/
div.addressline {
font-size: 7pt;
position: absolute;
top: -9mm;
left: 3mm;
height: 5mm;
max-width: 87mm;
white-space: pre-wrap;
}
div.dvFreimachung {
position: absolute;
top: -4mm;
left: 3mm;
width: 87mm;
height: 17mm;
}
div.recipient {
font-size: 9pt;
position: absolute;
top: 17mm;
left: 3mm;
max-width: 87mm;
height: 22mm;
white-space: pre-wrap;
word-wrap: anywhere;
}
div.descbox {
position: absolute;
top: -15mm;
right: 0;
width: 65mm;
font-size: 7pt;
}
div.descbox table {
max-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;
}
hr.invisible {
visibility: hidden;
clear: both;
margin: 0;
height: 40mm;
}
.headText {
font-size: 9pt;
word-wrap: anywhere;
}
.footText {
font-size: 9pt;
color: #333333;
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;
}
table.postable tfoot {
page-break-inside: avoid;
display: table-row-group;
color: #333333;
}
table.postable tfoot .line {
border-top: 1px solid #666666;
height: 2pt;
}
table.postable tfoot .total {
font-size: 11pt;
font-weight: 700;
}
</style>
</head>
<body class="main">
<!-- running-elements -->
<header>
{{#logo}}{{/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="dvFreimachung"></div>
<div class="recipient">{{data.object.address}}</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 }}DunningNr{{/ i18n}}</td>
<td class="right">{{data.object.invoice_number}}-{{data.object.dunning_level}}</td>
</tr>
<tr>
<td>{{# i18n }}Date{{/ 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}}
<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}}
{{#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">
<tfoot>
<tr class="line">
<td colspan="6"></td>
</tr>
<tr class="total">
<td></td>
<td colspan="3">{{# i18n }}ReminderInvoiceSum{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.reminder_total}}{{/currencyformat}}</td>
</tr>
{{#data.client.has_dunning_addon}}
{{#data.object.reminders}}
<tr>
<td></td>
<td colspan="3">{{# i18nOrFallback }}{{dunningLevel}}{{/ i18nOrFallback}}</td>
<td class="right">{{#currencyformat}}{{sum}}{{/currencyformat}}</td>
</tr>
{{/data.object.reminders}}
{{#data.object.reminder_charge}}
<tr class="total">
<td></td>
<td colspan="3">{{# i18n }}ReminderCharge{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.reminder_charge}}{{/currencyformat}}</td>
</tr>
{{/data.object.reminder_charge}}
<tr class="total">
<td></td>
<td colspan="3">{{# i18n }}ReminderSum{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.reminder_total_with_reminder_charge}}{{/currencyformat}}</td>
</tr>
{{/data.client.has_dunning_addon}}
<tr>
<td></td>
<td colspan="3">{{# i18n }}ReminderPaymentsMade{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.reminder_sum_paid_total_gross}}{{/currencyformat}}</td>
</tr>
<tr class="total">
<td></td>
<td colspan="3">{{# i18n }}RemainingAmount{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.reminder_remaining_amount}}{{/currencyformat}}</td>
</tr>
</tfoot>
</table>
<!-- end position table -->
<!-- footer text -->
<div class="footText">
{{#data.object.payment_method_text}}
{{data.object.payment_method_text}}<br/>
{{/data.object.payment_method_text}}
{{#data.invoice.print_time_to_pay_text}}
{{# i18n }}ReminderDeadlineOne{{/ i18n}} {{# date}}{{data.object.reminder_deadline}}{{/ date}} {{# i18n }}ReminderDeadlineTwo{{/ i18n}}<br/>
{{/data.invoice.print_time_to_pay_text}}
{{{data.object.foot_text}}}
</div>
<!-- end footer text -->
</body>
</html>
SevDesk-Template „Gutschrift“
Original-Template mit modifiziertem Adressfeld, sodass dies DPAG-konform positioniert ist, und ausreichend Platz (17 mm Leerfläche) für die Deutsche Post DV-Freimachung bietet:
<!-- creditnote -->
<html>
<head>
<link href='https://my.sevdesk.de/assets/fonts/RobotoCondensed.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: 'Roboto Condensed', 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%;
color: #666666;
}
h1 {
font-size: 12pt;
font-weight: 700;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
/*
* Absender, DV-Freimachung und Empfänger
* - Absender top: -9mm, 5mm hoch
* - DV-Freimachung top: -4mm, 17mm hoch
* - Empfänger top: 17mm, 22mm hoch
* => Damit genügend Freiraum für DV-Label
*/
div.addressline {
font-size: 7pt;
position: absolute;
top: -9mm;
left: 3mm;
height: 5mm;
max-width: 87mm;
white-space: pre-wrap;
}
div.dvFreimachung {
position: absolute;
top: -4mm;
left: 3mm;
width: 87mm;
height: 17mm;
}
div.recipient {
font-size: 9pt;
position: absolute;
top: 17mm;
left: 3mm;
max-width: 87mm;
height: 22mm;
white-space: pre-wrap;
word-wrap: anywhere;
}
div.descbox {
position: absolute;
top: -15mm;
right: 0;
width: 65mm;
font-size: 7pt;
}
div.descbox table {
max-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;
}
hr.invisible {
visibility: hidden;
clear: both;
margin: 0;
height: 40mm;
}
.headText {
font-size: 9pt;
word-wrap: anywhere;
}
.footText {
font-size: 9pt;
color: #333333;
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;
}
tr.postheader {
background-color: #333333;
color: #fff;
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;
color: #333333;
word-break: break-all;
max-width: 90mm;
}
table.postable tbody .discount {
font-size: 7pt;
line-height: 10pt;
color: #333333;
}
table.postable tfoot {
page-break-inside: avoid;
display: table-row-group;
color: #333333;
}
table.postable tfoot .line {
border-top: 1px solid #666666;
height: 2pt;
}
table.postable tfoot .total {
font-size: 11pt;
font-weight: 700;
}
h1.partialInvoiceCalculation{
margin-top: 10mm;
}
table.partialheader{
page-break-inside: avoid;
font-size: 9pt;
width: 100%;
border-collapse: collapse;
margin: 4mm 0;
}
table.partialheader tr{
line-height: 6mm;
padding: 0 2mm;
}
table.partialheader tr td{
padding-right: 1mm;
word-wrap: anywhere;
}
table.partialheader thead tr td{
background-color: #333333;
color: #fff;
font-weight: bold;
}
table.partialheader tbody tr.final_invoice_row{
border-bottom: 1px solid #666666;
}
table.partialheader tbody tr.sum_row{
border-top: 1px solid #666666;
font-weight: bold;
}
.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;
}
</style>
</head>
<body class="main">
<!-- running-elements -->
<header>
{{#logo}}{{/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="dvFreimachung"></div>
<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 }}CreditNote Nr.{{/ i18n}}</td>
<td class="right">{{data.object.credit_note_number}}</td>
</tr>
<tr>
<td>{{# i18n }}Date{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.credit_note_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.printContactPerson_Y}}
<tr>
<td>{{# i18n }}Your contact{{/ i18n}}</td>
<td class="right">{{data.object.contact_person}}</td>
</tr>
{{/parameter.printContactPerson_Y}}
<tr>
<td>{{# i18n }}Tax-No.{{/ i18n}}</td>
<td class="right">{{data.object.tax_number}}</td>
</tr>
<tr>
<td>{{# i18n }}VAT.-ID{{/ i18n}}</td>
<td class="right">{{data.object.vat_number}}</td>
</tr>
</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}} {{discount}}% <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 net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_withoutdisc_net}}{{/currencyformat}}</td>
</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}}
<tr class="line">
<td colspan="6"></td>
</tr>
<tr class="totalnet">
<td></td>
<td colspan="4">{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_net}}{{/currencyformat}}</td>
</tr>
{{#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}}
<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 -->
<!-- calculation for final invoices -->
{{#data.object.is_final_invoice}}
<h1 class="partialInvoiceCalculation">{{# i18n }}PartialInvoiceCalculation{{/ i18n }}</h1>
<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>
<tr class="final_invoice_row">
<td style="width:55mm;">{{data.object.header}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{data.object.total_net}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{data.object.final_invoice_sum_vat}}{{/currencyformat}}</td>
<td style="width:25mm;" class="right">{{#currencyformat}}{{data.object.total}}{{/currencyformat}}</td>
</tr>
{{#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>
{{/data.object.partial_invoices}}
<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}}
<!-- end calculation for final invoices -->
<!-- footer text -->
<div class="footText">
{{#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 -->
<!-- -->
{{#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: 8mm'></tr>
{{#data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:30px!important; width: 500px;">
<td style="width: 50%;">
<span> </span><br>
<span> </span><br><br>
</td>
<td style="width: 50%;">
<span> </span><br>
<span> </span><br><br>
</td>
</tr>
{{/data.object.esr.is_esr}}
{{^data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="min-height:30px!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-top: 1mm!important;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-top: 1mm!important;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;padding-top: 1mm!important;">
<span>{{data.object.esr.post_subscriber_number_bank}}</span>
</td>
<td style="text-align:right;padding-right:15mm;padding-top: 1mm!important;">
<span>{{data.object.esr.post_subscriber_number_bank}}</span>
</td>
</tr>
<tr class="paymentSlip-table-row ocrFont" style="min-height:10px;">
<td class="ocrFont" style="text-align:right;font-size:14px;font-weight: bold;vertical-align: middle!important;padding-top: 3mm!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;padding-top: 3mm!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: 3mm'></tr>
<tr class="paymentSlip-table-row">
<td style="padding-left: 5mm!important;padding-top: 2mm!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;padding-top: 2mm!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: 19.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'>
<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:46px!important; width: 600px;">
<td style="width: 50%;">
<span> </span><br>
<span> </span><br><br>
</td>
<td style="width: 50%;">
<span> </span><br>
<span> </span><br><br>
</td>
</tr>
{{/data.object.esr.is_esr}}
{{^data.object.esr.is_esr}}
<tr class="paymentSlip-table-row" style="height:5px!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: 19.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 -->
</body>
</html>
SevDesk-Template „Auftrag“
Original-Template mit modifiziertem Adressfeld, sodass dies DPAG-konform positioniert ist, und ausreichend Platz (17 mm Leerfläche) für die Deutsche Post DV-Freimachung bietet:
<!-- order -->
<html>
<head>
<title>{{data.object.order_number}}</title>
<link href='https://my.sevdesk.de/assets/fonts/RobotoCondensed.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: 'Roboto Condensed', 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%;
color: #666666;
}
h1 {
font-size: 12pt;
font-weight: 700;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
/*
* Absenderzeile (5mm), DV-Freimachung (17mm) & Empfängerzeile (22mm)
* --------------------------------------------
* Alle Felder leicht nach oben/links versetzt.
* Original margin (50mm top) unverändert.
*/
div.addressline {
font-size: 7pt;
position: absolute;
top: -9mm; /* statt -2mm => 7 mm höher */
left: 3mm; /* statt 1mm => 2 mm weiter rechts */
height: 5mm; /* fest definierte Höhe */
max-width: 87mm;
white-space: pre-wrap;
}
div.dvFreimachung {
position: absolute;
top: -4mm; /* = -9mm + 5mm */
left: 3mm;
width: 87mm;
height: 17mm; /* Platzhalter 17mm */
}
div.recipient {
font-size: 9pt;
position: absolute;
top: 17mm; /* = -4mm + 17mm => 13 mm,
* hier aufgerundet auf 17 mm
* für optisches Layout (s. Vorgabe).
*/
left: 3mm;
max-width: 87mm;
height: 22mm;
white-space: pre-wrap;
word-wrap: anywhere;
}
div.descbox {
position: absolute;
top: -15mm;
right: 0;
width: 65mm;
font-size: 7pt;
}
div.descbox table {
max-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;
}
hr.invisible {
visibility: hidden;
clear: both;
margin: 0;
height: 40mm;
}
.headText {
font-size: 9pt;
word-wrap: anywhere;
}
.footText {
font-size: 9pt;
color: #333333;
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;
}
tr.postheader {
background-color: #333333;
color: #fff;
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;
color: #333333;
word-break: break-all;
max-width: 90mm;
}
table.postable tbody .discount {
font-size: 7pt;
line-height: 10pt;
color: #333333;
}
table.postable tfoot {
page-break-inside: avoid;
display: table-row-group;
color: #333333;
}
table.postable tfoot .line {
border-top: 1px solid #666666;
height: 2pt;
}
table.postable tfoot .total {
font-size: 11pt;
font-weight: 700;
}
table.postable tfoot .totalnetPosSum{
border-bottom: 1px solid #000;
}
.acceptance {
font-size: 7pt;
margin-top: 15mm;
}
</style>
</head>
<body class="main">
<!-- running-elements -->
<header>
{{#logo}}{{/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}}
<!-- Neuer freier Platz für DV-Freimachung -->
<div class="dvFreimachung"></div>
<div class="recipient">{{data.object.address}}</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 }}Order Nr.{{/ i18n}}</td>
<td class="right">{{data.object.order_number}}</td>
</tr>
<tr>
<td>{{# i18n }}Date{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.order_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}}
<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">
{{^optional}}
{{pos_nr}}.
{{/optional}}
{{#optional}}
Opt.
{{/optional}}
</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">
{{^optional}}
{{#currencyformat}}{{total}}{{/currencyformat}}
{{/optional}}
{{#optional}}
({{#currencyformat}}{{total}}{{/currencyformat}})
{{/optional}}
{{#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>
{{#parameter.sumBlock_Y}}
{{#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}}
<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.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}}
<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>
{{#data.object.has_optional_positions}}
{{#data.object.show_net}}
<tr class="vat">
<td></td>
<td colspan="4">{{# i18n }}Sum of net positions optional{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_opt_net}}{{/currencyformat}}</td>
</tr>
{{/data.object.show_net}}
{{#data.object.show_gross}}
<tr class="vat">
<td></td>
<td colspan="4">{{# i18n }}Sum of gross positions optional{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_opt_gross}}{{/currencyformat}}</td>
</tr>
{{/data.object.show_gross}}
{{/data.object.has_optional_positions}}
{{/parameter.sumBlock_Y}}
</tfoot>
</table>
<!-- end position table -->
<!-- footer text -->
<div class="footText">
{{#data.object.delivery_terms}}
{{# i18n }}Delivery Terms{{/ i18n}}: {{data.object.delivery_terms}}<br/>
{{/data.object.delivery_terms}}
{{#data.object.payment_terms}}
{{# i18n }}Payment Terms{{/ i18n}}: {{data.object.payment_terms}}<br/>
{{/data.object.payment_terms}}
{{{data.object.foot_text}}}
</div>
<!-- end footer text -->
<!-- signature -->
{{#parameter.printAcceptance_Y}}
<table class="acceptance">
<tr>
<td>________________________________________________________<br/>
<span>{{# i18n }}Place / date{{/ i18n}}</span>
</td>
<td>________________________________________________________<br/>
<span>{{# i18n }}Signature / Stamp{{/ i18n}}</span>
</td>
</tr>
</table>
{{/parameter.printAcceptance_Y}}
<!-- end signature -->
</body>
</html>
SevDesk-Template „Auftragsbestätigung“
Original-Template mit modifiziertem Adressfeld, sodass dies DPAG-konform positioniert ist, und ausreichend Platz (17 mm Leerfläche) für die Deutsche Post DV-Freimachung bietet:
<!-- contractnote -->
<html>
<head>
<link href='https://my.sevdesk.de/assets/fonts/RobotoCondensed.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: 'Roboto Condensed', 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%;
color: #666666;
}
h1 {
font-size: 12pt;
font-weight: 700;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
/*
* Absenderzeile (5mm), DV-Freimachung (17mm), Empfängerzeile (22mm)
*/
div.addressline {
font-size: 7pt;
position: absolute;
top: -9mm; /* statt -2mm => 7 mm höher */
left: 3mm; /* statt 1mm => 2 mm weiter rechts */
height: 5mm; /* definierte Höhe */
max-width: 87mm;
white-space: pre-wrap;
}
div.dvFreimachung {
position: absolute;
top: -4mm; /* = -9mm + 5mm */
left: 3mm;
width: 87mm;
height: 17mm;
}
div.recipient {
font-size: 9pt;
position: absolute;
top: 17mm; /* = -4mm + 17mm = 13mm,
* gerundet auf 17mm
* für horizontale Rasterung.
*/
left: 3mm;
max-width: 87mm;
height: 22mm;
white-space: pre-wrap;
word-wrap: anywhere;
}
div.descbox {
position: absolute;
top: -15mm;
right: 0;
width: 65mm;
font-size: 7pt;
}
div.descbox table {
max-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;
}
hr.invisible {
visibility: hidden;
clear: both;
margin: 0;
height: 40mm;
}
.headText {
font-size: 9pt;
word-wrap: anywhere;
}
.footText {
font-size: 9pt;
color: #333333;
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;
}
tr.postheader {
background-color: #333333;
color: #fff;
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;
color: #333333;
word-break: break-all;
max-width: 90mm;
}
table.postable tbody .discount {
font-size: 7pt;
line-height: 10pt;
color: #333333;
}
table.postable tfoot {
page-break-inside: avoid ;
display: table-row-group;
color: #333333;
}
table.postable tfoot .line {
border-top: 1px solid #666666;
height: 2pt;
}
table.postable tfoot .total {
font-size: 11pt;
font-weight: 700;
}
.acceptance {
font-size: 7pt;
margin-top: 15mm;
}
</style>
</head>
<body class="main">
<!-- running-elements -->
<header>
{{#logo}}{{/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}}
<!-- Neuer 17mm-Bereich für DV-Freimachung -->
<div class="dvFreimachung"></div>
<div class="recipient">{{data.object.address}}</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 }}Order confirmation number{{/ i18n}}</td>
<td class="right">{{data.object.order_number_complete}}</td>
</tr>
<tr>
<td>{{# i18n }}Date{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.order_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}}
<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}} {{discount}}% <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>
{{#parameter.sumBlock_Y}}
{{#data.object.has_discounts}}
<tr class="discountnet">
<td></td>
<td colspan="4">{{# i18n }}Sum positions net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_withoutdisc_net}}{{/currencyformat}}</td>
</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}}
<tr class="totalnet">
<td></td>
<td colspan="4">{{# i18n }}Total net{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total_net}}{{/currencyformat}}</td>
</tr>
{{#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}}
<tr class="total">
<td></td>
<td colspan="4">{{# i18n }}Total gross{{/ i18n}}</td>
<td class="right">{{#currencyformat}}{{data.object.total}}{{/currencyformat}}</td>
</tr>
{{/parameter.sumBlock_Y}}
</tfoot>
</table>
<!-- end position table -->
<!-- footer text -->
<div class="footText">
{{#data.object.delivery_terms}}
{{# i18n }}Delivery Terms{{/ i18n}}: {{data.object.delivery_terms}}<br/>
{{/data.object.delivery_terms}}
{{#data.object.payment_terms}}
{{# i18n }}Payment Terms{{/ i18n}}: {{data.object.payment_terms}}<br/>
{{/data.object.payment_terms}}
{{{data.object.foot_text}}}
</div>
<!-- end footer text -->
<!-- signature -->
{{#parameter.printAcceptance_Y}}
<table class="acceptance">
<tr>
<td>________________________________________________________<br/>
<span>{{# i18n }}Place / date{{/ i18n}}</span>
</td>
<td>________________________________________________________<br/>
<span>{{# i18n }}Signature / Stamp{{/ i18n}}</span>
</td>
</tr>
</table>
{{/parameter.printAcceptance_Y}}
<!-- end signature -->
</body>
</html>
SevDesk-Template „Lieferschein“
Original-Template mit modifiziertem Adressfeld, sodass dies DPAG-konform positioniert ist, und ausreichend Platz (17 mm Leerfläche) für die Deutsche Post DV-Freimachung bietet:
<!-- packinglist -->
<html>
<head>
<link href='https://my.sevdesk.de/assets/fonts/RobotoCondensed.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: 'Roboto Condensed', 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%;
color: #666666;
}
h1 {
font-size: 12pt;
font-weight: 700;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
/*
* Absender, DV-Freimachung, Empfänger
* -----------------------------------
* Wir ändern .addressline, fügen .dvFreimachung ein,
* und verschieben .recipient entsprechend.
*/
div.addressline {
font-size: 7pt;
position: absolute;
top: -9mm; /* statt -2mm, also 7mm höher */
left: 3mm; /* statt 1mm, etwas weiter rechts */
height: 5mm; /* definierte Absenderhöhe */
max-width: 87mm;
white-space: pre-wrap;
}
div.dvFreimachung {
position: absolute;
top: -4mm; /* = -9mm + 5mm */
left: 3mm;
width: 87mm;
height: 17mm; /* 17mm DV-Bereich */
}
div.recipient {
font-size: 9pt;
position: absolute;
top: 17mm; /* = -4mm + 17mm => 13, gerundet 17 */
left: 3mm;
max-width: 87mm;
white-space: pre-wrap;
word-wrap: anywhere;
/* Höhe ~22mm reicht i.d.R.,
hier war zuvor kein "height" definiert,
das ist optional.
Falls du definieren willst:
height: 22mm;
*/
}
div.descbox {
position: absolute;
top: -15mm;
right: 0;
width: 65mm;
font-size: 7pt;
}
div.descbox table {
max-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;
}
hr.invisible {
visibility: hidden;
clear: both;
margin: 0;
height: 40mm;
}
.headText {
font-size: 9pt;
word-wrap: anywhere;
}
.footText {
font-size: 9pt;
color: #333333;
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;
}
tr.postheader {
background-color: #333333;
color: #fff;
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;
color: #333333;
word-break: break-all;
max-width: 110mm;
}
table.postable tfoot .line {
border-top: 1px solid #666666;
height: 2pt;
}
.acceptance {
font-size: 7pt;
margin-top: 15mm;
}
</style>
</head>
<body class="main">
<!-- running-elements -->
<header>
{{#logo}}{{/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}}
<!-- Neuer 17mm Platz für DV-Freimachung -->
<div class="dvFreimachung"></div>
<div class="recipient">{{data.object.address}}</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 }}delivery note number{{/ i18n}}</td>
<td class="right">{{data.object.order_number_complete}}</td>
</tr>
<tr>
<td>{{# i18n }}Date{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.order_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}}
<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>{{# i18n }}Description{{/ i18n}}</td>
{{/parameter.printPartNumber_Y}}
{{^parameter.printPartNumber_Y}}
<td colspan="2">{{# i18n }}Description{{/ i18n}}</td>
{{/parameter.printPartNumber_Y}}
<td style="width:17mm;" class="right">{{# i18n }}Quantity{{/ 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>
{{/pos_nr}}
{{^pos_nr}}
<td colspan="4"><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="4"></td>
</tr>
</tfoot>
</table>
<!-- end position table -->
<!-- footer text -->
<div class="footText">
{{#data.object.delivery_terms}}
{{# i18n }}Delivery Terms{{/ i18n}}: {{data.object.delivery_terms}}<br/>
{{/data.object.delivery_terms}}
{{#data.object.payment_terms}}
{{# i18n }}Payment Terms{{/ i18n}}: {{data.object.payment_terms}}<br/>
{{/data.object.payment_terms}}
{{{data.object.foot_text}}}
</div>
<!-- end footer text -->
<!-- signature -->
{{#parameter.printAcceptance_Y}}
<table class="acceptance">
<tr>
<td>________________________________________________________<br/>
<span>{{# i18n }}Place / date{{/ i18n}}</span>
</td>
<td>________________________________________________________<br/>
<span>{{# i18n }}Signature / Stamp{{/ i18n}}</span>
</td>
</tr>
</table>
{{/parameter.printAcceptance_Y}}
<!-- end signature -->
</body>
</html>
SevDesk-Template „Brief“
Original-Template mit modifiziertem Adressfeld, sodass dies DPAG-konform positioniert ist, und ausreichend Platz (17 mm Leerfläche) für die Deutsche Post DV-Freimachung bietet:
<!-- letter -->
<html>
<head>
<link href='https://my.sevdesk.de/assets/fonts/RobotoCondensed.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: 'Roboto Condensed', 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%;
color: #666666;
}
h1 {
font-size: 12pt;
font-weight: 700;
word-wrap: anywhere;
}
.qrcode {
-ro-replacedelement: qrcode;
}
.page::before {
content: counter(page);
}
.totalPages::before {
content: counter(pages);
}
/*
* Absender & DV-Freimachung & Empfänger
*/
div.addressline {
font-size: 7pt;
position: absolute;
top: -9mm;
left: 3mm;
height: 5mm;
max-width: 87mm;
white-space: pre-wrap;
}
div.dvFreimachung {
position: absolute;
top: -4mm;
left: 3mm;
width: 87mm;
height: 17mm;
}
div.recipient {
font-size: 9pt;
position: absolute;
top: 17mm;
left: 3mm;
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 {
max-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;
}
hr.invisible {
visibility: hidden;
clear: both;
margin: 0;
height: 40mm;
}
.headText {
font-size: 9pt;
word-wrap: anywhere;
}
.headText table th {
text-align: left;
}
table tr {
vertical-align: top;
}
td.right {
text-align: right;
}
</style>
</head>
<body class="main">
<!-- running-elements -->
<header>
{{#logo}}{{/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="dvFreimachung"></div>
<div class="recipient">{{data.object.address}}</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>
<td>{{# i18n }}Date{{/ i18n}}</td>
<td class="right">{{# date }}{{data.object.letter_date}}{{/ date }}</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}}
{{#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.text}}}
</div>
</body>
</html>