convert_invoice
Convert an e-invoice between formats via the shared EN 16931 canonical model: parse the source document, re-serialize as the target, and validate the result before returning it — never a document that has not been checked. Format ids: "UBL_2.1" (OASIS UBL, the universal Peppol/EN16931 baseline), ...
This record as markdown: /tools/dev-invoicehub-invoicehub/convert-invoice.md
What convert_invoice does on Invoicehub
AI agents use convert_invoice to create or update resources in Invoicehub, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Invoicehub environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Target format id, e.g. "UN_CEFACT_CII", "XRechnung_UBL", "XRechnung_CII", or "Factur-X". |
from | string | Yes | Source format id, e.g. "UBL_2.1". |
document | string | Yes | The source document: raw text for XML formats, base64 for binary formats (Factur-X). |
Parameters from the server's own tool schema.
Why convert_invoice is rated Medium
An AI agent can call convert_invoice faster than any human can review: one bad instruction and it creates or modifies resources in Invoicehub by the hundred, each call as confident as the last.
Attacks that exploit this kind of access
The rule that runs convert_invoice safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Invoicehub, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For convert_invoice, this is the rule to start with:
convert_invoice stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Invoicehub, apply this rule, and every convert_invoice call is checked against it from then on.
Questions about convert_invoice
Convert an e-invoice between formats via the shared EN 16931 canonical model: parse the source document, re-serialize as the target, and validate the result before returning it — never a document that has not been checked. Format ids: "UBL_2.1" (OASIS UBL, the universal Peppol/EN16931 baseline), "UN_CEFACT_CII" (UN/CEFACT Cross Industry Invoice, required syntax for Chorus Pro/France and many ERP back-ends), "XRechnung_UBL" / "XRechnung_CII" (Germany's mandatory B2G format, XRechnung 3.0 — required for invoicing German public-sector buyers), "Factur-X" (France/Germany hybrid PDF+XML — a human-readable PDF/A-3 with the structured invoice embedded, common for French B2B). Binary formats (Factur-X) are base64 in both directions. Requires an API key on the Pro plan or above for any target beyond plain UBL_2.1 — call list_supported_formats to see current availability. It is categorised as a Write tool in the Invoicehub MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
convert_invoice accepts 3 parameters: to, from, document. Required: to, from, document. The full parameter table on this page comes from the server's own tool schema.
Register the Invoicehub MCP server in PolicyLayer and add a rule for convert_invoice: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Invoicehub. Nothing to install.
convert_invoice is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the convert_invoice rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for convert_invoice. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
convert_invoice is provided by the Invoicehub MCP server (https://api.invoicehub.dev/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Invoicehub, and thousands of servers like it.
This server
Across the catalogue