Verwendung der EMDESK API zum Abrufen von Ausgabendaten

Die Workspace-API ermöglicht den Lesezugriff auf Ihre Spesenabrechnungen über einen sicheren Endpunkt. Sie können sich über Berichterstellungstools wie Microsoft Excel, Google Sheets oder Ihre eigenen Dashboards mit der API verbinden.

In diesem Artikel:

API-Schlüssel generieren und kopieren

  1. Gehen Sie zu Einstellungen → Allgemein → Workspace-API
  2. Klicken Sie auf Neuen API-Schlüssel hinzufügen
  3. Kopieren Sie den generierten Token (beginnt mit eyJ...) in Ihre Zwischenablage

Dieser Token ist Ihr Bearer-Token für die Authentifizierung

Wählen Sie einen Endpunkt

Für Ausgaben verwenden Sie:

https://renaissance.api.emdesk.com/api/resource/actual-cost-entry

Dieser Endpunkt gibt eine Liste aller erfassten tatsächlichen Kosteneinträge zurück, einschließlich Feldern wie:

Feld


Typ


Beschreibung


id
Ganzzahl
Interne eindeutige Kennung des Kosteneintrags. Jeder Eintrag verfügt über eine stabile ID.
Projektnummerierung
Ganzzahl
Sequentielle Nummerierung, die zur Reihenfolge der Kosteneinträge innerhalb eines Projekts verwendet wird. Entspricht häufig der Reihenfolge in Berichten.
Betrag
Zahl (Gleitkomma)
Direkter Kostenbetrag, der diesem Eintrag zugeordnet ist (z. B. Personalkosten, Kosten für Unteraufträge). Vor Gemeinkosten/indirekten Kosten.
Datum
Zeichenfolge (ISO-Datum, YYYY-MM-DD )
Startdatum der Kosten oder des Ereignisses. Wenn end_date  NULL, wird dies als Aufwand mit einem einzigen Datum behandelt.
end_date
Zeichenfolge oder null (ISO-Datum)
Enddatum des Kostenzeitraums. Wenn nicht null, werden die Kosten zeitlich über diesen Datumsbereich verteilt (wichtig für Burn-Rates, monatliche Aufschlüsselungen).
exclude_funding
Boolescher Wert
Wenn wahr: Die Finanzierung wird nicht auf diesen Eintrag angewendet (z. B. nicht förderfähige Kosten). Finanzierung = 0.
exclude_indirect
Boolesch
Wenn wahr: Indirekte Kosten/Gemeinkosten werden nicht auf diesen Eintrag angewendet.
indirekter_betrag
Zahl (Float)
Berechneter indirekter/Gemeinkostenbetrag für diesen Eintrag. Basiert häufig auf dem indirekten Finanzierungssatz × förderfähiger Betrag.
Teilnehmer
Zeichenfolge
Name der Organisation/des Partners, die/der die Kosten verursacht hat (Begünstigter, Unterauftragnehmer usw.).
Aktivität
Zeichenfolge
Arbeitspaket/Aufgabe/Aktivität, zu der diese Kosten beitragen.
Projekt
Zeichenfolge
Kurzbezeichnung des Projekts. Nur für die Berichterstattung in Multi-Projekt-Kontexten nützlich.
Förderungsrate
Zahl (Float 0,0–1,0)
Direkte Förderquote, die für diese Kostenkategorie gilt. Beispiel: 0,7 = 70 % Erstattung.
funding_rate_indirect
Zahl (Float 0,0–1,0)
Finanzierungssatz, der auf den Betrag der indirekten Kosten angewendet wird. Oft identisch mit dem Finanzierungssatz, sofern nicht ausgeschlossen.
Förderung
Zahl (Float)
Förderfähiger Direktförderungsbetrag (Betrag × funding_rate).
funding_indirect
Zahl (Float)
Förderfähiger indirekter Förderbetrag (indirekter Betrag × indirekter Fördersatz).
Gesamtfinanzierung
Zahl (Float)
Gesamtfinanzierung = Finanzierung + indirekte_Finanzierung.
Gesamtbetrag
Zahl (Float)
Gesamtkosten einschließlich indirekter Kosten = Betrag + Betrag_indirekt.
Kostenkategorie
Zeichenfolge (Enum)
Finanzkategorie der Kosten. Gängige Werte: "Personnel" , "Subcontracting" , "Travel" , "Other" , "Equip Rate" .
Person
Zahl (Float)
Personenmonate (PM) oder ähnliche Aufwandseinheiten. Abhängig von resource_unit.
person_pd
Zahl (Float)
Personentage (PD) Äquivalent. Die Umrechnung hängt von den Einstellungen Ihres Projekts ab.
person_ph
Zahl (Float)
Personenstundenäquivalent (PH). Nützlich für detaillierte Analysen.
personnel_rate_name
Zeichenkette oder null
Name des angewandten Personalsatzes (z. B. Mitarbeiter oder gemischter Satz). Nur für Personalkategorien festlegen.
personnel_rate
Zahl (Float)
Angewandter Personalkostensatz pro PM
description
Zeichenfolge oder null
Vom Benutzer bereitgestellte Beschreibung des Kosteneintrags (Rechnungsbeschreibung, Arbeitsumfang, Anmerkungen).
Ressourceneinheit
Zeichenfolge oder null
Beispiele: "PM"  (Personenmonat), "PD"  (Personentag), "PH"  (Personenstunde). Null für nicht personalbezogene Kosten.

