Multi-Channel-Zustellung konfigurieren

Mehrere Zustellkanäle konfigurieren: Peppol, DICO, andere Procurement-Netzwerke, E-Mail-Fallback und Prioritäten.

Eine der leistungsfähigsten Eigenschaften der PSB ist die Multi-Channel-Zustellung: Über eine einzige API-Integration erreichen Sie Empfänger auf Peppol, anderen Procurement-Netzwerken und per E-Mail. Die PSB wählt automatisch den besten Kanal, Sie können die Zustellung aber auch selbst steuern.

Wie funktioniert Multi-Channel?

Standardmäßig routet die PSB alle Rechnungen über Peppol. Das System prüft, ob der Empfänger auf Peppol registriert ist, und sendet die Rechnung über das Peppol-Netzwerk. Wenn der Empfänger nicht auf Peppol registriert ist, greift der Fallback-Mechanismus.

Durch die Konfiguration mehrerer Hooks mit Send*-Topics können Sie zusätzliche Kanäle aktivieren:

KanalKonfigurationVerwendungPeppolStandard, immer aktivPrimäre Route für alle Peppol-TeilnehmerDICOHook mit DICO-TopicRechnungen der Baubranche über den DICO-KettenstandardAndere NetzwerkeHook mit netzwerkspezifischer KonfigurationZustellung an Procurement-Netzwerke wie Coupa und SAP Ariba (siehe Konfiguration unten)E-Mail-FallbackHook mit E-Mail-TopicEmpfänger, die über kein Netzwerk erreichbar sindSFTPHook mit SFTP-KonfigurationOn-Premise-Systeme mit DateiübertragungHTTPSHook mit HTTPS-KonfigurationEnterprise-Systeme mit direktem API-EmpfangCollabrrHook mit Collabrr-KonfigurationDokumente von/an die Collabrr-Plattform; kann in demselben Aufruf eine Versandanweisung mitgeben (z. B. „versende über Peppol“). Verwendet Collabrr-ID (-0003:XC...) als Identifier
Automatische Kanalauswahl

Die PSB wählt den Kanal anhand einer Prioritätsreihenfolge:

  1. PartyId-Level-Hooks haben Vorrang vor Environment-Level-Hooks. Wenn Sie für einen bestimmten Empfänger einen Kanal konfiguriert haben, wird dieser Kanal immer verwendet
  2. Spezifische Topics haben Vorrang vor Wildcards. Ein Hook für InvoiceSent hat Vorrang vor einem Wildcard-Hook
  3. Wenn mehrere Hooks mit Filtern auf dasselbe Topic zutreffen: Der längste Filter (nach Zeichenanzahl) gewinnt -- ein Filter mit einer zusätzlichen &&-Klausel gewinnt beispielsweise gegen einen kürzeren Filter ohne diese Klausel
  4. Bei gleicher Priorität: Hook-ID als Tiebreaker (alphanumerisch -- Integer-IDs kommen vor Text, zum Beispiel: 1 < 02 < 10 < dico < peppol)

Bevor Sie eine Rechnung versenden, können Sie über queryRecipientParty prüfen, welchen Kanal die PSB verwenden wird. Es gibt zwei Endpoints, einen pro Dokumenttyp:

POST /api/v1/{partyId}/salesInvoice/queryRecipientParty
POST /api/v1/{partyId}/purchaseOrder/queryRecipientParty

Der Body akzeptiert ein einfaches Array ["0106:12345678"] oder ein Objekt mit Meta-Attributen { "partyIds": [...], "metaAttributes": {...} }. Optionale Query-Parameter: ?preferredDocumentTypeId, ?includeOptions, ?documentFamily (nur beim purchaseOrder-Variant).

Die Antwort zeigt den ausgewählten Kanal und die verfügbaren Alternativen.

Validierungsregel: ein Identifier pro Scheme pro Aufruf

Innerhalb desselben queryRecipientParty-Aufrufs darf pro Scheme/Agency-Code (z. B. 0106, 0190, 0208, 9944) höchstens ein Identifier angegeben werden. Mehrere Identifiers in verschiedenen Schemes innerhalb desselben Aufrufs sind erlaubt.

