Peppol ist ein internationales, offenes B2B-Netzwerk, das es Unternehmen ermöglicht, strukturierte Geschäftsdokumente wie Bestellungen und Rechnungen effizient auszutauschen.
Das Verständnis der technischen Spezifikationen und des Implementierungsprozesses von Peppol ist für Entwickler von entscheidender Bedeutung, um robuste Systeme zu entwickeln, die die organisatorische Effizienz steigern. Dieser Leitfaden umreißt die wichtigsten Konzepte und technischen Anleitungen für Entwickler, die mit elektronischen Bestellungen mit Peppol beginnen wollen.
Was ist Peppol?
Peppol (Pan-European Public Procurement Online) ist ein Rahmenwerk, das den elektronischen Dokumentenaustausch zwischen Unternehmen und öffentlichen Organisationen standardisiert. Es handelt sich nicht um ein ERP-System, ein Portal oder eine Beschaffungsplattform, sondern um ein Protokoll, das die Interoperabilität zwischen verschiedenen Systemen ermöglicht.
Peppol verwendet das Vier-Ecken-Modell, d. h. jede Organisation verbindet sich über den von ihr gewählten Peppol Access Point-Anbieter mit dem Netzwerk, wodurch die Notwendigkeit entfällt, Dienstanbieter mit Geschäftspartnern abzustimmen.
Die wichtigsten Merkmale von Peppol sind:
- Standardisierung: Eine gemeinsame Sprache für Geschäftsdokumente in verschiedenen Branchen.
- Interoperabilität: Kompatibilität zwischen Systemen weltweit.
- Skalierbarkeit: Einfacher Anschluss neuer Partner ohne zusätzliche Entwicklung.
Peppol bietet Entwicklern ein Framework zur Integration strukturierter elektronischer Auftragsabwicklung in bestehende Geschäftsprozesse.
Erste Schritte bei der Bestellung von Peppol
Die Implementierung elektronischer Bestellungen in Peppol erfordert ein Verständnis der Business Interoperability Specifications (BIS), der Nachrichtensyntax und der Datenaustauschanforderungen.
Im Folgenden finden Sie eine Aufschlüsselung der sechs wichtigsten Schritte und ihrer technischen Aspekte.
1. Verstehen der grundlegenden Elemente
Entwickler, die Peppol-Rechnungen implementieren, müssen wissen, wie sie die cbc-Elemente gemäß den Peppol-BIS-Richtlinien richtig ausfüllen, um die Übereinstimmung mit den Dokumenten und eine erfolgreiche Übertragung zu gewährleisten.
Im Zusammenhang mit Peppol und der UBL-Syntax (Universal Business Language) für Rechnungen steht cbc für Common Basic Components. Diese vordefinierten Datenelemente innerhalb des UBL-Schemas stellen grundlegende, wiederverwendbare Bausteine von Geschäftsdokumenten wie Rechnungen, Bestellungen und Versandanzeigen dar.
Hauptmerkmale der cbc-Elemente
- Einfache Datentypen: cbc-Elemente sind in der Regel atomar und stellen einfache Daten wie Text, numerische Werte, Daten oder Codes dar.
- Grundlegende Informationen: Sie erfassen wesentliche, einfache Datenpunkte wie Identifikatoren, Daten, Geldbeträge oder Beschreibungen.
- Wiederverwendbarkeit: Diese Komponenten sind so konzipiert, dass sie für verschiedene UBL-Dokumenttypen wiederverwendet werden können.
2. Peppol BIS-Profil für Bestellungen wählen
Peppol unterstützt drei Hauptspezifikationen, auch Profile genannt, für Bestellprozesse. Jedes BIS ist für bestimmte Anwendungsfälle konzipiert, und die Geschäftspartner müssen sich darauf einigen, welches zu verwenden ist.
BIS Order Only: Für einfache Bestellungen ohne Antwort des Lieferanten.
BIS Ordering: Enthält Bestellungsantworten zur Bestätigung der Annahme, Ablehnung oder Teilannahme.
BIS Despatch Advice: Informiert den Käufer über Versanddetails.
3. Die Syntax der Peppol-Bestellung verstehen
Die Peppol Order Transaktion (T01) folgt der UBL (Universelle Geschäftssprache) Standard.
Um Peppol effektiv zu implementieren, müssen die Entwickler genau wissen, wie sie die cbc-Elemente gemäß den Peppol-BIS-Richtlinien ausfüllen, um sowohl die Einhaltung der Vorschriften als auch eine reibungslose Übertragung zu gewährleisten. Die Einhaltung der erforderlichen Syntax für alle Dokumentelemente ist von entscheidender Bedeutung, da Abweichungen von den Peppol-Validierungsregeln zu Fehlern führen können, die den Bestellprozess stören.
Im Folgenden finden Sie einige Beispiele für Kernelemente von Auftragsdokumenten:
UBL-Element | Beschreibung |
cbc:ID | Eine eindeutige Auftragskennung. |
cbc:OrderTypeCode | Gibt die Auftragsart an, z. B. eine Bestellung. |
cbc:DocumentCurrencyCode | Gibt die Währung an (z. B. "EUR"). |
cac:ValidityPeriod | Gibt das Verfallsdatum der Bestellung an. |
Merkmale der cbc-Elemente
Datendarstellung: cbc-Elemente stellen in der Regel einzelne Datenfelder dar, wodurch sie einfach zu verwenden und zu validieren sind.
Attribute: Einige cbc-Elemente enthalten Attribute wie currencyID (für Beträge) oder unitCode (für Mengen).
Obligatorisch/optional: In den Peppol BIS-Richtlinien (Business Interoperability Specification) ist festgelegt, welche cbc-Elemente obligatorisch, optional oder bedingt erforderlich sind.
Vergleich mit cac (Common Aggregate Components)
Während cbc für Basiskomponenten steht, wird cac (Common Aggregate Components) für komplexe Datenstrukturen verwendet, die verwandte cbc- und andere cac-Elemente zusammenfassen. Zum Beispiel fasst cac:Party alle Informationen über eine Wirtschaftseinheit zusammen, wie Name, Adresse und Identifikatoren.
Weitere Einzelheiten zu bestimmten cbc-Elementen, die in der Peppol-UBL-Bestellung verwendet werden, finden Sie in der offiziellen Peppol-Dokumentation BIS Ordering .
3. Integrieren mit einem Peppol Access Point
Peppol-Transaktionen werden über zertifizierte Peppol-Zugangspunkte, auch Peppol-Service-Provider genannt, verteilt. Als Entwickler muss sich Ihre Anwendung mit der API eines Anbieters verbinden, um Dokumente zu übertragen und zu empfangen. Die Zugangspunkte kümmern sich um die technische Komplexität der Weiterleitung von Nachrichten an und von Handelspartnern.
Erfahren Sie mehr über den Zugriff auf Peppol-Bestellungen über die Order API.
4. Implementierung von Validierung und Fehlerbehandlung
Die Validierung gewährleistet die Einhaltung der Peppol-Regeln und der BIS-Anforderungen. Implementieren Sie robuste Validierungsprüfungen, um Fehler vor der Übertragung zu erkennen. Prüfen Sie zum Beispiel Pflichtfelder wie cbc:ID
und cbc:DocumentCurrencyCode
. Validieren Sie Datenformate, einschließlich Daten, Währungen und Bezeichner.
Die Formatvalidierung ist für Benutzer des Peppol Access Point von Qvalia integriert und automatisiert.
5. Test in einer Sandbox-Umgebung
Bevor Sie Ihre Lösung einsetzen, sollten Sie die Integration in einer Sandbox-Umgebung testen, die Ihnen Ihr Access Point-Anbieter zur Verfügung stellt. Auf diese Weise können Sie verschiedene Szenarien simulieren, z. B. die Übermittlung von Bestellungen, den Empfang von Antworten und die Verwaltung von Versandanzeigen.
Technische Einblicke: Struktur der Peppol-Aufträge
Peppol-Aufträge basieren auf XML-basierten UBL-Schemata. Im Folgenden finden Sie einen kurzen Überblick über die wichtigsten Elemente der Auftragsstruktur:
Dokumentenkopf
Die Kopfzeile enthält wichtige Metadaten über die Bestellung.
UBL-Element | Beschreibung |
<cbc:ID> | Eine eindeutige Kennung für das Auftragsdokument (z. B. "1234567"). |
<cbc:IssueDate> | Das Datum, an dem das Auftragsdokument ausgestellt wurde (z. B. "2024-08-14"). |
<cbc:OrderTypeCode> | Gibt die Art der Bestellung an, wobei "220" in der Regel für eine Bestellung steht. |
<cbc:DocumentCurrencyCode> | Gibt die im Bestelldokument verwendete Währung an (z.B. "EUR"). |
Informationen für Käufer und Verkäufer
Der Käufer und der Verkäufer werden durch die Segmente cac:BuyerCustomerParty und cac:SellerSupplierParty definiert.
UBL-Element | Beschreibung |
<cac:BuyerCustomerParty> | Stellt den Käufer in der Transaktion dar und enthält Details über die Kundenpartei. |
<cac:Party> | Enthält Informationen über die Partei des Käufers, z. B. Kennungen und Namen. |
<cbc:EndpointID schemeID=”0088″> | Die elektronische Adresse des Käufers, wobei "schemeID" die Art der Kennung angibt (z. B. "GLN" in diesem Fall). |
<cac:PartyName> | Enthält den Handelsnamen des Käufers. |
<cbc:Name> | Gibt den Namen des Käufers an (z. B. "Käufername"). |
Zeilen bestellen
In jeder Auftragszeile werden die Artikel, die Mengen und die Preise angegeben.
UBL-Element | Beschreibung |
<cac:OrderLine> | Stellt eine einzelne Zeile in der Bestellung dar, die Einzelheiten über den Artikel und seine Menge enthält. |
<cbc:ID> | Eine eindeutige Kennung für die Auftragszeile (z. B. "1"). |
<cbc:Quantity unitCode=”EA”> | Gibt die Menge der Positionen in der Bestellzeile an, wobei "unitCode" die Maßeinheit definiert (z. B. "50" Einheiten, gemessen in "Each"). |
<cac:Item> | Enthält Einzelheiten über den bestellten Artikel. |
<cbc:Name> | Der Name oder die Beschreibung des Artikels (z. B. "Produktname"). |
<cac:SellersItemIdentification> | Gibt die Kennung des Verkäufers für den Artikel an. |
<cbc:ID> | Die eindeutige Kennung des Verkäufers für das Produkt (z. B. "87654321"). |
Erweiterte Funktionen: Versandanzeigen Dokumente
Die Spezifikation BIS Despatch Advice ermöglicht es den Lieferanten, die Käufer über die Einzelheiten der Lieferung zu informieren.
Die Nachricht kann Folgendes enthalten:
UBL-Element | Beschreibung |
<cac:DespatchAdvice> | Das Wurzelelement, das das gesamte Lieferavis-Dokument darstellt und dazu dient, den Empfänger über die Einzelheiten der Sendung zu informieren. |
<cbc:ID> | Eine eindeutige Kennung für das Lieferavis-Dokument (z. B. "654321") |
<cbc:IssueDate> | Das Datum, an dem das Lieferavis ausgestellt wurde (z. B. "2024-08-20") |
<cac:Delivery> | Enthält Einzelheiten über die Zustellung der Sendung. |
<cac:DeliveryLocation> | Gibt den Ort an, an dem die Sendung zugestellt werden soll. |
<cbc:ID> (innerhalb von DeliveryLocation) | Die eindeutige Kennung für den Lieferort (z. B. "Warehouse ID"). |
<cbc:Name> | Der Name des Lieferorts (z. B. "Name des Lagers"). |
Bewährte Praktiken für Entwickler
Befolgen Sie die Peppol BIS-Richtlinien: Halten Sie sich immer an die offizielle Peppol BIS-Dokumentation, um die Konformität zu gewährleisten.
Beachten Sie lokale Abweichungen: Peppol ist zwar ein globaler Standard, aber einige Sektoren oder Regionen können spezifische Anpassungen erfordern.
Automatisieren Sie die Validierung: Führen Sie vor der Übermittlung automatische Überprüfungen auf Syntax- und Inhaltskonformität durch.
Daten sichern: Stellen Sie sicher, dass alle übertragenen Daten mit der GDPR und anderen Datenschutzbestimmungen übereinstimmen.
Peppol bietet einen robusten Rahmen für elektronische Bestellungen, der es Unternehmen ermöglicht, Abläufe zu rationalisieren und die Datengenauigkeit zu verbessern. Für Entwickler ist das Verständnis der technischen Spezifikationen von Peppol BIS, der UBL-Schemata und der Access Point-Integration entscheidend, um skalierbare und effiziente Lösungen zu erstellen.