Zum Hauptinhalt springen

Bankbuchungsabgleich: Zahlungshistorie bei manueller Zuordnung

Bei der manuellen Zuordnung von Bankbuchungen zu Rechnungen kann jetzt die bestehende Zahlungshistorie einer Rechnung direkt in den Suchergebnissen eingesehen werden. Ein Klick auf den Pfeil neben einer Rechnung zeigt alle bisherigen Zahlungseingänge — inklusive Status, Datum, Zahlungsweg und Betrag.So erkennst du sofort, ob bereits Zahlungen für eine Rechnung vorliegen, bevor du eine weitere Bankbuchung zuordnest. Das verhindert versehentliche Doppelzuordnungen und gibt mehr Sicherheit bei der manuellen Zuordnung.

Automatische Guthabenverrechnung bei Überzahlungen

Wenn ein Kunde eine Rechnung überbezahlt, wird der überschüssige Betrag ab sofort automatisch dem Kundenguthaben (Wallet) gutgeschrieben. Das Guthaben kann anschließend automatisch auf offene Rechnungen angerechnet werden, beginnend mit der ältesten fälligen Rechnung.So funktioniert es:Sobald eine Zahlung den offenen Rechnungsbetrag übersteigt, erkennt Fynn die Differenz und bucht sie als Guthaben auf das Kundenkonto. Der offene Betrag der Rechnung wird dabei automatisch auf null gesetzt. Falls der Kunde weitere offene Rechnungen hat, kann das Guthaben automatisch darauf angerechnet werden.Neue Einstellungen:
  • Überzahlungen als Guthaben verbuchen: Steuert, ob Überzahlungen automatisch ins Kundenguthaben überführt werden
  • Guthaben automatisch auf offene Rechnungen anrechnen: Wenn aktiviert, wird vorhandenes Guthaben automatisch auf offene Rechnungen angewendet (älteste zuerst)
Beide Einstellungen lassen sich global unter Einstellungen > Abrechnung konfigurieren und pro Kunde individuell überschreiben.Szenarien:
  • Einfache Überzahlung: Kunde zahlt 130 € auf eine 100 €-Rechnung. Die Rechnung wird als bezahlt markiert, 30 € landen im Guthaben.
  • Mehrfache Zahlungen: Geht nach einer Überzahlung eine weitere Zahlung ein, wird nur der neue Überschuss zusätzlich gutgeschrieben. Bereits verrechnete Beträge werden nicht doppelt gebucht.
  • Automatische Anrechnung: Bei 70 € Guthaben und zwei offenen Rechnungen (40 € und 60 €) wird zuerst die ältere Rechnung vollständig beglichen, die restlichen 30 € werden auf die zweite Rechnung angerechnet.
Für spätere Auszahlungen speichert Fynn die ursprüngliche Zahlungsmethode, das Gateway und die Transaktionsreferenz mit jeder Guthaben-Transaktion.

Konsolidierte Tagesabrechnung

Fynn fasst ab sofort alle Abrechnungen eines Kunden an einem Kalendertag in einer einzigen Rechnung zusammen. Bisher konnte es vorkommen, dass mehrere Abonnements desselben Kunden zu separaten Rechnungen am gleichen Tag führten.Verhalten:
  • Alle fälligen Positionen eines Kunden werden gesammelt und als eine Rechnung erstellt
  • Dies betrifft reguläre Abo-Abrechnungen, die am selben Tag fällig werden
  • Manuell erstellte Rechnungen und Sofortabrechnungen sind davon nicht betroffen
Vorteil: Weniger Rechnungen, weniger Zahlungsvorgänge und eine übersichtlichere Buchhaltung — besonders bei Kunden mit mehreren Abonnements.

Passkey-Login

