Finekot API
EN 16931 · XRechnung 3.0 · ZUGFeRD / Factur-X

E-Rechnung API over REST and MCP

€0.02 per check · No subscription, no contract.

The same validation and creation for your backend and for AI agents: REST with a bearer key, or an MCP server that Claude, Cursor and other clients connect to.

Request
curl -H "Authorization: Bearer $FINEKOT_KEY" -F file=@invoice.xml https://api.finekot.com/v1/e-invoice
Response (shortened)
{
  "valid": false,
  "verdict": "technically_invalid",
  "profile": {"name": "XRechnung 3.0"},
  "errors": 3, "warnings": 1,
  "issues": [
    {"rule": "BR-DE-15", "severity": "error",
     "message": "Das Element \"Buyer reference\" (BT-10) muss übermittelt werden.",
     "location": "/ubl:Invoice[1]"},
    …
  ],
  "cost": 0.02, "balance": 0.98
}
Price per call€0.02per check

No subscription, no contract.

create from JSON €0.04 · PDF → XRechnung €0.10

A subscription bills the same monthly plan for 10 invoices or 1,000. Here you prepay any amount and pay per call; unused credit stays.

10 free checks a day · €1 free with a key · then €0.02 per check

Connect an AI agent over MCP

The e_invoice tool takes the same arguments as the REST call. An agent can validate a file, read the rule ids and fix the invoice template in the same session.

MCP · Claude Code, Cursor, any MCP client
claude mcp add --transport http finekot https://api.finekot.com/mcp \
  --header "Authorization: Bearer $FINEKOT_KEY"

# then ask the agent, for example:
#   "Validate out/RE-2026-0042.xml with the e_invoice tool and fix
#    every error in our invoice template."
# Tool e_invoice: op=validate | create, same JSON as the REST API.
# Every tool result reports the cost and the remaining balance.

Validate an e-invoice

Official EN 16931 and XRechnung rules. Errors with rule id, message and location.

10 free checks a day · €1 free with a key · then €0.02 per check

Processed on servers in Germany (Hetzner, Falkenstein). The uploaded file is checked in memory and not stored.

Result

The verdict, profile, totals and every rule violation appear here.

Why an API for the E-Rechnung

German businesses must be able to receive e-invoices since 1 January 2025; issuing becomes mandatory from 2027 for turnover above €800,000 and from 2028 for all (BMF FAQ). Formats: XRechnung and ZUGFeRD from 2.0.1, except MINIMUM and BASIC WL.

The API covers both directions: incoming files are validated before booking, outgoing invoices are created from JSON and validated before sending.

Price per call, prepaid balance: €0.02 per validation, €0.04 per created document. Credits never expire.

Price in plain numbers

A prepaid balance, no subscription. Charged only for a successful answer; errors are free.

One validationper document€0.02
One e-invoice built from JSONXML or Factur-X PDF€0.04
PDF invoice → XRechnung / ZUGFeRDread €0.06 + build €0.04€0.10

A new key comes with €1 of free credit: 50 validations.

Pack€5 250 validations or 50 PDF conversions
Pack€20 1 000 validations or 200 PDF conversions

Credits never expire. No subscription.

Apple Pay, Google Pay or card on the monobank page. The key is created for you if you have none.

Your key and balance—

No key in this browser yet.

For developers

Same checks over REST and MCP. One header, JSON out.

validate
curl https://api.finekot.com/v1/e-invoice \
  -H "Authorization: Bearer fk_live_…" \
  -F file=@invoice.xml

# → {"valid":false,"errors":2,"issues":[{"rule":"BR-DE-15",…}]}
# X-Cost: 0.02
create
curl https://api.finekot.com/v1/e-invoice \
  -H "Authorization: Bearer fk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"op":"create","output":"pdf","invoice":{…}}'

# → Factur-X PDF url + validation report · X-Cost: 0.04
MCP
claude mcp add --transport http finekot https://api.finekot.com/mcp --header "Authorization: Bearer fk_live_…"

API guides