2 new features: 1. Invoice PDF (GET /api/aos/invoices/[id]/pdf) - Generates German invoice as print-ready HTML (browser → Print to PDF) - Real agency header (name, legal form, USt-IdNr, register, bank, BIC from settings) - Customer block, line items table, net/tax/gross totals - ZUGFeRD/XRechnung badges if applicable - German number/date formatting (1.234,56 € / 27.10.2026) - GoBD: no-store cache header - 3.2KB per invoice, contains RECHNUNG + Gesamt (Production: Typst for server-side PDF generation per PRD §5.2) 2. Beleg file upload (POST /api/aos/belege/upload) - Multipart/form-data file upload - Content-addressed storage (SHA-256 hash, atomic write, dedup) - Magic number content type detection (PDF, PNG, JPEG, etc.) - Duplicate detection (same hash → 409) - GoBD retention (8 years for invoices, 6 for others) - Audit-logged - Tested: upload OK, duplicate → 409 0 TS errors, ESLint clean.
109 KiB
Executable File
1440x900px
109 KiB
Executable File
1440x900px