Die Anmeldung bei Fynn ist ab sofort auch per Passkey möglich. Passkeys nutzen die biometrische Authentifizierung deines Geräts (Face ID, Touch ID, Windows Hello) oder einen Hardware-Sicherheitsschlüssel für einen schnellen und sicheren Login — ohne Passwort.So funktioniert es:
  • Einrichten: Unter Mein Profil > Sicherheit einen Passkey hinzufügen
  • Anmelden: Auf der Login-Seite Mit Passkey anmelden wählen und per Biometrie bestätigen
  • Mehrere Geräte: Für jedes Gerät kann ein eigener Passkey eingerichtet werden
Sicherheitsvorteile:
  • Phishing-resistent — Passkeys sind an die Domain gebunden
  • Kein gemeinsames Geheimnis, das abgefangen werden kann
  • Der private Schlüssel verlässt dein Gerät nie
Passkeys ergänzen den bestehenden Passwort-Login. Beide Methoden funktionieren parallel.

Globale Suche mit Vorschau

Die globale Suche (Ctrl+K / Cmd+K) zeigt jetzt detaillierte Vorschau-Panels für Suchergebnisse an. Beim Navigieren durch die Ergebnisse siehst du sofort die wichtigsten Informationen — ohne die aktuelle Seite zu verlassen.Vorschau verfügbar für:
  • Kunden: Name, Kundennummer, Adresse, aktive Abonnements
  • Rechnungen: Betrag, Status, Kunde, Positionen
  • Abonnements: Produkte, Status, nächste Abrechnung
  • Produkte & Preispläne: Details und Konfiguration
  • Transaktionen: Betrag, Status, Zahlungsmethode
  • Mahnungen: Stufe, offener Betrag, verknüpfte Rechnung
  • Rabatte: Konfiguration und Einlösungen
Zusätzlich werden Treffer im Kontext hervorgehoben — du siehst sofort, in welchem Feld (Name, Nummer, Adresse etc.) der Suchbegriff gefunden wurde.

Übersicht-E-Mails (Digest)

Fynn versendet jetzt regelmäßige Übersicht-E-Mails, die die wichtigsten Kennzahlen und offenen Aufgaben deiner Organisation zusammenfassen. Jeder Benutzer kann individuell konfigurieren, welche Informationen er erhalten möchte.Neuer Benutzerkontobereich:Im neuen persönlichen Benutzerkontobereich stehen die Tabs Profil und Benachrichtigungen zur Verfügung. Unter Benachrichtigungen lassen sich die Übersicht-E-Mails aktivieren und die einzelnen Abschnitte konfigurieren.Verfügbare Abschnitte:
  • Kunden & Umsatz: Neue Kunden, Umsatzübersicht
  • Rechnungen & Zahlungen: Rechnungen zur Freigabe, Offene SEPA-Exporte, Nicht zugeordnete Zahlungen
  • Buchhaltung: Monatsabschluss verfügbar
  • Betrieb: Fehlgeschlagene E-Mails, Xentral-Bestellungen
Frequenzoptionen:
  • Täglich (Montag bis Freitag) oder wöchentlich — pro Abschnitt konfigurierbar
  • Kombinierte E-Mail am Montag, wenn tägliche und wöchentliche Abschnitte aktiv sind
  • Keine E-Mail bei leeren Zeiträumen
SEPA-Export-Benachrichtigung: Die Benachrichtigung über ausstehende SEPA-XML-Exporte wird jetzt über die Übersicht-E-Mails gesteuert und kann individuell pro Benutzer konfiguriert werden.Die verfügbaren Abschnitte richten sich automatisch nach den Berechtigungen des jeweiligen Benutzers.

Mahnungen: Korrektur der Betragsanzeige bei Teilzahlungen

Die Platzhalter totalGrossAmount und referencedInvoiceTotalGrossAmount in Mahnungsvorlagen zeigen jetzt den offenen Restbetrag statt des ursprünglichen Rechnungsbetrags an. Bei Rechnungen mit Teilzahlungen wurde bisher fälschlicherweise der volle Bruttobetrag angezeigt.Beispiel: Eine Rechnung über 100,00 € mit einer Teilzahlung von 30,00 € und 5,00 € Mahngebühren zeigt jetzt korrekt 75,00 € als Gesamtbetrag (70,00 € offener Betrag + 5,00 € Mahngebühren) — statt zuvor 105,00 €.Diese Korrektur gilt für PDF-Belegvorlagen und E-Mail-Benachrichtigungsvorlagen.

