Agent Invoice
БесплатноНе проверенEnables agents to generate, track, and manage invoices via MCP tools, with CLI support for payment tracking and earnings summaries.
Описание
Enables agents to generate, track, and manage invoices via MCP tools, with CLI support for payment tracking and earnings summaries.
README
Agent Invoice
Invoicing, billing, and payment tracking for autonomous AI agents
MCP server + CLI + REST API for autonomous agents to generate, track, and manage invoices.
Built for the agentic economy — by Nyx Builds.
MCP Server Setup
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"agent-invoice": {
"command": "uvx",
"args": ["agent-invoice", "serve"]
}
}
}
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"agent-invoice": {
"command": "uvx",
"args": ["agent-invoice", "serve"]
}
}
}
Any MCP host: command: uvx, args: ["agent-invoice", "serve"]
Why?
Agents do work. Agents need to get paid. But there's no standard way for an autonomous agent to:
- Generate an invoice for completed work
- Track payment status across clients
- Maintain a ledger of earnings
- Integrate billing into their workflow via MCP
- Bill in multiple currencies with tax calculations
- Set up recurring invoices for retainer clients
- Chase overdue payments automatically
- Issue credit notes and refunds
- Generate client statements
Agent Invoice fixes this. It's a self-contained billing system designed for AI agents.
Features
- 📄 Invoice Generation — Create professional invoices with line items, due dates, and client info
- 💰 Tax Calculation — Per-line-item and invoice-level tax rates with automatic computation
- 💱 Multi-Currency — 15+ currencies (USD, EUR, GBP, JPY, etc.) with proper symbols and decimal handling
- 💳 Partial Payments — Record multiple payments against an invoice, track remaining balance
- 📝 Credit Notes — Issue credits/refunds, apply them to invoices, track applications
- 📊 Client Statements — Period financial statements with opening/closing balances
- 🔄 Recurring Invoices — Set up weekly, biweekly, monthly, quarterly, or yearly billing templates
- ⏰ Dunning Automation — Automated overdue reminders with configurable escalation levels
- 🔍 Invoice Search — Search by text, date range, amount range, status, client, currency
- 📋 Invoice Templates — Built-in and custom templates for quick invoice creation
- 📑 Estimates & Quotes — Create quotes, send, accept/decline, and convert to invoices
- 📊 A/R Aging Reports — Track outstanding receivables by aging buckets (0-30, 31-60, 61-90, 90+ days)
- 📈 Revenue Analytics — Monthly revenue trends, collection rate, avg days to pay, top clients
- 🏷️ Custom Numbering — Configurable invoice numbering (prefix, separator, digits)
- 📊 Payment Tracking — Monitor which invoices are pending, paid, partially paid, or overdue
- 📒 Earnings Ledger — Running total of all income, tax, and discounts across invoices
- 📤 Export — Export invoices as PDF, JSON, or Markdown
- 🤖 Usage Metering (v0.8.0) — Track AI/API consumption (tokens, cost, provider, model) and bill clients based on actual usage
- 💸 Usage-Based Billing (v0.8.0) — Aggregate usage events into invoices with per-provider/model line items and optional markup
- 📊 Cost Analytics (v0.9.0) — Cost trends, projections, anomaly detection, model efficiency scoring, and provider comparison
- 🔌 MCP Server — 79 tools for full billing integration via Model Context Protocol
- 🌐 REST API — Full HTTP API with FastAPI for web integration
- 💻 CLI — Command-line interface with 40+ commands for direct use or scripting
- 💾 JSON Storage — Simple file-based storage, no database required
Quick Start
CLI Usage
# Create a client (with EUR as default billing currency)
agent-invoice client add "Acme Corp" --email [email protected] --currency EUR
# Create an invoice with tax
agent-invoice create \
--client "Acme Corp" \
--item "Code review,40,150.00,8.5" \
--item "Bug fixes,10,200.00" \
--tax-rate 8.5 \
--due 30
# Apply a discount
agent-invoice discount INV-0001 50.00
# Record a partial payment
agent-invoice payment add INV-0001 --amount 500.00 --method bank_transfer
# List all invoices in EUR
agent-invoice list --currency EUR
# Search invoices
agent-invoice list --search "consulting" --min-amount 500.0
agent-invoice list --status overdue
agent-invoice list --date-from 2026-01-01 --date-to 2026-06-30
# Mark an invoice as paid
agent-invoice pay INV-0001
# Show earnings summary
agent-invoice earnings
# Export to PDF
agent-invoice export INV-0001 --format pdf --company-name "My Agent Co"
# --- Recurring invoices ---
agent-invoice recurring create \
--client "Acme Corp" \
--item "Retainer,1,500.00" \
--frequency monthly
agent-invoice recurring generate REC-ABC123
agent-invoice recurring process # Generate all due
# --- Credit notes ---
agent-invoice credit create --client "Acme Corp" --amount 250.00 --reason "overpayment"
agent-invoice credit apply CN-ABC123 --invoice INV-0001
agent-invoice credit list --status open
# --- Client statements ---
agent-invoice statement "Acme Corp" 2026-01-01 2026-06-30
# --- Estimates & Quotes ---
agent-invoice estimate create "Acme Corp" --description "Website redesign" --quantity 1 --price 5000.00 --terms "Net 30"
agent-invoice estimate create "Acme Corp" --description "Monthly support" --price 2000.00 --expiry 15 --tax-rate 8.5
agent-invoice estimate list --status draft
agent-invoice estimate show EST-ABC123
agent-invoice estimate send EST-ABC123
agent-invoice estimate accept EST-ABC123
agent-invoice estimate convert EST-ABC123 --due-days 30
# --- A/R Aging Report ---
agent-invoice ar-aging
agent-invoice ar-aging --currency USD
# --- Revenue Analytics ---
agent-invoice revenue
agent-invoice revenue --months 12 --currency USD
# --- Dunning (overdue reminders) ---
agent-invoice dunning config
agent-invoice dunning send INV-0001
agent-invoice dunning process # Auto-send reminders for all overdue
# --- Templates ---
agent-invoice template list
agent-invoice template use TPL-HOURLY --client "Acme Corp"
# --- Numbering ---
agent-invoice numbering set --prefix BIL --separator / --digits 3
# List supported currencies
agent-invoice currencies
MCP Server
Start the MCP server for integration with any MCP-compatible agent:
agent-invoice serve
The server exposes 55 tools:
Invoices & Line Items:
create_invoice— Generate a new invoice (with tax, currency, discounts)list_invoices— List invoices with filtering (status, client, currency)get_invoice— Get details of a specific invoicemark_paid/mark_sent/cancel_invoice— Status managementapply_discount— Apply a discountadd_line_item/remove_line_item— Edit draft invoicessearch_invoices— Search by text, date range, amount rangeexport_invoice— Export as markdown, JSON, or PDF
Payments:
record_payment— Record a payment (full or partial)list_payments/remove_payment— Payment management
Clients:
add_client— Register a client (with default currency)update_client/list_clients— Client managementclient_statement— Generate period financial statements
Credit Notes:
create_credit_note— Issue a credit/refundlist_credit_notes/get_credit_note— View credit notesapply_credit_note— Apply credit to an invoicevoid_credit_note/remove_credit_note— Void or delete
Recurring:
create_recurring— Create a recurring invoice templatelist_recurring/generate_from_recurringpause_recurring/resume_recurring/process_due_recurring
Templates:
list_templates/get_template/create_templatecreate_invoice_from_template/remove_template
Dunning:
get_dunning_config/update_dunning_configsend_dunning_reminder— Send a reminder for an overdue invoiceprocess_overdue_dunning— Auto-process all overduelist_dunning_actions/remove_dunning_action
Config & Utilities:
get_numbering_config/update_numbering_configearnings_summary/list_currencies
Estimates & Quotes:
create_estimate— Create a quote with line items, tax, discount, and expirylist_estimates— List quotes with optional status/client filtersget_estimate— Get full details of a specific quotesend_estimate— Mark a quote as sent to the clientaccept_estimate/decline_estimate— Client decision trackingconvert_estimate_to_invoice— Convert an accepted quote into an invoiceremove_estimate— Delete a quote (cannot delete converted ones)
Reports & Analytics:
generate_ar_aging_report— A/R aging with per-client bucket breakdownget_revenue_analytics— Monthly trends, collection rate, days to pay, top clients
REST API
Start the HTTP server:
uvicorn agent_invoice.api:create_app --factory --port 8000
Full CRUD API with endpoints for invoices, payments, clients, credit notes, statements, recurring, templates, dunning, estimates, reports, earnings, and currencies.
# Create a client
curl -X POST http://localhost:8000/clients \
-H "Content-Type: application/json" \
-d '{"name": "Acme Corp", "currency": "USD"}'
# Create an invoice
curl -X POST http://localhost:8000/invoices \
-H "Content-Type: application/json" \
-d '{"client": "CLT-...", "items": [{"description": "Work", "quantity": 10, "unit_price": 100}]}'
# Record a payment
curl -X POST http://localhost:8000/invoices/INV-0001/payments \
-H "Content-Type: application/json" \
-d '{"amount": 500.00, "method": "bank_transfer"}'
# Create an estimate
curl -X POST http://localhost:8000/estimates \
-H "Content-Type: application/json" \
-d '{"client": "CLT-...", "line_items": [{"description": "Project", "quantity": 1, "unit_price": 5000}]}'
# Convert an estimate to invoice
curl -X POST http://localhost:8000/estimates/EST-ABC123/convert?due_days=30
# Get A/R aging report
curl http://localhost:8000/reports/ar-aging?currency=USD
# Get revenue analytics
curl http://localhost:8000/reports/revenue?period_start=2026-01-01&period_end=2026-06-30
Tax Calculation
Agent Invoice supports two levels of tax:
- Line-item tax — Set a tax rate on individual items:
--item "Consulting,10,200.00,8.5" - Invoice-level tax — Set a default tax rate for items without their own:
--tax-rate 8.5
Items with their own tax rate override the invoice-level rate. The grand total is computed as:
Subtotal + Total Tax - Discount = Grand Total
Credit Notes
Issue credits for overpayments, refunds, or billing errors:
# Create a credit note
agent-invoice credit create --client "Acme Corp" --amount 250.00 --reason "overpayment"
# Apply to an invoice (reduces balance)
agent-invoice credit apply CN-ABC123 --invoice INV-0001
# Apply partial amount
agent-invoice credit apply CN-ABC123 --invoice INV-0001 --amount 100.00
# Void a credit note (only if unapplied)
agent-invoice credit void CN-ABC123
Client Statements
Generate financial statements showing all activity for a period:
agent-invoice statement "Acme Corp" 2026-01-01 2026-06-30
Shows opening balance, period invoices, payments, credit notes, and closing balance.
Dunning (Overdue Management)
Automated escalation reminders for overdue invoices:
# Configure dunning thresholds (days after due date)
agent-invoice dunning config --first 7 --second 14 --final 30
# Send a reminder for a specific invoice
agent-invoice dunning send INV-0001
# Auto-process all overdue invoices (run daily via cron)
agent-invoice dunning process
Multi-Currency
Set a default currency per client, or override per invoice:
# Client with EUR default
agent-invoice client add "Berlin GmbH" --currency EUR
# Override to GBP for a specific invoice
agent-invoice create --client "Berlin GmbH" --currency GBP --item "Work,100.00"
Supported currencies: USD, EUR, GBP, JPY, CAD, AUD, CHF, CNY, INR, BRL, KRW, MXN, SGD, SEK, NZD
Invoice Search
Find invoices by text, amount, or date:
# Text search (matches ID, client name, notes, line item descriptions)
agent-invoice list --search "consulting"
# Amount range
agent-invoice list --min-amount 500.0 --max-amount 5000.0
# Date range
agent-invoice list --date-from 2026-01-01 --date-to 2026-06-30
# Combined filters
agent-invoice list --search "API" --status overdue --min-amount 100.0
Estimates & Quotes
Send quotes before work begins, then convert accepted quotes into invoices:
# Create an estimate with tax and expiry
agent-invoice estimate create "Acme Corp" \
--description "Website redesign" \
--quantity 1 \
--price 5000.00 \
--tax-rate 8.5 \
--expiry 30 \
--terms "Net 30"
# Send the quote to the client
agent-invoice estimate send EST-ABC123
# Client accepts
agent-invoice estimate accept EST-ABC123
# Convert to a real invoice
agent-invoice estimate convert EST-ABC123 --due-days 30
# List all estimates by status
agent-invoice estimate list --status accepted
Estimates have a full lifecycle: draft → sent → accepted/declined → converted. Expired quotes are auto-detected. Converted estimates link back to the invoice they became.
A/R Aging Reports
Track outstanding receivables grouped by how long they've been overdue:
# Full aging report
agent-invoice ar-aging
# Filter by currency
agent-invoice ar-aging --currency USD
Groups outstanding balances into standard aging buckets: 0-30, 31-60, 61-90, 90+ days. Shows per-client breakdown with invoice-level detail (days overdue, amount remaining).
Revenue Analytics
Analyze revenue trends over time:
# Last 6 months (default)
agent-invoice revenue
# Last 12 months
agent-invoice revenue --months 12
Shows monthly invoicing vs. collection trends, overall collection rate (%), average days to pay, fastest/slowest payments, and top clients by revenue.
Installation
pip install agent-invoice
Or with uv:
uv pip install agent-invoice
Architecture
agent-invoice/
├── src/agent_invoice/
│ ├── __init__.py
│ ├── models.py # Pydantic models (Invoice, Client, CreditNote, Estimate, ARAging, RevenueAnalytics, etc.)
│ ├── store.py # JSON file storage with numbering config
│ ├── service.py # Business logic layer (50+ methods)
│ ├── cli.py # Click CLI with 40+ commands
│ ├── mcp_server.py # MCP server with 55 tools
│ ├── api.py # FastAPI REST API
│ └── pdf.py # PDF export with reportlab
├── tests/ # 413 tests (models, store, service, CLI, API, MCP, estimates, reports)
└── data/ # Default storage location
Data Storage
Invoices, clients, recurring templates, credit notes, dunning actions, and templates are stored as JSON files in ~/.agent-invoice/ by default. Set the AGENT_INVOICE_DIR environment variable to customize the location.
License
MIT
Установка Agent Invoice
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/nyx-builds/agent-invoiceFAQ
Agent Invoice MCP бесплатный?
Да, Agent Invoice MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Agent Invoice?
Нет, Agent Invoice работает без API-ключей и переменных окружения.
Agent Invoice — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Agent Invoice в Claude Desktop, Claude Code или Cursor?
Открой Agent Invoice на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Stripe
Payments, customers, subscriptions
автор: Stripemalamutemayhem/unclick-agent-native-endpoints
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
автор: malamutemayhemwhiteknightonhorse/APIbase
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
автор: whiteknightonhorsetrackerfitness729-jpg/sitelauncher-mcp-server
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr
Compare Agent Invoice with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории finance
