Wofür das Modul gedacht ist
Vergaben ist Teil des aktiven Modul-Katalogs und deckt einen klaren Ausschnitt des Produktalltags ab.
Subunternehmer-Vergaben und vertragliche Projektzuordnung. Im Projektkontext bedeutet das, dass der Bereich nicht isoliert funktioniert, sondern direkt an Team, Status und weitere Projektbereiche anknüpft.
Vergaben hängt fachlich an Cash-Flow. Dadurch ist für Nutzer sofort klar, in welchem größeren Ablauf das Modul seinen Platz hat.
Typische Einsatzfälle
Diese Situationen zeigen, wann der Bereich in einem sauberen Rollout oder im laufenden Betrieb konkret Mehrwert liefert.
Finanzstatus im Blick halten
Vergaben 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.
Cash-Flow
Cash-Flow ergänzt Vergaben, weil beide Bereiche im Alltag direkt aufeinander aufbauen oder dieselben Verantwortlichen berühren.
DetailsKontakte
Kontakte ergänzt Vergaben, weil beide Bereiche im Alltag direkt aufeinander aufbauen oder dieselben Verantwortlichen berühren.
DetailsProjekt-Zahlungen
Projekt-Zahlungen ergänzt Vergaben, 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
Subunternehmer-Vergaben (subcontracts). 4 _all/scoped-Paare. Gleiches Muster wie invoices: edit_contract ist sehr breit angelegt und deckt den gesamten Beleg-Lifecycle. Naming-Asymmetrie bei den view-Permissions.
Entwickler-Info aufklappen (3)
Naming-Asymmetrie bei den view-Permissions
view-Permissions heißen view_contracts_all + view_project_contracts — nicht view_contract_all + view_contract wie das _all/scoped-Pattern sonst nahelegt. Plural-Form + project_-Präfix mischen sich; das macht Konfiguration in der UI inkonsistent (andere Module haben view_<x>/view_<x>_all). Mutations folgen dagegen dem Standard-Pattern (create_contract/_all etc).
dim_modules.contracts.default_permissions.actions
edit_contract ist breit angelegt (analog invoices.edit_invoice)
edit_contract / edit_contract_all decken nicht nur "Vergabe bearbeiten", sondern auch: subcontracts/[id]/upload (Beleg-Upload), storage/signed-upload-url, trash/purge, trash/restore. 5 API-Callsites pro Variante. Wer edit_contract bekommt, steuert effektiv den ganzen Beleg-Lifecycle inkl. Trash-Operationen.
pages/api/subcontracts/[id]/upload.ts:144, 235pages/api/storage/signed-upload-url.ts:225, 231pages/api/trash/purge.ts:114, 120pages/api/trash/restore.ts:114, 120
Stage-1 generic edit-before-delete (bestehend)
delete_contract → edit_contract und delete_contract_all → edit_contract_all sind in MANUAL_PERMISSION_DEPENDENCIES eingetragen.
