132 — Datenexporte (CSV, PDF-Report)
Aktualisiert am 1. Juni 2026
132 — Datenexporte (CSV, PDF-Report)
PartnerDesk bietet mehrere Export-Funktionen — für eigene Reporting-Tools, Steuerberater, BI-Systeme oder einfach zur Archivierung.
CSV-Exporte
Transactions
Admin → „Transaktionen" → „CSV exportieren" (oder direkt /api/admin/export/transactions.csv).
Optionale Filter via Query:
from,to— Date-Range.status— z. B.approved.partnerId.
Payouts
Admin → „Auszahlungen" → „CSV exportieren".
Spalten:
- Payout-Nummer, Partner-Name, Brutto/Netto/Steuer, Status, Datum.
- Plus externe Sync-Info: Provider, externe Belegnummer (falls easybill/lexoffice-Sync aktiv).
Partners
Admin → „Partner" → „CSV exportieren".
Spalten:
- Stammdaten (Name, Email, Adresse).
- Tier, CommissionGroup.
- Bank- bzw. PayPal-Daten.
- Tax-ID.
Customers
Admin → „Kunden" → „CSV exportieren".
Spalten: External-ID, Email, Name, zugeordneter Partner, Lifetime-Flag.
CSV-Format
- UTF-8 BOM vorangestellt (Excel erkennt UTF-8 korrekt).
- Semikolon-Separator (deutscher Excel-Standard).
- Wert-Normalisierung:
DateTime→ ISO 8601.bool→ja/nein.null→ leer.
- Spezialzeichen korrekt geescaped (Anführungszeichen, Zeilenumbrüche).
PDF-Monatsreport
Admin → „Dashboard" → Monat wählen → „Report herunterladen".
Endpoint: /api/admin/reports/monthly.pdf?month=YYYY-MM.
Inhalt:
| Sektion | Daten |
|---|---|
| KPIs | TX-Count, Umsatz, Provision, Quote, aktive Partner, neue Partner, Auszahlungen |
| Top-10-Partner | Sortiert nach Provision |
| Tagesverlauf | TX pro Tag im gewählten Monat |
Sinnvoll für: Monats-Reporting an Geschäftsführung, Investoren, Steuerberater.
DSGVO-Datenexport (Partner-spezifisch)
Partner kann selbst seinen kompletten Datenexport anfordern:
Partner-Portal → Profil → „Meine Daten exportieren" → ZIP-Download mit:
profile.json— Stammdaten.transactions.csv.payouts.csv.customers.csv(lifetime-assigned).README.txt— Erklärung der Felder + DSGVO-Hinweis.
Admin kann denselben Export für einen Partner auslösen (DSGVO Art. 20).
Audit-Log-Export
Tenant-Owner → „Audit-Log" → „Als CSV exportieren".
Mit gleichen Filter-Params wie die List-View.
Skalierbarkeit
Alle CSV-Exporte nutzen StreamedResponse: zeilenweise an den Browser, ohne den gesamten Output im Speicher zu puffern. Millionenfach skalierbar — auch bei 1 Mio TX läuft der Export.
Repository-Queries nutzen Iterable/Cursor → keine Memory-Probleme.
Auth bei Direkt-Downloads
Da window.open(url) keinen Authorization: Bearer-Header senden kann, nutzt PartnerDesk einen ?token=-Query-Parameter-Workaround:
GET /api/admin/export/transactions.csv?token=<jwt>
Der authDownload-Helper im Frontend hängt den Token automatisch an. Lexik_JWT akzeptiert ihn nur auf einer Whitelist von URLs (Sicherheit).
Wann welcher Export?
| Use-Case | Empfehlung |
|---|---|
| Steuerberater will Sales/Auszahlungen | Transactions + Payouts CSV |
| Monats-Report für Investoren | PDF-Monatsreport |
| BI-Tool-Import | Public-API (siehe 130) — strukturierter |
| DSGVO-Auskunfts-Anfrage | DSGVO-Datenexport |
| Audit-Klärung mit Compliance | Audit-Log-CSV |
API-Variante
Wenn Sie keinen UI-Klick wollen, sondern automatisierte Exporte:
curl -H "X-API-Key: pdk_..." \
"https://4leads.partnerdesk.io/api/v1/transactions?from=2026-05-01&to=2026-05-31&limit=1000"
JSON-Response, beliebig oft pollbar (innerhalb des 600/Min Rate-Limits).
Verwandte Kapitel
Technische Tiefen-Doku: ../029-csv-export-webhook-replay.md, ../135-csv-partners-pdf-monthly.md, ../126-gdpr-data-export.md