Wie Peppol über SML, DNS NAPTR und SMP den richtigen Empfänger findet: Schritt für Schritt erklärt, einschließlich häufiger Fehlermeldungen.
Der Service Metadata Publisher (SMP) ist das Adressbuch des Peppol-Netzwerks. Wenn ein Access Point (AP) ein Dokument versendet, verwendet er die Participant Identifier des Empfängers, um -- über den Service Metadata Locator (SML) und das Domain Name System (DNS) -- herauszufinden, bei welchem SMP der Empfänger registriert ist, welche Endpoint-URL angesprochen wird und welche Dokumenttypen unterstützt werden. Dieser Artikel beschreibt die Discovery-Kette Schritt für Schritt.
Peppol ist ein offenes Netzwerk: Es gibt keine zentrale Mailbox, die alle Dokumente empfängt und verteilt. Stattdessen betreibt jeder zertifizierte Dienstleister seinen eigenen SMP mit den Metadaten seiner Kunden -- welche Dokumente sie empfangen können, über welchen AP und mit welchen Zertifikaten sie signieren. Der sendende AP muss vor jeder Übertragung ermitteln, wohin das Dokument gesendet werden soll, und verwendet dafür den SMP des Empfängers.
Die SMP-Spezifikation ist ein Standard der Organization for the Advancement of Structured Information Standards (OASIS). eConnect ist auf der eDelivery-SMP-konformen Lösungsliste der Europäischen Kommission mit einer eigenen Implementierung aufgeführt.
Jede Organisation in Peppol hat mindestens eine Participant Identifier, aufgebaut aus einem Scheme und einem Value:
iso6523-actorid-upis::<scheme>:<value>
Das Scheme ist ein Code aus der Electronic Address Scheme (EAS)-Codeliste -- ein OpenPeppol-Register nationaler und internationaler Identifizierungssysteme. Die am häufigsten verwendeten EAS-Codes:
iso6523-actorid-upis::0106:54441587iso6523-actorid-upis::0190:00000001820029336000iso6523-actorid-upis::9944:NL851306469B01iso6523-actorid-upis::0208:0899965307iso6523-actorid-upis::0204:991-01234-56iso6523-actorid-upis::0192:745707327iso6523-actorid-upis::0235:100123456700003iso6523-actorid-upis::0088:1548079098355Eine vollständige Übersicht ist unter docs.peppol.eu/edelivery/codelists/ und in Peppol-ID und Identifikatoren verfügbar.
Der sendende AP beantwortet bei jedem Dokument drei Fragen:
Die Participant Identifier wird MD5-gehasht und in Kleinbuchstaben hexadezimal kodiert. Der Hash-Wert wird zum linksten Label einer SML-Domain, gefolgt vom Peppol-Scheme und der SML-Zone. Für die Produktion:
B-<md5>.iso6523-actorid-upis.edelivery.tech.ec.europa.eu
Die Peppol-Testumgebung verwendet eine separate SML-Zone. Seit März 2026 werden für Produktion und Test ausschließlich NAPTR-Records publiziert -- die alten CNAME-Records wurden entfernt.
Der sendende AP führt eine DNS-Abfrage auf die obige Domain durch, für den Recordtyp NAPTR (Naming Authority Pointer). NAPTR ist seit 1. Februar 2026 verpflichtend. Die NAPTR-Antwort enthält einen Service-Tag (Meta:SMP) und ein regexp-Feld, das auf die SMP-URL des Empfängers verweist:
B-<md5>.iso6523-actorid-upis.edelivery.tech.ec.europa.eu
IN NAPTR 100 10 "U" "Meta:SMP" "!^.*$!https://smp.example.com/!" .
Ergebnis: Der AP weiß, unter welcher SMP-URL der Empfänger registriert ist.
Mit der SMP-URL erstellt der AP die spezifische Metadaten-URL für diesen Teilnehmer:
GET https://smp.example.com/iso6523-actorid-upis%3A%3A0106%3A54441587
Der SMP gibt eine ServiceGroup in XML mit allen unterstützten Dokumenttypen zurück. Pro Dokumenttyp ruft der AP über eine zweite Anfrage die ServiceMetadata ab:
GET https://smp.example.com/iso6523-actorid-upis%3A%3A0106%3A54441587/services/<DocumentTypeId>
Die Antwort enthält die Endpoint-URL, das Transportprofil, den Prozess und das PKI-Zertifikat des empfangenden AP. Mit diesen Informationen verschlüsselt und signiert C2 das Dokument, öffnet eine AS4-Verbindung zu C3 unter der gefundenen EndpointURI und liefert es ab.
Die folgende End-to-End-Illustration zeigt, wie eine niederländische Participant Identifier (KvK-Nummer) zu einer konkreten Endpoint-URL führt:
1. Absender möchte Rechnung senden an:
iso6523-actorid-upis::0106:54441587 (eConnect, EAS 0106 -- KvK)
2. Sender-AP führt DNS NAPTR-Lookup durch:
B-<md5>.iso6523-actorid-upis.edelivery.tech.ec.europa.eu
--> SMP-URL: https://smp.econnect.eu/
3. Sender-AP fragt SMP ab:
GET https://smp.econnect.eu/iso6523-actorid-upis%3A%3A0106%3A54441587
--> ServiceGroup mit u.a. DocumentTypeId für NLCIUS-Rechnung
4. Sender-AP fragt ServiceMetadata für NLCIUS ab:
GET https://smp.econnect.eu/iso6523-actorid-upis%3A%3A0106%3A54441587/services/<NLCIUS-DocumentTypeId>
--> EndpointURI: https://ap.econnect.eu/as4
--> Certificate: <X.509 / PKI-Zert.>
--> TransportProfile: peppol-transport-as4-v2_0
5. Sender-AP erstellt SBDH mit Routing-Metadaten,
signiert und sendet über AS4 + TLS an die EndpointURI.
Bei der Registrierung in einem SMP werden pro Organisation Capabilities pro Dokumentfamilie konfiguriert:
invoicesselfbillinginvoiceResponseorderOnlyorderAdvancedorderResponsepintProfilesmls / mlrJede Capability hat einen Wert on, off oder inherited. Der vollständige Satz an Capabilities bestimmt, welche Dokumenttypen der sendende AP im SMP finden kann -- und damit, wofür ein Empfänger tatsächlich erreichbar ist.
SMP-Lookups werden bei jeder Übertragung durchgeführt. Für Skalierung und Robustheit setzt der eConnect-SMP eine eigene Caching-Schicht ein: Lookups bleiben verfügbar -- auch wenn ein externer SMP vorübergehend nicht erreichbar ist -- indem gecachte Metadaten innerhalb der Gültigkeitsdauer wiederverwendet werden. eConnect garantiert 99,99% Uptime auf dem SMP.
Zwei ähnlich klingende Begriffe, die in der Praxis häufig verwechselt werden:
edelivery.tech.ec.europa.eu für die Produktion), in der alle Participant Identifiers veröffentlicht werden und die auf den richtigen SMP verweist. Es gibt einen Produktions-SML und einen Test-SML; OpenPeppol übernimmt die Verwaltung von der Europäischen Kommission (Übergang bis Ende August 2026).Vergleichbar mit DNS: Der SML ist das übergeordnete Telefonbuch, das auf das richtige regionale Verzeichnis verweist; der SMP ist dieses Verzeichnis mit den tatsächlichen Daten.
Neben dem maschinenlesbaren SMP gibt es zwei öffentliche Frontends für manuelle Nachschlagungen:
No valid delivery options / PartyId not found zurückgibt, oder umgekehrt. Verwenden Sie das Directory nicht als Beweis, dass jemand empfangen kann oder nicht.Für eine zuverlässige Antwort auf die Frage kann dieser Empfänger empfangen oder nicht muss eine echte SMP-Lookup durchgeführt werden -- nicht die Directory-Ansicht abfragen. Zwei öffentliche Tools führen die tatsächliche Peppol-Lookup durch (dieselbe Lookup, die der eConnect PSB ausführt):
Gelingt die Lookup in einem dieser Tools, ist der Empfänger erreichbar; schlägt sie fehl (PartyId not found / keine Delivery Options), ist der Empfänger für diesen Dokumenttyp tatsächlich nicht angeschlossen -- unabhängig davon, was das Peppol Directory anzeigt. Programmgesteuert liefert queryRecipientParty des PSB dasselbe, autoritative Ergebnis.
Im Peppol Directory zeigt das Feld „additional information“ den Namen des registrierenden Dienstleisters -- bei eConnect-PSB-Registrierungen steht hier „eConnect“. Dies sind SMP-Registrar-Metadaten des registrierenden SP und gehören nicht zur per Teilnehmer konfigurierbaren businessCard. Pro-Teilnehmer konfigurierbare Felder laufen über businessCard.names; das Feld „additional information“ liegt außerhalb dieses Bereichs und ist daher nicht pro Teilnehmer konfigurierbar -- auch nicht für White-Label-Partner, die über den eConnect-PSB-Endpoint registrieren.
Für Kunden, die programmgesteuert prüfen möchten, ob ein Empfänger erreichbar ist, bietet der eConnect Peppol Service Bus (PSB) den queryRecipientParty-Endpoint, der den SMP direkt abfragt und angibt, über welchen Kanal und in welchem Format der Empfänger erreichbar ist.
Eine Participant Identifier kann nur bei einem SMP gleichzeitig registriert sein -- andernfalls wüsste C2 nicht, wohin das Dokument gesendet werden soll. Bei einem Wechsel gilt ein Migrationsverfahren mit einem Migrationsschlüssel: Der aktuelle SMP erzeugt einen Schlüssel, und der neue SMP verwendet diesen, um die Registrierung nahtlos zu übernehmen. Während des Übergangs bleibt die Organisation erreichbar; der Identifier ändert sich nicht, sodass Handelspartner nichts bemerken. Siehe Peppol-Registrierung für das Verfahren bei eConnect.
SMP not found / NAPTR-Auflösung schlägt fehlqueryRecipientParty prüfenService not foundNo valid delivery optionsinvoices-Capability nicht aktiviert -- siehe Abschnitt untenCertificate expired / invalidEndpoint not reachablequeryRecipientParty timeoutEin Empfänger kann in Peppol auffindbar sein -- die NAPTR-Lookup und SMP-Abfrage gelingen -- und dennoch keine Rechnungen empfangen können. Der SMP publiziert nämlich pro Dokumenttyp eine Capability. Das Empfangen von Rechnungen fällt unter invoices; das Zurücksenden eines Business-Status (BIS Invoice Response 3.0) fällt unter die separate Capability invoiceResponse. Dies sind unabhängige Registrierungen.
Ist ein Empfänger auf seiner Peppol-ID ausschließlich für Invoice Response transaction 3.0 registriert (invoiceResponse auf on, invoices auf off), findet der sendende AP keinen invoices-Endpoint im SMP. Es gibt dann keinen gültigen Lieferpfad für eine Rechnung, und die eConnect-Plattform meldet No valid delivery options beim Versenden. Der Empfänger kann über diese Kennung zwar einen Invoice Response zurücksenden, aber selbst keine Rechnung darauf empfangen.
Wichtig: Dies ist kein Fehler auf der Seite von eConnect oder des Absenders -- es ist eine korrekte Darstellung dessen, was der Empfänger in seinem eigenen SMP veröffentlicht hat.
Zwei Lösungswege:
invoices) registriert ist. Eine Organisation kann mehrere Identifiers mit je eigenen Dokumenttyp-Capabilities registrieren.Bei Zweifeln prüfen Sie, welche Dokumenttypen ein Empfänger über den Peppol Lookup Service oder programmgesteuert über queryRecipientParty publiziert.
Das Peppol Directory (directory.peppol.eu) ist ein asynchrones Register, das regelmäßig Daten von SMPs abruft. Es kann hinter dem aktuellen Registrierungsstatus zurückbleiben und ist daher unzuverlässig für Erreichbarkeitsprüfungen. Der Peppol Lookup Service (lookup.peppol.org) fragt den SMP direkt ab und zeigt den aktuellen Status. Für die Fehlerbehebung ist der Lookup Service maßgebend. Alternativen, die ebenfalls den SMP direkt abfragen: test.peppolautoriteit.nl/discover und peppol.helger.com.
Ein Empfänger kann im Peppol-Register stehen, aber ausschließlich für Invoice Response (Capability invoiceResponse) und nicht für den Rechnungsempfang (Capability invoices) registriert sein. Es gibt dann keinen gültigen Lieferpfad für eine Rechnung. Prüfen Sie über queryRecipientParty oder den Peppol Lookup Service, welche Capabilities aktiv sind, und kontaktieren Sie den Empfänger für einen alternativen Übermittlungsweg oder eine andere Peppol-ID.
Eine Änderung in der tatsächlichen SMP-Registrierung wirkt sich bei der nächsten Übertragung direkt aus: Der sendende AP fragt den SMP bei jeder Übertragung neu ab. Externe, nicht-autoritative Ansichten wie das Peppol Directory (directory.peppol.eu) oder peppolcheck.be können die Änderung durch ihre eigene Caching-Strategie und asynchrones Abholen erst später anzeigen. Beachten Sie den Unterschied: Tools, die den SMP direkt abfragen -- wie test.peppolautoriteit.nl/discover und peppol.helger.com -- zeigen stets den aktuellen Status. Für den maßgeblichen Status ist der Peppol Lookup Service oder eine direkte SMP-Abfrage über queryRecipientParty führend.
Ja. Eine Organisation kann mehrere Participant Identifiers registrieren -- jeweils auf einem anderen EAS-Scheme (z. B. KvK und USt-IdNr.). Pro Identifier können eigene Dokumenttyp-Capabilities konfiguriert werden. Wenn eine Rechnung auf einer ID mit No valid delivery options abgewiesen wird, lohnt es sich zu prüfen, ob der Empfänger eine andere Peppol-ID mit aktivierter invoices-Capability hat.
Mehr über Peppol-ID und Identifikatoren