View::h($v); $fmtKz = fn($v) => number_format((float)$v, 2, ',', '.') . ' €'; // Für Kz 69: vorzeichenbehafteter USt-Beitrag zur Zahllast. // Einnahmen mit USt = positiv, Ausgaben mit Vorsteuer = negativ, // ig_erwerb heben sich gegenseitig auf → 0. $ustBeitragKz69 = function(array $b): float { $steuerart = $b['steuerart'] ?? 'normal'; $ustSatz = (float)$b['ust_satz']; $betragUst = (float)$b['betrag_ust']; if ($b['buchungstyp'] === 'Einnahme' && $steuerart === 'normal' && $ustSatz > 0) { return $betragUst; // Umsatzsteuer → positiv } if ($b['buchungstyp'] === 'Ausgabe' && $steuerart === 'normal' && $betragUst != 0) { return -$betragUst; // Vorsteuer → Vorzeichen umkehren } return 0.0; // steuerfreie Umsätze und ig_erwerb (KZ91-KZ94 = KZ67, Netto-Beitrag 0) }; // Ausgaben werden als negative Beträge angezeigt (Geld fließt ab). // Stornobuchungen haben bereits negative Beträge in der DB – kein abs(). $signedBetrag = fn(array $b, string $field): float => $b['buchungstyp'] === 'Ausgabe' ? -(float)$b[$field] : (float)$b[$field]; ?>
Keine Buchungen für diesen Zeitraum.
| Datum | Beleg | Buchungstext | Kategorie | Zahlungskonto | Netto | = $kz === '69' ? 'USt-Beitrag' : 'USt' ?> | Brutto | Anlage |
|---|---|---|---|---|---|---|---|---|
| = $h($b['buchungs_datum']) ?> | = $h($b['beleg_nr'] ?? '#' . $b['beleg_id']) ?> – | = $h($b['buchungstext']) ?> | = $h($b['kategorie_nr']) ?> = $h($b['kategorie_name']) ?> | = $h($b['zahlungs_nr']) ?> = $h($b['zahlungs_name']) ?> | = $fmtKz($netto) ?> | = $fmtKz($ust) ?> | = $fmtKz($brutto) ?> | = $h($b['anlage_nr']) ?> = $h($b['anlage_bezeichnung']) ?> – |
| Summe (= count($bookings) ?> Buchungen) | = $fmtKz($sumNetto) ?> | = $fmtKz($sumUst) ?> | = $fmtKz($sumBrutto) ?> | |||||