Die Authentifizierung erfolgt stets über:

Authorization: Bearer eyJ...(your API token)

Daten in Microsoft Excel abrufen (Power Query)

Sie können Excel direkt mit der EMDESK-API verbinden und Live-Ausgabedaten importieren. Dies funktioniert in Excel 365, 2019 oder 2016 mit Power Query (auch „Daten abrufen und transformieren” genannt).

Starten Sie eine neue Webabfrage

In Excel:

Menüpfad
Daten → Daten abrufen → Aus anderen Quellen → Aus dem Internet

Es öffnet sich ein Dialogfeld. Klicken Sie auf „Erweitert“.

Geben Sie den API-Endpunkt und den Authentifizierungsheader ein

Im Abschnitt „URL-Teile“:

https://renaissance.api.emdesk.com/api/resource/actual-cost-entry

Im Abschnitt „HTTP-Anfrage-Header-Parameter“:

Header Wert
Autorisierung Bearer eyJ… (fügen Sie Ihren vollständigen API-Token ein)

Klicken Sie auf „OK“.

Excel wird nun:

  • Verbindung zum Endpunkt herstellen
  • Ihr Token zur Authentifizierung verwenden
  • die JSON-Daten abrufen
  • den Power Query Editor öffnen

Wenn die Authentifizierung erfolgreich ist, sehen Sie entweder einen Datensatz, eine Liste oder eine Datenspalte.

Konvertieren Sie JSON in eine lesbare Tabelle

Im Power Query Editor:

  1. Wenn der Inhalt als Datensatz angezeigt wird, klicken Sie auf „In Tabelle“ (Registerkarte „Start“).
  2. Sie sehen wahrscheinlich Spalten wie „Daten“, „Zeitstempel“ oder „Status“.
  3. Klicken Sie auf das Symbol zum Erweitern ↔ in der Datenspalte.
  4. Im Dialogfeld „Erweitern“:

    Deaktivieren Sie das Kontrollkästchen „Original-Spaltennamen als Präfix verwenden“.

  5. Klicken Sie auf „OK“.

Sie sollten nun Ausgabenfelder wie die folgenden sehen:

id Projektnummerierung Betrag Datum Enddatum Teilnehmer Finanzierung ausschließen Ausschluss indirekter Kosten Währung

Weisen Sie in Power Query die korrekten Datentypen zu:

Spalte Empfohlener Datentyp
Betrag Dezimalzahl
Datum / Enddatum Datum
id Text
Teilnehmer Text

Verwendung: Startseite → Datentyp

Laden Sie die Daten in Excel

Klicken Sie auf „Schließen und laden“

Ihre API-Daten werden nun in einem neuen Arbeitsblatt als formatierte Excel-Tabelle angezeigt.

Sie können nun:

✔ Filtern und sortieren

✔ Formeln oder Pivot-Tabellen verwenden

✔ Dashboards oder Diagramme erstellen

✔ Mit Ihrem Budget oder Ihrer Kostenaufstellung kombinieren

Ihre Daten jederzeit aktualisieren

So erhalten Sie aktualisierte Werte von EMDESK:

Option Aktion
Manuell aktualisieren Rechtsklick auf Tabelle → Aktualisieren
Oder über die Multifunktionsleiste Daten → Alle aktualisieren

Excel stellt die Verbindung zur API wieder her und aktualisiert alle Zeilen automatisch.

🔍 Fehlerbehebung

Problem Ursache Lösung
401 Nicht autorisiert Token ist falsch oder abgelaufen Bitte generieren Sie ein neues Token unter „Einstellungen“ → „Workspace-API“.
Daten werden geladen, aber einige Spalten sind leer Verschachtelte Daten nicht erweitert Entfalten Sie die Datenspalte erneut
„Wir konnten die Authentifizierung nicht durchführen“ Die Kopfzeile ist nicht korrekt formatiert Muss beginnen mit: Bearer eyJ...
Falsches Datums- oder Betragsformat Nicht als Datum oder Zahl zugewiesen Datentyp in Power Query anwenden

