Loading

Themen

So exportieren Sie alle Zeiteintragsdaten aus Asana als CSV-Datei über die API

Wer kann diese Funktion nutzen?
StarterAdvancedEnterpriseEnterprise+PremiumBusinessLegacy Enterprise

Besuchen Sie unsere Preisübersichtsseite, um weitere Informationen zu erhalten.

Für Unternehmen, die das Asana-Add-on „Zeiterfassung und Budgets“ verwenden, ist eine regelmäßige Berichterstattung für eine genaue Buchhaltung und Gehaltsabrechnung unerlässlich. Asana bietet zwar robuste In-App-Ansichten, aber gelegentlich benötigen Sie möglicherweise einen umfassenden CSV-Export aller Zeiteinträge in Ihrer gesamten Domain für externe Audits oder eine benutzerdefinierte Verarbeitung am Ende eines Monats oder Quartals.

In diesem Artikel wird erläutert, wie Sie die Asana API verwenden, um Zeiteinträge aus Ihrem gesamten Arbeitsbereich zu aggregieren und sie in eine übersichtliche, buchhaltungsfähige CSV-Datei zu formatieren, die Ihren internen Anforderungen entspricht.

Hinweis iconHinweis

Dieser Leitfaden ist zwar auf Nutzer des Add-ons „Zeiterfassung und Budgets“ zugeschnitten, aber diese API-basierte Exportmethode steht auch Nutzern ohne Add-on zur Verfügung, die die Zeit über standardmäßige Asana-Aufgabenfelder erfassen.

Warum über eine API exportieren?

Während die Asana-Benutzeroberfläche leistungsstarke Dashboards bietet, ermöglicht Ihnen der Export über die API Folgendes:

  • Berichterstattung automatisieren: Planen Sie monatliche oder vierteljährliche Exporte für Ihr Finanzteam ohne manuelle Klicks.
  • Prüfungsgranularität: Greifen Sie auf spezifische Metadaten wie Aufgabenstatus, Priorität und Eintrags-GIDs zu, die für die Aufzeichnung von entscheidender Bedeutung sind.
  • Systemintegration: Übertragen Sie Ihre Asana-Zeitdaten einfach in ERP- oder Gehaltsabrechnungssoftware.

Das Zielformat für den Export

Um die Kompatibilität mit den üblichen Buchhaltungspraktiken zu gewährleisten, sollte Ihr Exportskript eine CSV-Datei erstellen, die die folgenden Felder enthält, wie sie in Ihren Exporten in der Prüferansicht zu sehen sind:

Spalte

Beschreibung

Aufgabenname

Der Titel der Aufgabe, in der die Zeit erfasst wurde.

Zeit (Stunden)

Gesamtdauer, umgerechnet von Minuten in Dezimalstunden.

Datum

Der spezifische Tag, an dem die Arbeit ausgeführt wurde.

Absender*in

Der Name des Teammitglieds, das die Zeit protokolliert hat.

Aufgaben-GID

Die eindeutige Kennung für die Asana-Aufgabe.

Projekt-GID

Die eindeutige Kennung für das übergeordnete Projekt.

Aufgabenstatus

Ob die Aufgabe derzeit „Offen“ oder „Erledigt“ ist.

GID der Angabe

Die eindeutige Kennung für das spezifische Zeitprotokoll.

Implementierung: Export über Python

Um „alle“ Zeiten zu exportieren, muss Ihr Skript Ihre Projekte durchlaufen, um Aufgaben zu finden, und dann Zeiteinträge für diese Aufgaben mithilfe des Endpunkts Zeiterfassungseinträge für eine Aufgabe abrufen abrufen.

Voraussetzungen

Das Export-Skript

Python
import asana
import pandas as pd

# Client initialisieren
client = asana.Client.access_token('YOUR_PERSONAL_ACCESS_TOKEN')
workspace_gid = 'IHRE_ARBEITSBEREICH_GID'

