InvoiceVerify

Verifique se uma empresa pode receber faturas eletrônicas Peppol (incluindo listas de clientes belgas 0208/9925) e valide faturas UBL, Peppol BIS 3.0, XRechnung e Factur-X; a verificação de recebimento na Bélgica é gratuita e não exige login.

Servidor MCP hospedado

npx add-mcp 'https://peppol-invoice-compass.lovable.app/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

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, search_peppol_directory and check_factur_x tools 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 tools, no sign-in

Three tools need no account and no API key. check_peppol_receivability takes one Belgian enterprise or VAT number and checks it live on Peppol under 0208 and 9925. search_peppol_directory searches the official Peppol Directory by company name, number or Peppol ID. check_factur_x checks a Factur-X or ZUGFeRD invoice. Together they allow 20 calls 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 calls are used up, the tool answers with an error that says when to try again.

{
  "jsonrpc": "2.0", "id": 2, "method": "tools/call",
  "params": {
    "name": "search_peppol_directory",
    "arguments": { "query": "Delhaize", "country": "BE" }
  }
}

Directory results come grouped per company with each Peppol ID, its country, registration date and whether it lists Peppol BIS Billing 3.0 invoices and credit notes, 20 per page. Service providers choose whether to publish a company there, so a missing company may still receive Peppol invoices — confirm a Belgian number with check_peppol_receivability. The same search is on the website as the free Peppol ID lookup.

{
  "jsonrpc": "2.0", "id": 3, "method": "tools/call",
  "params": {
    "name": "check_factur_x",
    "arguments": { "pdf_base64": "JVBERi0xLjcK…", "filename": "facture.pdf" }
  }
}

Send the PDF base64-encoded (up to 3 MB) or only the CII XML as xml. The result names the profile (MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED) and whether France's reform accepts it, lists every container, profile and EN 16931 check as pass, warn or fail with a fix, and links each rule to its explanation. It is not an official validator: full PDF/A-3 conformance, the XSD schema and the EXTENDED-CTC-FR rules are not checked. The document is checked in memory and not stored. The same check runs in the browser on the Factur-X checker.

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 free calls per hour without an account, shared with search_peppol_directory and check_factur_x.

Free, no sign-in

search_peppol_directory

Search the official Peppol Directory by company name, Belgian enterprise/VAT number or Peppol ID: each match's Peppol IDs, country, registration date and Peppol BIS Billing 3.0 invoice and credit-note support. Absence from the Directory doesn't prove a company can't receive Peppol.

Free, no sign-in

check_factur_x

Check a Factur-X / ZUGFeRD PDF (base64) or its CII XML for France's e-invoicing reform: the embedded factur-x.xml, the profile and whether the reform accepts it, PDF/A-3 attachment and XMP metadata at a basic level, and the EN 16931 rules, with fixes. Not an official validator; the document is not stored.

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 tools 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.

Create a free account

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.