Daten in Google Sheets abrufen (EMDESK-API)

Sie können Live-Ausgabedaten aus Ihrem EMDESK-Arbeitsbereich mithilfe von Apps Script direkt in Google Sheets importieren. Die Einrichtung dauert nur wenige Minuten und kann jederzeit wiederverwendet oder aktualisiert werden.

Öffnen Sie Apps Script

In Ihrer Google Tabelle:

Menüpfad
Erweiterungen → Apps Script

Ein Code-Editor wird in einem neuen Tab geöffnet.

Fügen Sie das Skript ein

Löschen Sie den gesamten Inhalt des Editors und ersetzen Sie ihn durch das vollständige Skript unten:

const API_TOKEN = "eyJ0...Q"; // paste your API key from EMDESK
const API_ENDPOINT = "https://renaissance.api.emdesk.com/api/resource/actual-cost-entry";
const TARGET_SHEET = "ActualCostEntries";

function importEmdeskData() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = ss.getSheetByName(TARGET_SHEET);

  if (!sheet) {
    sheet = ss.insertSheet(TARGET_SHEET);
  }

  sheet.clearContents();

  const options = {
    method: "get",
    headers: {
      "Authorization": "Bearer " + API_TOKEN,
      "Accept": "application/json"
    },
    muteHttpExceptions: true
  };

  const response = UrlFetchApp.fetch(API_ENDPOINT, options);
  const status = response.getResponseCode();

  if (status < 200 || status >= 300) {
    sheet.getRange(1, 1).setValue("Error: " + status);
    sheet.getRange(2, 1).setValue(response.getContentText());
    return;
  }

  const json = JSON.parse(response.getContentText());

  if (!json.data || json.data.length === 0) {
    sheet.getRange(1, 1).setValue("No data returned");
    return;
  }

  const headers = Object.keys(json.data[0]);
  const rows = json.data.map(obj =>
    headers.map(field => obj[field])
  );

  rows.unshift(headers);
  sheet.getRange(1, 1, rows.length, headers.length).setValues(rows);
}

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("EMDESK API")
    .addItem("Import Actual Cost Entries", "importEmdeskData")
    .addToUi();
}

Konfigurieren und speichern

Ersetzen Sie oben im Skript:

const API_TOKEN = "eyJ0...";

durch Ihren vollständigen API-Schlüssel von EMDESK (behalten Sie die Anführungszeichen bei).

Klicken Sie auf „Speichern“ und geben Sie Ihrem Skript einen Namen, z. B. „EmdeskImport“.

Autorisieren und ausführen

Klicken Sie in der Symbolleiste auf:

▶ importEmdeskData

Wenn Sie es zum ersten Mal ausführen, fordert Google Sie zur Erteilung von Berechtigungen auf:

Erlauben Sie den Zugriff für UrlFetchApp, damit Sheets eine Verbindung zur API herstellen kann.

Verwenden Sie das benutzerdefinierte Menü

Nachdem Sie die Tabelle gespeichert und neu geladen haben, wird ein neues Menü angezeigt:


EMDESK API → Tatsächliche Kosteneinträge importieren


Klicken Sie darauf – das Skript wird:


✔ Abrufen der Ausgabendaten aus EMDESK

✔ Das Blatt „ActualCostEntries” erstellen oder aktualisieren

✔ Alle Ausgabenfelder als Zeilen und Spalten einfügen

Aktualisieren der Daten

Sie können die Daten jederzeit aktualisieren:

Menüpfad
EMDESK API → Import Actual Cost Entries

Dadurch wird das Skript erneut ausgeführt und die Werte aus der API aktualisiert.

Optional – Automatische geplante Aktualisierung aktivieren

Sie können die Aktualisierung täglich, wöchentlich oder stündlich automatisieren:

Gehen Sie in Apps Script zu „Trigger“ → „Trigger hinzufügen“ und wählen Sie:

Einstellung Wert
Funktion importEmdeskData
Ereignisquelle Zeitgesteuert
Typ Täglich / Stündlich / Benutzerdefiniert

Die Daten werden nun automatisch aktualisiert.

Fehlerbehebung

Problem Ursache Lösung
Fehler 401 Token ungültig oder abgelaufen Bitte generieren Sie einen neuen API-Schlüssel in EMDESK.
Es werden keine Daten zurückgegeben Es liegen noch keine Ausgabenaufzeichnungen vor Bitte geben Sie zunächst Ausgaben ein
Skript wird ausgeführt, aber das Blatt ist leer Fehlende Dateneigenschaft Bitte überprüfen Sie den Endpunkt und das Token
„Dienst wurde zu oft aufgerufen“ Zu häufige Aktualisierung Ändern Sie den Trigger auf täglich/stündlich
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.