forked from momo/invoiceplane-template
Improve template design, merge paid and unpaid
This commit is contained in:
parent
31ec883d71
commit
da49f15b23
399
b12f.php
Normal file
399
b12f.php
Normal file
|
@ -0,0 +1,399 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="<?php _trans('cldr'); ?>">
|
||||
<head>
|
||||
<?php
|
||||
$anyItemHasDescription = array_reduce($items, function ($acc, $item) {
|
||||
return $acc || $item->description != '';
|
||||
}, false);
|
||||
|
||||
$colspan = 3 + ($show_item_discounts ? 1 : 0) + ($anyItemHasDescription ? 1 : 0);
|
||||
$isPaid = $invoice->invoice_balance <= 0;
|
||||
?>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<title><?php _trans('invoice'); ?></title>
|
||||
<link rel="stylesheet"
|
||||
href="<?php echo base_url(); ?>assets/<?php echo get_setting('system_theme', 'invoiceplane'); ?>/css/templates.css">
|
||||
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/core/css/custom-pdf.css">
|
||||
<style>
|
||||
/* general font size */
|
||||
body {
|
||||
font-size: 12px;
|
||||
color: black;
|
||||
}
|
||||
|
||||
/* color of Invoice Heading fixed */
|
||||
.invoice-title {
|
||||
margin-left: 2.5mm;
|
||||
margin-top: 5mm;
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
}
|
||||
|
||||
/* left space due to DIN 5008 2.5mm */
|
||||
main, footer {
|
||||
margin-left: 2.5mm;
|
||||
}
|
||||
|
||||
/* reduces padding in item-table */
|
||||
table.item-table td {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
/* defines german DIN_5008_Form_B sichtbriefumschlag position */
|
||||
#client {
|
||||
position: absolute;
|
||||
top: 56mm;
|
||||
left: 20mm;
|
||||
width: 90mm;
|
||||
}
|
||||
|
||||
/* reduced font-size for items */
|
||||
table.item-table {
|
||||
font-size: 11px !important;
|
||||
}
|
||||
|
||||
/* sender in sichtfenster */
|
||||
#sichtfenster-absender {
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
/** Pfalzmarken DIN 5008 Form B */
|
||||
/* 105mm from top with offset */
|
||||
#pm-1{
|
||||
position: absolute;
|
||||
top: 101.8mm;
|
||||
left: 5mm;
|
||||
width: 5mm;
|
||||
}
|
||||
/* 148.5mm from top with offset */
|
||||
#pm-2{
|
||||
position: absolute;
|
||||
top: 145.3mm;
|
||||
left: 5mm;
|
||||
width: 7mm;
|
||||
}
|
||||
/* 210mm from top with offset */
|
||||
#pm-3{
|
||||
position: absolute;
|
||||
top: 206.8mm;
|
||||
left: 5mm;
|
||||
width: 5mm;
|
||||
}
|
||||
|
||||
footer {
|
||||
color: black;
|
||||
}
|
||||
|
||||
footer .notes {
|
||||
color: #333;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="pm-1"><hr /></div>
|
||||
<div id="pm-2"><hr /></div>
|
||||
<div id="pm-3"><hr /></div>
|
||||
|
||||
<div id="client">
|
||||
<div id="sichtfenster-absender">
|
||||
<?php
|
||||
echo htmlsc($invoice->user_name) . ' - ' . htmlsc($invoice->user_address_1) . ' - ' . htmlsc($invoice->user_zip) . ' ' . htmlsc($invoice->user_city);
|
||||
?>
|
||||
<hr />
|
||||
</div>
|
||||
<div>
|
||||
<b><?php _htmlsc(format_client($invoice)); ?></b>
|
||||
</div>
|
||||
<?php if ($invoice->client_vat_id) {
|
||||
echo '<div>' . trans('vat_id_short') . ': ' . $invoice->client_vat_id . '</div>';
|
||||
}
|
||||
if ($invoice->client_tax_code) {
|
||||
echo '<div>' . trans('tax_code_short') . ': ' . $invoice->client_tax_code . '</div>';
|
||||
}
|
||||
if ($invoice->client_address_1) {
|
||||
echo '<div>' . htmlsc($invoice->client_address_1) . '</div>';
|
||||
}
|
||||
if ($invoice->client_address_2) {
|
||||
echo '<div>' . htmlsc($invoice->client_address_2) . '</div>';
|
||||
}
|
||||
if ($invoice->client_city || $invoice->client_state || $invoice->client_zip) {
|
||||
echo '<div>';
|
||||
if ($invoice->client_zip) {
|
||||
echo htmlsc($invoice->client_zip) . ' ';
|
||||
}
|
||||
if ($invoice->client_city) {
|
||||
echo htmlsc($invoice->client_city) . ' ';
|
||||
}
|
||||
if ($invoice->client_state) {
|
||||
echo htmlsc($invoice->client_state);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
if ($invoice->client_country) {
|
||||
echo '<div>' . get_country_name(trans('cldr'), $invoice->client_country) . '</div>';
|
||||
}
|
||||
|
||||
echo '<br/>';
|
||||
|
||||
if ($invoice->client_phone) {
|
||||
echo '<div>' . trans('phone_abbr') . ': ' . htmlsc($invoice->client_phone) . '</div>';
|
||||
} ?>
|
||||
</div>
|
||||
|
||||
<header class="clearfix">
|
||||
|
||||
<div id="logo">
|
||||
<?php echo invoice_logo_pdf(); ?>
|
||||
</div>
|
||||
|
||||
<h1 class="invoice-title"><?php echo trans('invoice'); ?></h1>
|
||||
|
||||
<!-- client is extracted due to absolute position -->
|
||||
|
||||
<div id="company">
|
||||
<div><b><?php _htmlsc($invoice->user_name); ?></b></div>
|
||||
<?php if ($invoice->user_vat_id) {
|
||||
echo '<div>' . trans('vat_id_short') . ': ' . $invoice->user_vat_id . '</div>';
|
||||
}
|
||||
if ($invoice->user_tax_code) {
|
||||
echo '<div>' . trans('tax_code_short') . ': ' . $invoice->user_tax_code . '</div>';
|
||||
}
|
||||
if ($invoice->user_address_1) {
|
||||
echo '<div>' . htmlsc($invoice->user_address_1) . '</div>';
|
||||
}
|
||||
if ($invoice->user_address_2) {
|
||||
echo '<div>' . htmlsc($invoice->user_address_2) . '</div>';
|
||||
}
|
||||
if ($invoice->user_city || $invoice->user_state || $invoice->user_zip) {
|
||||
echo '<div>';
|
||||
if ($invoice->user_zip) {
|
||||
echo htmlsc($invoice->user_zip) . ' ';
|
||||
}
|
||||
if ($invoice->user_city) {
|
||||
echo htmlsc($invoice->user_city) . ' ';
|
||||
}
|
||||
if ($invoice->user_state) {
|
||||
echo htmlsc($invoice->user_state);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
if ($invoice->user_country) {
|
||||
echo '<div>' . get_country_name(trans('cldr'), $invoice->user_country) . '</div>';
|
||||
}
|
||||
|
||||
echo '<br/>';
|
||||
|
||||
if ($invoice->user_phone) {
|
||||
echo '<div>' . trans('phone_abbr') . ': ' . htmlsc($invoice->user_phone) . '</div>';
|
||||
}
|
||||
if ($invoice->user_fax) {
|
||||
echo '<div>' . trans('fax_abbr') . ': ' . htmlsc($invoice->user_fax) . '</div>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
||||
<div class="invoice-details clearfix">
|
||||
<table>
|
||||
<tr>
|
||||
<td><?php echo trans('invoice_date') . ':'; ?></td>
|
||||
<td><?php echo date_from_mysql($invoice->invoice_date_created, true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo trans('due_date') . ': '; ?></td>
|
||||
<td><?php echo date_from_mysql($invoice->invoice_date_due, true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td <?php echo ($isPaid ? 'class="text-green"' : ''); ?>><?php echo trans('amount_due') . ': '; ?></td>
|
||||
<td <?php echo ($isPaid ? 'class="text-green"' : ''); ?>><?php echo format_currency($invoice->invoice_balance); ?></td>
|
||||
</tr>
|
||||
<?php if ($payment_method): ?>
|
||||
<tr>
|
||||
<td><?php echo trans('payment_method') . ': '; ?></td>
|
||||
<td><?php _htmlsc($payment_method->payment_method_name); ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Rechnungsnummer: <?php echo $invoice->invoice_number; ?><br />
|
||||
<?php if ($custom_fields['invoice']['Leistungszeitraum-Anfang'] && $custom_fields['invoice']['Leistungszeitraum-Ende']): ?>
|
||||
Leistungszeitraum:
|
||||
<?php echo date_from_mysql($custom_fields['invoice']['Leistungszeitraum-Anfang'], true); ?>
|
||||
-
|
||||
<?php echo date_from_mysql($custom_fields['invoice']['Leistungszeitraum-Ende'], true); ?>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
|
||||
<?php if ($custom_fields['invoice']['Beschreibung']): ?>
|
||||
<p>
|
||||
<?php echo $custom_fields['invoice']['Beschreibung']; ?>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
|
||||
<table class="item-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="item-name"><?php _trans('item'); ?></th>
|
||||
<?php if ($anyItemHasDescription) : ?>
|
||||
<th class="item-desc"><?php _trans('description'); ?></th>
|
||||
<?php endif; ?>
|
||||
<th class="item-amount text-right"><?php _trans('qty'); ?></th>
|
||||
<th class="item-price text-right"><?php _trans('price'); ?></th>
|
||||
<?php if ($show_item_discounts) : ?>
|
||||
<th class="item-discount text-right"><?php _trans('discount'); ?></th>
|
||||
<?php endif; ?>
|
||||
<th class="item-total text-right"><?php _trans('total'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<?php foreach ($items as $item) { ?>
|
||||
<tr>
|
||||
<td><?php _htmlsc($item->item_name); ?></td>
|
||||
<?php if ($anyItemHasDescription) : ?>
|
||||
<td><?php echo nl2br(htmlsc($item->item_description)); ?></td>
|
||||
<?php endif; ?>
|
||||
<td class="text-right">
|
||||
<?php echo format_amount($item->item_quantity); ?>
|
||||
<?php if ($item->item_product_unit) : ?>
|
||||
<br>
|
||||
<small><?php _htmlsc($item->item_product_unit); ?></small>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_price); ?>
|
||||
</td>
|
||||
<?php if ($show_item_discounts) : ?>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_discount); ?>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_total); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
||||
<tbody class="invoice-sums">
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<?php _trans('subtotal'); ?>
|
||||
</td>
|
||||
<td class="text-right"><?php echo format_currency($invoice->invoice_item_subtotal); ?></td>
|
||||
</tr>
|
||||
|
||||
<?php if ($invoice->invoice_item_tax_total > 0) { ?>
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<?php _trans('item_tax'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_item_tax_total); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php foreach ($invoice_tax_rates as $invoice_tax_rate) : ?>
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<?php echo htmlsc($invoice_tax_rate->invoice_tax_rate_name) . ' (' . format_amount($invoice_tax_rate->invoice_tax_rate_percent) . '%)'; ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice_tax_rate->invoice_tax_rate_amount); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
|
||||
<?php if ($invoice->invoice_discount_percent != '0.00') : ?>
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<?php _trans('discount'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_amount($invoice->invoice_discount_percent); ?>%
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php if ($invoice->invoice_discount_amount != '0.00') : ?>
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<?php _trans('discount'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_discount_amount); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<b><?php _trans('total'); ?></b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<b><?php echo format_currency($invoice->invoice_total); ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($invoice->invoice_paid != '0.00') : ?>
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<?php _trans('paid'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_paid); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr>
|
||||
<td colspan="<?php echo $colspan; ?>" class="text-right">
|
||||
<b><?php _trans('balance'); ?></b>
|
||||
</td>
|
||||
<td class="text-right <?php echo ($isPaid ? 'text-green' : ''); ?>">
|
||||
<b><?php echo format_currency($invoice->invoice_balance); ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</main>
|
||||
|
||||
<?php if ($isPaid : ?>
|
||||
<watermarktext content="<?php _trans('paid'); ?>" alpha="0.3" />
|
||||
<?php endif; ?>
|
||||
|
||||
<footer>
|
||||
<?php if ($invoice->invoice_terms) : ?>
|
||||
<div class="notes">
|
||||
<b><?php _trans('terms'); ?></b><br/>
|
||||
<?php echo nl2br(htmlsc($invoice->invoice_terms)); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!$isPaid : ?>
|
||||
<p>
|
||||
Bitte überweisen Sie den Rechnungsbetrag innerhalb von <?php echo (-1 * $invoice->days_overdue); ?> Tagen auf untenstehendes Konto:<br />
|
||||
Inhaber: <?php echo $invoice->user_name; ?><br />
|
||||
IBAN: <?php echo $invoice->user_iban; ?>
|
||||
</p>
|
||||
<?php else: ?>
|
||||
</p>Vielen Dank!<p>
|
||||
<?php endif; ?>
|
||||
|
||||
<p>
|
||||
Mit freundlichen Grüßen,<br />
|
||||
<br />
|
||||
Benjamin Yule Bädorf
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
<pre><?php print_r($invoice); ?></pre>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,339 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="<?php _trans('cldr'); ?>">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?php _trans('invoice'); ?></title>
|
||||
<link rel="stylesheet"
|
||||
href="<?php echo base_url(); ?>assets/<?php echo get_setting('system_theme', 'invoiceplane'); ?>/css/templates.css">
|
||||
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/core/css/custom-pdf.css">
|
||||
<style>
|
||||
/* general font size */
|
||||
body {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* color of Invoice Heading fixed */
|
||||
.invoice-title {
|
||||
color: #668100;
|
||||
}
|
||||
|
||||
/* left space due to DIN 5008 2.5mm */
|
||||
main, footer {
|
||||
margin-left: 2.5mm;
|
||||
}
|
||||
|
||||
/* reduces padding in item-table */
|
||||
table.item-table td {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
/* defines german DIN_5008_Form_B sichtbriefumschlag position */
|
||||
#client {
|
||||
position: absolute;
|
||||
top: 56mm;
|
||||
left: 20mm;
|
||||
width: 90mm;
|
||||
}
|
||||
|
||||
/* reduced font-size for items */
|
||||
table.item-table {
|
||||
font-size: 11px !important;
|
||||
}
|
||||
|
||||
/* sender in sichtfenster */
|
||||
#sichtfenster-absender {
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
/** Pfalzmarken DIN 5008 Form B */
|
||||
/* 105mm from top with offset */
|
||||
#pm-1{
|
||||
position: absolute;
|
||||
top: 101.8mm;
|
||||
left: 5mm;
|
||||
width: 5mm;
|
||||
}
|
||||
/* 148.5mm from top with offset */
|
||||
#pm-2{
|
||||
position: absolute;
|
||||
top: 145.3mm;
|
||||
left: 5mm;
|
||||
width: 7mm;
|
||||
}
|
||||
/* 210mm from top with offset */
|
||||
#pm-3{
|
||||
position: absolute;
|
||||
top: 206.8mm;
|
||||
left: 5mm;
|
||||
width: 5mm;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="pm-1"><hr /></div>
|
||||
<div id="pm-2"><hr /></div>
|
||||
<div id="pm-3"><hr /></div>
|
||||
|
||||
<div id="client">
|
||||
<div id="sichtfenster-absender">
|
||||
<?php
|
||||
echo htmlsc($invoice->user_name) . ' - ' . htmlsc($invoice->user_address_1) . ' - ' . htmlsc($invoice->user_zip) . ' ' . htmlsc($invoice->user_city);
|
||||
?>
|
||||
<hr />
|
||||
</div>
|
||||
<div>
|
||||
<b><?php _htmlsc(format_client($invoice)); ?></b>
|
||||
</div>
|
||||
<?php if ($invoice->client_vat_id) {
|
||||
echo '<div>' . trans('vat_id_short') . ': ' . $invoice->client_vat_id . '</div>';
|
||||
}
|
||||
if ($invoice->client_tax_code) {
|
||||
echo '<div>' . trans('tax_code_short') . ': ' . $invoice->client_tax_code . '</div>';
|
||||
}
|
||||
if ($invoice->client_address_1) {
|
||||
echo '<div>' . htmlsc($invoice->client_address_1) . '</div>';
|
||||
}
|
||||
if ($invoice->client_address_2) {
|
||||
echo '<div>' . htmlsc($invoice->client_address_2) . '</div>';
|
||||
}
|
||||
if ($invoice->client_city || $invoice->client_state || $invoice->client_zip) {
|
||||
echo '<div>';
|
||||
if ($invoice->client_zip) {
|
||||
echo htmlsc($invoice->client_zip) . ' ';
|
||||
}
|
||||
if ($invoice->client_city) {
|
||||
echo htmlsc($invoice->client_city) . ' ';
|
||||
}
|
||||
if ($invoice->client_state) {
|
||||
echo htmlsc($invoice->client_state);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
if ($invoice->client_country) {
|
||||
echo '<div>' . get_country_name(trans('cldr'), $invoice->client_country) . '</div>';
|
||||
}
|
||||
|
||||
echo '<br/>';
|
||||
|
||||
if ($invoice->client_phone) {
|
||||
echo '<div>' . trans('phone_abbr') . ': ' . htmlsc($invoice->client_phone) . '</div>';
|
||||
} ?>
|
||||
</div>
|
||||
|
||||
<header class="clearfix">
|
||||
|
||||
<div id="logo">
|
||||
<?php echo invoice_logo_pdf(); ?>
|
||||
</div>
|
||||
|
||||
<!-- client is extracted due to absolute position -->
|
||||
|
||||
<div id="company">
|
||||
<div><b><?php _htmlsc($invoice->user_name); ?></b></div>
|
||||
<?php if ($invoice->user_vat_id) {
|
||||
echo '<div>' . trans('vat_id_short') . ': ' . $invoice->user_vat_id . '</div>';
|
||||
}
|
||||
if ($invoice->user_tax_code) {
|
||||
echo '<div>' . trans('tax_code_short') . ': ' . $invoice->user_tax_code . '</div>';
|
||||
}
|
||||
if ($invoice->user_address_1) {
|
||||
echo '<div>' . htmlsc($invoice->user_address_1) . '</div>';
|
||||
}
|
||||
if ($invoice->user_address_2) {
|
||||
echo '<div>' . htmlsc($invoice->user_address_2) . '</div>';
|
||||
}
|
||||
if ($invoice->user_city || $invoice->user_state || $invoice->user_zip) {
|
||||
echo '<div>';
|
||||
if ($invoice->user_zip) {
|
||||
echo htmlsc($invoice->user_zip) . ' ';
|
||||
}
|
||||
if ($invoice->user_city) {
|
||||
echo htmlsc($invoice->user_city) . ' ';
|
||||
}
|
||||
if ($invoice->user_state) {
|
||||
echo htmlsc($invoice->user_state);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
if ($invoice->user_country) {
|
||||
echo '<div>' . get_country_name(trans('cldr'), $invoice->user_country) . '</div>';
|
||||
}
|
||||
|
||||
echo '<br/>';
|
||||
|
||||
if ($invoice->user_phone) {
|
||||
echo '<div>' . trans('phone_abbr') . ': ' . htmlsc($invoice->user_phone) . '</div>';
|
||||
}
|
||||
if ($invoice->user_fax) {
|
||||
echo '<div>' . trans('fax_abbr') . ': ' . htmlsc($invoice->user_fax) . '</div>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
||||
<div class="invoice-details clearfix">
|
||||
<table>
|
||||
<tr>
|
||||
<td><?php echo trans('invoice_date') . ':'; ?></td>
|
||||
<td><?php echo date_from_mysql($invoice->invoice_date_created, true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo trans('due_date') . ': '; ?></td>
|
||||
<td><?php echo date_from_mysql($invoice->invoice_date_due, true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-green"><?php echo trans('amount_due') . ': '; ?></td>
|
||||
<td class="text-green"><?php echo format_currency($invoice->invoice_balance); ?></td>
|
||||
</tr>
|
||||
<?php if ($payment_method): ?>
|
||||
<tr>
|
||||
<td><?php echo trans('payment_method') . ': '; ?></td>
|
||||
<td><?php _htmlsc($payment_method->payment_method_name); ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h1 class="invoice-title text-green"><?php echo trans('invoice') . ' ' . $invoice->invoice_number; ?></h1>
|
||||
|
||||
<table class="item-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="item-name"><?php _trans('item'); ?></th>
|
||||
<th class="item-desc"><?php _trans('description'); ?></th>
|
||||
<th class="item-amount text-right"><?php _trans('qty'); ?></th>
|
||||
<th class="item-price text-right"><?php _trans('price'); ?></th>
|
||||
<?php if ($show_item_discounts) : ?>
|
||||
<th class="item-discount text-right"><?php _trans('discount'); ?></th>
|
||||
<?php endif; ?>
|
||||
<th class="item-total text-right"><?php _trans('total'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php
|
||||
foreach ($items as $item) { ?>
|
||||
<tr>
|
||||
<td><?php _htmlsc($item->item_name); ?></td>
|
||||
<td><?php echo nl2br(htmlsc($item->item_description)); ?></td>
|
||||
<td class="text-right">
|
||||
<?php echo format_amount($item->item_quantity); ?>
|
||||
<?php if ($item->item_product_unit) : ?>
|
||||
<br>
|
||||
<small><?php _htmlsc($item->item_product_unit); ?></small>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_price); ?>
|
||||
</td>
|
||||
<?php if ($show_item_discounts) : ?>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_discount); ?>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_total); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
</tbody>
|
||||
<tbody class="invoice-sums">
|
||||
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('subtotal'); ?>
|
||||
</td>
|
||||
<td class="text-right"><?php echo format_currency($invoice->invoice_item_subtotal); ?></td>
|
||||
</tr>
|
||||
|
||||
<?php if ($invoice->invoice_item_tax_total > 0) { ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('item_tax'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_item_tax_total); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php foreach ($invoice_tax_rates as $invoice_tax_rate) : ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php echo htmlsc($invoice_tax_rate->invoice_tax_rate_name) . ' (' . format_amount($invoice_tax_rate->invoice_tax_rate_percent) . '%)'; ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice_tax_rate->invoice_tax_rate_amount); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
|
||||
<?php if ($invoice->invoice_discount_percent != '0.00') : ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('discount'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_amount($invoice->invoice_discount_percent); ?>%
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php if ($invoice->invoice_discount_amount != '0.00') : ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('discount'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_discount_amount); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<b><?php _trans('total'); ?></b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<b><?php echo format_currency($invoice->invoice_total); ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('paid'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_paid); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<b><?php _trans('balance'); ?></b>
|
||||
</td>
|
||||
<td class="text-right text-green">
|
||||
<b><?php echo format_currency($invoice->invoice_balance); ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</main>
|
||||
|
||||
<watermarktext content="<?php _trans('paid'); ?>" alpha="0.3" />
|
||||
|
||||
<footer>
|
||||
<?php if ($invoice->invoice_terms) : ?>
|
||||
<div class="notes">
|
||||
<b><?php _trans('terms'); ?></b><br/>
|
||||
<?php echo nl2br(htmlsc($invoice->invoice_terms)); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
337
template.php
337
template.php
|
@ -1,337 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="<?php _trans('cldr'); ?>">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?php _trans('invoice'); ?></title>
|
||||
<link rel="stylesheet"
|
||||
href="<?php echo base_url(); ?>assets/<?php echo get_setting('system_theme', 'invoiceplane'); ?>/css/templates.css">
|
||||
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/core/css/custom-pdf.css">
|
||||
<style>
|
||||
/* general font size */
|
||||
body {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* color of Invoice Heading fixed */
|
||||
.invoice-title {
|
||||
color: #668100;
|
||||
}
|
||||
|
||||
/* left space due to DIN 5008 2.5mm */
|
||||
main, footer {
|
||||
margin-left: 2.5mm;
|
||||
}
|
||||
|
||||
/* reduces padding in item-table */
|
||||
table.item-table td {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
/* defines german DIN_5008_Form_B sichtbriefumschlag position */
|
||||
#client {
|
||||
position: absolute;
|
||||
top: 56mm;
|
||||
left: 20mm;
|
||||
width: 90mm;
|
||||
}
|
||||
|
||||
/* reduced font-size for items */
|
||||
table.item-table {
|
||||
font-size: 11px !important;
|
||||
}
|
||||
|
||||
/* sender in sichtfenster */
|
||||
#sichtfenster-absender {
|
||||
font-size: 8px;
|
||||
}
|
||||
|
||||
/** Pfalzmarken DIN 5008 Form B */
|
||||
/* 105mm from top with offset */
|
||||
#pm-1{
|
||||
position: absolute;
|
||||
top: 101.8mm;
|
||||
left: 5mm;
|
||||
width: 5mm;
|
||||
}
|
||||
/* 148.5mm from top with offset */
|
||||
#pm-2{
|
||||
position: absolute;
|
||||
top: 145.3mm;
|
||||
left: 5mm;
|
||||
width: 7mm;
|
||||
}
|
||||
/* 210mm from top with offset */
|
||||
#pm-3{
|
||||
position: absolute;
|
||||
top: 206.8mm;
|
||||
left: 5mm;
|
||||
width: 5mm;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="pm-1"><hr /></div>
|
||||
<div id="pm-2"><hr /></div>
|
||||
<div id="pm-3"><hr /></div>
|
||||
|
||||
<div id="client">
|
||||
<div id="sichtfenster-absender">
|
||||
<?php
|
||||
echo htmlsc($invoice->user_name) . ' - ' . htmlsc($invoice->user_address_1) . ' - ' . htmlsc($invoice->user_zip) . ' ' . htmlsc($invoice->user_city);
|
||||
?>
|
||||
<hr />
|
||||
</div>
|
||||
<div>
|
||||
<b><?php _htmlsc(format_client($invoice)); ?></b>
|
||||
</div>
|
||||
<?php if ($invoice->client_vat_id) {
|
||||
echo '<div>' . trans('vat_id_short') . ': ' . $invoice->client_vat_id . '</div>';
|
||||
}
|
||||
if ($invoice->client_tax_code) {
|
||||
echo '<div>' . trans('tax_code_short') . ': ' . $invoice->client_tax_code . '</div>';
|
||||
}
|
||||
if ($invoice->client_address_1) {
|
||||
echo '<div>' . htmlsc($invoice->client_address_1) . '</div>';
|
||||
}
|
||||
if ($invoice->client_address_2) {
|
||||
echo '<div>' . htmlsc($invoice->client_address_2) . '</div>';
|
||||
}
|
||||
if ($invoice->client_city || $invoice->client_state || $invoice->client_zip) {
|
||||
echo '<div>';
|
||||
if ($invoice->client_zip) {
|
||||
echo htmlsc($invoice->client_zip) . ' ';
|
||||
}
|
||||
if ($invoice->client_city) {
|
||||
echo htmlsc($invoice->client_city) . ' ';
|
||||
}
|
||||
if ($invoice->client_state) {
|
||||
echo htmlsc($invoice->client_state);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
if ($invoice->client_country) {
|
||||
echo '<div>' . get_country_name(trans('cldr'), $invoice->client_country) . '</div>';
|
||||
}
|
||||
|
||||
echo '<br/>';
|
||||
|
||||
if ($invoice->client_phone) {
|
||||
echo '<div>' . trans('phone_abbr') . ': ' . htmlsc($invoice->client_phone) . '</div>';
|
||||
} ?>
|
||||
</div>
|
||||
|
||||
<header class="clearfix">
|
||||
|
||||
<div id="logo">
|
||||
<?php echo invoice_logo_pdf(); ?>
|
||||
</div>
|
||||
|
||||
<!-- client is extracted due to absolute position -->
|
||||
|
||||
<div id="company">
|
||||
<div><b><?php _htmlsc($invoice->user_name); ?></b></div>
|
||||
<?php if ($invoice->user_vat_id) {
|
||||
echo '<div>' . trans('vat_id_short') . ': ' . $invoice->user_vat_id . '</div>';
|
||||
}
|
||||
if ($invoice->user_tax_code) {
|
||||
echo '<div>' . trans('tax_code_short') . ': ' . $invoice->user_tax_code . '</div>';
|
||||
}
|
||||
if ($invoice->user_address_1) {
|
||||
echo '<div>' . htmlsc($invoice->user_address_1) . '</div>';
|
||||
}
|
||||
if ($invoice->user_address_2) {
|
||||
echo '<div>' . htmlsc($invoice->user_address_2) . '</div>';
|
||||
}
|
||||
if ($invoice->user_city || $invoice->user_state || $invoice->user_zip) {
|
||||
echo '<div>';
|
||||
if ($invoice->user_zip) {
|
||||
echo htmlsc($invoice->user_zip) . ' ';
|
||||
}
|
||||
if ($invoice->user_city) {
|
||||
echo htmlsc($invoice->user_city) . ' ';
|
||||
}
|
||||
if ($invoice->user_state) {
|
||||
echo htmlsc($invoice->user_state);
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
if ($invoice->user_country) {
|
||||
echo '<div>' . get_country_name(trans('cldr'), $invoice->user_country) . '</div>';
|
||||
}
|
||||
|
||||
echo '<br/>';
|
||||
|
||||
if ($invoice->user_phone) {
|
||||
echo '<div>' . trans('phone_abbr') . ': ' . htmlsc($invoice->user_phone) . '</div>';
|
||||
}
|
||||
if ($invoice->user_fax) {
|
||||
echo '<div>' . trans('fax_abbr') . ': ' . htmlsc($invoice->user_fax) . '</div>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</header>
|
||||
|
||||
<main>
|
||||
|
||||
<div class="invoice-details clearfix">
|
||||
<table>
|
||||
<tr>
|
||||
<td><?php echo trans('invoice_date') . ':'; ?></td>
|
||||
<td><?php echo date_from_mysql($invoice->invoice_date_created, true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo trans('due_date') . ': '; ?></td>
|
||||
<td><?php echo date_from_mysql($invoice->invoice_date_due, true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo trans('amount_due') . ': '; ?></td>
|
||||
<td><?php echo format_currency($invoice->invoice_balance); ?></td>
|
||||
</tr>
|
||||
<?php if ($payment_method): ?>
|
||||
<tr>
|
||||
<td><?php echo trans('payment_method') . ': '; ?></td>
|
||||
<td><?php _htmlsc($payment_method->payment_method_name); ?></td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h1 class="invoice-title"><?php echo trans('invoice') . ' ' . $invoice->invoice_number; ?></h1>
|
||||
|
||||
<table class="item-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="item-name"><?php _trans('item'); ?></th>
|
||||
<th class="item-desc"><?php _trans('description'); ?></th>
|
||||
<th class="item-amount text-right"><?php _trans('qty'); ?></th>
|
||||
<th class="item-price text-right"><?php _trans('price'); ?></th>
|
||||
<?php if ($show_item_discounts) : ?>
|
||||
<th class="item-discount text-right"><?php _trans('discount'); ?></th>
|
||||
<?php endif; ?>
|
||||
<th class="item-total text-right"><?php _trans('total'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<?php
|
||||
foreach ($items as $item) { ?>
|
||||
<tr>
|
||||
<td><?php _htmlsc($item->item_name); ?></td>
|
||||
<td><?php echo nl2br(htmlsc($item->item_description)); ?></td>
|
||||
<td class="text-right">
|
||||
<?php echo format_amount($item->item_quantity); ?>
|
||||
<?php if ($item->item_product_unit) : ?>
|
||||
<br>
|
||||
<small><?php _htmlsc($item->item_product_unit); ?></small>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_price); ?>
|
||||
</td>
|
||||
<?php if ($show_item_discounts) : ?>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_discount); ?>
|
||||
</td>
|
||||
<?php endif; ?>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($item->item_total); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
</tbody>
|
||||
<tbody class="invoice-sums">
|
||||
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('subtotal'); ?>
|
||||
</td>
|
||||
<td class="text-right"><?php echo format_currency($invoice->invoice_item_subtotal); ?></td>
|
||||
</tr>
|
||||
|
||||
<?php if ($invoice->invoice_item_tax_total > 0) { ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('item_tax'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_item_tax_total); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php foreach ($invoice_tax_rates as $invoice_tax_rate) : ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php echo htmlsc($invoice_tax_rate->invoice_tax_rate_name) . ' (' . format_amount($invoice_tax_rate->invoice_tax_rate_percent) . '%)'; ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice_tax_rate->invoice_tax_rate_amount); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
|
||||
<?php if ($invoice->invoice_discount_percent != '0.00') : ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('discount'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_amount($invoice->invoice_discount_percent); ?>%
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php if ($invoice->invoice_discount_amount != '0.00') : ?>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('discount'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_discount_amount); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<b><?php _trans('total'); ?></b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<b><?php echo format_currency($invoice->invoice_total); ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<?php _trans('paid'); ?>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<?php echo format_currency($invoice->invoice_paid); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td <?php echo($show_item_discounts ? 'colspan="5"' : 'colspan="4"'); ?> class="text-right">
|
||||
<b><?php _trans('balance'); ?></b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<b><?php echo format_currency($invoice->invoice_balance); ?></b>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<?php if ($invoice->invoice_terms) : ?>
|
||||
<div class="notes">
|
||||
<b><?php _trans('terms'); ?></b><br/>
|
||||
<?php echo nl2br(htmlsc($invoice->invoice_terms)); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue