Dieses Handbuch richtet sich an Administratoren: die Personen, die eine Organisation einrichten, festlegen, welche Module aktiv sind, für jedes Modul den Komplexitätsmodus wählen, Felder und Kategorien konfigurieren und Berechtigungen verwalten.

Es ist nach Komplexitätsmodus gegliedert (siehe SPEC.md, Modul-Komplexitätsmodi): einfach, fortgeschritten, dann Experte. Die Konfigurationsfläche wächst mit jedem Modus.

1. Grundkonfiguration

Administration im einfachen Modus: das Minimum, um eine Organisation aufzusetzen und Module zu aktivieren. Sinnvolle Vorgaben werden vorausgesetzt, daher gibt es wenig zu konfigurieren - aktivieren Sie die benötigten Module und legen Sie los.

1.1. Kontakte

Jede Organisation startet mit den vCard-orientierten Standardfeldern. Im einfachen Modus trägt ein Kontakt nur seinen Namen (FN) - genug, um Kontakte auseinanderzuhalten und mit Terminen, Aufgaben und dem Rest zu verknüpfen.

1.1.1. Komplexitätsmodus

Der Bildschirm Kontaktfelder hat einen Auswahlschalter Komplexitätsmodus - einfach, fortgeschritten oder Experte. Er steuert, wie viel Kontaktkonfiguration Sie sehen und wie viele Felder Kontakte anbieten:

  • Einfach - nur der Name.

  • Fortgeschritten - der Alltagssatz (Name, strukturierter Name, E-Mail, Telefon, Adresse, Geburtstag), den Sie ein- und ausschalten und erweitern können.

  • Experte - die vollständige Feldkonfiguration.

Das Anheben oder Absenken des Modus löscht nie Daten: ein von einem niedrigeren Modus verstecktes Feld erscheint wieder, sobald Sie den Modus anheben.

1.2. Termine

Jede Organisation startet mit vier Teilnahmerollen, benannt nach den Rollen des Kalenderstandards selbst: Vorsitz, erforderlich, optional, Beobachter. Es sind gewöhnliche Daten - benennen Sie sie so um, wie Ihre Organisation sie tatsächlich nennt, der Export funktioniert weiterhin, da jede Rolle die Standardrolle trägt, auf die sie abgebildet wird.

1.3. Finanzen

Richten Sie ein Konto pro Ort ein, an dem tatsächlich Geld liegt - ein Bankkonto, eine Kasse - und eines pro Währung: ein Konto führt eine einzige Währung, sodass sein Saldo eine Zahl ist und keine Tabelle.

Bauen Sie den Kategorienbaum unter den beiden festen Wurzeln auf, Einnahmen und Ausgaben. Sie sind fest, weil die Einnahmen-Überschuss-Rechnung Einnahmen minus Ausgaben ist und eine dritte Wurzel eine Zahl wäre, für die der Bericht keine Zeile hätte. Darunter gehört der Baum ganz Ihnen, so grob oder so detailliert, wie Sie wollen.

Mitgliedsbeitragsregeln, Mahnwesen und SEPA-Mandate sind nicht Teil der Grundfläche und noch nicht gebaut.

1.4. Dokumente

Dateiinhalte werden standardmäßig in der Datenbank gespeichert, sodass ein einziges pg_dump Ihre Kontakte, Ihre Bücher und Ihre Dateien gemeinsam sichert. Das ist eine bewusste Entscheidung fürs Selbsthosting: der häufigste Weg, Dokumente zu verlieren, ist, die Datenbank zu sichern und dabei das Dateiverzeichnis zu vergessen.

tribemanager.documents.max-size-bytes legt die größte Datei fest, die die Instanz akzeptiert - standardmäßig 25 MiB. Es ist die einzige Beschränkung in TribeManager, die ablehnt statt zu warnen, weil sie die Instanz selbst schützt. Erhöhen Sie sie, wenn Ihre Organisation es tatsächlich braucht, und erhöhen Sie quarkus.http.limits.max-body-size gleich mit, sonst werden Uploads abgelehnt, bevor die Anwendung erklären kann, warum.

1.5. Transaktionale E-Mails

Einladungen, Aktualisierungen, Stornierungen und Erinnerungen werden über ein SMTP-Relay verschickt, auf das Sie die Instanz verweisen - Ihren eigenen Mailserver, den Ihres Anbieters, alles, was SMTP spricht. Es wird kein Maildienst benötigt, und keiner wird kontaktiert, solange Sie keinen konfigurieren.

Einstellung Was sie bewirkt

QUARKUS_MAILER_HOST, QUARKUS_MAILER_PORT

Ihr SMTP-Relay. Benutzername und Passwort kommen in QUARKUS_MAILER_USERNAME und QUARKUS_MAILER_PASSWORD, wo das Relay sie erwartet.

QUARKUS_MAILER_FROM

Die Absenderadresse, unter der Mail verschickt wird.

tribemanager.mail.locale

Die Sprache, in der transaktionale Mail verfasst wird (en oder de). Eine Spracheinstellung pro Organisation folgt, sobald Organisationen konfigurierbar werden.

