Your agents build the project. Now they bill it too.

A CRM for AI agents: your agent logs effort, keeps clients and orders up to date, issues the e-invoice and records the payment. All in Time Momentum, through the command line tm.

  • macOS, Linux and Windows
  • Claude Code, Codex, Cursor and any agent with a shell

A CRM for AI agents: what your agent does

You say what you need. The agent turns it into a tm command.

  • Log two hours on the relaunch for yesterdaytm timers add --project-id <project-id> --started-at "yesterday 09:00" --duration 2:00
  • Create the client Muster GmbHtm customers create --name "Muster GmbH" --payment-terms-days 14
  • Build the September invoice for Muster GmbHtm invoices build --customer-id <client-id> --month 2026-09
  • Looks good, issue ittm invoices finalize <invoice-id> --yes
  • One transfer paid both invoicestm payments split --paid-on today --allocation <a>=3451.00 --allocation <b>=2998.80
  • Timesheet for Septembertm statements create --customer-id <client-id> --period-from 2026-09-01 --period-to 2026-09-30
  • What is still unpaid?tm payments outstanding
  • How profitable were my clients this year?tm revenue --from 2026-01-01 --to 2026-12-31

Agent access is part of Pro.

What your agent may do

ActionRule
Read, log, create, editDirectly: time entries, clients, orders, projects, project costs, invoice drafts, payments, timesheets and reports.
Issue, cancel, deleteOnly with an explicit --yes, otherwise tm stops without sending anything. The usage guide tells the agent to do this only when you ask for it.
Change billed timeRefused. Time on an issued invoice or a finalized timesheet is locked.
Issue an incomplete e-invoiceRefused. The invoice stays a draft, and tm names every missing detail and where to fix it.
Create keys, delete the accountBlocked on the server for agent access, as is changing the password without email confirmation. New keys are created only in the web app.

Security model

Your agent works with an API key that you create in the web app and can revoke at any time.

  • tm exchanges a write key for a token valid for one hour and renews it automatically. The exchange is rate-limited.
  • The key is stored only in your local configuration (file mode 600) or an environment variable. It never appears in output, logs or errors, not even with --verbose or --dry-run.
  • A read key reaches only selected read routes and the timers.
  • Revoking a key is final and takes effect immediately.
  • --dry-run shows the exact request without sending it. Existing files are never overwritten silently.

Built for agents

The agent fetches its own instructions and the command catalog, and every response tells it what to do next.

  • Which command groups are there?tm --json
  • Which flags does an invoice take?tm schema invoices --json
  • Usage guide for the installed versiontm skill
  • Show the request before sending ittm invoices finalize <invoice-id> --dry-run

Agent access is part of Pro.

TraitWhat it means for you
CompleteEvery API operation has exactly one command. A test checks this with every change to the API.
PredictableWith --json, stdout carries exactly one JSON document. Errors arrive as JSON, and the exit code says whether to fix the call, ask you, wait or retry.
Runs anywheremacOS, Linux and Windows, or via npx without installing, for example in an agent sandbox.
Everything stays in one placeInvoices, orders and outstanding payments end up in Time Momentum, whether you or your agent created them.

Set up tm for your agent

Requires Node.js 22.14 or newer and an API key with permission “read and write” from the web app.

  1. Install tm permanently

    npx -y @time-momentum/cli install
  2. Log in with your API key

    tm auth login
  3. Check login and permission

    tm whoami
  4. Claude Code: install the skill

    tm skill --install
  5. Claude Code: status line

    Project, effort and budget of the current session at the bottom of Claude Code.

    tm statusline install
  6. Capture your AI sessions

    Claude Code, Codex and Cursor, with tokens and runtime. Also in Free.

    tm collect init

Or without installing, for example in an agent sandbox: npx -y @time-momentum/cli@latest whoami

More on this topic

  • Business software for AI agents

    How to tell whether software lets your agent work safely with clients, invoices and payments.

    Read guide
  • The best CRM for AI agents

    What people mean by a CRM for AI agents, and where the large CRMs and Time Momentum fit.

    Read guide
  • MCP vs. CLI for AI agents

    Why a command line often suits agents better than an MCP server.

    Read guide
  • Agentic engineering vs. vibe coding

    What separates engineering with AI agents from vibe coding, and what it means for client work.

    Read guide

Part of Pro

Agent access through tm is part of Pro. Every new account tests Pro for 30 days, without a credit card.

Without Pro, an API key still reaches the timers and the project list.

Let your agent do the billing

  • 30 days of Pro
  • No credit card
  • Then continue on Free

Frequently asked questions

Why a CLI and not an MCP server?

Your agent already works in a shell. tm loads only the part of the command catalog it needs instead of every tool definition up front, works the same in Claude Code, Codex, Cursor and any other agent that can run commands, and you can run every command yourself to see exactly what the agent did. There is no MCP server for Time Momentum.

Which agents work with tm?

Any agent that can run shell commands. Claude Code gets a short skill with tm skill --install that points to the full guide. Codex, Cursor and others read the guide with tm skill, always matching the installed version.

What if the agent gets something wrong?

Drafts can be changed or deleted. An issued invoice is corrected by cancellation, and time on it is locked. With --dry-run the agent shows you the exact request before sending it.