Expense

Registre officiel Productivité

Receipt tracker with no friction: receipts arrive by email and file themselves

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http expense 'https://expense.labnotes.org/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "expense": {
            "type": "http",
            "url": "https://expense.labnotes.org/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Expense
  2. Screenshots
  3. What it does
  4. AI assistants (MCP)
  5. Accounts
  6. How it is built
  7. Documentation

Expense

Expense is a seamless receipt tracking solution: receipts are automatically sent via email, mileage uses the tax rate provided by the IRS, and a smart AI assistant does your data entry so that you can forget about the process altogether.

PRODUCT.md is the map: what the product is, how it works, the pages a person uses, the architecture and data model, and the vocabulary. This file is the front door; that one is the orientation.

Screenshots

What it does

Receipts come in from a photo, a screenshot, a PDF, the clipboard, a connected Fastmail or Gmail mailbox, or an MCP assistant; each one is read for merchant, amount and category, filed under an IRS Schedule C line, and kept with its image. Drives are mapped and priced at the IRS rate for the trip date and type. The year leaves as a PDF per report, with the receipts attached, or as one ZIP of everything. A warranty document dropped on the warranties page becomes a record you can find by how soon coverage ends. Installed from the Home Screen on a phone, it opens on your expense list.

Free, no card, no ads, no paid tier. Not built for corporate expense policy, approvals, or double-entry bookkeeping. The full tour, with the pages and the rules behind each one, is in PRODUCT.md.

AI assistants (MCP)

The app speaks the Model Context Protocol at https://expense.labnotes.org/mcp. An assistant connects with OAuth — you sign in and click Allow — so there are no API keys. A connected assistant can capture a receipt, log a drive, answer questions about your spending, manage reports, and match a bank statement.

// Claude — .mcp.json (no headers needed: the client discovers OAuth)
{
  "mcpServers": {
    "expense": {
      "type": "http",
      "url": "https://expense.labnotes.org/mcp"
    }
  }
}

The reference is docs/mcp.md; the tools are listed in PRODUCT.md.

Accounts

Email is the login name, hashed with scrypt, with a signed-cookie session. Everything belongs to an account; an account has several users; accounts are fully isolated from each other. Sign up for a new one, or join an existing one with the 8-character invite code in Settings. Image keys are namespaced per account, so two accounts can never collide. More detail in PRODUCT.md and docs/accounts.md.

How it is built

One app, one Postgres database, no monorepo. React Router v8 in framework mode (SSR), where the URL tree is the filesystem; Prisma 8 contract-first, so prisma/contract.prisma is the schema and there are no migration files; images stored as bytes in Postgres rather than in object storage. Deployed on Vercel plus Supabase Postgres, where a push to main deploys. The diagrams are in PRODUCT.md.

Run it locally with pnpm dev; the environment variables, the connection poolers and the deploy path are in docs/operations.md and docs/deploy.md.

Documentation

DocumentWhat is in it
PRODUCT.mdWhat it is, how it works, the tour, architecture, vocabulary
AGENTS.mdThe invariants, commands and traps that bind a change here
docs/files.mdEvery notable file, one line each
docs/operations.mdEnv vars, poolers, secrets, incident history
docs/deploy.mdDeploy ordering and the smoke checks
docs/extraction.mdHow a receipt is read, and the caps around it
docs/receipts-by-email.mdThe Fastmail forwarding path
docs/email-connections.mdConnected mailboxes and inbox review
docs/reconciliation.mdMatching a statement to expenses
docs/accounts.mdAccounts, users, invites
docs/mcp.mdThe assistant-facing reference
docs/code-style.md · docs/testing.md · docs/dark-mode.mdConventions

Questions fréquentes

Qu'est-ce que Expense ?

Receipt tracker with no friction: receipts arrive by email and file themselves

Comment installer Expense ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http expense 'https://expense.labnotes.org/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Expense ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Expense est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient Expense ?

Il est publié par assaf. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.