WIP Preorder Billing 2025-03-27

This commit is contained in:
Frank Schubert
2025-03-28 13:43:11 +01:00
parent b8db830214
commit 2fa0d31837
11 changed files with 189 additions and 65 deletions

View File

@@ -117,12 +117,22 @@ $pagination_entity_name = "Billingrecords";
<!--button type="submit" class="btn btn-primary"><i class="fas fa-fw fa-check"></i> Markierte Elemente als Contract übernehmen</button-->
</div>
<div class="float-right">
<a class="btn btn-outline-primary mb-2" href="<?=self::getUrl("PreorderBilling", "importPreorders")?>">
<i class="far fa-fw fa-file-import"></i> Rechnungsdatensätze erstellen
</a>
<a class="btn btn-primary mb-2 ml-2" href="<?=self::getUrl("PreorderBillingInvoice", "create")?>">
<i class="far fa-fw fa-file-invoice"></i> Rechnungen erstellen
</a>
<div class="row">
<div class="col">
<a class="btn btn-outline-primary mb-2" href="<?=self::getUrl("PreorderBilling", "importPreorders")?>">
<i class="far fa-fw fa-file-import"></i> Rechnungsdatensätze erstellen
</a>
</div>
</div>
<?php if(PreorderBilling::count(["invoice_id" => false])): ?>
<div class="row">
<div class="col">
<a class="btn btn-primary mb-2" href="<?=self::getUrl("PreorderBillingInvoice", "create")?>">
<i class="far fa-fw fa-file-invoice"></i> Rechnungen erstellen
</a>
</div>
</div>
<?php endif; ?>
</div>
</div>
</div>

View File

@@ -109,7 +109,7 @@ $pagination_entity_name = "Rechnungen";
<th>Rechnungsdatum</th>
<th>Kundennummer</th>
<th>Rechnungsadresse</th>
<th>Text</th>
<th>Rechnungstext</th>
<th>Netto</th>
<th>Ust.</th>
<th>Brutto</th>
@@ -137,7 +137,7 @@ $pagination_entity_name = "Rechnungen";
<?=$invoice->zip?> <?=$invoice->city?>
<?=($invoice->country != "Österreich") ? "<br >".$invoice->country : ""?>
</td>
<td><?=$invoice->head_text?></td>
<td><?=nl2br(htmlentities($invoice->head_text))?></td>
<td>€ <?=number_format($invoice->total, 2, ",", ".")?></td>
<td>€ <?=number_format($invoice->total_gross - $invoice->total, 2, ",", ".")?></td>
<td>€ <?=number_format($invoice->total_gross, 2, ",", ".")?></td>

View File

@@ -28,14 +28,7 @@
}
</script>
<div style="margin-bottom: 16px;height: 1px"></div>
<div style="color:grey;text-align: center;margin-bottom: 0">
<span>RML Infrastruktur GmbH | Wirtschaftspark A | 8940 Liezen</span><br>
<span>E-Mail: office@rmlinfrastruktur.at | IBAN: {{ bank_iban }}</span><br>
<span>UID: ATU77557626 | FN: 568443x | Gerichtsstand Liezen</span><br>
</div>
<div style="text-align: right">Seite <span class="page"></span> von <span class="topage"></span></div>
<div style="padding-bottom: 56px; padding-right: 6px; text-align: right;">Seite <span class="page"></span> von <span class="topage"></span></div>
<div style="margin-top: 16px;height: 1px"></div>
</body>

View File

@@ -11,19 +11,33 @@
border: 0;
margin: 0;
padding-top: 0;
font-family: "Open Sans", sans-serif, Verdana;
font-family: "Calibri", sans-serif, Verdana;
font-size: 12px;
}
.rml-header-text {
padding-left: 12pt;
width: 60%;
font-size: 17px;
padding-top: 52px;
line-height: 18px;
}
.rml-header-text .header {
font-size: 20px;
}
.info-table {
border-collapse: collapse;
width: 100%;
}
.customer-details {
font-weight: bold;
vertical-align: top;
font-size: 14px;
padding-left: 30pt;
padding-right: 30pt;
width: 50%;
}
@@ -62,18 +76,17 @@
</head>
<body>
<div id="topSpacer"></div>
<table style="width: 100%; margin-bottom: 64px;">
<tr>
<td style="padding-left: 30pt; width: 60%; font-size: 14px; padding-top: 52px;">
<strong>RML Infrastruktur GmbH</strong><br />
<td class="rml-header-text">
<span class="header">RML Infrastruktur GmbH</span><br />
Wirtschaftspark A<br />
8940 Liezen<br />
Österreich
</td>
<td style="width: 40%; text-align: right; padding-right: 0;">
<img alt="RML Logo" src="{{ basedir }}/public/assets/images/rml-logo-header.png" style="text-align:right;height: 125px;">
</td>
</tr>
</table>

View File

