Loading

Onderwerpen

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Geen artikelen gevonden voor dit onderwerp.

Alle tijdinvoergegevens uit Asana exporteren als CSV via API

Wie kan deze functie gebruiken?
StarterAdvancedEnterpriseEnterprise+PremiumBusinesslegacy Enterprise

Ga naar onze pagina met prijzen voor meer informatie.

Voor organisaties die de urenstaten en budgetten van Asana gebruiken, is periodieke rapportage essentieel voor nauwkeurige boekhouding en salarisadministratie. Hoewel Asana robuuste in-app-weergaven biedt, heb je af en toe een uitgebreide CSV-export nodig van alle tijdinvoer in je hele domein voor externe audits of aangepaste verwerking aan het einde van een maand of kwartaal.

In dit artikel wordt uitgelegd hoe je de Asana API gebruikt om tijdinvoer uit je hele werkruimte samen te voegen en deze op te maken in een schone, boekhoudkundige CSV die voldoet aan je interne vereisten.

Opmerking iconOpmerking

Hoewel deze handleiding is afgestemd op gebruikers van de invoegtoepassing urenstaten en budgetten, is deze op API gebaseerde exportmethode ook beschikbaar voor gebruikers zonder invoegtoepassing die tijd registreren via standaard Asana-taakvelden.

Waarom exporteren via API?

Hoewel de Asana-gebruikersinterface krachtige dashboards biedt, kun je met exporteren via API:

  • Rapportage automatiseren: plan maandelijkse of driemaandelijkse exports voor je financiële team zonder handmatige klikken.
  • Audit-granulariteit: toegang tot specifieke metadata, zoals taakstatus, prioriteit en invoer-GID's, die cruciaal zijn voor het bijhouden van gegevens.
  • Systeemintegratie: voer je Asana-tijdgegevens eenvoudig in ERP- of salarissoftware.

Het doel van het exportformaat

Om compatibiliteit met standaard boekhoudpraktijken te garanderen, moet je exportscript een CSV produceren met de volgende velden zoals te zien in je exports voor beoordelaarsweergave:

Kolom

Beschrijving

Taaknaam

De titel van de taak waar de tijd werd geregistreerd.

Tijd (uren)

Totale duur omgezet van minuten naar decimale uren.

Datum

De specifieke dag waarop het werk werd uitgevoerd.

Indiener

De naam van het teamlid dat de tijd registreerde.

Taak-GID

De unieke identificatiecode voor de Asana-taak.

Project-GID

De unieke identificatie voor het bovenliggende project.

Taakstatus

Of de taak momenteel 'Open' of 'Voltooid' is.

Invoer-GID

De unieke identificatiecode voor het specifieke tijdlogboek.

Implementatie: exporteren via Python

Om 'alle' tijd te exporteren, moet je script door je projecten gaan om taken te vinden en vervolgens tijdinvoer voor die taken ophalen met behulp van het eindpunt Tijdregistratie-items voor een taak ophalen.

Vereisten

Het exportscript

Python
importeer Asana
importeer pandas als pd

# Initialiseer Client
client = asana.Client.access_token('YOUR_PERSONAL_ACCESS_TOKEN')
workspace_gid = 'JOUW_WERKRUIMTE_GID'

def export_domain_time():
    all_time_data = []

    # 1. Doorloop alle projecten in de werkruimte
    projects = client.projects.get_projects({'Werkruimte': workspace_gid})
   
    voor project in projecten:
        # 2. Haal alle taken voor het project op
        tasks = client.tasks.get_tasks_for_project(project['gid'], opt_fields=[
            'name', 'gid', 'Voltooid', 'completed_at', 'priority'
        ])

        voor taak in taken:
            # 3. Haal tijdinvoer op voor elke taak
            time_entries = client.time_tracking_entries.get_time_tracking_entries_for_task(
                task['gid'],
                opt_fields=['created_by.name', 'duration_minutes', 'entered_on', 'gid']
            )

            voor invoer in time_entries:
                # Bereken uren in decimaal formaat
                hours = round(entry['duration_minutes'] / 60, 2)
               
                # Bouw de rij om overeen te komen met het CSV-sjabloon
                all_time_data.append({
                    "Taaknaam": task['name'],
                    "Tijd (uren)": uren,
                    "Datum": entry['entered_on'],
                    "Indiener": entry['created_by']['name'],
                    "Taak-GID": task['gid'],
                    "Project-GID": project['gid'],
                    "Taakstatus": "Voltooid" als taak['voltooid'] anders "Open",
                    "Voltooiingsdatum taak": task.get('completed_at', ''),
                    "Taakprioriteit": task.get('priority', ''),
                    "Invoer GID": entry['gid']
                })

    # 4. Opslaan in CSV
    df = pd.DataFrame(all_time_data)
    df.to_csv('asana_time_export_accounting.csv', index=False)
    print("Export voltooid: asana_time_export_accounting.csv")

export_domain_time()

Kritieke overwegingen voor grote domeinen

Wanneer je deze export voor een hele organisatie uitvoert, houd dan de volgende beste praktijken in gedachten:

  • API-snelheidslimieten: Asana heeft limieten voor het aantal aanvragen dat je per minuut kunt doen. Overweeg voor grote domeinen om time.sleep() toe te voegen of de ingebouwde herkansingslogica van de Asana-bibliotheek te gebruiken.
  • Datumfiltering: gebruik voor maandelijkse boekhouding het veld entered_on in je script om alleen te filteren op de relevante periode (bijvoorbeeld de vorige maand).
  • Machtigingen: Zorg ervoor dat het persoonlijke toegangstoken toebehoort aan een serviceaccount of een beheerder die toegang heeft tot alle relevante projecten, zodat er geen vermeldingen worden overgeslagen.

Ask the Community

Note iconOpmerking

Dit artikel is vertaald met AI.

Feedback over de vertaling versturen.
Wordt geladen
Asana-tijdgegevens exporteren naar CSV via API | Asana-helpcentrum