Skip to content

Umsatz-Auswertung ​

Gibt aggregierten Umsatz zurück, gruppierbar nach Behandler, Leistung, Kostenstelle, Kunde, Verrechnungsstatus und Zeitraum.

Die Datengrundlage und die Einschränkungen dieses Bereichs sind in der Bereichsübersicht beschrieben – insbesondere, dass hier Abrechnungsleistungen und keine Rechnungen ausgewertet werden.

Request ​

GET /api/oauth/v2/resource/fee-note-services/turnover

HeaderWert
AuthorizationBearer {access_token}

Query-Parameter ​

ParameterTypPflichtBeschreibung
fromstring (ISO-Datum)JaBeginn des Zeitraums
untilstring (ISO-Datum)JaEnde des Zeitraums
groupBystringNeinKommaliste aus treatingUser, insuranceService, costCenter, customer, billStatus, day, week, month, year. Höchstens ein Zeit-Token. Standard: insuranceService,month
billStatusstringNeinKommaliste aus open, invoiced, ignore, unknown (ODER-Verknüpfung). Ein anderer Wert ergibt 400 validation_error
treatingUserIdstring (UUID)NeinFiltert nach Behandler
customerIdstring (UUID)NeinFiltert nach Kunde. Erfordert zusätzlich den Scope customers
offsetintegerNeinStartposition (Standard: 0)
limitintegerNeinAnzahl Ergebnisse (Standard: 50, Max: 200)

Hinweis: groupBy=customer oder ein gesetztes customerId erfordern zusätzlich den Scope customers. Ohne diesen Scope antwortet der Endpoint mit 403 insufficient_scope.

Hinweis zur Sortierung: Die Zeilen kommen stabil sortiert – bei gleichem Filter und gleicher Seite liefert ein wiederholter Aufruf dieselbe Reihenfolge. Ein angefordertes Zeit-Bucket (day, week, month, year) steht dabei vorne in der Sortierung, Zeitreihen kommen also chronologisch.

Hinweis zu gelöschten Patienten: Abrechnungsleistungen gelöschter Patienten fließen nicht in den Umsatz ein.

Response ​

Erfolg (200 OK) ​

json
{
  "data": [
    {
      "period": "2026-03",
      "treatingUser": "6f1c1a2b-3c4d-5e6f-7890-abcdef123456",
      "insuranceService": "3a8b1c2d-3e4f-5061-7283-94a5b6c7d8e9",
      "costCenter": null,
      "customer": null,
      "billStatus": "invoiced",
      "gross": 4820.00,
      "net": 4820.00,
      "quantity": 62.000,
      "count": 58
    },
    {
      "period": "2026-03",
      "treatingUser": "6f1c1a2b-3c4d-5e6f-7890-abcdef123456",
      "insuranceService": null,
      "costCenter": null,
      "customer": null,
      "billStatus": "open",
      "gross": 310.00,
      "net": 310.00,
      "quantity": 4.000,
      "count": 4
    }
  ],
  "meta": { "total": 143, "offset": 0, "limit": 50 }
}

"insuranceService": null ist entweder eine nicht angeforderte Dimension oder der Sammelposten für Freitext-Leistungen ohne Leistungszuordnung.

Response-Felder ​

FeldTypBeschreibung
dataArrayListe der aggregierten Umsatzzeilen
data[].periodstring | nullZeitraum-Bucket, Format abhängig vom Zeit-Token in groupBy (z.B. 2026-03 bei Monat), null wenn kein Zeit-Token angefordert
data[].treatingUserstring (UUID) | nullID des Behandlers, null wenn nicht angefordert. Nachladbar über Benutzer anzeigen
data[].insuranceServicestring (UUID) | nullID der Leistung. null, wenn nicht angefordert oder Sammelposten für Freitext-Leistungen. Kein eigener OAuth-Endpoint zum Nachladen, siehe Konventionen
data[].costCenterstring | nullKostenstelle der Leistung – die „Kategorie" dieser Auswertungen, siehe Begriffsklärung. null wenn nicht angefordert
data[].customerstring (UUID) | nullID des Kunden, null wenn nicht angefordert. Nachladbar über Kunde anzeigen
data[].billStatusstring | nullVerrechnungsstatus: open, invoiced, ignore, unknown, null wenn nicht angefordert
data[].grossfloatBruttobetrag
data[].netfloatNettobetrag
data[].quantityfloatSumme der Mengen
data[].countintegerAnzahl der zugrunde liegenden Abrechnungsleistungen
meta.totalintegerGesamtanzahl der Gruppen
meta.offsetintegerAktuelle Startposition
meta.limitintegerAnzahl der zurückgegebenen Einträge
Beispiele
bash
curl -X GET "https://my.offisy.at/api/oauth/v2/resource/fee-note-services/turnover?from=2026-01-01&until=2026-12-31&groupBy=insuranceService%2Cmonth&billStatus=beispiel&treatingUserId=b2c3d4e5-f6a7-8901-bcde-f01234567890&customerId=b2c3d4e5-f6a7-8901-bcde-f01234567890&offset=0&limit=50" \
  -H "Authorization: Bearer {access_token}"
Parameter
Zuerst Token anfordern

Mögliche Fehler ​

StatusCodeBeschreibung
400validation_errorFehlendes oder ungültiges from/until, ungültige Dimension, mehr als ein Zeit-Token, oder Zeitraum zu lang
400validation_errortreatingUserId oder customerId ist kein gültiges UUID-Format
400invalid_requestDer API-Zugang ist keinem Benutzer zugeordnet – ordne ihm in den Offisy-Einstellungen einen Benutzer zu
401invalid_clientUngültiger oder fehlender Access Token
403insufficient_scopeScope reports (bei groupBy=customer/customerId zusätzlich customers) nicht vorhanden
403access_deniedDem Besitzer-Benutzer deines API-Zugangs fehlt die Berechtigung Abrechnungsleistungen (Verrechnung): Journaling
403access_deniedAdd-on Mandanten aktiv, aber dem Besitzer-Benutzer deines API-Zugangs ist kein Mandant zugänglich (error_description: No tenancy is accessible to this user.)
404not_foundtreatingUserId oder customerId verweist auf keinen existierenden Datensatz

Offisy GmbH