Bei einem Verstoß antwortet die PSB mit:

EConnect.Psb.Models.EConnectException: 'Duplicate id agencies {code} requested.'

wobei {code} der Agency-Code ohne führende Null ist (Scheme 0208208). Um mehrere Kandidaten innerhalb desselben Schemes zu testen, führen Sie separate API-Aufrufe durch -- einen pro Kandidat.

Für erweiterte Lookups inklusive Access Point-URL und Zertifikat steht der Peppol-Endpoint zur Verfügung:

GET /api/v1/peppol/deliveryOption?partyIds=...&documentFamily=...&isCredit=...&documentTypeIds=...&preferredDocumentTypeId=...

Die Antwort enthält partyId, documentTypeId, processId, protocol (As2/As4), url und certificate.

Kanal erzwingen

In manchen Fällen möchten Sie die automatische Kanalauswahl übersteuern. Das ist mit dem Queryparameter ?channel={hookId} an den Send-Endpoints möglich:

POST /api/v1/{partyId}/salesInvoice/send?channel=hook-123-abc

Dies zwingt die PSB, den angegebenen Kanal (Hook) zu verwenden, unabhängig von der automatischen Auswahl.

Peppol mit E-Mail-Fallback als eigenem Kanal

Eine häufig genutzte Kombination ist ein Peppol-Hook mit einem E-Mail-Hook als Fallback. Über Conditional Output Topics veröffentlicht der Peppol-Hook bei Zustellfehlern (HTTP 400, 404 oder 500) ein Send*Fallback-Topic, auf das der E-Mail-Hook hört. Wenn derselbe E-Mail-Hook auch explizit auf Send* hört (zusätzlich zu Send*Fallback), erscheint er automatisch als Kanal peppol-fallback in der queryRecipientParty-Antwort. Damit kann der aufrufende Code den Kanal über ?channel=peppol-fallback explizit wählen, was für Szenarien nützlich ist, in denen Peppol bewusst übersprungen wird.

Coupa und Ariba einrichten
Coupa

eConnect transformiert UBL-Rechnungen automatisch in das cXML-Format, das Coupa erwartet. Die Verbindung erfordert:

  1. Ihr Kunde erstellt Konten in der Coupa CSP Test- und Live-Umgebung
  2. Die empfangende Partei erstellt ein Shared Secret
  3. TechSupport konfiguriert die Verbindung in der PSB
Ariba (SAP Business Network)

Die Ariba-Verbindung arbeitet mit 1-zu-1-Handelsbeziehungen, anders als das offene Peppol-Netzwerk:

  1. Der Lieferant teilt seine AN-ID mit dem Käufer
  2. SAP kann bei höherem Volumen ein kostenpflichtiges Abonnement verlangen
  3. Die Testumgebung verwendet eine AN-ID mit dem Suffix „-T"
Onboarding von cXML über eConnect

eConnect wandelt eine UBL-Rechnung in cXML um und liefert diese beim Ariba-Empfänger ab, auf die gleiche Weise wie bei der Coupa-Transformation oben. Der Onboarding-Prozess verläuft wie folgt:

  1. Sie melden sich beim SAP Business Network an.
  2. Sie stimmen mit dem Empfänger ab, wie dieser das cXML empfangen möchte, und füllen darauf basierend das eConnect-Onboardingformular aus.
  3. Auf Basis des Formulars stellt eConnect die Verbindung zum Empfänger her, zunächst über das Testnetzwerk, danach live.

SAP-Abonnementschwelle: für die automatisierte Versendung/den Empfang von cXML über Ihr eigenes ERP-System (über eConnect) ist mindestens das SAP-Abonnementniveau Silver (Enterprise) erforderlich. Dieses Niveau deckt Volumina von 25 bis 99 Dokumenten pro Jahr ab.

XML-Transformation