Globale E-Mail-Übersicht

Alle gesendeten E-Mails können jetzt zentral in einer mandantenweiten Übersicht eingesehen werden — unabhängig vom einzelnen Kunden.Funktionen:
  • Mandantenweite Liste aller gesendeten E-Mails mit Zustellstatus
  • Filter nach Zeitraum, Status, Betreff, Empfänger und Kunde
  • Detailansicht mit vollständigem E-Mail-Inhalt und Zustellungsverlauf
  • Per-Empfänger-Status bei E-Mails mit mehreren Empfängern
  • Organisationsübergreifende Ansicht: E-Mails aller Child-Kunden einer Organisation einbeziehen
  • E-Mail-Versand und Statusverfolgung

Abonnement-Platzhalter in Rechnungsvorlagen

In Rechnungsvorlagen (Titel, Einleitung, Abschlusstext) stehen jetzt Abonnement-Platzhalter zur Verfügung. Damit lassen sich Abonnement-Daten wie Name, Nummer, Bestellnummer und benutzerdefinierte Felder direkt in Rechnungsdokumente einbinden.Neue Platzhalter:
  • subscription.name — Abonnementname
  • subscription.number — Abonnementnummer
  • subscription.poNumber — Bestellnummer (PO)
  • subscription.customFields.<key> — Benutzerdefinierte Felder des Abonnements
Bei Rechnungen mit mehreren Abonnements werden die Werte automatisch kommagetrennt zusammengefasst.Konfigurierbares Positionsgruppen-Format:Der Name der Positionsgruppen auf Rechnungen kann jetzt unter Einstellungen > Abrechnung frei konfiguriert werden. Das Format unterstützt Variablen, Bedingungen und benutzerdefinierte Felder. Eine Live-Vorschau zeigt das Ergebnis direkt bei der Eingabe.

Organisationsstruktur: Parent-Child-Beziehungen zwischen Kunden

Kunden können jetzt in einer Hierarchie organisiert werden. Mit der neuen Organisationsstruktur lassen sich Parent-Child-Beziehungen zwischen Kunden abbilden — ideal für Unternehmen mit mehreren Abteilungen, Standorten oder Tochtergesellschaften.Funktionen:
  • Bis zu 3 Hierarchieebenen (z. B. Hauptunternehmen → Tochtergesellschaft → Abteilung)
  • Zuweisung und Entfernung von Parent-Kunden über Web-App und API
  • Übersicht aller Child-Kunden mit Abo-Metriken
  • Vollständige Hierarchie als Baumstruktur abrufbar
  • Neue Filter: parentCustomerId, isParent, hasParent
  • Organisationsübergreifende Ansichten für Abonnements, Rechnungen und Transaktionen
  • Webhook-Events: customer.parent.assigned, customer.parent.removed
Die Organisationsstruktur ist die Grundlage für zukünftige organisationsbasierte Abrechnungsfunktionen (Consolidated Billing).
Diese Funktion erfordert die Aktivierung des Feature-Flags customer.hierarchy. Kontaktiere den Support zur Freischaltung.

Alle auswählen: Untergeordnete Belege werden korrekt markiert

Die Funktion „Alle auswählen” in Tabellen mit Baumstruktur (z.B. Rechnungsliste) markiert jetzt auch die untergeordneten Belege korrekt. Bisher wurden beim Klick auf die Checkbox im Tabellenkopf nur die übergeordneten Zeilen ausgewählt – Gutschriften und Stornos, die unter der Ursprungsrechnung gruppiert waren, blieben unmarkiert.
  • Vollständige Auswahl: Alle sichtbaren Zeilen inklusive aufgeklappter Unterbelege werden markiert
  • Korrekte Anzeige: Der Zustand der Kopf-Checkbox (alle/einige/keine) berücksichtigt jetzt die Gesamtzahl der sichtbaren Zeilen
  • Massenaktionen: Aktionen wie „Senden”, „PDF herunterladen” oder „Klärung erstellen” werden auf alle markierten Belege angewendet

