Skip to content

Financial infrastructure for you and your agents

Use one part of Expensicat, or all of it.

Invoicing, time tracking, bank transactions, and receipts and bills each work on their own. Use one today and switch on the next when you need it. Your agent reaches every part through MCP, the CLI and the API.

npx @expensicat/cli@latest login
expensicat tracking start "Website rebuild"

Every part works alone

Pick the part you need.

Onboarding asks which parts you'll use, and the rest start hidden in your sidebar until you bring them back.

  • Time tracking

    Only need to track time?

    Run a timer from the app, from Claude or from your terminal, against your projects and their rates. Nothing else needs setting up.

    expensicat tracking start "Website rebuild"

    Better togetherAdd invoicing and your hours become invoice lines at the project rate.

  • Bank transactions

    Only need your bank transactions?

    Connect a bank in Europe, or import a statement from any other. Transactions come in categorized, and one command gets them into your script or spreadsheet.

    expensicat transaction list --json

    Better togetherAdd receipts and bills, and each one is matched to its transaction.

  • Invoicing

    Only need invoicing?

    Quotes, invoices, credit notes and recurring invoices, numbered in sequence and issued in the format the law asks for, by email or over Peppol (early access). Customers can pay by card into your own Stripe account.

    expensicat invoice create

    Better togetherAdd your bank and incoming payments are matched to the invoices they settle.

  • Receipts and bills

    Only need receipts and bills?

    Forward them to your inbox address, connect Gmail or Outlook, or send a photo on WhatsApp. Each document is read when it arrives: supplier, date, amount and currency.

    expensicat inbox upload ./receipts --recursive

    Better togetherAdd your bank and each receipt is matched to the payment it covers.

Your agent, our tools

Bring the agent you already use.

Cat works in the app and on WhatsApp. Anywhere else, connect your own agent to every part of Expensicat.

  • MCP

    Claude, ChatGPT, Cursor, Raycast, Perplexity and OpenCode connect with one sign-in and reach every part of Expensicat.

    Connect an AI client
  • CLI

    Commands print JSON with --json, and --describe prints the full command schema for an agent to read.

    CLI docs
  • REST API and SDK

    A REST API and a TypeScript SDK, for the scripts and dashboards you build yourself.

    API reference
  • OAuth apps

    Build an app other Expensicat users can connect. It gets only the scopes each user approves.

    Authentication docs

Control

Whoever does the work, you decide.

An agent with access to your books works within limits you set.

  • 01

    Cat asks first.

    Anything that sends, issues, deletes or changes access waits for your approval.

  • 02

    Keys do what you allow.

    Each API key and OAuth app carries only the scopes you grant it.

  • 03

    Retries are safe.

    Repeat a request with the same idempotency key and Expensicat returns the invoice it already created.

  • 04

    Numbers come from code.

    Expensicat calculates every total and tax amount. A model never makes up a figure.

Build on it

Invoicing inside your own product.

Sending invoices from a marketplace, a SaaS billing flow or your own agent? Expensicat issues them for you: sequential numbering, Factur-X, ZUGFeRD, XRechnung and Peppol UBL, a PDF with the structured file beside it, and the same European checks as the dashboard.

Start with the part you need.

Expensicat is free during beta, and you can start without a credit card. Hide or show any part in your sidebar whenever you like.