Wofür das Modul gedacht ist
Kontakte ist Teil des aktiven Modul-Katalogs und deckt einen klaren Ausschnitt des Produktalltags ab.
Kontaktverwaltung und Ansprechpartner im Produktkontext. Im tenantweiten Kontext sorgt der Bereich dafür, dass wiederkehrende Entscheidungen, Stammdaten oder Übersichten nicht in Nebensysteme ausweichen müssen.
Kontakte ist als eigenständiger Produktbaustein gedacht. Gerade deshalb lohnt sich ein Blick darauf, wie der Bereich mit Rollen, Datenkontext und angrenzenden Modulen zusammenspielt.
Typische Einsatzfälle
Diese Situationen zeigen, wann der Bereich in einem sauberen Rollout oder im laufenden Betrieb konkret Mehrwert liefert.
Finanzstatus im Blick halten
Kontakte macht wirtschaftliche Signale dort sichtbar, wo Entscheidungen vorbereitet werden.
Freigaben sauber führen
Gerade bei Zahlungen, Budgets oder Rechnungen sorgt das Modul für nachvollziehbare Schritte statt lose Absprachen.
Mit dem Projektkontext arbeiten
Finanzmodule entfalten ihren Wert, wenn Projektstatus, Belege, Zahlungen und Verantwortlichkeiten zusammenspielen.
Wie das Modul mit anderen Bereichen zusammenspielt
struct-i-vio ist als zusammenhängende Plattform gedacht. Diese Module liegen fachlich am nächsten bei diesem Bereich.
Projekt-Infos
Projekt-Infos ergänzt Kontakte, weil beide Bereiche im Alltag direkt aufeinander aufbauen oder dieselben Verantwortlichen berühren.
DetailsVergaben
Vergaben ergänzt Kontakte, weil beide Bereiche im Alltag direkt aufeinander aufbauen oder dieselben Verantwortlichen berühren.
DetailsDokumente
Dokumente ergänzt Kontakte, weil beide Bereiche im Alltag direkt aufeinander aufbauen oder dieselben Verantwortlichen berühren.
DetailsBerechtigungen und Sichtbarkeit
Die öffentliche Dokumentation beschreibt die Logik auf Produktniveau - nicht als technische Policy-Liste, sondern als Rollout-Leitfaden.
Best Practices
So bleibt der Bereich bei Einführung und Nutzung anschlussfähig an den restlichen Produktfluss.
Entwickler Info
Eines der saubersten kleinen Module: 4 Permissions, keine _all/scoped-Trennung (Kontakte sind global im Tenant), saubere API+RLS-Schicht. Eine Permission gates jeweils sowohl die companies- als auch die contacts-Tabelle gleichzeitig.
Entwickler-Info aufklappen (3)
Cross-Modul-Coupling: AI-Assistant-Tool
contacts.create_contact wird auch im AI-Tool-Context referenziert (chat-stream.ts plus lib/ai/toolContext.ts). Der AI-Assistent prüft diese Permission, bevor er per Tool-Call einen Kontakt anlegt. Cross-Modul-Wirkung in die AI-Domäne — bisher nicht in MANUAL_PERMISSION_DEPENDENCIES erfasst.
pages/api/ai/chat-stream.ts:587, 1245, 2732lib/ai/toolContext.ts:703, 986
Eine Permission deckt zwei Tabellen
view/create/edit/delete gates jeweils die zugehörige Operation auf BEIDEN companies- und contacts-Tabellen. Plus project_contact_links für die Sicht. Wer view_contacts hat, sieht Firmen UND Personen UND ihre Projekt-Verknüpfungen.
RLS: companies + contacts + project_contact_links
Auto-generic edit-before-delete (Stage-1)
delete_contact → edit_contact ist auto-generiert.
