invowerk

E-invoice checker for ZUGFeRD, Factur-X, XRechnung and Peppol BIS. Free web tool, API and MCP.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
90%
Qualität der Benennung
97%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,560Tokens (Tool-Definitionen)
~2.3 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.00% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "invowerk": {
      "url": "https://api.invowerk.dev/mcp/"
    }
  }
}

Remote-Endpunkte

https://api.invowerk.dev/mcp/streamable-http

Was es kann

Tool-Inventar

Tools (6)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢validate_invoice(invoice_base64, file, explain, lang)

Check an e-invoice against EN 16931 and German rules. Input: `invoice_base64` is the base64 of an XML invoice (UBL or CII) or a ZUGFeRD / Factur-X PDF, at most 4 MB decoded; or pass the file as a download link in `file`. `explain=true` adds an explanation to findings whose rule has one, in `lang` ("de" or "en"). `valid` is the result. For XRechnung the KoSIT validator decides. If it is unreachable, invowerk's own check with the same rules decides, `verdict_source` is "local" and `official_degraded` is true. `disagreement` is true when both ran and differ. `findings` lists each problem with `rule_id`, `severity` and `message`; pass the codes to `explain_errors` (free). `pdfa_verdict` is the PDF/A check of a PDF. `hints` never change `valid`. Unreadable input returns a finding, not an error. Credits: 1 per call.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "invoice_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The invoice file, base64-encoded. At most 4 MB decoded."
    },
    "file": {
      "properties": {
        "download_url": {
          "description": "A public https URL of the file.",
          "type": "string"
        },
        "file_id": {
          "description": "An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.",
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "type": "object",
      "default": null,
      "description": "The file as a download link, instead of `invoice_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL."
    },
    "explain": {
      "default": false,
      "description": "true adds an explanation to each finding whose rule has one.",
      "type": "boolean"
    },
    "lang": {
      "default": "de",
      "description": "Language of the explanations: \"de\" (default) or \"en\".",
      "type": "string"
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢render_invoice(invoice_base64, file, lang)

Render an XML e-invoice (UBL or CII, e.g. XRechnung) as a readable HTML page. invowerk uses the KoSIT XRechnung visualization. Use it to show a person what an e-invoice contains. Input: `invoice_base64` is the base64 of the XML, at most 4 MB decoded, or pass the file as a download link in `file`. PDFs are not accepted. `lang` sets the label language, "de" (default) or "en". Returns `html` (a complete HTML document), `lang`, `flavor` (e.g. "xrechnung") and `syntax` (e.g. "ubl_invoice"). A file that is not an XML invoice, malformed XML or XML with a DOCTYPE fails with an error message. Credits: 1 per call.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "invoice_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The invoice file, base64-encoded. At most 4 MB decoded."
    },
    "file": {
      "properties": {
        "download_url": {
          "description": "A public https URL of the file.",
          "type": "string"
        },
        "file_id": {
          "description": "An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.",
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "type": "object",
      "default": null,
      "description": "The file as a download link, instead of `invoice_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL."
    },
    "lang": {
      "default": "de",
      "description": "Language of the labels: \"de\" (default) or \"en\".",
      "type": "string"
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢explain_errors(codes, lang)

Explain rule codes in plain language. Works without an API key. Covers the codes of `validate_invoice` findings and hints: EN 16931, XRechnung, ZUGFeRD and invowerk's own hint codes (IW-*). Input: `codes` is a list of one or more codes, e.g. ["BR-CO-18", "BR-DE-21"]. Duplicates are removed. `lang` is "de" (default) or "en". Returns `lang` and `explanations`. Each explanation has `title`, `meaning`, `causes`, `fixes`, `severity`, `standard`, `bt_refs`, `xpath_hints` and `explain_url` (the German page for the code). If any code is unknown, the call fails and names the unknown codes. Credits: free. This tool is not metered.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "codes": {
      "description": "One or more rule codes from validate_invoice, e.g. [\"BR-CO-18\", \"BR-DE-21\"].",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "lang": {
      "default": "de",
      "description": "Language of the explanations: \"de\" (default) or \"en\".",
      "type": "string"
    }
  },
  "required": [
    "codes"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢generate_invoice(invoice)

Create a valid EN 16931 e-invoice (UBL or CII XML) from JSON. Input: `invoice` is a JSON object keyed on EN 16931 Business Terms, the same schema as `POST /v1/generate`, at most 4 MB. Main fields: `syntax` ("ubl" default, or "cii"), `flavor` ("en16931" default, or "xrechnung", which requires `buyer_reference`, the Leitweg-ID BT-10), `invoice_number`, `issue_date` (YYYY-MM-DD), `currency`, `seller`, `buyer`, `lines`, `tax_breakdown`, `totals`. invowerk writes your amounts as given. It does not compute or correct them. Returns `xml`, `syntax`, `flavor` and `self_validation`. invowerk checks the XML before answering and never returns an invalid document. Invalid input, or XML that fails the check, returns an error. Credits: 5 per call.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "invoice": {
      "additionalProperties": true,
      "description": "The invoice as a JSON object keyed on EN 16931 Business Terms, the schema of POST /v1/generate and of parse_invoice's `model`: syntax, flavor, invoice_number, issue_date, currency, seller, buyer, lines, tax_breakdown, totals.",
      "type": "object"
    }
  },
  "required": [
    "invoice"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢parse_invoice(invoice_base64, file)

Read an existing e-invoice into JSON keyed on EN 16931 Business Terms. The JSON is the input format of `generate_invoice`, so you can edit it and create the invoice again. Input: `invoice_base64` is the base64 of an XML invoice (UBL or CII) or a ZUGFeRD / Factur-X PDF, at most 4 MB decoded; or pass the file as a download link in `file`. A PDF may have at most 500 pages and 16 attachments. Returns `model` (the invoice as JSON), `detection` (`syntax`, `flavor`, `customization_id`) and `source` ("xml" or "pdf-embedded"). A file that cannot be read fails with an error that starts with an error code, e.g. a PDF without embedded XML, a UBL credit note or malformed XML. Credits: 2 per call.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "invoice_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The invoice file, base64-encoded. At most 4 MB decoded."
    },
    "file": {
      "properties": {
        "download_url": {
          "description": "A public https URL of the file.",
          "type": "string"
        },
        "file_id": {
          "description": "An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.",
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "type": "object",
      "default": null,
      "description": "The file as a download link, instead of `invoice_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL."
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢convert_invoice(target_syntax, invoice_base64, file, target_flavor)

Convert an e-invoice to UBL or CII. The result is checked before it is returned. Input: `invoice_base64` is the base64 of an XML invoice or a ZUGFeRD / Factur-X PDF, at most 4 MB decoded; or pass the file as a download link in `file`. `target_syntax` is "ubl" or "cii". `target_flavor` is optional, "en16931" or "xrechnung"; without it the flavor of the source is kept. Returns `xml`, `syntax`, `flavor` and `self_validation` (`valid`, `finding_count`). invowerk checks the converted XML before answering and never returns an invalid document. Input that cannot be read or converted fails with an error message. Credits: 3 per call.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "target_syntax": {
      "description": "Syntax to convert to: \"ubl\" or \"cii\".",
      "type": "string"
    },
    "invoice_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The invoice file, base64-encoded. At most 4 MB decoded."
    },
    "file": {
      "properties": {
        "download_url": {
          "description": "A public https URL of the file.",
          "type": "string"
        },
        "file_id": {
          "description": "An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.",
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "type": "object",
      "default": null,
      "description": "The file as a download link, instead of `invoice_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL."
    },
    "target_flavor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional: \"en16931\" or \"xrechnung\". Without it the flavor of the source is kept."
    }
  },
  "required": [
    "target_syntax"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet6 Tools