Back to Todoist in Google Sheets
SheetXAI logo
Todoist logo
Todoist · Google Sheets Guide

Pull Completed Todoist Tasks Into a Sheet for Billing or Retrospectives

2026-05-13
4 min read
See the Excel version →

The Scenario

You are a freelance consultant. Invoices go out on the first of every month. Your clients pay by the hour, and your time tracking lives in Todoist — tasks completed, with labels matching client codes.

You need to pull every completed task from the last 30 days, match each one to a client, and cross-reference the hours in your billing sheet before the invoice goes out.

The bad version of the first of the month:

  • You open Todoist's activity log and start scrolling
  • There is no bulk export of completed tasks with labels
  • You try the third-party export tools, get a CSV that is missing half the label fields
  • You spend ninety minutes cleaning dates, matching client codes, and counting hours by hand
  • The invoice goes out with last month's rates because you were too tired to double-check.

The fast version is one prompt.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your spreadsheet that pulls completed Todoist tasks for a date range — with labels, project, and completion timestamps — so you can bill accurately without a data cleanup session.

Open the SheetXAI sidebar and type:

Fetch all tasks completed in Todoist between 2026-04-01 and 2026-04-30 and write them into my sheet with columns for task name, completion date, project, and label. One row per completed task.

SheetXAI calls the Todoist completions endpoint, pulls the full result set, and writes it into your sheet with clean dates. You have ninety rows instead of ninety minutes of scrolling.

What You Get

A sheet with one row per completed task from the billing period:

  • Task name — the full task content as you wrote it
  • Completion date — in a format your billing sheet can calculate against
  • Project — which Todoist project the task lived in
  • Label — the client code label, ready to match against your billing tab

The completion date comes back as a real date, not a relative "2 days ago." That one thing is the difference between a usable billing sheet and forty minutes of reformatting.

What If the Data Is Not Quite Ready

Billing data from Todoist is rarely already formatted the way your invoice template expects.

When task names contain extra context that should not appear on the invoice

You title tasks like "Acme — 2h call prep — review deck" but the invoice just needs "Call preparation."

Fetch all completed Todoist tasks between 2026-04-01 and 2026-04-30. Strip everything after the first em dash from each task name. Write the cleaned task name, completion date, project, and label into my sheet.

When you only want tasks for a specific client label

You are building one invoice at a time, starting with your biggest client.

Pull all Todoist tasks completed in April 2026 that have the label 'acme-corp'. Write them into the 'Acme Billing' tab with task name, completion date, and project. Count the total tasks and write the total into cell B2.

When the hours need to be matched from a separate tab

Your 'Hours Log' tab has a row for each day with hours worked. You need to reconcile total tasks completed per day against hours logged per day.

Fetch all completed Todoist tasks for April 2026 and write them into the 'Tasks' tab. Then, for each date in the 'Hours Log' tab, count how many tasks were completed on that date and write the count into column C next to the existing hours.

When you need a full billing summary across all clients in one prompt

It is invoice day and you want the full picture: all clients, all completed tasks, all hours, in one pass.

Pull all tasks completed in Todoist between 2026-04-01 and 2026-04-30. Write all tasks into the 'Raw' tab with task name, completion date, project, and label. Then in the 'Billing Summary' tab, group by label (client code) and write one row per client showing: client code, total tasks completed, list of project names, and total billable hours from the matching rows in the 'Hours Log' tab.

The pattern: instead of exporting and cleaning data before billing, you describe the output you need and SheetXAI pulls and organizes it.

Try It

Get the 7-day free trial of SheetXAI and open your billing sheet, then ask it to pull your completed Todoist tasks for the month. The Todoist integration is included in every SheetXAI plan. For related workflows, see how to pull a full Todoist project snapshot into a sheet or the Todoist in Google Sheets overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more