list_budget_overview
Listet alle Projekte mit ihrem Budgetstatus als Ampel: ok, warning (ab 80 %), over_budget (ab 100 %), no_cap (Budget ohne Obergrenze) oder no_budget. Dazu verbrauchte Stunden und – nur für Admins und Owner – Budgetbetrag und verbrauchter Betrag (für andere null). Entwurfsbudgets werden nicht berücksichtigt; nur abrechenbare Zeiteinträge zählen. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „Budgeting“ aktiv. Dieses Tool hat keine Parameter.
get_project_budget
Liefert das Budget eines Projekts inklusive verbrauchter Stunden und – nur für Admins und Owner – verbrauchtem Betrag. Gibt null zurück, wenn das Projekt kein Budget hat. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „Budgeting“ aktiv.
- projectId
- Pflicht · string — ID des Projekts.
list_retainers
Listet alle Retainer-Budgets mit periodengerechtem Verbrauch: Bei monatlichem Zurücksetzen zählt nur der Verbrauch seit periodStart; nextResetAt nennt den nächsten Rücksetzzeitpunkt. Beträge nur für Admins und Owner. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „Budgeting“ aktiv. Dieses Tool hat keine Parameter.
get_budget_forecast
Burn-Rate-Prognose je Projekt (Wochenverbrauch der letzten vier Wochen, Trend up/down/stable/no_data, Wochen bis zur Ausschöpfung, voraussichtliches Ausschöpfungsdatum, Wochenverlauf der letzten acht Wochen) sowie eine organisationsweite Kapazitätszusammenfassung (Mitglieder, Wochenstunden, Ist-Stunden, Auslastung). Geldfelder nur für Admins und Owner. Erfordert mindestens die Rolle Member. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „read“ oder höher, Modul „Budgeting“ aktiv. Dieses Tool hat keine Parameter.
list_expenses
Listet Ausgaben der Organisation, nach Datum absteigend; optional für ein Projekt. Ergebnis: { expenses: [...] }. Erfordert mindestens die Rolle Member. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „read“ oder höher, Modul „Budgeting“ aktiv.
- projectId
- Optional · string — Nur Ausgaben dieses Projekts.
- limit
- Optional · number — Maximale Anzahl Ergebnisse (Standard 50, höchstens 200).
list_member_rates
Listet alle Mitglieder mit ihrem aktuellen Abrechnungssatz (billRate), Rollenbezeichnung und Währung. Der interne Kostensatz (costRate) ist nur für Admins und Owner sichtbar. Voraussetzungen: Rolle Viewer oder höher, Schlüssel-Scope „read“ oder höher, Modul „Budgeting“ aktiv. Dieses Tool hat keine Parameter.
create_budget
Legt ein Projektbudget an; es ist sofort aktiv. Nur Admin/Owner. Das Tool selbst prüft nicht, ob das Projekt bereits ein Budget hat. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „write“ oder höher, Modul „Budgeting“ aktiv.
- projectId
- Pflicht · string — ID des Projekts, für das das Budget gilt.
- budgetType
- Pflicht · string · fixed_fee | fixed_hours | time_and_materials | non_billable | retainer — Budgettyp: fixed_fee (Festpreis), fixed_hours (festes Stundenkontingent), time_and_materials (nach Aufwand), non_billable (nicht abrechenbar) oder retainer (Retainer).
- totalAmount
- Optional · number — Budgetobergrenze in Cent (500000 = 5.000 EUR).
- totalHours
- Optional · number — Stundenobergrenze des Budgets (z. B. 200).
- currency
- Optional · string · Standard: EUR — Währungscode. Standard: EUR.
- billRateOverride
- Optional · number — Überschreibt den Abrechnungssatz für dieses Budget, in Cent pro Stunde.
- resetMonthly
- Optional · boolean — Setzt den Verbrauchszähler monatlich zurück (für Retainer).
update_budget
Ändert Budgetfelder; nur die übergebenen Felder werden angepasst. Nur Admin/Owner. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „write“ oder höher, Modul „Budgeting“ aktiv.
- id
- Pflicht · string — ID des Budgets.
- budgetType
- Optional · string · fixed_fee | fixed_hours | time_and_materials | non_billable | retainer — Budgettyp: fixed_fee (Festpreis), fixed_hours (festes Stundenkontingent), time_and_materials (nach Aufwand), non_billable (nicht abrechenbar) oder retainer (Retainer).
- totalAmount
- Optional · number — Budgetobergrenze in Cent (500000 = 5.000 EUR).
- totalHours
- Optional · number — Stundenobergrenze des Budgets (z. B. 200).
- currency
- Optional · string — Währungscode. Standard: EUR.
- billRateOverride
- Optional · number — Überschreibt den Abrechnungssatz für dieses Budget, in Cent pro Stunde.
- resetMonthly
- Optional · boolean — Setzt den Verbrauchszähler monatlich zurück (für Retainer).
- status
- Optional · string · draft | active | closed — Neuer Status des Budgets.
activate_budget
Überführt ein Entwurfsbudget in den Status active: Es setzt periodStart auf jetzt und hält den bis dahin verbrauchten Stand (Stunden und Betrag) als Ausgangs-Snapshot fest. Nur Admin/Owner; bei einem Budget, das nicht im Entwurf ist, kommt ein Fehler. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „write“ oder höher, Modul „Budgeting“ aktiv.
- id
- Pflicht · string — ID des Budgets.
create_expense
Erfasst eine Ausgabe in der Organisation. Beschreibung und Betrag sind Pflicht; ohne Datum gilt heute, standardmäßig ist die Ausgabe weiterberechenbar. Voraussetzungen: Rolle Member oder höher, Schlüssel-Scope „write“ oder höher, Modul „Budgeting“ aktiv.
- description
- Pflicht · string — Beschreibung der Ausgabe.
- amount
- Pflicht · number — Betrag in Cent (z. B. 5000 = 50 EUR).
- projectId
- Optional · string — Optionale Zuordnung zu einem Projekt.
- billable
- Optional · boolean · Standard: true — Ob die Ausgabe weiterberechnet werden kann. Standard: true.
- markupPercent
- Optional · number · Standard: 0 — Aufschlag in Prozent bei der Weiterberechnung (Standard: 0).
- date
- Optional · string — Datum der Ausgabe (YYYY-MM-DD). Standard: heute.
set_member_rate
Setzt oder aktualisiert den Abrechnungssatz (und optional den Kostensatz) eines Teammitglieds; ein bestehender Eintrag der Organisation wird überschrieben und effectiveFrom auf jetzt gesetzt. Nicht mitgesendete Felder (Rollenbezeichnung, Kostensatz, Abrechnungssatz) werden dabei geleert – sende deshalb alle gewünschten Werte mit. Nur Admin/Owner. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „write“ oder höher, Modul „Budgeting“ aktiv.
- supabaseId
- Pflicht · string — Supabase-Nutzer-ID des Mitglieds (Feld supabaseUserId aus list_members bzw. supabaseId aus list_member_rates).
- billRate
- Optional · number — Abrechnungssatz in Cent pro Stunde (z. B. 15000 = 150 EUR/h).
- costRate
- Optional · number — Interner Kostensatz in Cent pro Stunde (nur für Admins sichtbar).
- roleLabel
- Optional · string — Rollenbezeichnung, z. B. „Senior Developer“.
- currency
- Optional · string · Standard: EUR — Währungscode. Standard: EUR.
delete_budget
Löscht ein Budget dauerhaft. Nur Admin/Owner; erfordert einen Schlüssel mit delete-Scope. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „delete“ oder höher, Modul „Budgeting“ aktiv.
- id
- Pflicht · string — ID des Budgets.
delete_expense
Löscht eine Ausgabe dauerhaft. Nur Admin/Owner; erfordert einen Schlüssel mit delete-Scope. Voraussetzungen: Rolle Admin oder höher, Schlüssel-Scope „delete“ oder höher, Modul „Budgeting“ aktiv.
- id
- Pflicht · string — ID der Ausgabe.
Häufige Stolperfallen
Beträge nur für Admins
Geldbeträge und Kostensätze sind nur für Admin und Owner sichtbar; andere Rollen erhalten null, aber Stunden und Prozent.
Beträge in Cent
totalAmount, amount, billRate, costRate und billRateOverride werden in Cent bzw. Cent pro Stunde angegeben.
set_member_rate überschreibt
Nicht mitgesendete Felder (Rollenbezeichnung, Kostensatz, Abrechnungssatz) werden geleert. Sende immer alle gewünschten Werte.
Keine Doppelprüfung bei create_budget
Das Tool prüft nicht, ob das Projekt schon ein Budget hat. Kontrolliere vorher mit get_project_budget.