Automatische Spracherkennung für Kunden

Die Sprache eines Kunden wird jetzt automatisch anhand des Landes erkannt. Kunden aus Deutschland, Österreich und der Schweiz (DACH) erhalten automatisch Deutsch als Sprache, alle anderen Kunden Englisch. Die Sprache bestimmt, in welcher Sprache Benachrichtigungen, Rechnungen und andere Dokumente erstellt werden.Verhalten bei Neuanlage:
  • Wird keine Sprache angegeben, wird diese automatisch aus dem Ländercode ermittelt
  • DACH-Länder (DE, AT, CH) → Deutsch
  • Alle anderen Länder → Englisch
  • Eine explizit gewählte Sprache überschreibt die automatische Erkennung
Web-App: Bei der Kundenanlage wird die Sprache automatisch vorgeschlagen, sobald ein Land ausgewählt wird. Die Auswahl kann manuell überschrieben werden.API: Das Feld language ist bei POST /customers jetzt optional. Wird es nicht angegeben, wird die Sprache automatisch aus dem countryCode ermittelt. Bei PUT /customers bleibt language weiterhin ein Pflichtfeld.Bestehende Kunden: Bestehende Kunden mit Sprache Deutsch und einem Nicht-DACH-Land wurden automatisch auf Englisch umgestellt, damit sie Dokumente in der richtigen Sprache erhalten.

Mehrsprachige E-Mail-Benachrichtigungen

E-Mail-Benachrichtigungen können jetzt in Deutsch und Englisch versendet werden. Kunden erhalten Benachrichtigungen automatisch in der Sprache, die in ihren Stammdaten hinterlegt ist.E-Mail-Vorlagen pro Sprache:
  • Jede Benachrichtigung kann nun eine separate deutsche und englische Vorlage haben
  • Die Vorlagen werden unabhängig voneinander bearbeitet und versioniert
  • Im Vorlagen-Editor kann per Sprachreiter zwischen Deutsch und Englisch gewechselt werden
KI-gestützte Übersetzung:
  • Mit einem Klick kann die deutsche Vorlage automatisch ins Englische übersetzt werden
  • Die Übersetzung berücksichtigt MJML-Struktur, Platzhalter und Template-Variablen
  • Die generierte Übersetzung kann vor dem Speichern überprüft und angepasst werden
Globaler Header & Footer:
  • Header und Footer der E-Mails können ebenfalls pro Sprache konfiguriert werden
  • Systemtexte wie “Geschäftsführer” oder “E-Mail im Browser öffnen” werden automatisch übersetzt
Automatischer Fallback:
  • Ist keine englische Vorlage konfiguriert, wird automatisch die deutsche Version verwendet
  • Die Sprache wird aus dem Kundenprofil ermittelt (Feld “Sprache”)
  • Benachrichtigungen konfigurieren

Up- & Downgrades dokumentiert

Die API und Dokumentation für Up- & Downgrades ist jetzt vollständig verfügbar. Mit Produktgruppen definierst du, welche Produkte zusammengehören und wie Kunden zwischen ihnen wechseln können.Features:

Globale Suche: Kunden nach Adresse finden

In der globalen Suche können Kunden jetzt auch nach Rechnungs- und Lieferadresse gesucht werden. So findest du Kunden schneller – auch wenn du nur die Adresse kennst.

Kostenlose Positionen werden sofort aktiv

Abonnement-Positionen mit einem Preis von 0,00 € werden jetzt direkt in den Status active überführt, anstatt im Status pending zu verbleiben. Dies betrifft z.B. kostenlose Add-ons oder Testprodukte.
Beim Erstellen eines Zahlungsmethoden-Links kann jetzt eine redirectUrl angegeben werden. Nach dem Hinzufügen der Zahlungsmethode wird der Kunde auf diese URL weitergeleitet – anstatt auf die Standard-Statusseite.
POST /payment-methods/link
{
  "customer": "customer-uuid",
  "redirectUrl": "https://example.com/done"
}
API-Dokumentation

