Van time tracking naar klantfactuur zonder handmatig werk. Koppel Toggl aan Google Sheets via n8n, laat Claude de uren samenvatten per project en genereer automatisch een factuuroverzicht - elke maand klaar als je het nodig hebt.
Als freelancer of bureau ben je veel tijd kwijt aan het handmatig ophalen van uren, verwerken in een spreadsheet, en omzetten naar facturen. Deze handleiding automatiseert dat volledig. Na het bouwen kost het je 0 minuten per maand.
Wat je nodig hebt
Voor deze workflow heb je nodig: een Toggl Track account (gratis of betaald), n8n (zelfgehost of cloud), een Google Sheets spreadsheet, en een Claude API-sleutel via Anthropic. De totale bouwtijd is circa 60 minuten.
Stap 1: Toggl API setup
Log in op Toggl Track en ga naar je profielinstellingen. Scroll naar beneden naar 'API Token'. Kopieer je token en sla hem veilig op. Je hebt dit token nodig in n8n. Zorg dat je in Toggl je projecten goed hebt aangemaakt met de juiste klantnamen, want die namen komen straks op je factuuroverzicht.
Stap 2: n8n schedule trigger instellen
Open n8n en maak een nieuw workflow aan. Voeg een Schedule Trigger toe. Stel deze in op: elke maandag om 08:00 uur. Zo heb je aan het begin van elke week een overzicht van de vorige week. Wil je liever maandelijkse facturen? Stel dan in: eerste dag van de maand om 08:00.
Je kunt ook een handmatige trigger toevoegen zodat je de workflow ook op aanvraag kunt starten. Handig als een klant midden in de maand een factuur nodig heeft. Klik op 'Add node' en kies 'Manual Trigger'.
Stap 3: Uren ophalen per project via Toggl API
Voeg een HTTP Request-node toe in n8n. Vul in: methode GET, URL https://api.track.toggl.com/api/v9/me/time_entries. Voeg parameters toe voor start_date en end_date op basis van de vorige week of maand. Gebruik n8n-expressies om de datums dynamisch te berekenen.
Stap 4: Google Sheets bijwerken met uren
Voeg een Google Sheets-node toe. Kies 'Append Row' om iedere week de nieuwe uren toe te voegen aan je spreadsheet. Maak kolommen aan: Datum, Project, Klant, Uren, Tarief, Subtotaal. Verbind je Google-account met n8n via OAuth2.
Structureer je spreadsheet met aparte tabs: een 'Raw Data' tab waar n8n naar schrijft, en een 'Factuuroverzicht' tab met formules die de data samenvatten per klant. Zo houd je de brondata intact en kun je altijd terugkijken.
Stap 5: Claude maandoverzicht laten genereren
Voeg een HTTP Request-node toe voor de Claude API. Stuur de gegroepeerde urendata naar Claude met een prompt die vraagt om een professioneel maandoverzicht te genereren. Claude vat de uren samen, benoemt eventuele opvallende projecten, en schrijft een begeleidende tekst die je kunt gebruiken bij je factuur.
Stap 6: Factuurdata exporteren
Exporteer de factuurdata als PDF of CSV. Voeg een Google Docs-node toe die een factuurtemplate invult met de data uit Google Sheets. Of gebruik een tool als Invoice Ninja of Moneybird via hun API om direct een factuur aan te maken.
Als je geen extern facturatiepakket gebruikt, maak dan een Google Docs-template met placeholders. n8n vult deze automatisch in met de klantdata, uren en het door Claude gegenereerde overzicht. Exporteer vervolgens als PDF via de Google Drive API.
Stap 7: Slack-notificatie bij budgetoverschrijding
Bouw een budgetbewaker in. Voeg een IF-node toe die controleert of de uren voor een project de afgesproken budgetgrens overschrijden. Als dat zo is, stuurt n8n automatisch een Slack DM naar de projectmanager met een waarschuwing.
Stap 8: Testen en live zetten
Voer een handmatige test uit met de Manual Trigger. Controleer of alle stappen correct worden doorlopen: Toggl-data ophalen, verwerken, naar Sheets schrijven, Claude-samenvatting genereren, en Slack-notificatie versturen. Zet de workflow op 'Active' pas als alles klopt.
Monitor de eerste paar weken of de workflow consistent werkt. n8n houdt een logboek bij van alle uitvoeringen. Als er iets misgaat, zie je direct welke node de fout veroorzaakte. Stel ook e-mailmeldingen in voor mislukte workflow-uitvoeringen.
Troubleshooting
Probleem: Toggl geeft geen data terug. Oplossing: Controleer of de datumnotatie correct is (ISO 8601 formaat: 2026-08-01T00:00:00Z). Controleer ook of je API-token correct is ingesteld als Basic Auth met 'api_token' als wachtwoord.
Probleem: Google Sheets-verbinding mislukt. Oplossing: De OAuth2-verbinding verloopt soms. Ga in n8n naar Credentials en vernieuw de Google-verbinding. Zorg dat je Sheets-bestand gedeeld is met het Google-account dat je gebruikt.
Probleem: Claude geeft een foutmelding. Oplossing: Controleer je Anthropic API-sleutel en het tegoed. Claude heeft ook een limiet op het aantal tokens per request. Als je veel uren doorstuurt, beperk dan de data tot alleen de samenvatting per project, niet alle individuele tijdregistraties.
Probleem: Schedule trigger wordt niet geactiveerd. Oplossing: Zorg dat n8n actief is op het moment van de trigger. Bij zelfgehoste n8n: controleer of het n8n-proces draait. Bij n8n Cloud: controleer of je workflow op 'Active' staat en of je het juiste tijdzone-instelling hebt gebruikt.