In-house product

Invoicing platform with a Claude MCP server

We built our own invoicing and freelancer-finance platform with Next.js and Supabase, plus a secure remote MCP server so Claude can draft invoices, log expenses and attach receipts from plain English. Sending is two-step (draft, confirm, send), so nothing goes out by accident. Row Level Security protects every table.

By ExcenityAI · Published

Cover graphic for ExcenityAI's in-house invoicing product: invoicing you can run from Claude. The flow runs from a plain-English request through Claude via MCP to a draft with confirmation and an emailed PDF.

The challenge

We wanted one in-house product to run a freelance or agency business end to end, from tracked time to a paid invoice, with an AI assistant able to operate it safely.

How it works

  1. 01Clients and projectsClients, per-client currency, and projects with hourly rates and time entries.
  2. 02Invoices with live previewA builder with live preview, PDF generation, attachments and status tracking.
  3. 03Recurring and auto-invoicingDaily jobs create recurring invoices, recurring expenses and invoices from tracked time.
  4. 04Expenses and receiptsReceipt uploads, AI bank-statement import with duplicate detection, and earnings by platform.
  5. 05Ask Claude to do itA remote MCP server lets Claude draft invoices, log expenses and attach receipts.
  6. 06Safe sendingTwo-step draft, confirm, send, so an invoice can never go out by accident.

What we delivered

  • Secure MCP server

    OAuth 2.1 with PKCE on Supabase Auth and dynamic client registration. Works in claude.ai.

  • Row Level Security

    Every table locked to its owner, with SQL test queries for the policies.

  • Multi-currency

    A base currency per user, per-client currency and live exchange rates.

  • Installable app

    A PWA with an offline page, mobile-first layout and light and dark themes.

  • Integrations

    Asana logging, Resend email and a transaction-history importer for a freelance platform.

  • Scheduled jobs

    Three daily cron jobs on Vercel, protected by a secret token.

Stack

  • Next.js 16
  • React 19
  • Supabase
  • Postgres RLS
  • MCP
  • Resend
  • React-PDF
  • Vercel

Related service: Apps & platforms

More case studies

Have a job like this? Let's automate it.