Generate & validate EN 16931 e-invoices (Factur-X, ZUGFeRD, XRechnung); verification certificates
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
einvoicewiz API key (eiw_...). Optional: agents can call the signup tool to get one with 20 free credits.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Credits remaining and calls used for an API key.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Credits remaining and calls used for an API key.
| Argument | Type | Description |
|---|---|---|
| api_key | string |
{
"type": "object",
"title": "check_creditsArguments",
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": ""
}
}
}Your existing PDF invoice + invoice JSON → Factur-X / ZUGFeRD PDF/A-3 with embedded XML (1 credit). pdf_base64: the original PDF, base64-encoded (max 15 MB). Returns {pdf_base64, cert_id, verify_url, credits_left}. The output is validated (EN 16931 + PDF/A-3) before delivery; failures are not charged.
| Argument | Type | Description |
|---|---|---|
| api_key | string | |
| invoice* | object | |
| pdf_base64* | string |
{
"type": "object",
"title": "create_facturx_pdfArguments",
"required": [
"pdf_base64",
"invoice"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": ""
},
"invoice": {
"type": "object",
"title": "Invoice",
"additionalProperties": true
},
"pdf_base64": {
"type": "string",
"title": "Pdf Base64"
}
}
}Invoice JSON → validated EN 16931 CII XML (1 credit; failures free). profile: "en16931" (Factur-X/ZUGFeRD data, B2B) or "xrechnung" (German public sector; needs invoice.buyer_reference = Leitweg-ID and seller contact_email/contact_phone). Invoice schema: see https://einvoicewiz.com/openapi.json (required: invoice_number, issue_date, currency, seller{name,country}, buyer{name,country}, lines[{name,qty,unit_price,vat_rate}]). Returns {xml, validation, verify:{id,url}, credits_left}. On 422 the body lists the violated rules.
| Argument | Type | Description |
|---|---|---|
| api_key | string | |
| invoice* | object | |
| profile | string |
{
"type": "object",
"title": "generate_einvoice_xmlArguments",
"required": [
"invoice"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": ""
},
"invoice": {
"type": "object",
"title": "Invoice",
"additionalProperties": true
},
"profile": {
"type": "string",
"title": "Profile",
"default": "en16931"
}
}
}Look up a verification certificate (EIW-…) — free, no key. Confirms which file hashes passed validation and when.
| Argument | Type | Description |
|---|---|---|
| cert_id* | string |
{
"type": "object",
"title": "lookup_certificateArguments",
"required": [
"cert_id"
],
"properties": {
"cert_id": {
"type": "string",
"title": "Cert Id"
}
}
}Create an einvoicewiz API key with 20 free credits (no card). The key is shown once — store it.
| Argument | Type | Description |
|---|---|---|
| email* | string |
{
"type": "object",
"title": "signupArguments",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"title": "Email"
}
}
}Validate a Factur-X / ZUGFeRD / XRechnung file (PDF or XML, base64) against EN 16931 + KOSIT + PDF/A (1 credit). Returns the rule-level report {result:{status, errors[], warnings[], profile}, verify, credits_left}. verify is set only when the file passed.
| Argument | Type | Description |
|---|---|---|
| api_key | string | |
| file_base64* | string |
{
"type": "object",
"title": "validate_einvoiceArguments",
"required": [
"file_base64"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"default": ""
},
"file_base64": {
"type": "string",
"title": "File Base64"
}
}
}Decision helper (free, no key): which e-invoice format a recipient needs and whether a plain PDF is still acceptable.
| Argument | Type | Description |
|---|---|---|
| recipient_country* | string | |
| recipient_is_public_authority | boolean |
{
"type": "object",
"title": "which_format_do_i_needArguments",
"required": [
"recipient_country"
],
"properties": {
"recipient_country": {
"type": "string",
"title": "Recipient Country"
},
"recipient_is_public_authority": {
"type": "boolean",
"title": "Recipient Is Public Authority",
"default": false
}
}
}