Die PSB konvertiert automatisch zwischen allen gängigen E-Rechnungsformaten. Wenn Sie eine Rechnung im NLCIUS-Format versenden, der Empfänger aber XRechnung erwartet, transformiert die PSB das Dokument automatisch. Dies funktioniert für alle unterstützten Standards: BIS Billing, NLCIUS, PINT, XRechnung, Svefaktura, ebInterface, DICO, SETU und weitere.

Die Transformation ist ab dem 10K-Paket verfügbar.

SI 2.0 und SALES005

Die PSB unterstützt die Transformation in beide Richtungen zwischen SI 2.0 und SALES005:

  • SI 2.0 → SALES005
  • SALES005 → SI 2.0

Wichtig: SALES005-Rechnungen dürfen nicht über Peppol versendet werden. Das Versenden von SALES005 erfordert eine E-Mail-Kopplung. Multi-Channel-Zustellung löst dies: Sie senden primär über Peppol, mit automatischem Fallback auf E-Mail, wenn nötig.

Zielformat auf allen Kanälen außer Peppol

Beim Versenden über E-Mail, SFTP oder HTTPS-Endpoint können Sie ein targetFormat angeben. Die PSB transformiert die Rechnung dann on-the-fly in das gewünschte Format. Ein Kunde, der eine UBL-Rechnung nach SALES005 konvertieren möchte, gibt beim Download oder Versand eine targetDocumentTypeId an -- die Rechnung wird dann automatisch transformiert.

Peppol unterstützt kein targetFormat (SALES005 ist über Peppol nicht zulässig). Auf allen anderen Kanälen -- E-Mail, SFTP, HTTPS -- ist targetFormat verfügbar.

Verfügbarkeit

Multi-channel Delivery ist nicht standardmäßig in der Basisdienstverlening enthalten und muss separat als eigenständiger Dienst/Konfiguration erworben werden. Wenden Sie sich an den TechSupport für die in Ihrer Situation verfügbaren Optionen.

Praxisszenario

Ein großes Unternehmen versendet Rechnungen an:

  • Niederländische Kunden → Peppol (automatisch)
  • Unternehmen der Baubranche → DICO (spezifischer Hook pro PartyId)
  • Einen Konzern auf einem anderen Procurement-Netzwerk → spezifischer Hook
  • Kleine Lieferanten ohne Netzwerk → E-Mail-Fallback
  • Collabrr-Plattformnutzer → Collabrr (automatisch über Collabrr-ID)

Alle Rechnungen werden über dieselbe API versendet (POST /api/v1/{partyId}/salesInvoice/send). Die PSB sorgt pro Rechnung für die richtige Zustellung, das richtige Format und den richtigen Kanal.

Häufig gestellte Fragen
Wie bestimmt die PSB, welcher Kanal für eine Rechnung verwendet wird?

Die PSB wählt den Kanal anhand einer Prioritätsreihenfolge. PartyId-Level-Hooks haben Vorrang vor Environment-Level-Hooks, und spezifische Topics haben Vorrang vor Wildcards. Standardmäßig routet die PSB über Peppol. Wenn der Empfänger nicht auf Peppol ist, greift der konfigurierte Fallback (z. B. DICO, Coupa oder E-Mail).

Kann ich den automatisch ausgewählten Kanal überschreiben?

Ja, mit dem Queryparameter ?channel={hookId} an den Send-Endpoints erzwingen Sie einen bestimmten Kanal. Dies überschreibt die automatische Kanalauswahl. Sie können vorab über queryRecipientParty prüfen, welchen Kanal die PSB wählen würde, und auf Basis dessen entscheiden, ob Sie übersteuern möchten.

Unterstützt Multi-Channel auch andere Dokumenttypen als Rechnungen?

Ja, Multi-Channel-Routing funktioniert für alle Dokumenttypen, die die PSB unterstützt, wie Gutschriften, Bestellungen und Bestellbestätigungen. Alle Dokumente werden über dieselbe API versendet, und die PSB sorgt pro Dokument für die richtige Zustellung, das richtige Format und den richtigen Kanal.


Benötigen Sie Hilfe bei der Einrichtung der Multi-Channel-Zustellung? Kontaktieren Sie TechSupport.

API-Referenz öffnen