prepare("SELECT COUNT(*) FROM mahnungen WHERE invoice_id = :id");
$stmt->execute([':id' => $invoice_id]);
$existing_count = (int)$stmt->fetchColumn();
$next_level = min($existing_count + 1, 3);
$error = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$mahnung_date = $_POST['mahnung_date'] ?? date('Y-m-d');
$level = (int)($_POST['level'] ?? $next_level);
$fee_amount = (float)str_replace(',', '.', $_POST['fee_amount'] ?? '0');
if ($level < 1 || $level > 3) $level = $next_level;
try {
$stmt = $pdo->prepare("INSERT INTO mahnungen (invoice_id, mahnung_date, level, fee_amount)
VALUES (:iid, :mdate, :level, :fee)
RETURNING id");
$stmt->execute([
':iid' => $invoice_id,
':mdate' => $mahnung_date,
':level' => $level,
':fee' => $fee_amount,
]);
$mahnung_id = (int)$stmt->fetchColumn();
archive_mahnung_pdf($mahnung_id);
header('Location: ' . url_for('mahnung_pdf.php?id=' . $mahnung_id));
exit;
} catch (\Exception $e) {
$error = $e->getMessage();
}
}
$level_labels = [1 => 'Mahnung', 2 => '2. Mahnung', 3 => '3. Mahnung (Letzte)'];
?>
Mahnung – = htmlspecialchars($inv['invoice_number']) ?>
= htmlspecialchars($error) ?>
Mahnung erstellen
| Rechnung | = htmlspecialchars($inv['invoice_number']) ?> |
| Kunde | = htmlspecialchars($inv['customer_name']) ?> |
| Rechnungsdatum | = date('d.m.Y', strtotime($inv['invoice_date'])) ?> |
| Betrag | = number_format($inv['total_gross'], 2, ',', '.') ?> € |