Invoiceer e-invoicing tools
Create and validate XRechnung, ZUGFeRD and Peppol e-invoices (KoSIT); Peppol lookup, rule help.
我該用這個嗎
品質與安全性
發現項目(1)
- LOW在 explain_rule 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"einvoicing": {
"url": "https://invoiceer.io/mcp"
}
}
}遠端端點
https://invoiceer.io/mcpstreamable-http它能做什麼
工具清單
工具(6)
🟢validate_einvoice(xml, file_base64, france)
Validate an e-invoice (XRechnung UBL/CII, ZUGFeRD / Factur-X PDF, Peppol BIS Billing 3.0, EN 16931) with the official KoSIT validator. Returns valid/invalid, the detected format, every error and warning with its rule code, and the exact corrected value for common calculation errors. Pass the XML as text in `xml`, or a PDF/XML file base64-encoded in `file_base64`. Max 5 MB.
輸入結構描述
{
"type": "object",
"properties": {
"xml": {
"type": "string",
"description": "The invoice XML (UBL or CII) as text."
},
"file_base64": {
"type": "string",
"description": "Alternative: the file (ZUGFeRD/Factur-X PDF or XML), base64-encoded."
},
"france": {
"type": "boolean",
"description": "Also check the French rules (BR-FR, XP Z12-012), reported as a separate `france` block. Automatic when the seller country is FR."
}
}
}🟢peppol_lookup(query)
Check whether a company can receive e-invoices over Peppol. Accepts a Peppol ID (e.g. 0208:0123456749), a VAT number (e.g. BE0123456749, NL...B01) or a Belgian enterprise number. Returns each matching participant ID, whether it is registered, whether it accepts Peppol BIS invoices, and name/country from the Peppol Directory when published.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Peppol ID, VAT number or enterprise number."
}
},
"required": [
"query"
]
}🟢check_leitweg_id(leitweg_id, lang)
Check a German Leitweg-ID (buyer reference BT-10 for invoices to German public authorities) against the official format and check digit (spec v2.0.2), and whether the authority is registered on Peppol (peppol_registered). Returns validity, the parts and the expected check digits.
輸入結構描述
{
"type": "object",
"properties": {
"leitweg_id": {
"type": "string",
"description": "e.g. 991-33333TEST-33"
},
"lang": {
"type": "string",
"enum": [
"en",
"de"
],
"default": "en"
}
},
"required": [
"leitweg_id"
]
}🟢create_einvoice(format, number, issue_date, due_date, currency, ...)
Create a valid e-invoice from structured data: XRechnung 3.0 (UBL or CII), ZUGFeRD / Factur-X PDF (EN 16931) or Peppol BIS Billing 3.0. The file is checked with the official KoSIT validator before it is returned; if it fails, you get the rule errors instead of a file. XML comes back as text in `xml`, the ZUGFeRD PDF as base64 in `pdf_base64`. XRechnung needs a seller contact (contact, phone, email), a buyer email or Peppol ID (electronic address), a buyer_reference (Leitweg-ID for German authorities) and payment details (iban). Peppol needs peppol_id for seller and buyer.
輸入結構描述
{
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"xrechnung-ubl",
"xrechnung-cii",
"zugferd",
"peppol"
],
"default": "xrechnung-ubl"
},
"number": {
"type": "string"
},
"issue_date": {
"type": "string",
"description": "YYYY-MM-DD, default today"
},
"due_date": {
"type": "string",
"description": "YYYY-MM-DD, default issue + 14 days"
},
"currency": {
"type": "string",
"default": "EUR"
},
"seller": {
"type": "object",
"required": [
"name",
"country"
],
"properties": {
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zip": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string",
"description": "2-letter code, e.g. DE, BE"
},
"vat": {
"type": "string",
"description": "VAT ID, e.g. DE123456789"
},
"legal_id": {
"type": "string",
"description": "Company registration number"
},
"tax_number": {
"type": "string",
"description": "Tax number (BT-32) if the seller has no VAT ID: German Steuernummer (Kleinunternehmer), French SIREN (franchise en base)"
},
"supplier_id": {
"type": "string",
"description": "Seller identifier at the buyer (BT-29)"
},
"email": {
"type": "string"
},
"contact": {
"type": "string",
"description": "Contact person"
},
"phone": {
"type": "string"
},
"peppol_id": {
"type": "string",
"description": "e.g. 0208:0123456749 (needed for Peppol)"
}
}
},
"buyer": {
"type": "object",
"required": [
"name",
"country"
],
"properties": {
"name": {
"type": "string"
},
"street": {
"type": "string"
},
"zip": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string",
"description": "2-letter code, e.g. DE, BE"
},
"vat": {
"type": "string",
"description": "VAT ID, e.g. DE123456789"
},
"legal_id": {
"type": "string",
"description": "Company registration number"
},
"email": {
"type": "string"
},
"contact": {
"type": "string",
"description": "Contact person"
},
"phone": {
"type": "string"
},
"peppol_id": {
"type": "string",
"description": "e.g. 0208:0123456749 (needed for Peppol)"
}
}
},
"lines": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"name",
"price"
],
"properties": {
"name": {
"type": "string"
},
"qty": {
"type": "number",
"default": 1
},
"unit": {
"type": "string",
"enum": [
"C62",
"HUR",
"DAY",
"MON",
"KGM",
"MTR",
"LS"
],
"default": "C62"
},
"price": {
"type": "number",
"description": "Net unit price"
},
"vat_category": {
"type": "string",
"enum": [
"S",
"Z",
"E",
"AE",
"K",
"O",
"G"
],
"default": "S"
},
"vat_rate": {
"type": "number",
"description": "Percent, e.g. 19 (for category S)"
}
}
}
},
"buyer_reference": {
"type": "string"
},
"order_reference": {
"type": "string"
},
"payment_terms": {
"type": "string"
},
"skonto_days": {
"type": "integer",
"description": "Early-payment discount (Skonto): days; written into BT-20 in the XRechnung format (BR-DE-18)"
},
"skonto_percent": {
"type": "number",
"description": "Skonto percentage, e.g. 2"
},
"skonto_base": {
"type": "number",
"description": "Optional base amount if Skonto applies to part of the amount due"
},
"paid_amount": {
"type": "number",
"description": "Already paid (BT-113), e.g. down payments"
},
"iban": {
"type": "string"
},
"bic": {
"type": "string"
},
"payment_reference": {
"type": "string"
},
"note": {
"type": "string"
},
"exempt_reason": {
"type": "string",
"description": "BT-120 text for VAT-exempt (E) lines; default for DE/FR small businesses without VAT ID: § 19 UStG / art. 293 B CGI"
},
"credit_note": {
"type": "boolean",
"default": false
},
"preceding_invoice": {
"type": "string",
"description": "Original invoice number (credit notes)"
},
"preceding_invoice_date": {
"type": "string",
"description": "YYYY-MM-DD, date of the original invoice (BT-26; required for French sellers)"
},
"delivery_date": {
"type": "string",
"description": "YYYY-MM-DD delivery / service date (BT-72); default: issue date unless a period is given"
},
"period_start": {
"type": "string"
},
"period_end": {
"type": "string"
}
},
"required": [
"number",
"seller",
"buyer",
"lines"
]
}🟢read_invoice_pdf(file_base64)
Read an ordinary (non-e-invoice) PDF invoice and return its data in the input format of create_einvoice: seller and buyer (name, address, VAT ID, country), invoice number, dates, IBAN/BIC, Leitweg-ID and the invoice lines (only if quantity x price and the line sum match the PDF's net total; otherwise one line with the net total). Regex-based, no guessing: fields we can't read reliably are missing and listed in `missing`. Check and complete them, then call create_einvoice to get XRechnung, ZUGFeRD or Peppol. Scanned PDFs (no text layer) are not supported. Pass the PDF base64-encoded in `file_base64`. Max 5 MB.
輸入結構描述
{
"type": "object",
"properties": {
"file_base64": {
"type": "string",
"description": "The PDF invoice, base64-encoded."
}
},
"required": [
"file_base64"
]
}🟢explain_rule(code)
Explain an e-invoice business rule code (EN 16931 BR-*, BR-CO-*, XRechnung BR-DE-*, Peppol PEPPOL-EN16931-*): official text (with an English translation for German-only rules), plain-language meaning, severity, the fields (BT/BG) involved and a link to the reference page.
輸入結構描述
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Rule code, e.g. BR-DE-15 or BR-CO-10."
}
},
"required": [
"code"
]
}社群
證據