145 lines
4.0 KiB
HTML
145 lines
4.0 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns:th="http://www.thymeleaf.org">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Rechnung</title>
|
|
<style>
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
margin: 0;
|
|
padding: 20px;
|
|
background-color: #f5f5f5;
|
|
}
|
|
.invoice-container {
|
|
background-color: white;
|
|
padding: 30px;
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
box-shadow: 0 0 10px rgba(0,0,0,0.1);
|
|
}
|
|
.header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
border-bottom: 2px solid #333;
|
|
padding-bottom: 15px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.company-info {
|
|
font-size: 14px;
|
|
}
|
|
.invoice-details {
|
|
text-align: right;
|
|
font-size: 14px;
|
|
}
|
|
.invoice-title {
|
|
text-align: center;
|
|
margin-bottom: 30px;
|
|
color: #333;
|
|
}
|
|
.recipient-info {
|
|
margin-bottom: 30px;
|
|
}
|
|
.items-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin-bottom: 20px;
|
|
}
|
|
.items-table th, .items-table td {
|
|
border: 1px solid #333;
|
|
padding: 10px;
|
|
text-align: left;
|
|
}
|
|
.items-table th {
|
|
background-color: #f2f2f2;
|
|
}
|
|
.totals {
|
|
width: 100%;
|
|
text-align: right;
|
|
margin-bottom: 30px;
|
|
}
|
|
.totals td {
|
|
padding: 5px;
|
|
}
|
|
.signature-section {
|
|
margin-top: 50px;
|
|
}
|
|
.signature-line {
|
|
border-top: 1px solid #333;
|
|
text-align: center;
|
|
padding-top: 5px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="invoice-container">
|
|
<div class="header">
|
|
<div class="company-info">
|
|
<h2>Assecutor GmbH</h2>
|
|
<p>Hauptstraße 456</p>
|
|
<p>12345 Musterstadt</p>
|
|
<p>Telefon: +49 123 4567890</p>
|
|
<p>Web: https://www.assecutor.de</p>
|
|
</div>
|
|
<div class="invoice-details">
|
|
<h3>Rechnung</h3>
|
|
<p>Rechnungsnummer: <span th:text="${invoiceData.invoiceNumber}">INV-123456789</span></p>
|
|
<p>Datum: <span th:text="${invoiceData.date}">2025-09-20</span></p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 class="invoice-title">Rechnung</h2>
|
|
|
|
<div class="recipient-info">
|
|
<h3>Empfänger:</h3>
|
|
<p><span th:text="${invoiceData.recipientName}">Kunde Name</span></p>
|
|
<p><span th:text="${invoiceData.recipientDepartment}">Abt. XYZ</span></p>
|
|
<p><span th:text="${invoiceData.recipientStreet}">Musterstraße 123</span></p>
|
|
<p><span th:text="${invoiceData.recipientCity}">12345 Musterstadt</span></p>
|
|
</div>
|
|
|
|
<table class="items-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Menge</th>
|
|
<th>Beschreibung</th>
|
|
<th>Einzelpreis</th>
|
|
<th>Gesamt</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr th:each="item : ${invoiceData.items}">
|
|
<td th:text="${item.quantity}">1</td>
|
|
<td th:text="${item.description}">Dienstleistung XYZ</td>
|
|
<td th:text="${item.unitPrice}">100,00 €</td>
|
|
<td th:text="${item.total}">100,00 €</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="totals">
|
|
<table>
|
|
<tr>
|
|
<td>Netto:</td>
|
|
<td th:text="${invoiceData.netAmount}">200,00 €</td>
|
|
</tr>
|
|
<tr>
|
|
<td>USt (19%):</td>
|
|
<td th:text="${invoiceData.vatAmount}">36,00 €</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Gesamt:</strong></td>
|
|
<td><strong th:text="${invoiceData.totalAmount}">236,00 €</strong></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="signature-section">
|
|
<p>Für Assecutor GmbH</p>
|
|
<div class="signature-line">
|
|
<p>Unterschrift</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|