<?php
require_role(ROLE_SYSADMIN);
$title = 'Report';
$year = date("Y")-1;
$typeresult = db_query("SELECT id, description FROM buchhaltung.types");
$dataresult = db_query("SELECT id, date, description, invoice_id, direction, type, amount, tax_rate, gross FROM buchhaltung.transactions WHERE date BETWEEN :from and :to ORDER BY date", array(":from" => $year."-01-01", ":to" => $year."-12-31"));
$types = array();
$data = array();
while ($t = $typeresult->fetch()) {
$types[$t['id']] = $t['description'];
}
while ($line = $dataresult->fetch()) {
$data[] = $line;
}
output("Journal für $year (01.01.$year-31.12.$year, sortiert nach Datum)");
output("<h3>$t</h3>");
output("<table>");
foreach ($data as $line) {
$net = $line['amount'];
if ($line['gross'] == 1 && $line['tax_rate'] > 0) {
$net = $net / (1.0+($line['tax_rate']/100));
}
if ($line['direction'] == 'out') {
$net = -$net;
}
$ust = $net * ($line['tax_rate']/100);
$gross = $net + $ust;
$net = str_replace('.', ',', sprintf('%.2f €', $net));
$ust = str_replace('.', ',', sprintf('%.2f €', $ust));
$gross = str_replace('.', ',', sprintf('%.2f €', $gross));
$typetext = $types[$line['type']];
output("<tr><td>".$line['date']."</td><td>".$typetext."</td><td>".$line['description']."</td><td style=\"text-align: right;\">".$net."</td><td style=\"text-align: right;\">".$ust."</td><td style=\"text-align: right;\">".$gross."</td></tr>\n");
}
output('</table>');