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

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
- 01Clients and projectsClients, per-client currency, and projects with hourly rates and time entries.
- 02Invoices with live previewA builder with live preview, PDF generation, attachments and status tracking.
- 03Recurring and auto-invoicingDaily jobs create recurring invoices, recurring expenses and invoices from tracked time.
- 04Expenses and receiptsReceipt uploads, AI bank-statement import with duplicate detection, and earnings by platform.
- 05Ask Claude to do itA remote MCP server lets Claude draft invoices, log expenses and attach receipts.
- 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

