Viele Organisationen bestehen aus einer übergeordneten Einheit mit mehreren Abteilungen, Standorten oder Tochtergesellschaften. Die Organisationsstruktur ermöglicht es, diese Beziehungen direkt in Fynn abzubilden — mit einer klaren Parent-Child-Hierarchie zwischen Kunden.
Die Organisationsstruktur erfordert die Aktivierung des Feature-Flags customer.hierarchy. Kontaktiere den Support, um diese Funktion für deinen Mandanten freizuschalten.
Überblick
Mit der Organisationsstruktur kannst du:
- Parent-Child-Beziehungen zwischen Kunden definieren (z. B. Hauptunternehmen → Abteilungen)
- Bis zu 3 Hierarchieebenen abbilden (Hauptunternehmen → Tochtergesellschaft → Abteilung)
- Abonnements, Rechnungen und Transaktionen gefiltert nach Organisationszugehörigkeit einsehen
- Aktivitäten zur Nachverfolgung von Hierarchieänderungen nutzen
Die Organisationsstruktur ist eine rein organisatorische Funktion. Sie hat in der aktuellen Version keinen Einfluss auf die Rechnungsstellung oder Zahlungsabwicklung. Sie bildet die Grundlage für zukünftige Funktionen wie die organisationsbasierte Abrechnung (Consolidated Billing).
Anwendungsbeispiele
| Branche | Parent-Kunde | Child-Kunden |
|---|
| Gesundheitswesen | Klinik Musterstadt | Radiologie, Orthopädie, Kardiologie |
| Recht | Kanzlei Schmidt & Partner | Standort Berlin, Standort München |
| Einzelhandel | Retail Group GmbH | Filiale Nord, Filiale Süd, Filiale West |
Hierarchie verwalten
Parent-Kunde zuweisen
Web-App verwenden
API verwenden
Kundendetails öffnen
Navigiere zum Kunden, der als Child-Kunde einem übergeordneten Kunden zugewiesen werden soll.
Parent-Kunde zuweisen
Im Bereich Organisationsstruktur kannst du den übergeordneten Kunden (Parent) auswählen und zuweisen.
Verwende den Set parent customer Endpunkt.PUT /customers/{customerId}/set-parent
{
"parentCustomerId": "00000000-0000-0000-0000-000000000000"
}
Parent-Kunde entfernen
Web-App verwenden
API verwenden
Kundendetails öffnen
Navigiere zum Child-Kunden, dessen Parent-Zuweisung entfernt werden soll.
Parent-Zuweisung entfernen
Im Bereich Organisationsstruktur kannst du die bestehende Parent-Zuweisung entfernen. Der Kunde wird dadurch wieder zu einem eigenständigen Kunden ohne Hierarchie.
Verwende den Remove parent customer Endpunkt.PUT /customers/{customerId}/remove-parent
Child-Kunden einsehen
Web-App verwenden
API verwenden
Auf der Kundendetailseite eines Parent-Kunden wird die Anzahl der Child-Kunden angezeigt. Über den Bereich Organisationsstruktur kannst du direkt zu den Child-Kunden navigieren.
Verwende den Get customer children Endpunkt, um alle direkten Child-Kunden inklusive Metriken abzurufen.GET /customers/{customerId}/children
Die Antwort enthält für jeden Child-Kunden die Kundendaten sowie die Anzahl aktiver Abonnements (activeSubscriptionCount).
Gesamte Hierarchie anzeigen
Über die API kannst du die vollständige Hierarchie eines Kunden als Baumstruktur abrufen — unabhängig davon, ob du den Parent- oder einen Child-Kunden angibst. Die Antwort beginnt immer beim Root-Kunden.
GET /customers/{customerId}/hierarchy
{
"root": {
"id": "uuid-100",
"name": "Klinik Musterstadt",
"customerNumber": "CUST-100",
"isCurrentCustomer": false,
"children": [
{
"id": "uuid-101",
"name": "Radiologie",
"customerNumber": "CUST-101",
"isCurrentCustomer": true,
"children": []
},
{
"id": "uuid-102",
"name": "Orthopädie",
"customerNumber": "CUST-102",
"isCurrentCustomer": false,
"children": []
}
]
}
}
Kundenliste filtern
Die Kundenliste unterstützt zusätzliche Filter für die Organisationsstruktur:
| Filter | Beschreibung |
|---|
parentCustomerId | Zeigt nur die direkten Child-Kunden eines bestimmten Parent-Kunden |
isParent=true | Zeigt nur Kunden, die Child-Kunden haben |
hasParent=true | Zeigt nur Kunden, die einem Parent-Kunden zugewiesen sind |
Beispiel über die API:
GET /customers?parentCustomerId={parentId}
GET /customers?isParent=true
GET /customers?hasParent=true
Organisationsübergreifende Ansichten
Wenn ein Parent-Kunde ausgewählt ist, können Abonnements, Rechnungen und Transaktionen aller zugehörigen Child-Kunden über den parentCustomer-Filter zusammen eingesehen werden.
GET /subscriptions?parentCustomer={parentCustomerId}
GET /invoices?parentCustomer={parentCustomerId}
GET /transactions?parentCustomer={parentCustomerId}
Validierungsregeln
Bei der Verwaltung der Organisationsstruktur gelten folgende Regeln:
| Regel | Beschreibung |
|---|
| Maximale Tiefe | Die Hierarchie unterstützt maximal 3 Ebenen (Root → Child → Grandchild) |
| Keine Zirkelbezüge | Ein Kunde kann nicht sein eigener Parent sein, weder direkt noch indirekt |
| Gleicher Mandant | Parent- und Child-Kunde müssen zum selben Mandanten gehören |
| Aktiver Parent | Der Parent-Kunde darf nicht archiviert sein |
| Archivierung | Ein Kunde mit aktiven (nicht archivierten) Child-Kunden kann nicht archiviert werden |
Webhooks
Änderungen an der Organisationsstruktur lösen Webhook-Events aus:
| Event | Beschreibung |
|---|
customer.parent.assigned | Ein Parent-Kunde wurde zugewiesen |
customer.parent.removed | Ein Parent-Kunde wurde entfernt |
Weitere Informationen zur Konfiguration von Webhooks findest du unter Webhooks.
Ausblick
Die Organisationsstruktur ist die Grundlage für zukünftige Abrechnungsfunktionen auf Organisationsebene. Geplant sind unter anderem:
- Organisationsbasierte Abrechnung (Consolidated Billing): Rechnungen für Child-Kunden können an den Parent-Kunden gerichtet werden.
- Flexible Zahlungssteuerung: Pro Child-Kunde kann festgelegt werden, wer Rechnungsempfänger und Zahlungspflichtiger ist.
- Konsolidierungszeiträume: Rechnungen können monatlich oder quartalsweise zusammengefasst werden.