def export_domain_time():
    all_time_data = []

    # 1. Durch alle Projekte im Arbeitsbereich iterieren
    projects = client.projects.get_projects({'workspace': workspace_gid})
   
    für Projekt in Projekten:
        # 2. Alle Aufgaben für das Projekt abrufen
        tasks = client.tasks.get_tasks_for_project(project['gid'], opt_fields=[
            'name', 'gid', 'erledigt', 'erledigt_am', 'priorität'
        ])

        for task in tasks:
            # 3. Zeiteinträge für jede Aufgabe abrufen
            time_entries = client.time_tracking_entries.get_time_tracking_entries_for_task(
                task['gid'],
                opt_fields=['created_by.name', 'duration_minutes', 'entered_on', 'gid']
            )

            for entry in time_entries:
                # Stunden im Dezimalformat berechnen
                hours = round(entry['duration_minutes'] / 60, 2)
               
                # Erstellen Sie die Zeile entsprechend der CSV-Vorlage
                all_time_data.append({
                    "Aufgabenname": task['name'],
                    "Zeit (Stunden)": hours,
                    "Datum": entry['entered_on'],
                    "Einreicher": entry['created_by']['name'],
                    "Aufgaben-GID": task['gid'],
                    "Projekt-GID": project['gid'],
                    "Task Status": "erledigt" if task['completed'] else "Offen",
                    "Fertigstellungsdatum der Aufgabe": task.get('completed_at', ''),
                    "Aufgabenpriorität": task.get('priority', ''),
                    "Eintrags-GID": entry['gid']
                })

    # 4. Als CSV speichern
    df = pd.DataFrame(all_time_data)
    df.to_csv('asana_time_export_accounting.csv', index=False)
    print("Export erledigt: asana_time_export_accounting.csv")

export_domain_time()

Wichtige Überlegungen für große Domains

Wenn Sie diesen Export für ein gesamtes Unternehmen durchführen, beachten Sie die folgenden Best Practices:

  • API-Ratenlimits: Asana hat Limits für die Anzahl der Anfragen, die Sie pro Minute stellen können. Bei sehr großen Domains können Sie time.sleep() hinzufügen oder die integrierte Wiederholungslogik der Asana-Sammlung verwenden.
  • Datumsfilterung: Verwenden Sie für die monatliche Abrechnung das Feld entered_on in Ihrem Skript, um nur nach dem relevanten Zeitraum (z. B. dem Vormonat) zu filtern.
  • Berechtigungen: Stellen Sie sicher, dass das Personal Access Token zu einem Servicekonto oder einem Admin gehört, der Zugriff auf alle relevanten Projekte hat, damit keine Einträge übersprungen werden.

Zeiteinträge von der Seite „Zeiterfassung“ exportieren

Sie können Zeiteinträge für den von Ihnen ausgewählten Zeitraum über die Seite „Zeiterfassung“ exportieren. Klicken Sie in den Zeiterfassungen auf den Dropdown-Pfeil neben dem Seitentitel und wählen Sie dann die Exportoption aus, die den von Ihnen benötigten Zeiteinträgen entspricht.
 
  • CSV-Datei meiner Zeiteinträge exportieren exportiert Ihre eigenen Zeiteinträge für den ausgewählten Zeitraum.
  • CSV-Datei der Zeiteinträge des/der Übermittler*in exportieren exportiert Zeiteinträge für die Personen, deren Zeiteinträge Sie überprüfen.
  • CSV-Datei der Zeiteinträge aller Personen exportieren exportiert alle Zeiteinträge im gesamten Unternehmen für den ausgewählten Zeitraum. Diese Option ist für Super-Admins verfügbar.
Verwenden Sie den Stundenzettel-Export, wenn Sie eine CSV-Datei benötigen, ohne einen API-Workflow einzurichten. Verwenden Sie die API-Methode für automatisierte Berichte, benutzerdefinierte Verarbeitung oder den Zugriff auf die API-Antwortfelder, die später in diesem Artikel beschrieben werden.

Ask the Community

Note iconHinweis

Dieser Artikel wurde mit KI übersetzt.

Feedback zur Übersetzung geben.
Laden
Asana-Zeitdaten als CSV-Datei über die API exportieren | Asana Help Center