Use in your browser

Check your e-invoice

Validate public-sample, synthetic, or safely redacted EU e-invoice XML against EN 16931 and Schematron rules with the KoSIT validator. Never submit a real production invoice or real party, tax, customer, payment, or banking data. Every finding carries the rule ID that fired.

Guest includes 50 lifetime app requests. Create a free account for 100 app requests each calendar month. One allowance across every app, in your browser and your agent.One allowance across every app, in your browser and your agent. Manage usage

E-Invoice Check

Connect agent

Guest access is available after setup. Full account linking verified by PowMCP: Claude only.

Check

Validate one public-sample, synthetic, or safely redacted EU e-invoice against EN 16931 and Schematron rules, with exact rule IDs.

Usually finishes in a few seconds; a large invoice can take up to two minutes.

Invoice source

Only the active source is sent. You can switch without losing what you entered.

Public sample/test invoice XML only. For ZUGFeRD or Factur-X, link the embedded CII XML.

Validate against (optional)

Auto-detect reads the profile declared inside the invoice.

Allowed range: 1–1000 · whole numbers

Add E-Invoice Check to your agent

Connect this app on its own. Add other PowMCP apps whenever your agent needs another job done.

Open the apps workspace A glowing app tile clicking into a slot on a dark agent device, with the PowMCP app box behind it

Connect directly

Choose your agent. Each button opens a new tab with only this app's endpoint ready to add.

Use another agent

Copy one ready-to-send prompt for any agent that supports remote MCP connections.

Manual endpoint, JSON, and terminal commands

For clients that require manual configuration, use this app-only endpoint, its JSON entry, or one terminal command.

ChatGPT: enable Developer mode in Settings → Security and login, then add this MCP endpoint from the Plugins page. Availability depends on your account and workspace policy. PowMCP has not yet verified ChatGPT account linking. OpenAI setup guide

https://powmcp.com/einvoice-check/mcp
{
  "mcpServers": {
    "powmcp-einvoice-check": {
      "type": "http",
      "url": "https://powmcp.com/einvoice-check/mcp"
    }
  }
}

Terminal agents add this app with one command:

Claude Code
claude mcp add --transport http powmcp-einvoice-check https://powmcp.com/einvoice-check/mcp
Codex CLI
codex mcp add powmcp-einvoice-check --url https://powmcp.com/einvoice-check/mcp
Gemini CLI
gemini mcp add --transport http powmcp-einvoice-check https://powmcp.com/einvoice-check/mcp

Manage, disable, or remove this connection in your agent's own MCP settings. PowMCP does not label an external connection as installed without confirmation from that client.

Proof

What it does

Validate a hosted or pasted EU e-invoice against EN 16931 and the KoSIT Schematron business rules: hundreds of rules beyond the XSD, with exact rule-ID and element evidence

Validate one public-sample, synthetic, or safely redacted EU e-invoice (XRechnung, ZUGFeRD/Factur-X CII, Peppol BIS Billing 3.0, or UBL) against the EN 16931 semantic model plus the national/Peppol Schematron business rules with exact rule-ID, severity, and element evidence, or compare two same-lineage safe samples, with a clear structural-conformance-versus-legal-validity boundary and the pinned config version named in every result.

Category
Developer Tools

Request cost1 completed result

Guests get 50 lifetime app requests. Free accounts get 100 each calendar month.

Tools in this app

01

EU E-Invoice Conformance Check

einvoice_check

Validates one public-sample or safely redacted EU e-invoice (UBL Invoice/CreditNote or UN/CEFACT CII CrossIndustryInvoice) against the EN 16931 semantic model plus the bundled national/Peppol Schematron business rules (hundreds of BR / BR-DE / BR-CO / BR-S assertions beyond the XSD), run fully offline in a no-network sandbox with the vendored Apache-2.0 KoSIT validator and the pinned validator-configuration-xrechnung and validator-configuration-bis scenario artifacts. Supply exactly one of url (a public HTTP(S) sample invoice-XML URL) or body (synthetic, public-sample, or redacted invoice XML pasted inline); never submit a real production invoice or real party, tax, customer, payment, or banking data. Returns the conformance verdict: a conforms boolean, the detected syntax and profile and the exact config and scenario the report reflects, severity counts, findings grouped by rule id, bounded per-finding evidence (rule id, severity, rule text, offending element), a structural inventory (customization/profile id, invoice number, currency, line count, totals presence), and distinguished absence states (not-an-einvoice, schema-invalid, business-rule-failing, profile-not-detected, unsupported-profile, no-scenario-matched). Use for one-invoice conformance and diagnosis: 'is this e-invoice valid', 'does it conform to its profile', 'will it pass', 'what business-rule problems does it have'. A conforms result means only that the bytes satisfied the XSD and the applied EN 16931 + Schematron rules at the named engine and config version; it never judges legal validity, tax-correctness, whether the amounts or parties are real, or whether a specific national platform or Peppol access point will accept it, and it does not open a ZUGFeRD/Factur-X PDF container or validate an unhosted local file. Offline validation is fast (a few seconds); a call may take up to ~110 seconds. Always state which profile and config the report reflects.

02

EU E-Invoice Lineage Compare

einvoice_compare

Runs the identical vendored KoSIT validation over exactly two public-sample, synthetic, or safely redacted EU e-invoices (baseline first, revised second) sequentially under one shared 115-second deadline, then reports which conformance findings regressed or were resolved. Supply the two invoices as urls (a two-item array of public HTTP(S) sample invoice-XML URLs) and/or bodies (synthetic, public-sample, or redacted invoice XML); exactly two invoices total across the two arrays. Never submit real production invoices or real party, tax, customer, payment, or banking data. Select this whenever the user gives two safe invoice samples and asks what conformance changed or which one is cleaner: the same sample before and after a mapping fix, two synthetic drafts, or the same sample across config versions; the tool itself reports the pair as not-comparable if they do not line up (different syntax or profile), so you do not need to pre-check that. Returns per-invoice hashes, detected profiles and the config/scenario each report reflects, conforms verdicts and severity counts, a comparability note, a regressions list (rules that appear or worsen in the revised invoice), a resolved list (rules removed or reduced), and a ranking by conformance then fewer error-level findings. The ranking orders automated conformance only (it never means one invoice is truer, tax-correct, or more likely to be accepted), and human review remains required for both.

E-Invoice Check questions

Scope and boundaries for E-Invoice Check.

01What can I check with E-Invoice Check?

Validate SFTI's public Peppol BIS Billing 3.0 telephone-invoice XML with profile auto-detection and up to 400 findings, or compare its two public sample invoices as baseline and revision.

02How should I read the result?

Start with distinguishedStates, detectedProfile, configuration, scenario, and conforms. Conforms means the invoice matched a bundled scenario and passed its XSD plus the applied EN 16931 and Schematron rules; fix error rules first without inferring legal or tax correctness or platform acceptance. Treat a profile or scenario mismatch, partial inventory, or truncated findings as incomplete, and read comparability before interpreting comparison regressions or resolutions.

03What are its limits?

Use only public samples, synthetic data, or safely redacted XML; never submit production party, tax, customer, payment, or banking data. Automated XSD and business-rule conformance does not establish legal validity, tax correctness, factual accuracy, or acceptance by a national platform or Peppol access point.