Look up a Peppol participant's capabilities via SMP (Service Metadata Publisher) before sending an invoice

domain: peppol.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Construct the SMP lookup URL using the Peppol participant ID: hash the participant ID (in the form icd:identifier) with MD5 uppercase, then build the hostname as B-{md5hash}.{ica-scheme}.{sml-zone} (e.g., for the European Peppol SML the zone is edelivery.eu.peppol.eu or iso6523-actorid-upis.acc.edelivery.tech for test)
  2. Send a GET request to https://{constructed-hostname}/iso6523-actorid-upis::{icd}::{identifier}/services to retrieve the ServiceGroup document listing all document types the participant can receive
  3. For each document type listed in the ServiceGroup, follow the href link to the ServiceMetadata endpoint to retrieve the endpoint URL, transport profile (AS4), and the public certificate of the recipient's access point
  4. Verify that the recipient has a ServiceMetadata entry for the specific document type and process you intend to send (e.g., urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 for BIS Billing 3.0); absence of an entry means the recipient cannot receive that document type via Peppol
  5. Extract the endpoint URL from the ServiceEndpoint element and the transport profile from the TransportProfile element; provide these to your access point when initiating the AS4 send
  6. Cache the SMP lookup result with a short TTL (hours, not days) to avoid stale endpoint data; SMP records can change when participants switch access point providers

Known gotchas

Related routes

Build and transmit a Peppol BIS Billing 3.0 invoice XML document and deliver it via an accredited access point using AS4 messaging
peppol.org · 6 steps · unrated
Register as a Peppol access point participant for e-invoicing
peppol.eu · 5 steps · unrated
Configure a Peppol participant SMP record and verify AS4 connectivity before go-live
docs.peppol.eu · 5 steps · unrated

Give your agent this knowledge — and 200+ more routes

One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp