agent-invoice
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agent-invoicecreate an invoice for 50 hours of consulting work"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: temporal-invoice-mcp
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
š° Late Fee Engine (v1.1.0) ā Configurable late payment penalties (fixed, percentage, compound) with grace periods, recurring accrual, fee caps, waive/forgive, and analytics
š MCP Server ā 113 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 billing@acme.com --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 currenciesMCP Server
Start the MCP server for integration with any MCP-compatible agent:
agent-invoice serveThe 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 8000Full 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-30Tax 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 TotalCredit 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-ABC123Client Statements
Generate financial statements showing all activity for a period:
agent-invoice statement "Acme Corp" 2026-01-01 2026-06-30Shows 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 processMulti-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.0Estimates & 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 acceptedEstimates 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 USDGroups 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 12Shows monthly invoicing vs. collection trends, overall collection rate (%), average days to pay, fastest/slowest payments, and top clients by revenue.
Installation
pip install agent-invoiceOr with uv:
uv pip install agent-invoiceArchitecture
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 101 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 locationData 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
Changelog
v1.1.0 ā Late Fee Engine
Automated late payment penalties for overdue invoices ā configurable policies with fixed, percentage, or compound fees.
Every major billing platform (Stripe, QuickBooks, FreshBooks, Xero) supports late fees. Now agent-invoice does too ā fully integrated with the existing dunning (reminder) system.
Late Fee Policies: Configurable rules governing how penalties are applied
Fee types: fixed ($25 flat), percentage (1.5% of outstanding), or compound ($25 + 1.5%)
Frequency: one-time, daily, weekly, or monthly accrual
Grace period (configurable days before fees start)
Maximum total fees cap (safety valve per invoice)
Minimum outstanding amount threshold
Exempt invoice statuses (draft, cancelled)
Automatic Application:
apply_late_feefor single invoices,process_overdue_late_feesfor batch processingWaive & Forgive: Waive individual late fees with reason tracking
Late Fee Analytics: Comprehensive summary dashboard ā total charged/pending/paid/waived, breakdowns by policy and client, top late payers
Multi-currency: Fees charged in invoice's native currency
Integration: Coexists with dunning ā reminders and penalties work independently
12 new MCP tools (113 total), 14 new REST API endpoints, 7 new CLI commands
62 new tests (704 total, all passing)
v1.0.0 ā Rate Cards & Subscriptions (Recurring Billing)
The first MCP server to unify usage metering ā automatic cost calculation ā subscription billing ā invoicing.
Rate Cards: Define per-token pricing for any provider+model (OpenAI, Anthropic, etc.). Record usage with just tokens ā the rate card calculates the cost automatically. No manual cost entry.
Per-million-token rates: input, output, cache-read, cache-write
Per-request flat surcharge support
Multiple rate cards (production, enterprise, dev) with activate/deactivate
Subscriptions: Full recurring billing lifecycle ā plans, trial periods, active/past-due/canceled/paused states, automatic invoice generation per billing cycle.
Plan catalogs with tiered pricing (daily/weekly/monthly/quarterly/yearly)
Trial support with configurable duration
Pause/resume, cancel with effective dates
Auto-invoice generation on cycle renewal
MRR Reporting: Monthly recurring revenue summaries, subscription growth metrics, churn tracking.
Batch Usage Recording: Log hundreds of usage events in a single call with automatic cost calculation via rate cards.
22 new MCP tools (101 total), 66 new tests (642 total, all passing).
v0.9.0 ā Usage Analytics & Cost Intelligence
Provider cost analysis, model comparison, cost trends, anomaly detection
5 new analytics MCP tools
v0.8.0 ā Usage Metering & Agent Billing
UsageEvent model, usage summaries, aggregate ā invoice ā mark billed lifecycle
Markup support for reseller margins
6 new metering MCP tools
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-quality-maintenanceAn MCP server that enables AI agents to interact with QuickBooks Online accounts to manage invoices, customers, payments, and financial reports. It provides 20 tools to automate accounting workflows and retrieve financial data through natural language interfaces.
- AlicenseCqualityDmaintenanceEnables managing invoice workflows using Temporal, allowing submission, approval, rejection, and status checking of invoices through MCP tools.421MIT
- AlicenseAqualityCmaintenanceMCP server for creating and fiscalizing invoices via solo.com.hr API. Enables AI agents to generate invoices, retrieve invoice details, list invoices, and check next invoice number.4MIT
- Alicense-qualityDmaintenanceEnables invoice management through MCP, including customer, invoice, and report operations with CLI and web interfaces.MIT
Related MCP Connectors
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
Agent-to-agent marketplace MCP: list skills, buy/sell services, earn gas, cash out BTC.
A paid remote MCP for agent memory MCP, built to return verdicts, receipts, usage logs, and audit-re
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nyx-builds/agent-invoice'
If you have feedback or need assistance with the MCP directory API, please join our Discord server