Wie erstelle ich einen Bericht und exportiere ihn?
Kurzantwort
Abschnitt betitelt „Kurzantwort“Öffne Berichte, klicke auf „Neuer Bericht”, vergib einen Namen, wähle den
Objekttyp, optional eine Gruppierung und die Kennzahl (Anzahl, Summe oder
Durchschnitt) und speichere mit „Bericht erstellen”. Das Ergebnis wird sofort als
gruppierte Auswertung mit Gesamt-Wert angezeigt. Über „CSV exportieren” lädst du
die zugrunde liegenden Datensätze als CSV herunter.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Berichte sind ein Pro-Feature (custom_fields). Du brauchst einen Objekttyp mit
Datensätzen im Katalog; für die Kennzahlen Summe/Durchschnitt
zusätzlich ein Zahlenfeld in diesem Objekttyp.
Anleitung
Abschnitt betitelt „Anleitung“-
Neuen Bericht anlegen. Klicke im Modul Berichte auf „Neuer Bericht” und vergib einen Namen (z. B. „Verträge nach Status”).
Screenshot ausstehendberichte-erstellen-01Bericht-Baukasten mit Name, Objekttyp-Auswahl, Gruppierung und KennzahlDer Bericht-Baukasten: Name, Objekttyp, Gruppierung und Kennzahl. -
Auswertung zusammenstellen. Wähle:
- Objekttyp: der eigene Objekttyp, über den ausgewertet wird (z. B.
vertrag). - Gruppierung:
Keine Gruppierungoder ein Feld, nach dem gebündelt wird (z. B.status). - Kennzahl:
Anzahl,SummeoderDurchschnitt. Bei Summe/Durchschnitt wählst du zusätzlich das Zahlenfeld (z. B.kosten).
Klicke auf „Bericht erstellen”.
- Objekttyp: der eigene Objekttyp, über den ausgewertet wird (z. B.
-
Ergebnis lesen und exportieren. Das Ergebnis erscheint als Tabelle je Gruppe mit einer Gesamt-Zeile und der Anzahl Datensätze. Über „CSV exportieren” lädst du die Rohdatensätze als CSV herunter.
Screenshot ausstehendberichte-erstellen-02Ausgeführter Bericht mit Gruppen, Werten, Gesamt-Zeile und Schaltfläche 'CSV exportieren'Das Berichtsergebnis mit Gruppen, Gesamt-Wert und CSV-Export.
Einen Bericht anlegen: POST auf /api/v1/reports. Pflicht sind name und
object_type. Die Auswertungslogik steckt im config-Objekt: group_by, metric
(count | sum | avg), metric_field (bei sum/avg), optionale filters und
columns für den CSV-Export.
curl -X POST https://demo.notory.io/api/v1/reports \ -H "Authorization: Bearer inv_dein_token" \ -H "Content-Type: application/json" \ -d '{ "name": "Verträge nach Status", "object_type": "vertrag", "config": { "group_by": "status", "metric": "count", "columns": ["name", "status", "kosten"] } }'Antwort HTTP 201 Created (gekürzt):
{ "id": "018f7d10-2a3b-7c4d-8e5f-6a7b8c9d0e1f", "name": "Verträge nach Status", "object_type": "vertrag", "config": { "group_by": "status", "metric": "count", "columns": ["name", "status", "kosten"] }, "schedule": null, "created_at": "2026-07-08T09:30:00Z", "updated_at": "2026-07-08T09:30:00Z"}Ausführen (aktuelle Zahlen berechnen):
curl -H "Authorization: Bearer inv_dein_token" \ https://demo.notory.io/api/v1/reports/018f7d10-2a3b-7c4d-8e5f-6a7b8c9d0e1f/run{ "groups": [ { "group": "aktiv", "value": 12, "count": 12 }, { "group": "gekündigt", "value": 3, "count": 3 } ], "total": 15, "row_count": 15}Als CSV exportieren (die zugrunde liegenden Datensätze, Spalten laut columns):
curl -H "Authorization: Bearer inv_dein_token" \ https://demo.notory.io/api/v1/reports/018f7d10-2a3b-7c4d-8e5f-6a7b8c9d0e1f/export.csv \ --output verträge-nach-status.csvMögliche Fehler: 401 (Token fehlt/ungültig), 403 (custom_fields nicht im
Tarif), 404 (Bericht nicht gefunden), 422 (fehlender name oder object_type).
Was passiert dabei?
Abschnitt betitelt „Was passiert dabei?“- Ausführen wertet live aus:
/runlädt alle passenden Datensätze des Objekttyps (deines Mandanten, ohne gelöschte) und aggregiert sie. Beimetric = countist der Wert die Trefferzahl, beisum/avgwird dasmetric_fieldnumerisch ausgewertet. Nicht zahlbare Werte werden übersprungen. - Leere Gruppe: Datensätze ohne Wert im Gruppierungsfeld landen im Bucket
(leer). - Filter (optional):
config.filtersnutzt denselben Bedingungs-Abgleich wie die Automatisierungsregeln. So schränkst du die Grundmenge ein. - CSV = Rohdaten, nicht Aggregat: Der CSV-Export enthält die einzelnen Datensätze
(Spalten laut
columns; ohne Angabe alle vorkommenden Felder), nicht die gruppierten Summen. Mehrfachwerte (Multiselect) werden alsa, bzusammengefasst. - Gespeichert bleibt die Definition: Der Bericht merkt sich nur die Bauzustands- Definition; die Zahlen entstehen bei jedem Aufruf neu.