BillingEngine

Create invoices and customers and record payments in BillingEngine from any MCP client.

OtherTypeScriptv0.1.1

BillingEngine MCP server

Create customers and invoices, look up open invoices and record payments in BillingEngine by talking to Claude, Cursor or any other MCP client:

"Create an invoice for Acme Painting over 100 euros."

"Which invoices are overdue?"

"Acme paid invoice 2610030028, record the payment."

BillingEngine is invoicing software for freelancers and small businesses with e-invoicing (EN 16931, XRechnung, ZUGFeRD / Factur-X). The server is a thin layer over the BillingEngine API and runs on your computer.

Requirements

  • Node.js 20 or newer
  • A BillingEngine account on a paid plan. The API is not available in the Free plan.
  • Your API key from Settings > API in BillingEngine

Setup

Claude Desktop

Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "billingengine": {
      "command": "npx",
      "args": ["-y", "billingengine-mcp"],
      "env": { "BILLINGENGINE_API_KEY": "your-api-key" }
    }
  }
}

Claude Code

claude mcp add billingengine --env BILLINGENGINE_API_KEY=your-api-key -- npx -y billingengine-mcp

Cursor and other clients

Use the same command, args and env as above in the MCP settings of your client.

Tools

ToolWhat it does
find_customersSearches customers by company, name or email
create_customerCreates a customer
update_customerChanges a customer
create_invoiceCreates a draft invoice for a customer
update_invoiceChanges a draft invoice
list_invoicesLists invoices, filtered by status, customer, number or date
get_invoiceReturns one invoice with items and payment status
download_invoiceSaves the PDF or the XML e-invoice to your Downloads folder
record_paymentRecords a payment for sent invoices
list_paymentsLists payments, optionally for one invoice

What it does and does not do

  • Invoices are created as drafts. Nothing is sent to your customers; you review and send the invoice in BillingEngine. Every result contains a link to open the draft.
  • Prices are net. Number, language, texts, VAT treatment and payment terms come from your account settings, exactly as in the invoice form.
  • Nothing can be deleted through this server.
  • New invoices count towards the monthly invoice maximum of your plan.
  • The API allows 60 requests per minute per key.
  • Your key stays on your computer and is only sent to BillingEngine.

If a key is ever exposed, generate a new one under Settings > API. The old key stops working immediately. The settings also show when the key was last used.

Configuration

VariableMeaning
BILLINGENGINE_API_KEYYour API key (required)
BILLINGENGINE_URLBase URL, defaults to https://www.billingengine.com

Development

npm install
npm run build
BILLINGENGINE_API_KEY=... node dist/index.js

License

MIT. BillingEngine itself is a commercial service; see billingengine.com.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y billingengine-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "com-billingengine-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "billingengine-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

billingengine-mcpnpm

Compatible MCP Clients

BillingEngine works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More