This repository has been archived on 2025-12-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Caramel-CRM-Backup/resources/views/invoice.blade.php
T
vollstock b1f5d84a11
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
Init Git LFS
2025-10-20 09:03:01 +02:00

200 lines
6.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- TODO: billing_data verwenden, nicht Kundendaten -->
<!DOCTYPE html lang="de">
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Rechnung {{ $invoice['nr'] }}</title>
<!-- TODO: default stylesheet und überschreiben mit user settings -->
<!-- default in resources, user in storage -->
@if($isPDF)
<link rel="stylesheet" href="{{ public_path('/storage/css/invoice.css') }}">
@else
<link rel="stylesheet" href="/storage/css/invoice.css">
@endif
<style>
@font-face {
font-family: 'Clear Sans';
src: url('{{ $fontPath }}/ClearSans-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Clear Sans';
src: url('{{ $fontPath }}/ClearSans-Bold.ttf') format('truetype');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Clear Sans';
src: url('{{ $fontPath }}/ClearSans-Medium.ttf') format('truetype');
font-weight: medium;
font-style: normal;
}
@font-face {
font-family: 'Clear Sans';
src: url('{{ $fontPath }}/ClearSans-Light.ttf') format('truetype');
font-weight: light;
font-style: normal;
}
</style>
</head>
<body>
<!-- Fixed page elements need to bee direct descendents of body for Dompdf -->
<!-- see https://github.com/dompdf/dompdf/issues/1190 -->
<img id="logo"
@if($isPDF)
src="{{ public_path('storage/pdf/Logo.svg') }}"
@else
src="/storage/pdf/Logo.svg"
@endif />
<address>
<div class="sender">
<!-- TODO: Firmenadresse aus Settings -->
Tooloop Multimedia Daniel Stock, Rehmstraße 4, 86161 Augsburg
</div>
<div class="recipient">
{{ $invoice['customer']['companyName'] }}<br />
{{ $invoice['billingData']['contactFirstName'] }} {{ $invoice['billingData']['contactLastName'] }}<br />
@if($invoice['billingData']['billingAddress']['lineOne'])
{{ $invoice['billingData']['billingAddress']['lineOne'] }}<br />
@endif
@if($invoice['billingData']['billingAddress']['lineTwo'])
{{ $invoice['billingData']['billingAddress']['lineTwo'] }}<br />
@endif
{{ $invoice['billingData']['billingAddress']['postalCode'] }} {{ $invoice['billingData']['billingAddress']['city'] }}
</div>
</address>
<table id="meta">
<tbody>
<tr>
<th>Rechnungs-Nr.</th>
<td>
{{ $invoice['nr'] }}
</td>
</tr>
<tr>
<th>Datum</th>
<td>
@php
$fmt = new \IntlDateFormatter('de_DE', NULL, NULL);
$fmt->setPattern('d. MMMM yyyy');
@endphp
<date>{{ $fmt->format(strtotime($invoice['invoiceDate'])) }}</date>
</td>
</tr>
@if( !$invoice['billingData']['paymentTerms']['isFixed'] )
<tr>
<th>Fälligkeitsdatum</th>
<td>
<date>{{ $fmt->format(strtotime($invoice['dueDate'])) }}</date>
</td>
</tr>
@endif
@if(false)
<tr>
<th>Leistungsdatum</th>
<td>
<date>{{ $fmt->format(strtotime($invoice['service_date'])) }}</date>
</td>
</tr>
@else
<tr>
<th>Leistungszeitraum</th>
<td>{{ $fmt->format(strtotime($invoice['serviceStartDate'])) }} <br />{{ $fmt->format(strtotime($invoice['serviceEndDate'])) }}</td>
</tr>
@endif
</tbody>
</table>
<h1>Rechnung</h1>
<h2>{{ $invoice['title'] }}</h2>
@if($invoice['text'])
<div class="text">
<!-- TODO: Text aus DB -->
<p>Sehr geehrte Frau Mustermann,</p>
<p>lorem ipsum dolor sit amet consectetur adipisicing elit. Alias cumque dolorem, recusandae possimus optio id animi pariatur in nesciunt! Quos, at? A quidem voluptatum, soluta tenetur voluptate consequuntur dolor? Mollitia!</p>
{{ $invoice['text'] }}
</div>
@endif
<table id="line-items">
<thead>
<tr>
<th>Pos.</th>
<th>Bezeichnung</th>
<th>Menge</th>
<th>Einheit</th>
<th>Einzelpreis</th>
<th>Gesamtpreis</th>
</tr>
</thead>
<tbody>
@foreach ($invoice['items'] as $item)
<tr>
<td>{{ $item['position'] }}</td>
<td>
<strong>{{ $item['title'] }}</strong><br>
{{ $item['description'] }}
</td>
<td>@toCommaFloat($item['quantity'])</td>
<td>{{ $item['unit'] }}</td>
<td>@toCurrency($item['price'])</td>
<td>@toCurrency($item['quantity'] * $item['price'])</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<td colspan="5">Nettobetrag</td>
<td>@toCurrency($invoice['totalAmount'])</td>
</tr>
<tr>
<td colspan="5">19 % MwSt.</td>
<td>@toCurrency(round($invoice['totalAmount'] * 0.19, 2))</td>
</tr>
<tr>
<td colspan="5">Gesamt brutto</td>
<td>@toCurrency($invoice['totalAmount'] + round($invoice['totalAmount'] * 0.19, 2))</td>
</tr>
</tfoot>
</table>
<!-- TODO: Kleingedrucktes aus settings -->
<div id="fine-print">
@if($invoice['billingData']['paymentTerms']['isFixed'])
<p>Zahlungsziel {{ $invoice['billingData']['paymentTerms']['description'] }}</p>
@else
<p>Zahlungsziel {{ $invoice['billingData']['paymentTerms']['days'] }} Tage</p>
@endif
</div>
<div id="giro-code">
<img src="data:image/svg+xml;base64,{{ $giroCode }}" />
<p>
<strong>GiroCode/EPC-QR-Code</strong><br />
Der Code enthält alle relevanten Zahlungsdaten. Mit Ihrer Banking App können Sie den Code scannen und die Zahlung als Überweisung ausführen.
</p>
</div>
<footer>
<!-- TODO: Footertext aus Settings -->
Tooloop Multimedia Daniel Stock, Rehmstraße 4, 86161 Augsburg, Tel. +49 821 65079983, www.tooloop.de<br />
Stadtsparkasse Augsburg, DE40 7205 0000 0251 5125 13, BIC AUGSDE77XXX, Ust-IdNr. DE309558315
</footer>
</body>
</html>