tribemanager.reminders.interval

Wie oft die Erinnerungswarteschlange geprüft wird. Standardmäßig eine Minute, was für in Stunden und Tagen gemessene Erinnerungen passt.

Kann eine Nachricht nicht zugestellt werden, wird der Fehler protokolliert, und die Arbeit, die ihn ausgelöst hat, bleibt bestehen: eine Einladung, die nicht zugestellt werden konnte, ist ein Mailproblem, und sie macht die Teilnahme, zu der sie gehörte, nie rückgängig.

Der Entwicklungsstack (compose.dev.yaml) enthält Mailpit unter http://localhost:8025. Es nimmt alles an, was die Anwendung sendet, zeigt es auf einer Webseite an und liefert nichts weiter aus - sodass Sie genau sehen können, wie eine Einladung aussieht, ohne dass ein echtes Postfach oder ein echter Empfänger beteiligt wäre.

Weitere Administration im einfachen Modus (Installation und Erststart, Modulauswahl) wird hier ergänzt, sobald sie fertig ist.

2. Erweiterte Konfiguration

Administration im fortgeschrittenen Modus: benutzerdefinierte Felder, Kategorien, Beziehungsarten und die übrige kuratierte Konfiguration, die der fortgeschrittene Modus zusätzlich zu den Grundvorgaben freischaltet.

2.1. Kontakte

Im fortgeschrittenen Modus konfiguriert der Bildschirm Kontaktfelder zusätzlich zum verpflichtenden Namen die Alltags-Standardfelder vor - strukturierter Name, E-Mail, Telefon, Adresse, Geburtstag. Sie können:

  • Ein nicht benötigtes Standardfeld deaktivieren. Es wird versteckt, nicht gelöscht, und kann jederzeit wieder aktiviert werden.

  • Eigene Felder hinzufügen - geben Sie jedem eine Bezeichnung, einen Typ (Text, Zahl oder Datum) und legen Sie fest, ob es Pflicht ist. Ein neues Feld ergänzt das Profil jedes Kontakts.

  • Die Bezeichnung, den Typ oder die Pflichtangabe eines Feldes bearbeiten, oder ein selbst angelegtes Feld löschen.

Keine Feldänderung verliert Daten: Deaktivieren oder Löschen versteckt ein Feld nur, seine Historie bleibt erhalten.

Jede Organisation wird mit einem Standard-Vokabular für Beziehungsarten ausgeliefert (Mitglied, Kunde, Lieferant, Partner, Spender, Veranstaltungsort). Nur die Art Mitglied trägt einen Status; Sie können das Vokabular über die API um eigene Arten erweitern (PUT /api/v1/relationship-types/{name}).

2.1.1. Kontakte importieren

Der Bildschirm Import überführt eine bestehende Mitgliederliste aus einer CSV-Datei: laden Sie die Datei hoch, ordnen Sie jede Spalte einem Feld zu und wählen Sie - um Duplikate zu vermeiden - ein Abgleichsfeld, sodass eine Zeile den passenden Kontakt aktualisiert, statt einen neuen anzulegen. Zeilen werden nie abgelehnt; alles Unvollständige wird importiert und als Warnung markiert.

2.2. Termine

Die Teilnahmerollen Ihrer Organisation können Sie selbst benennen. Die vier mitgelieferten - Vorsitz, erforderlich, optional, Beobachter - tragen die Abbildung, die der Kalenderstandard erwartet, und das gilt auch für jede Rolle, die Sie hinzufügen, weshalb ein selbst erfundenes Vokabular trotzdem verlustfrei exportiert und importiert wird.

2.3. Finanzen

Die erweiterte Finanzverwaltung ist vorhanden: Beitragsregeln, die an Beziehungsarten und Status geknüpft sind, der Abgleich von Zahlungen gegen Erwartungen und der Kontoauszugsimport im Format camt.053. Mahnwesen ist entworfen, aber nicht gebaut. Die Grundfläche (Konten, Kategorien, Buchungen, die Einnahmen-Überschuss-Rechnung) ist vollständig und das, was eine Organisation braucht, um heute Buch zu führen.

2.3.1. Kontoauszüge ohne Hochladen

Eine camt.053-Datei wird normalerweise von Hand hochgeladen, und das bleibt weiterhin möglich. Sie kann auch eingesammelt werden: setzen Sie tribemanager.banking.watch.directory auf ein Verzeichnis und tribemanager.banking.watch.account auf das Konto, zu dem die Kontoauszüge gehören, und alles, was dort landet, wird beim nächsten Durchlauf importiert (tribemanager.banking.watch.interval, standardmäßig 15 Minuten).

Was in dieses Verzeichnis schreibt, liegt außerhalb von TribeManager - der Download der Bank selbst, aqbanking per Zeitplan, eine Netzwerkfreigabe, auf die der Kassenwart Dateien legt. Das ist Absicht: es wird nie eine Bank-Zugangsdaten gespeichert, und keine Bank wird je kontaktiert.

