Electronic Invoice API

app.electronic-invoicePublished by electronic-invoice.appOfficial publisherv0.2.0Updated Nov 6, 2026

Validate, generate, convert and extract EN 16931 e-invoices for businesses.

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for B2B e-invoices: validate, generate, convert and extract EN 16931 XML and ZUGFeRD/Factur-X PDF invoices.

What you can do
  • Validate existing e-invoices against XRechnung, EN 16931, Peppol BIS, NLCIUS, CIUS-RO, FatturaPA, KSeF and ZUGFeRD/Factur-X rule sets, returning verdicts and findings
  • Generate new XRechnung UBL/CII or ZUGFeRD/Factur-X PDF invoices from structured JSON, validated before return
  • Convert invoices between UBL, CII and ZUGFeRD/Factur-X PDF containers
  • Extract business terms (BT/BG), CSV line items or a DATEV booking batch from existing XML or PDF invoices
  • Open a chat upload field so a file goes straight to validation without passing through the model
  • Check service health, rule set versions, rate and concurrency limits
When to use it
Useful when an assistant has to check incoming supplier invoices for compliance, produce compliant e-invoices from structured data, or move invoices between UBL, CII and PDF formats for accounting import. Aimed at business (B2B) users rather than consumers.
Requirements
Remote streamable HTTP endpoint; no local install. An API key is needed for the invoice tools, sent either as an Authorization Bearer header or through OAuth 2.1 issued by the server. Health and usage-limit tools work without a key or account.
Before you install
The API key is a credential: keep it out of URLs, tool names and error reports. Invoice content is sent to the provider's API, though the server states it is not stored. Generated and converted files are returned only if valid, and results are not legal, tax or accounting advice. Quota and rate limits apply, and quota_exceeded is not retryable.

Installation

In SourceWeft

  1. Open Electronic Invoice API in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/app.electronic-invoice%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "electronic-invoice-api": {
      "type": "http",
      "url": "https://mcp.electronic-invoice.app/mcp"
    }
  }
}

Tools

7

validate_invoice

Validate e-invoice

Validate an existing e-invoice file without changing it. Accepts UBL Invoice/CreditNote XML, UN/CEFACT CII XML, FatturaPA or KSeF FA(3) XML, or a ZUGFeRD/Factur-X/XRechnung PDF. Returns verdict, findings and rule set versions. Checks: XRechnung 3.0 (UBL, CII), EN 16931 (UBL, CII), Peppol BIS Billing 3.0 (UBL), Netherlands NLCIUS (SI-UBL 2.0, CII), Romania CIUS-RO, French CIUS rules when country is FR, and ZUGFeRD/Factur-X PDF or CII in all profiles (MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED). Other EN 16931 CIUS are checked against the EN 16931 core rules only, and the result notes that national rules were not checked. Italy FatturaPA and Poland KSeF FA(3) are checked against the official schema only. A PDF is also checked as a PDF/A-3 container, but only if the PDF itself is sent. This is the tool for checking an existing file before sending it or for inspecting one. To create an invoice use generate_invoice, to change the format use convert_invoice, to read accounting data use extract_invoice. B2B only. Requires the caller's own Electronic Invoice API key, sent either directly as Authorization: Bearer eia_live_... or through an OAuth 2.1 access token issued by this server. A call that reaches the API and returns 200, 400, 422 or 504 counts against the plan quota.

ParametersfilecheckscontentcountryfilenamecontentTypecontentBase64

generate_invoice

Generate e-invoice

Create a new e-invoice file from structured JSON. Builds XRechnung UBL/CII or a ZUGFeRD/Factur-X PDF, validates the result with the same rule sets, and returns the file only if it is valid. Use this when no invoice file exists yet. Do not use it to validate an existing file (use validate_invoice) or to change an existing file's syntax (use convert_invoice). Supports invoice, credit note, corrected, partial and final invoices, prepayments, and an optional EPC payment QR page for PDF output. B2B only. Requires the caller's own Electronic Invoice API key, sent either directly as Authorization: Bearer eia_live_... or through an OAuth 2.1 access token issued by this server. A call that reaches the API and returns 200, 400, 422 or 504 counts against the plan quota.

Parametersqrlangformatrequiredcountryinvoicerequired

convert_invoice

Convert e-invoice

Convert an existing e-invoice from UBL to CII, CII to UBL, or XML to a ZUGFeRD/Factur-X PDF. Also accepts a ZUGFeRD/Factur-X PDF and converts its embedded XML. Validates every output and returns it only if valid. Use this for a format or container change. Do not use it to create an invoice from data (use generate_invoice), to validate only (use validate_invoice), or to extract data (use extract_invoice). Supported profiles are EN 16931 and XRechnung 3.0; other profiles return 422 unsupported_profile. The wider format coverage of validate_invoice does not apply to conversion. B2B only. Requires the caller's own Electronic Invoice API key, sent either directly as Authorization: Bearer eia_live_... or through an OAuth 2.1 access token issued by this server. A call that reaches the API and returns 200, 400, 422 or 504 counts against the plan quota.

ParametersqrtorequiredfilelangcontentcountryprofilefilenamecontentTypecontentBase64

extract_invoice

Extract e-invoice data

Read data from an existing UBL/CII XML or ZUGFeRD/Factur-X PDF. Returns JSON business terms keyed by BT/BG numbers, CSV with one row per line, or a DATEV Buchungsstapel (EXTF). Does not validate the invoice (validate_invoice does). Suited to accounting import or data analysis. The wider format coverage of validate_invoice does not apply to extraction. DATEV export has hard limits: EUR only, one invoice per file, issue date inside the fiscal year, and no booking of prepayments, rounding or Skonto. DATEV output is written to the documented layout and was not tested against a DATEV installation. B2B only. Requires the caller's own Electronic Invoice API key, sent either directly as Authorization: Bearer eia_live_... or through an OAuth 2.1 access token issued by this server. A call that reaches the API and returns 200, 400, 422 or 504 counts against the plan quota.

ParametersfileformatlabelscontentfilenamedelimiterdatevLabelattachmentscontentTypedatevClientdatevDueDatecontentBase64+8 more

open_invoice_check

Open invoice file check

Open an upload field in the chat where the user chooses an invoice PDF or XML file. The file goes straight from the field to validate_invoice without passing through the model, so a PDF is checked as a whole, including its PDF/A-3 container, and the validation runs on the KoSIT validator. For clients that cannot pass a file to validate_invoice directly. Opening the field is free, and a check counts against the user's quota only once they press the button. This tool needs no input and checks nothing by itself. Clients with a file parameter on validate_invoice can pass the file there. B2B only.

Takes no parameters.

get_service_status

Get service status

Check whether the Electronic Invoice API is up and which rule set versions it currently runs. Calls GET /v1/health without an API key. Free, not billable, works without an account. B2B only. It reports service health only, not whether a specific API key or quota is valid.

Takes no parameters.

get_usage_limits

Get usage limits

Return the technical limits of the Electronic Invoice API: rate limits, concurrency limits, request body size limits, and which HTTP status codes count against the quota. Works without an API key and does not call the API. B2B only. Information about plans is at https://electronic-invoice.app/en/api/.

Takes no parameters.

Version history

2
  1. v0.2.0LatestNov 6, 2026
  2. v0.1.0Nov 5, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.