InvoiceXML
InvoiceXML brings e-invoice compliance to your AI agent.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data
What it can do
- Create Invoice: Generate a compliant e-invoice from a structured invoice document. Choose the format that matches the buyer's jurisdiction: 'ubl' for Peppol / international Peppol BIS Billing 3.0, 'ci
- Render Invoice: Render a plain-XML e-invoice into a human-readable PDF preview. Pick the matching 'format': 'ubl' for UBL 2.1 / Peppol BIS 3.0, 'cii' for UN/CEFACT CII, 'xrechnung' for German XRechnun
- Embed Invoice: Combine an existing PDF and an EN 16931 CII XML into a hybrid PDF/A-3 e-invoice. Pick 'format' = 'facturx' or 'zugferd' for the output branding. The XML MUST be a UN/CEFACT Cross Indust
What data it sees
Do you need an account
No: the server works without sign-in
InvoiceXML brings e-invoice compliance to your AI agent. Create, validate, convert, render, and extract structured invoices across UBL (Peppol BIS Billing 3.0, used worldwide), CII, Factur-X, ZUGFeRD, and XRechnung, all checked against the EN 16931 standard and official Schematron rules. Ask your assistant to generate a compliant invoice, validate one for errors, or convert between formats, with no e-invoicing expertise required.
Server tool list (7)
Raw names from tools/list. Only developers need these.
| create_invoice | Generate a compliant e-invoice from a structured invoice document. Choose the format that matches the buyer's jurisdiction: 'ubl' for Peppol / international Peppol BIS Billing 3.0, 'cii' for generic UN/CEFACT CII XML, 'xrechnung' for German public sector, 'facturx' for French and German private sector (hybrid PDF), 'zugferd' for German private sector (hybrid PDF). On success the tool result contains a short summary plus the generated artefact. XML formats include the XML text inline as a second text block (you may quote or explain it). PDF formats deliver the file as an embedded resource attachment alongside the summary; DO NOT attempt to read or quote the PDF bytes — refer to the file by its name in your response to the user. On failure the result has isError=true and a single JSON content block with { success: false, failureCategory, statusCode, errors[], guidance }. If failureCategory is 'Validation', the errors array tells you which fields to fix (each entry has 'message', EN 16931 'btCodes', and JSON 'fields' paths); call this tool again with the corrections. If failureCategory is 'Unauthorized', 'Forbidden', 'Network', or 'Client', do not retry; surface the failure to the user. |
| render_invoice | Render a plain-XML e-invoice into a human-readable PDF preview. Pick the matching 'format': 'ubl' for UBL 2.1 / Peppol BIS 3.0, 'cii' for UN/CEFACT CII, 'xrechnung' for German XRechnung. The output is a VISUAL PDF only; it does NOT embed the XML. To produce a hybrid Factur-X / ZUGFeRD PDF (visual face + embedded XML) use 'embed_invoice' or 'create_invoice' instead. Provide the XML via EXACTLY ONE of these inputs: • xml — the XML document as text. • xmlUrl — a public https:// URL to the XML; the server downloads it. PREFER THIS for large documents. If you set neither or both, the result is an input error explaining what to fix. Only use the ACTUAL text of the file. Never reconstruct, guess, or synthesize invoice XML. If you cannot access the real file, ask the user for a public https:// URL (use xmlUrl) or to paste the document. On success the result is a short summary plus the PDF as an embedded resource attachment; refer to it by file name and do not attempt to read its bytes. On failure the result has isError=true and a JSON body with { success:false, failureCategory, errors[], guidance }. |
| embed_invoice | Combine an existing PDF and an EN 16931 CII XML into a hybrid PDF/A-3 e-invoice. Pick 'format' = 'facturx' or 'zugferd' for the output branding. The XML MUST be a UN/CEFACT Cross Industry Invoice (CII) document; UBL is not accepted here (convert it first with 'convert_invoice' ubl -> cii). Provide the PDF via EXACTLY ONE of: pdfUrl (preferred) or pdfBase64 (small files only). Provide the CII XML via EXACTLY ONE of: xml (text) or xmlUrl. If a required pair is empty or has both set, the result is an input error explaining what to fix. Only use the ACTUAL bytes/text of the files. Never reconstruct, guess, or synthesize content. If you cannot access a real file, ask the user for a public https:// URL or to paste it. On success the result is a short summary plus the hybrid PDF as an embedded resource attachment; refer to it by file name and do not attempt to read its bytes. On failure the result has isError=true and a JSON body with { success:false, failureCategory, errors[], guidance }. |
| extract_invoice | Extract content from a hybrid PDF/A-3 e-invoice (Factur-X or ZUGFeRD). Choose 'target': 'json' for a structured invoice document (fields like seller, buyer, lines, totals), or 'xml' for the raw embedded EN 16931 CII XML. The PDF must contain an embedded XML attachment; if it doesn't, the result is an error. Provide the PDF via EXACTLY ONE of these inputs: • pdfUrl — a public https:// URL to the PDF; the server downloads it. PREFER THIS whenever a URL exists. • pdfBase64 — the PDF as base64. Only practical for small files; larger base64 gets corrupted in a tool call. If you set neither or both, the result is an input error explaining what to fix. Only use the ACTUAL bytes of the file. Never reconstruct, guess, or synthesize a PDF. If you cannot access the real file, ask the user for a public https:// URL (use pdfUrl) or to paste its base64. On success the result is a short summary plus the extracted JSON or XML inline as text. On failure the result has isError=true and a JSON body with { success:false, failureCategory, errors[], guidance }. |
| validate_pdf_invoice | Validate a hybrid PDF/A-3 e-invoice that has an EN 16931 CII XML embedded inside: Factur-X or ZUGFeRD. Pick 'format' = 'facturx' or 'zugferd' (both run the same validation pipeline; pick the one the user named). Use THIS tool for PDF invoices; for plain XML (UBL / CII / XRechnung) use 'validate_xml_invoice'. Provide the PDF via EXACTLY ONE of these inputs: • pdfUrl — a public https:// URL to the PDF; the server downloads it. PREFER THIS whenever a URL exists. • pdfBase64 — the PDF as base64. Only practical for small files (a few tens of KB); larger base64 gets corrupted when written into a tool call, so use a URL instead. If you set neither or both, the result is valid=false with an INPUT-… error explaining what to fix. Only use the ACTUAL bytes of the file. Never reconstruct, guess, or synthesize a PDF. If you cannot access the real file (e.g. a user uploaded it and you can't read its bytes), do NOT call this tool with made-up content — ask the user for a public https:// URL (use pdfUrl) or to paste the file's base64. The result has a 'valid' field. On valid=true the embedded invoice is compliant ('warnings' may carry non-blocking issues). On valid=false the 'errors' array explains what was wrong (e.g. PDF-EMBED when no XML is embedded, or specific EN 16931 rule failures). Surface these to the user. |
| convert_invoice | Convert an e-invoice from one format to another (a deterministic syntax transform, no AI). Set 'sourceFormat' and 'targetFormat', each one of: ubl, cii, xrechnung, facturx, zugferd. Supported conversions: ubl<->cii, xrechnung->ubl/cii, ubl/cii->xrechnung, facturx/zugferd->ubl/cii (extract + transcode the embedded XML), and ubl/cii/xrechnung->facturx/zugferd (render + embed). Other pairs are rejected with an input error. Provide the source document by its type: • If sourceFormat is ubl / cii / xrechnung (an XML format): use xml (text) or xmlUrl. • If sourceFormat is facturx / zugferd (a hybrid PDF): use pdfBase64 or pdfUrl (prefer pdfUrl). Provide EXACTLY ONE input, and it must match the source type. Mismatches and missing/duplicate inputs return an input error explaining what to fix. Only use the ACTUAL bytes/text of the file. Never reconstruct, guess, or synthesize content. If you cannot access the real file, ask the user for a public https:// URL or to paste it. On success the result is a short summary plus the converted document: XML targets are returned inline as text, PDF (facturx/zugferd) targets as an embedded resource attachment. On failure the result has isError=true and a JSON body with { success:false, failureCategory, errors[], guidance }. |
| validate_xml_invoice | Validate a plain-XML e-invoice against the EN 16931 XSD and Schematron rules. Pick the matching 'format': 'ubl' for UBL 2.1 / Peppol BIS 3.0, 'cii' for UN/CEFACT CII, 'xrechnung' for German XRechnung (CIUS-XR). Use THIS tool for plain XML; for Factur-X / ZUGFeRD hybrid PDFs use 'validate_pdf_invoice'. Provide the XML via EXACTLY ONE of these inputs: • xml — the XML document as text. Good for documents that fit comfortably in one tool call. • xmlUrl — a public https:// URL to the XML; the server downloads it. PREFER THIS for large documents (long inline XML can get corrupted when written into a tool call). If you set neither or both, the result is valid=false with an INPUT-… error explaining what to fix. Only use the ACTUAL text of the file. Never reconstruct, guess, or synthesize invoice XML. If you cannot access the real file (e.g. a user uploaded it and you can't read its contents), do NOT call this tool with made-up XML — ask the user for a public https:// URL (use xmlUrl) or to paste the document. The result has a 'valid' field. On valid=true the invoice passed every layer ('warnings' may still carry non-blocking issues). On valid=false the 'errors' array lists each rule failure with its EN 16931 BT codes; explain these to the user and you may suggest corrections. |