Abonnement-Positionen durchsuchen

Bei Abonnements mit vielen Positionen wird jetzt eine Suchfunktion angezeigt:
  • Phasen-Ansicht: Ab 5 Positionen pro Phase können diese durchsucht werden
  • Kündigung: Bei mehr als 5 Positionen können einzelne Produkte zur Kündigung gesucht werden
  • Aktivierung: Bei mehr als 5 Positionen können einzelne Produkte zur Aktivierung gesucht werden

Rechnungsliste: Zusammengehörige Belege auf einen Blick

Rechnungsliste mit Baumansicht
Die Rechnungsliste zeigt jetzt zusammengehörige Belege in einer übersichtlichen Baumstruktur an. Gutschriften und Stornos werden direkt unter der zugehörigen Ursprungsrechnung gruppiert – so erkennst du auf einen Blick, welche Belege zusammengehören.
  • Bessere Übersicht: Zusammengehörige Belege sind visuell gruppiert
  • Schnelle Navigation: Per Klick auf den Pfeil werden verknüpfte Belege ein- oder ausgeklappt

Custom PDF Rendering

Eigene PDF-Rendering-Engine für Rechnungen, Gutschriften & Stornos

Mit dem neuen Custom PDF Rendering Feature können Enterprise-Kunden ihre eigene PDF-Rendering-Engine für die Generierung von Rechnungen, Gutschriften und Stornos verwenden.Du möchtest Belege exakt nach deinen Corporate-Design-Vorgaben gestalten – ohne Einschränkungen durch Templates? Oder branchenspezifische Anforderungen an Beleglayouts erfüllen? Mit Custom PDF Rendering hast du die volle Kontrolle über das Erscheinungsbild deiner Dokumente.Nutze bewährte Tools wie LaTeX, Typst oder Puppeteer, generiere mehrsprachige Belege mit eigenen Übersetzungen und füge individuelle Inhalte wie QR-Codes oder kundenspezifische Anhänge hinzu – ganz nach deinen Anforderungen.Funktionsweise:
  1. Beim Finalisieren eines Belegs wechselt dieser in den Status STATUS_FINALIZING
  2. Fynn sendet den Webhook invoice.pdf.generation_requested mit allen Belegdaten
  3. Dein System generiert das PDF mit deiner eigenen Engine
  4. Das PDF wird über POST /api/invoices/{id}/pdf hochgeladen
  5. Fynn bettet optional ZUGFeRD-XML ein und schließt die Finalisierung ab
Konfigurationsoptionen (unter Einstellungen > Abrechnung):
OptionBeschreibung
Benutzerdefiniertes PDF-Rendering aktivierenDelegiert die Beleg-PDF-Generierung an ein externes System
ZUGFeRD-XML einbettenBettet e-Rechnungsdaten automatisch in das hochgeladene PDF ein
Automatischer FallbackNutzt den internen Renderer bei Timeout
TimeoutWartezeit bis zum Fallback (1-1440 Minuten)
Diese Funktion ist nur im Enterprise-Plan verfügbar.
Zur Dokumentation

Schnellerer Checkout

Der Checkout-Prozess wurde deutlich beschleunigt. Kunden gelangen jetzt noch schneller zur Bestätigungsseite.
Der Login zum Kundenbereich ist jetzt noch einfacher: Kunden geben ihre E-Mail-Adresse ein und erhalten einen Login-Link per E-Mail. Ein Klick genügt – kein Code mehr nötig.Zusätzlich können Mitarbeiter jetzt direkt aus der Wallet eine Login-E-Mail an Kunden senden, z.B. für Support-Anfragen.Der Login-Link ist jetzt auch deutlich kürzer, sodass er problemlos in E-Mail-Clients und Messenger eingefügt werden kann.
Die E-Mail-Vorlage kann unter Einstellungen > Benachrichtigungen angepasst werden (Vorlage: “Kunden Login-Link angefordert”).

