← InvoiceByHerb · Docs · Privacy · Terms · Legal notice
Documentation
InvoiceByHerb is a remote MCP connector for Claude and ChatGPT. It turns machine-readable e-invoices into a readable invoice view, recalculates totals and VAT, and flags missing mandatory information with a traffic light. No account, no installation, nothing is stored.
Connector URL
https://invoice.softwarebyherb.com/mcp – Streamable HTTP, no authentication.
- Claude: Settings → Connectors → Add custom connector → paste the URL.
- ChatGPT: enable developer mode, then Plugins → + → custom MCP server → paste the URL, authentication “None”.
Supported formats
XRechnung 2.x/3.x (CII and UBL), ZUGFeRD 2.x / Factur-X as XML or as PDF with embedded XML (profiles EN 16931, EXTENDED, BASIC; MINIMUM and BASIC WL are flagged), Peppol BIS Billing 3.0 (UBL Invoice and CreditNote). Input: the XML file (as text or Base64) or a ZUGFeRD/Factur-X PDF (Base64), up to 2 MB XML / 1.5 MB PDF and 5,000 line items. From a PDF only the embedded invoice XML is read; the PDF is not rendered. A PDF without embedded XML is not an e-invoice and is rejected with an explanation.
Tools
| Tool | What it does | Annotations |
|---|---|---|
read_invoice | Reads an invoice and shows seller, buyer, line items, VAT, totals, payment details and a check result in an interactive view. | read-only, closed-world, idempotent |
check_invoice | Checks mandatory fields (EN 16931, XRechnung BR-DE), recalculates lines, VAT and totals, validates the IBAN checksum; returns a traffic light with rule codes. Optional expected_iban: the supplier's known IBAN – a different IBAN on the invoice is flagged as a fraud signal (not stored). | read-only, closed-world, idempotent |
invoice_rules | Explains e-invoicing obligations (receive/issue, deadlines, formats, exemptions) for DE, FR, BE, PL, IT. | read-only, closed-world, idempotent |
export_invoice | Returns the line items as CSV (semicolon; incl. VAT and gross per line, rounding cents allocated so the columns add up to the invoice) or JSON as text. Optional excel_de: decimal comma and UTF-8 BOM for German Excel. Writes nothing anywhere. | read-only, closed-world, idempotent |
Example prompts
- “Here is an invoice I received as XML – what does it say and is it correct?” (attach the XML)
- “Check this XRechnung for missing mandatory fields before I pay it.”
- “I'm a small business (Kleinunternehmer) in Germany – do I have to issue e-invoices, and from when?”
- “Export the line items of this invoice as CSV for my accounting.”
- “What do French companies have to be able to receive since September 2026?”
Test invoices
Two sample XRechnung files with fictional companies and an example IBAN: correct invoice (expected: green, amount due 3,400.23 EUR; also as ZUGFeRD PDF) and invoice with errors (expected: red – CALC-LINE, BR-CO-10 and BR-CO-13 as its consequences, PAY-IBAN; recalculated amount due 3,400.23 EUR instead of 3,432.33 EUR).
Limits
The check covers a selection of important rules. It is not a full Schematron validation and not tax advice; the KoSIT validator is authoritative for XRechnung. Rule data is dated (see the tool output).
Troubleshooting
- “Das ist kein XML” – the assistant passed a summary instead of the file. Ask it to pass the complete XML content.
- “In dieser PDF steckt keine E-Rechnung” – the PDF has no embedded invoice XML (a plain PDF invoice). Ask the sender for the e-invoice.
- DTD/ENTITY rejected – invoices never need a DTD; such files are rejected for security reasons.
- Too large – maximum 2 MB XML and 5,000 line items.
Privacy and security
Invoices are processed in memory only, never stored or logged; servers in Frankfurt (EU). XML is parsed without DTDs, external entities or network access. Details: Privacy Policy.
Support
E-mail: maertensdominik@gmail.com
Deutsche Fassung: Datenschutz · Nutzungsbedingungen · Impressum. In case of doubt the German version prevails.