InvoiceVerify
Check whether a company can receive Peppol e-invoices (incl. Belgian 0208/9925 client lists) and validate UBL, Peppol BIS 3.0, XRechnung and Factur-X invoices; the Belgian receivability check is free without sign-in.
Hosted MCP Server
npx add-mcp 'https://peppol-invoice-compass.lovable.app/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Validator GeneratorTools Learn Pricing API
AI agents
MCP server for e-invoicing
Give your AI assistant or automation the same e-invoicing engine as the website: validate, generate and convert Peppol / UBL / XRechnung / Factur-X invoices and check whether customers can receive them.
https://peppol-invoice-compass.lovable.app/mcp REST API docs
Connect your assistant
Add a remote MCP server (Streamable HTTP) with the URL below. Without signing in you can use the free check_peppol_receivability tool right away. Every other tool needs an InvoiceVerify account: your client opens a sign-in page (when you connect, or the first time you use such a tool), and after you allow access, tools run as your account.
https://peppol-invoice-compass.lovable.app/mcp
- Claude (web & desktop): Settings → Connectors → Add custom connector → paste the URL.
- ChatGPT: Settings → Apps & connectors → create a connector (developer mode) with the URL.
- Cursor, VS Code, Windsurf and other clients: add it to your MCP configuration:
{
"mcpServers": {
"invoiceverify": { "url": "https://peppol-invoice-compass.lovable.app/mcp" }
}
}
Clients that only support local (stdio) servers can use a bridge such as npx mcp-remote https://peppol-invoice-compass.lovable.app/mcp.
Free Belgian Peppol check, no sign-in
check_peppol_receivability takes one Belgian enterprise or VAT number and checks it live on Peppol under 0208 and 9925. It needs no account and no API key: 20 checks per hour per visitor, counted over the last 60 minutes. For whole client lists, exports or more checks, sign in and use check_belgian_peppol_list or the client-list check.
POST https://peppol-invoice-compass.lovable.app/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "check_peppol_receivability",
"arguments": { "id": "BE0403170701", "lang": "nl" }
}
}
The result says “both”, “only_0208”, “only_9925”, “neither” or “unknown”, which Peppol ID to send to, each ID’s service provider, and the risk and fix. When the hourly checks are used up, the tool answers with an error that says when to try again.
Tools
check_peppol_receivability
Check one Belgian company under both Belgian Peppol IDs — 0208 (enterprise number) and 9925 (VAT number): receivable under both, only one or neither, which ID to send to, and the fix in Dutch, French or English. 20 checks per hour without an account.
Free, no sign-in
validate_invoice
Validate UBL, Peppol BIS 3, XRechnung or CII / Factur-X XML against EN 16931 and Peppol rules, with rule IDs and line numbers.
1 call
generate_invoice
Create Peppol UBL, XRechnung (UBL or CII) or Factur-X CII from structured invoice data, with totals and VAT computed.
1 call
convert_invoice
Convert an existing UBL or CII invoice to another format and validate the result.
1 call
parse_invoice
Read an invoice into structured JSON for booking or reconciliation.
1 call
lookup_peppol_participant
Check whether a company can receive Peppol invoices and under which ID (e.g. Belgian 0208 vs 9925).
1 call
check_belgian_peppol_list
Check up to 25 Belgian companies at once under both 0208 (enterprise number) and 9925 (VAT number): both, only 0208, only 9925 or neither — with the risk and the fix in Dutch, French or English.
1 call per company
explain_rule
Explain a validation rule in plain English, Dutch or French, with causes and fix steps.
Free with account
get_usage
Show calls used this month, the included allowance and remaining pack credits.
Free with account
Sign-in & billing
Apart from the free check above, the server uses OAuth: your assistant never sees your password, and each tool call is tied to your account. Calls come from the same allowance as the REST API — 100 a month on a free account, 1,000 on Pro — and then from call packs. Invoice contents are processed in memory and never stored.
Example prompts
- “ Validate this invoice XML and explain every error in Dutch. ”
- “ Without an account: can 0403.170.701 receive Peppol invoices under 9925, or only under 0208? ”
- “ Can BE0403170701 receive Peppol invoices? Which ID should our ERP send to? ”
- “ Check this list of 20 Belgian client VAT numbers under 0208 and 9925 and tell me which clients to contact, in Dutch. ”
- “ Turn this order confirmation into a Peppol BIS 3 invoice for our Belgian customer, reverse charge. ”
- “ Convert this Factur-X PDF's XML to XRechnung UBL for a German public buyer. ”
Discovery for agents
Agents and registries can find this server without reading the docs. It is listed as InvoiceVerify with server ID app.lovable.peppol-invoice-compass/invoiceverify.
- /mcp/server-card — MCP server card (name, version, endpoint, transport and which tool works without sign-in). Also at /.well-known/mcp/server-card.json.
- /.well-known/mcp.json — MCP discovery file: endpoint, transport, how to sign in and every tool with whether it needs an account.
- /.well-known/agent-card.json — A2A agent card listing the same tools as skills. The tools are served over MCP at
/mcp; there is no separate A2A endpoint. - /.well-known/ai-catalog.json — AI catalog that lists the server card and the agent card.
- /.well-known/api-catalog — API catalog (RFC 9727) linking the REST API’s OpenAPI file and this MCP server.
- /.well-known/oauth-protected-resource — OAuth sign-in metadata.
InvoiceVerify
Validate, inspect and convert EU e-invoices against EN 16931, Peppol BIS 3.0, XRechnung and Factur-X.
- Invoices are never stored
- Hosted in the EU-friendly cloud
Product
- Validator
- Peppol ID lookup
- Client list check (BE)
- Peppol-controle klantenbestand
- Contrôle Peppol portefeuille clients
- Invoice generator
- Pricing
- REST API
- MCP server for AI agents
- Sample files
- Dashboard
Validate by country
- Germany · Peppol BIS Billing 3.0
- Germany · XRechnung 3.0
- Germany · ZUGFeRD 2.x
- Belgium · Peppol BIS Billing 3.0
- France · Factur-X 1.0
- France · UBL 2.1
- Netherlands · Peppol BIS Billing 3.0
- Croatia · UBL 2.1
- Latvia · Peppol BIS Billing 3.0
- Slovakia · Peppol BIS Billing 3.0
- Spain · UBL 2.1
Formats & tools
- Peppol BIS Billing 3.0 validator
- UBL 2.1 validator
- EN 16931 validator
- Factur-X / ZUGFeRD validator
- UN/CEFACT CII validator
- VAT number validator
- IBAN validator
- JSON to UBL XML
- Factur-X to UBL
- UBL to JSON
Learn
- Guides
- Common problems
- Send from your software
- Mandates by country
- Compliance timeline
- Rule reference
- Foutcodes (NL)
- Codes d’erreur (FR)
- Peppol-problemen (NL)
- Problèmes Peppol (FR)
- Gidsen (NL)
- Guides (FR)
- Press kit
- Privacy
- Terms
- Imprint
© 2026 InvoiceVerify. Validation results are technical checks, not legal or tax advice.
Made by Kalmwerk · Contact kalmwerk@gmail.com
EN 16931 · Peppol BIS Billing 3.0 · XRechnung 3.0 · Factur-X 1.0 · ZUGFeRD 2.x