@@ -1,8 +1,13 @@
<?php
/*
* RML Preorder Invoice Layout
*/
/**
* @var string $ressourcePathPrefix
* @var Invoice $invoice
* @var array $vat
* @var string $qrcode
*/
$net_total = $invoice->total;
$gross_total = $invoice->total_gross;
@@ -12,8 +17,6 @@ $invoice_date = new DateTime($invoice->invoice_date);
$this->setReturnValue(['filename' => $invoice->invoice_number . ".pdf"]);
//die(json_encode($invoice->positions));
?>
<!DOCTYPE html>
@@ -21,16 +24,20 @@ $this->setReturnValue(['filename' => $invoice->invoice_number . ".pdf"]);
<head>
<title>Rechnung</title>
<meta charset="utf-8" />
<!-- <link href="-->
<?php //= self::getResourcePath() ?><!--assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" />-->
<style>
body {
margin-top: 0;
padding-top: 0;
/*padding-top: 20pt;*/
font-family: "Open Sans", sans-serif, Verdana;
font-size: 12px;
font-family: "Calibri", Arial, sans-serif;
font-size: 14px;
}
.head-text {
font-family: Calibri, Arial, sans-serif;
font-size: 16px;
margin-bottom: 24px;
}
tr {
@@ -61,7 +68,7 @@ $this->setReturnValue(['filename' => $invoice->invoice_number . ".pdf"]);
}
#invoiceTable tr td {
font-size: 11px;
font-size: 13px;
}
tr.position td {
@@ -87,7 +94,7 @@ $this->setReturnValue(['filename' => $invoice->invoice_number . ".pdf"]);
<h2><?=($is_credit) ? "Gutschrift" : "Rechnung"?> <?=$invoice->invoice_number?></h2>
<?php if($invoice->head_text):?>
<p><?=$invoice->head_text?></p>
<p class="head-text"><?=nl2br(htmlentities($invoice->head_text))?></p>
<?php endif; ?>
<table style="border-collapse: collapse; width: 100%;" id="invoiceTable">
@@ -103,26 +110,26 @@ $this->setReturnValue(['filename' => $invoice->invoice_number . ".pdf"]);
<?php
$i = 0;
foreach($invoice->positions as $p):
$amount = (float) number_format($p->amount, 3, ",", ".");
$price = number_format($p->price, 2, ",",".");
$price_total = number_format($p->price_total, 2, ",",".");
$price_gross = number_format($p->price_gross, 2, ",",".");
$vatrate = number_format($p->vatrate, 0, ",",".");
$amount = (float) number_format($p->amount, 3, ",", ".");
$price = number_format($p->price, 2, ",",".");
$price_total = number_format($p->price_total, 2, ",",".");
$price_gross = number_format($p->price_gross, 2, ",",".");
$vatrate = number_format($p->vatrate, 0, ",",".");
?>
?>
<tr class="position <?=($i%2 == 0) ? "even" : "uneven" ?>">
<td style="text-align: left"><?=$i+1?></td>
<td style="text-align: left"><?=$p->article_number?></td>
<td style="text-align: left"><?=$p->article_name?></td>
<td style="text-align: right"><?=$amount?></td>
<td style="text-align: left"><?=$p->unit?></td>
<td style="text-align: right"><?=$price?> €</td>
<td style="padding-right: 4pt;"><?=$price_total?> €</td>
</tr>
<tr class="position <?=($i%2 == 0) ? "even" : "uneven" ?>">
<td style="text-align: left"><?=$i+1?></td>
<td style="text-align: left"><?=$p->article_number?></td>
<td style="text-align: left"><?=$p->article_name?></td>
<td style="text-align: right"><?=$amount?></td>
<td style="text-align: left"><?=$p->unit?></td>
<td style="text-align: right"><?=$price?> €</td>
<td style="padding-right: 4pt;"><?=$price_total?> €</td>
</tr>
<?php
$i++;
<?php
$i++;
endforeach;
?>
<tr style="font-weight: bold; background-color: #ebebeb; border-bottom: 1px solid black;border-top: 1px solid black">
@@ -153,7 +160,28 @@ $this->setReturnValue(['filename' => $invoice->invoice_number . ".pdf"]);
<p style="font-weight: bold;"><?=$invoice->tax_text?></p>
<?php endif; ?>
Zahlungsziel 14 Tage.
<table style="width: 100%; border-collapse: collapse;">
<tr>
<th style="width: 20%; text-align: left">Zahlungskondition:</th>
<td style="text-align: left;">Zahlbar sofort nach Erhalt der Rechnung ohne Abzug</td>
<td rowspan="3">
<img alt="QR-Code" src="<?=$qrcode?>" style="text-align:right;height: 3cm;">
</td>
</tr><tr>
<th style="text-align: left; vertical-align: top;">Bankverbindung:</th>
<td style="text-align: left; vertical-align: top;">
UniCredit Bank Austria AG<br />
IBAN: AT85 1200 0100 3986 5885 &nbsp; BIC: BKAUATWWXXX
</td>
</tr><tr>
<td style="width: 20%; text-align: left; vertical-align: top; padding-top: 16px;"></td>
<td style="text-align: left; vertical-align: top; padding-top: 16px;">
<strong>+43 664 128 10 43</strong><br />
<strong>office@rml-infrastruktur.at</strong>
</td>
</tr>
</table>
</div>