API - Mandant / Organisation Admin

📕 Für Administratoren und Entwickler.

Die Mandanten-Endpunkte ermöglichen den Zugriff auf Stammdaten, Rechnungs-Einstellungen und Bankverbindung des eigenen Mandanten. Alle Aenderungen sind auf den Mandanten des verwendeten API-Keys beschränkt.


Mandanten-Daten abrufen

GET /api/v1/tenant

Scope: tenant:read

Antwort:

{
  "data": {
    "id": 1,
    "name": "Muster GmbH",
    "phone": "+49 211 123456",
    "website": "https://www.muster-gmbh.de",
    "industry": "IT-Dienstleistungen",
    "teamSize": 25,
    "defaultWeeklyWorkingHours": 40.0,
    "annualVacationDays": 30,
    "workingDays": "[\"MO\", \"TU\", \"WE\", \"TH\", \"FR\"]",
    "createdAt": "2025-01-15T08:00:00Z"
  }
}

Felder

FeldTypBeschreibung
idnumberInterne ID des Mandanten
namestringName der Organisation
phonestring?Telefonnummer
websitestring?Website
industrystring?Branche
teamSizenumber?Teamgröße (Anzahl Mitarbeiter)
defaultWeeklyWorkingHoursnumberStandard-Wochenarbeitsstunden
annualVacationDaysnumberJaehrliche Urlaubstage
workingDaysstring?Arbeitstage als JSON-Array (z.B. ["MO","TU","WE","TH","FR"])
createdAtstring?Erstellungszeitpunkt (ISO 8601 UTC)

Mandanten-Daten aktualisieren

PUT /api/v1/tenant

Scope: tenant:write

Partial Update — nur angegebene Felder werden geändert. Sicherheitsrelevante Felder (Status, Speicherkontingent etc.) können nicht veraendert werden.

Request-Body:

{
  "name": "Neue Firma GmbH",
  "phone": "+49 211 654321",
  "website": "https://www.neue-firma.de",
  "industry": "Handwerk",
  "teamSize": 10,
  "defaultWeeklyWorkingHours": 38.5,
  "annualVacationDays": 28,
  "workingDays": "[\"MO\", \"TU\", \"WE\", \"TH\", \"FR\"]"
}

Antwort (200 OK): Aktualisiertes Mandanten-Objekt im data-Feld.


Rechnungs-Einstellungen abrufen

GET /api/v1/tenant/billing-settings

Scope: tenant:read

Antwort:

{
  "data": {
    "companyName": "Muster GmbH",
    "street": "Musterstrasse",
    "houseNumber": "42",
    "postalCode": "40210",
    "city": "Düsseldorf",
    "country": "Deutschland",
    "phone": "+49 211 123456",
    "email": "buchhaltung@muster-gmbh.de",
    "website": "https://www.muster-gmbh.de",
    "taxId": "123/456/78900",
    "vatId": "DE123456789",
    "hasLogo": true,
    "logoOriginalFilename": "logo.png",
    "defaultPaymentDays": 14,
    "defaultTaxRate": 19.00,
    "invoiceNumberFormat": "INV-{YEAR}-{COUNTER}",
    "nextInvoiceCounter": 42,
    "counterMinLength": 5,
    "cancellationNumberFormat": "ST-{YEAR}-{COUNTER}",
    "nextCancellationCounter": 1,
    "templateStyle": "CLASSIC",
    "logoPosition": "TOP_LEFT",
    "logoScale": 100,
    "primaryColor": "#333333",
    "accentColor": "#7B1FA2",
    "footerText": "Vielen Dank für Ihr Vertrauen.",
    "closingText": null,
    "attachReportDefault": false,
    "includePaymentQrCode": true,
    "defaultEInvoiceProfile": "EN16931",
    "defaultLeitwegId": null,
    "updatedAt": "2025-03-01T10:00:00"
  }
}

Rechnungs-Einstellungen aktualisieren

PUT /api/v1/tenant/billing-settings

Scope: tenant:write

Partial Update — nur angegebene Felder werden geändert.

Request-Body (Beispiel):

{
  "companyName": "Neue Firma GmbH",
  "defaultPaymentDays": 30,
  "defaultTaxRate": 19.00,
  "footerText": "Wir freuen uns auf die weitere Zusammenarbeit."
}

Verfuegbare Felder

FeldTypBeschreibung
companyNamestring?Firmenname für Rechnungen
streetstring?Strasse
houseNumberstring?Hausnummer
postalCodestring?Postleitzahl
citystring?Stadt
countrystring?Land
phonestring?Telefonnummer
emailstring?E-Mail-Adresse für Rechnungen
websitestring?Website
taxIdstring?Steuernummer
vatIdstring?USt-IdNr.
defaultPaymentDaysnumber?Standard-Zahlungsziel in Tagen
defaultTaxRatenumber?Standard-Mehrwertsteuersatz in Prozent
invoiceNumberFormatstring?Rechnungsnummern-Format (z.B. INV-{YEAR}-{COUNTER})
counterMinLengthnumber?Mindestlänge des Zaehlers mit fuehrenden Nullen
footerTextstring?Fusszeilen-Text der Rechnung
closingTextstring?Abschlusstext unterhalb des Gesamtbetrags
defaultEInvoiceProfilestring?Standard E-Rechnungs-Profil (z.B. EN16931)
defaultLeitwegIdstring?Standard Leitweg-ID

Antwort (200 OK): Aktualisiertes BillingSettings-Objekt im data-Feld.


Bankverbindung abrufen

GET /api/v1/tenant/bank-account

Scope: tenant:read

Antwort:

{
  "data": {
    "id": 1,
    "accountName": "Hauptkonto",
    "accountHolder": "Muster GmbH",
    "iban": "DE02120300000000202051",
    "ibanFormatted": "DE02 1203 0000 0000 2020 51",
    "bic": "BYLADEM1001",
    "bankName": "Deutsche Bank",
    "updatedAt": "2025-03-01T10:00:00"
  }
}

Bankverbindung erstellen / aktualisieren

PUT /api/v1/tenant/bank-account

Scope: tenant:write

Partial Update. Bei Neuanlage (noch keine Bankverbindung vorhanden) sind accountHolder und iban Pflichtfelder.

Request-Body:

{
  "accountName": "Hauptkonto",
  "accountHolder": "Muster GmbH",
  "iban": "DE02120300000000202051",
  "bic": "BYLADEM1001",
  "bankName": "Deutsche Bank"
}

Felder

FeldTypPflicht (Neuanlage)Beschreibung
accountNamestring?NeinBezeichnung des Kontos
accountHolderstring?JaKontoinhaber
ibanstring?JaIBAN
bicstring?NeinBIC/SWIFT-Code
bankNamestring?NeinName der Bank

Antwort (200 OK): Aktualisiertes Bankverbindungs-Objekt im data-Feld.