Skip to main content
Diese Funktion ist nur im Enterprise-Plan verfügbar. Kontaktiere unser Sales-Team unter sales@fynn.eu für weitere Informationen.

Übersicht

Mit Custom PDF Rendering kannst du deine eigene PDF-Rendering-Engine verwenden, um Rechnungen, Gutschriften und Stornos nach deinen individuellen Anforderungen zu generieren. Dies ermöglicht:
  • Vollständige Design-Kontrolle: Gestalte Belege exakt nach deinen Corporate-Design-Vorgaben
  • Eigene Template-Engines: Nutze deine bevorzugte Template-Engine (LaTeX, Typst, etc.)
  • Komplexe Layouts: Erstelle mehrseitige Dokumente mit komplexen Tabellen und Grafiken
  • Integration mit bestehenden Systemen: Binde deine vorhandene Dokumentengenerierung nahtlos ein

Funktionsweise

  1. Beleg wird finalisiert: Wenn ein Beleg finalisiert wird, wechselt er in den Status STATUS_FINALIZING
  2. Webhook wird ausgelöst: Fynn sendet den invoice.pdf.generation_requested Webhook mit allen Belegdaten
  3. PDF generieren: Dein System generiert das PDF mit deiner eigenen Rendering-Engine
  4. PDF hochladen: Das fertige PDF wird über die API an Fynn zurückgesendet
  5. Finalisierung abschließen: Fynn schließt den Finalisierungsprozess ab (ZUGFeRD-Einbettung, Versand, etc.)

Konfiguration

1. Feature aktivieren

Kontaktiere den Fynn-Support, um das Feature für deine Organisation freizuschalten.

2. Webhook registrieren

Registriere einen Webhook für das Event invoice.pdf.generation_requested:
1

Webhooks öffnen

Navigiere zu Einstellungen > Webhooks
2

Neuen Webhook erstellen

Klicke auf Neuer Webhook und konfiguriere:
  • URL: Die URL deines Webhook-Endpoints
  • Events: Wähle invoice.pdf.generation_requested
  • Secret: Ein sicheres Secret zur Signaturvalidierung

3. Einstellungen konfigurieren

Unter Einstellungen > Abrechnung > Benutzerdefiniertes PDF-Rendering kannst du folgende Optionen konfigurieren:
Benutzerdefiniertes PDF-Rendering Einstellungen

Webhook-Payload

Der invoice.pdf.generation_requested Webhook enthält alle Belegdaten:

PDF hochladen

Nach der PDF-Generierung muss das Dokument über die API hochgeladen werden:

Endpoint-Details

Request

  • Content-Type: multipart/form-data
  • Feld: file - Die PDF-Datei (MIME-Type: application/pdf)

Response

200 OK

Fehlercodes

Timeout und Fallback

Wenn das Custom PDF Rendering aktiviert ist, wartet Fynn auf das Hochladen des PDFs. Falls das PDF nicht rechtzeitig hochgeladen wird:
  • Mit aktiviertem Fallback: Nach Ablauf des Timeouts generiert Fynn das PDF automatisch mit der internen Rendering-Engine
  • Ohne Fallback: Der Beleg bleibt im Status STATUS_FINALIZING bis das PDF manuell hochgeladen wird
Stelle sicher, dass dein System das PDF innerhalb des konfigurierten Timeouts hochlädt, um Verzögerungen bei der Belegstellung zu vermeiden.

ZUGFeRD-Einbettung

Wenn embedZugferd aktiviert ist, bettet Fynn automatisch die ZUGFeRD/Factur-X XML-Daten in das hochgeladene PDF ein. Dies gewährleistet die Compliance mit dem deutschen e-Rechnungsstandard.
Du musst dich nicht um die ZUGFeRD-Generierung kümmern – Fynn übernimmt die Einbettung nach dem Upload automatisch.

Best Practices

Webhook-Verarbeitung

  1. Asynchrone Verarbeitung: Bestätige den Webhook sofort (HTTP 200) und verarbeite die PDF-Generierung asynchron
  2. Idempotenz: Implementiere Idempotenz, um doppelte Webhook-Aufrufe zu handhaben
  3. Retry-Logik: Implementiere Retries für den PDF-Upload bei temporären Fehlern

PDF-Anforderungen

  • Format: PDF/A-3 wird empfohlen für beste ZUGFeRD-Kompatibilität
  • Größe: Maximal 10 MB
  • Qualität: Mindestens 150 DPI für eingebettete Bilder

Sicherheit

  • Validiere die Webhook-Signatur
  • Nutze HTTPS für alle API-Aufrufe
  • Speichere API-Tokens sicher

Beispiel-Implementierung (Node.js)

Troubleshooting

PDF wird nicht akzeptiert

  • Stelle sicher, dass die Datei ein gültiges PDF ist
  • Überprüfe, dass der Beleg im Status STATUS_FINALIZING ist
  • Validiere, dass du die richtige Invoice-ID verwendest

Webhook wird nicht empfangen

  • Überprüfe, dass der Webhook für invoice.pdf.generation_requested registriert ist
  • Stelle sicher, dass dein Endpoint erreichbar ist
  • Überprüfe die Webhook-Logs in den Fynn-Einstellungen

Timeout-Fehler

  • Erhöhe den timeoutMinutes-Wert
  • Optimiere deine PDF-Generierung
  • Aktiviere den Fallback für kritische Situationen

API-Referenz

Weitere Details zur API findest du in der API-Dokumentation.