Importierte Dateien wandern nach done/ innerhalb des Verzeichnisses, nicht lesbare nach failed/. Nichts wird gelöscht, und eine Datei, die noch kopiert wird, bleibt unangetastet, bis sie sich nicht mehr ändert. Denselben Kontoauszug zweimal zu importieren ist harmlos - bereits gebuchte Buchungen werden erkannt und übersprungen.

2.3.2. Spenden, und was vor einer Bescheinigung nötig ist

Markieren Sie die Kategorie, unter der Ihre Spenden gebucht werden - das Kontrollkästchen an einer Einnahmenkategorie - und alles darunter zählt mit. Nichts anderes kann Spenden erkennen: nicht der Betrag, nicht die zahlende Person, nicht die Beschreibung, und kein mitgeliefertes Vokabular weiß, wie Ihre Organisation ihre eigenen Zuwendungen nennt. Nur gebuchte Posten mit Namensnennung werden gezählt; eine anonyme Spende bleibt in den Büchern, ohne dass es jemanden gibt, dem eine Bescheinigung ausgestellt werden könnte, und eine geplante Buchung ist kein eingegangenes Geld.

Die Markierung wird zusammen mit der Kategorie revisioniert, sodass, was 2026 als Spende zählte, 2036 immer noch so gelesen wird.

2.4. Compliance

Die deutsche Zuwendungsbestätigung und die Auskunftsanfrage leben in einem Compliance-Modul, das Sie ersetzen können. Es benötigt von Ihnen die Handvoll Fakten, die ein gesetzliches Formular verlangt und das Kontaktmodell nicht trägt:

tribemanager.compliance.issuer.address

Die Postanschrift der Organisation

tribemanager.compliance.issuer.tax-office

Das Finanzamt, das die Gemeinnützigkeit anerkannt hat

tribemanager.compliance.issuer.exemption-notice

Aktenzeichen und Datum des Freistellungsbescheids

tribemanager.compliance.issuer.signatory

Wer unterzeichnet - ein Name und eine Rolle

Eine Angabe leer zu lassen ist erlaubt. Sie erscheint dann als sichtbare Lücke im Dokument, die jemand sehen und ausfüllen kann; eine Bescheinigung, die das Finanzamt stillschweigend wegließe, wäre schlimmer.

Erweiterte Konfiguration für Aufgaben, Inventar und Dokumente wird hier ergänzt, sobald sie fertig ist.

3. Expertenkonfiguration

Administration im Expertenmodus: die vollständige Konfigurationsfläche - jeder Feldtyp, jede Kategoriendimension, jede Berechtigungsvergabe, jede Beitragsregel und jede Modul-Option, die die Plattform ausdrücken kann. Maximale Kontrolle, maximale Komplexität.

3.1. Kontakte

Der Expertenmodus legt die vollständige Kontaktfeldkonfiguration offen:

  • Jeder Feldtyp, einschließlich Einzelauswahl-Enum-Felder mit einer festgelegten Menge von Optionsschlüsseln.

  • Art-Beschränkung - ein Feld auf Personen-, Organisations- oder Ortskontakte begrenzen.

  • Alle erweiterten Aktionen (hinzufügen, bearbeiten, deaktivieren, löschen).

Mitgelieferte Standardfelder können deaktiviert, aber nicht gelöscht werden (sie würden nur wieder neu angelegt); von Ihnen hinzugefügte Felder können vollständig gelöscht werden.

3.2. Beziehungsarten

Der Expertenmodus übergibt das Beziehungsvokabular selbst. Unter Beziehungsarten entscheiden Sie, welche Arten von Verbindung zwischen Ihrer Organisation und ihren Kontakten existieren - Mitglied, Lieferant, Sponsor, was auch immer Ihre Organisation tatsächlich hat -, für welche Kontaktarten jede gilt und ob sie den Mitgliedsstatus-Lebenszyklus trägt (Anwärter, aktiv, passiv, Ehrenmitglied, ausgetreten).

Der Name ist der Schlüssel: das Schreiben eines bereits existierenden Namens definiert diese Art neu, ein neuer Name fügt eine hinzu. Es gibt kein Löschen - eine Art, mit der Kontakte verbunden waren, ist Teil des Datensatzes, und der fortgeschrittene Modus nutzt einfach das mitgelieferte Vokabular, wie es ist.

3.3. Eine Anmerkung zu Modi

Ein Komplexitätsmodus ändert, was angezeigt wird, nie, was gespeichert wird. Ein Modul auf Experte anzuheben legt mehr Konfiguration offen; es wieder abzusenken versteckt diese Konfiguration und die Felder, die sie angelegt hat, und löscht nichts. Es gibt also kein Risiko, einen höheren Modus auszuprobieren, und keine Migration, wenn Sie ihn wieder verlassen.

Expertenkonfiguration für die übrigen Module wird hier ergänzt, sobald sie fertig ist. Der Umfang pro Modul wird festgelegt, sobald das jeweilige Modul verfeinert wird.