#010 Export CSV und PDF #10

Closed
opened 2026-09-17 19:43:02 +00:00 by florian.wilde · 0 comments
Owner

Ziel

Daten für Kundenunterlagen und Buchhaltung exportieren.

Aufgaben

  • CSV (UTF-8 mit BOM, Semikolon, deutsches Zahlenformat): Host-Liste, Kundenübersicht, Rechnungsliste pro Jahr
  • PDF mit einfarbigem Logo: Host-Liste, Kundenübersicht (Anlage für einen Kunden), Rechnungsliste pro Jahr mit Summen
  • Export berücksichtigt aktive Filter

Akzeptanzkriterien

  • CSV öffnet sich in Excel ohne Umlautfehler
  • PDF-Summen entsprechen der Rechnungsübersicht

Abhängigkeiten

#009

Notizen / Entscheidungen

  • PDFs entstehen serverseitig mit @react-pdf/renderer – kein Chromium im Container nötig.
  • Gemeinsames Grundgerüst (src/server/pdf/dokument.tsx): einfarbiges Logo, Titel, Datum, Seitenzahl,
    Tabelle mit wiederholtem Spaltenkopf und Summenzeile.
  • Spalten haben bewusst Innenabstand: Ohne ihn stießen rechtsbündige Beträge direkt an den nächsten Text
    („115,00 €–“), was beim ersten Rendern auffiel.
  • Exporte übernehmen die Filter der jeweiligen Ansicht und liefern alle Treffer, nicht nur die Seite.

Quelle: docs/issues/010-export.md – dort wird dieses Issue gepflegt.

## Ziel Daten für Kundenunterlagen und Buchhaltung exportieren. ## Aufgaben - [x] CSV (UTF-8 mit BOM, Semikolon, deutsches Zahlenformat): Host-Liste, Kundenübersicht, Rechnungsliste pro Jahr - [x] PDF mit einfarbigem Logo: Host-Liste, Kundenübersicht (Anlage für einen Kunden), Rechnungsliste pro Jahr mit Summen - [x] Export berücksichtigt aktive Filter ## Akzeptanzkriterien - [x] CSV öffnet sich in Excel ohne Umlautfehler - [x] PDF-Summen entsprechen der Rechnungsübersicht ## Abhängigkeiten #009 ## Notizen / Entscheidungen - PDFs entstehen serverseitig mit `@react-pdf/renderer` – kein Chromium im Container nötig. - Gemeinsames Grundgerüst (`src/server/pdf/dokument.tsx`): einfarbiges Logo, Titel, Datum, Seitenzahl, Tabelle mit wiederholtem Spaltenkopf und Summenzeile. - Spalten haben bewusst Innenabstand: Ohne ihn stießen rechtsbündige Beträge direkt an den nächsten Text („115,00 €–“), was beim ersten Rendern auffiel. - Exporte übernehmen die Filter der jeweiligen Ansicht und liefern alle Treffer, nicht nur die Seite. --- Quelle: `docs/issues/010-export.md` – dort wird dieses Issue gepflegt.
florian.wilde added this to the v0.6.0 milestone 2026-09-17 19:43:02 +00:00
florian.wilde added the export label 2026-09-17 19:43:02 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/ProxLedger#10