Build invoice workflows humans can trust
MCP tools, REST endpoints, template schema, PDF generation, and text extraction. Agents can draft, validate, and automate invoices while humans keep approval control.
Quick start
1
Discover
curl https://freeinvoicemaker.app/.well-known/mcp.json 2
Read safely
curl -X POST https://freeinvoicemaker.app/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"templates.query","params":{}}' 3
Create with authorization
curl -X POST https://freeinvoicemaker.app/api/mcp \
-H "Authorization: Bearer iv_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"invoices.create","params":{"...":"..."}}' Authentication
| Method | Use case |
|---|---|
| None | Public discovery and safe template/schema reads. |
Bearer API key (iv_...) | Account-owned write tools. Get a key at /settings. |
| OAuth 2.1 + PKCE | User-facing agents acting with delegated user approval. |
| x402 USDC | Metered automation for paid write or compute-heavy operations. |
MCP tools (20)
Invoice lifecycle (8)
| Tool | Auth | Description |
|---|---|---|
invoices.create | Key | Create a new invoice |
invoices.query | None | List and filter invoices |
invoices.mutate | Key | Update an existing invoice |
invoices.export | No | Export to PDF, DOCX, CSV |
invoices.send | Key | Send invoice via email or link |
invoices.finalize | Key | Lock invoice, assign number |
invoices.duplicate | Key | Clone an existing invoice |
invoices.createFromDsl | Key | Create from Invoice DSL string |
AI-native (3)
| Tool | Auth | Description |
|---|---|---|
invoices.summarize | No | Natural-language invoice summary |
invoices.suggest | Key | Smart field suggestions from context |
invoices.analytics | Key | Revenue analytics and trends |
Templates and entities (5)
| Tool | Auth | Description |
|---|---|---|
templates.query | None | List available templates |
templates.mutate | Key | Create or update custom templates |
templates.apply | Key | Apply template to an invoice |
entities.query | None | List saved clients and businesses |
entities.mutate | Key | Create or update entities |
Platform (4)
| Tool | Auth | Description |
|---|---|---|
import | Key | Import from DOCX, Excel, CSV, PDF |
invoices.automate | Key | Set up recurring invoices |
iv.capabilities | None | List available features and limits |
iv.feedback | No | Submit feedback programmatically |
Invoice DSL
The Invoice DSL is a compact text format for describing invoices. It uses ~100 tokens compared to ~400 for equivalent JSON, making it ideal for LLM-generated invoices.
INVOICE #INV-0042
FROM: Acme Corp | acme@example.com
TO: Globex Inc | globex@example.com
DATE: 2026-04-08
DUE: Net 30
Website redesign | 1 | $4,200
Brand assets | 1 | $1,800
Hosting (annual) | 1 | $480
TAX: 10%
NOTE: Payment via wire transfer preferred.
Pass this string to invoices.createFromDsl to create a complete invoice in a single call.
Paid microservices (x402)
Some server endpoints use the x402 payment protocol with USDC on Base. These depend on configured providers; check the API documentation and verify availability before integrating. Browser PDF download is free.
| Service | Price | Description |
|---|---|---|
| OCR | $0.005 | Extract text from invoice images |
| AI extract | $0.01 | Structured data extraction from documents |
| Brand extract | $0.01 | Logo, colors, fonts from a URL or image |
| PDF render | $0.005 | Server-side PDF generation |
Network: Base (USDC). Facilitator: x402.org.
Integration recipes
- Draft, approve, send — agent drafts with
invoices.create, a human reviews, then an authenticated workflow sends or exports the invoice - Import and extract — 2-call workflow:
import(DOCX/CSV) →invoices.create - Chain with Zapier MCP Client — connect iv to 7,000+ apps via Zapier MCP Client
- Chain with Stripe MCP — payment reconciliation via Stripe MCP Server
- Chain with QuickBooks MCP — sync invoices via QuickBooks Online MCP Server
SDKs and tools
| Endpoint | URL | Notes |
|---|---|---|
| MCP | /api/mcp | JSON-RPC 2.0, full tool catalog |
| SSE streaming | /api/mcp/stream | Server-sent events for long-running ops |
| REST API | /api/openapi.json | OpenAPI 3.1 spec |
| WebMCP bridge | window.postMessage | For browser-based agents |
Rate limits
| Tier | Burst | Sustained | Daily |
|---|---|---|---|
| Anonymous | 10/min | 60/hr | 200 |
| Free | 30/min | 300/hr | 1,000 |
| Pro | 120/min | 2,000/hr | 20,000 |
| Team | 300/min | 5,000/hr | 50,000 |
| Business | 600/min | 10,000/hr | 100,000 |