Customer Authentication API

Mit dem neuen Endpoint POST /customers/{id}/authenticate können authentifizierte Links zum Kundenbereich generiert werden. Kunden können damit direkt auf ihren Kundenbereich zugreifen – ohne Login.Anwendungsfälle:
  • Kundenbereich-Zugang: Generiere Links für E-Mails oder Kundenportale
  • API im Kundenkontext: Nutze den Access-Token für API-Aufrufe im Namen des Kunden
  • Self-Service Integration: Binde den Kundenbereich nahtlos in deine Anwendung ein
Response:
{
    "data": {
        "accessToken": "eyJhbGci...",
        "refreshToken": "eyJhbGci...",
        "customerAreaLink": "https://example.customerfront.app/customer-area/login?token=abc"
    }
}
Zur API-Dokumentation

Verbesserung: invoice.finalized Webhook

Webhook wird jetzt nach Zahlungsinitialisierung ausgelöst

Bisheriges Verhalten:
  • Der Webhook wurde ausgelöst, während die Rechnung noch im Status STATUS_FINALIZING war
  • Die Zahlungsabwicklung wurde erst danach initialisiert
Neues Verhalten:
  • Der Webhook wird jetzt ausgelöst, nachdem die Zahlungsabwicklung initialisiert wurde
  • Die Rechnung hat zum Zeitpunkt des Webhooks den Status STATUS_UNPAID
  • Das paymentIntent ist bereits erstellt und in der Rechnung verfügbar
Vorteile:
  • Vollständigere Rechnungsdaten im Webhook (inkl. Payment Intent)
  • Konsistenterer Zustand für nachgelagerte Systeme
  • Bessere Integration mit Zahlungsprozessen
Migration: Falls dein System auf status: "STATUS_FINALIZING" prüft, aktualisiere die Prüfung auf status: "STATUS_UNPAID".
// Vorher
if (invoice.status === 'STATUS_FINALIZING') { ... }

// Nachher
if (invoice.status === 'STATUS_UNPAID') { ... }

Entitlement Status Feld

Neues Status-Feld für Subscription Entitlements

Die Subscription Entitlements API wurde um ein neues status-Feld erweitert. Dieses berechnete Feld zeigt den aktuellen Zustand eines Entitlements an und ergänzt das bestehende active-Flag.Mögliche Status-Werte:
  • active: Das Entitlement ist aktiviert und liegt innerhalb des Gültigkeitszeitraums. Der Kunde kann das Feature nutzen.
  • pending: Das Entitlement ist aktiviert, aber das validFrom-Datum liegt in der Zukunft. Das Feature wird automatisch aktiv, sobald das Datum erreicht ist.
  • disabled: Das Entitlement wurde manuell deaktiviert.
  • expired: Das validUntil-Datum ist abgelaufen. Das Entitlement war aktiv, ist aber nicht mehr gültig.
Beispiel API-Response:
{
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "feature": { "id": "white-labeling", "name": "White Labeling" },
    "value": "true",
    "validFrom": "2026-03-01T00:00:00Z",
    "validUntil": null,
    "active": true,
    "status": "pending"
}
Das neue Feld ermöglicht eine präzisere Steuerung von Features basierend auf Gültigkeitszeiträumen. Bei Status-Änderungen wird weiterhin der entitlement.state.updated Webhook ausgelöst.Neue Query-Parameter:
ParameterBeschreibung
statusFiltert Entitlements nach Status (active, pending, disabled, expired)
includeExpiredSchließt abgelaufene Entitlements ein (Standard: false)
Beispiele:
# Nur aktive Entitlements abrufen
GET /subscriptions/{id}/entitlements?status=active

# Alle Entitlements inkl. abgelaufener abrufen
GET /subscriptions/{id}/entitlements?includeExpired=true
Expired Entitlements werden standardmäßig ausgeblendet, um die API-Antworten übersichtlich zu halten.
Betroffene API-Endpoints:Zur Dokumentation