Peppol voor ontwikkelaars: aan de slag met elektronische bestellingen

Peppol voor ontwikkelaars die aan de slag gaan met elektronische bestellingen

Peppol is een internationaal open B2B-netwerk waarmee organisaties gestructureerde bedrijfsdocumenten zoals bestellingen en facturen efficiënt kunnen uitwisselen.

Inzicht in de technische specificaties en het implementatieproces van Peppol is van cruciaal belang voor ontwikkelaars om robuuste systemen te bouwen die de efficiëntie van organisaties verbeteren. Deze gids geeft een overzicht van de belangrijkste concepten en technische richtlijnen voor ontwikkelaars om aan de slag te gaan met elektronische bestellingen met behulp van Peppol.

Wat is Peppol?

Peppol (Pan-European Public Procurement Online) is een raamwerk dat de elektronische uitwisseling van documenten tussen bedrijven en overheidsinstanties standaardiseert. Het is geen ERP-systeem, portaal of inkoopplatform, maar een protocol dat interoperabiliteit tussen verschillende systemen mogelijk maakt.

Peppol maakt gebruik van het vierhoekmodel, wat betekent dat elke organisatie via de door haar gekozen Peppol Access Point-provider verbinding maakt met het netwerk, waardoor het niet meer nodig is om serviceproviders af te stemmen op zakenpartners.

Het Peppol-vierhoekmodel.


De belangrijkste kenmerken van Peppol zijn:

  • Standaardisatie: een gemeenschappelijke taal voor zakelijke documenten in alle sectoren.
  • Interoperabiliteit: compatibiliteit tussen systemen wereldwijd.
  • Schaalbaarheid: eenvoudig nieuwe partners toevoegen zonder extra ontwikkeling.
    Peppol biedt ontwikkelaars een raamwerk om gestructureerde elektronische orderverwerking te integreren in bestaande bedrijfsprocessen.

Aan de slag met Peppol-bestellingen

Om elektronische bestellingen in Peppol te implementeren, moet u de Business Interoperability Specifications (BIS), de berichtensyntaxis en de vereisten voor gegevensuitwisseling begrijpen.

Hier volgt een overzicht van de zes belangrijkste stappen en de technische overwegingen daarbij.

1. De basiselementen begrijpen

Ontwikkelaars die Peppol-facturen implementeren, moeten begrijpen hoe ze cbc-elementen correct moeten invullen volgens de Peppol BIS-richtlijnen om te zorgen dat documenten aan de regels voldoen en succesvol worden verzonden.

In de context van Peppol en de UBL-syntaxis (Universal Business Language) voor facturen staat cbc voor Common Basic . Deze vooraf gedefinieerde gegevenselementen binnen het UBL-schema vertegenwoordigen basisbouwstenen die hergebruikt kunnen worden in zakelijke documenten zoals facturen, bestellingen en verzendberichten.

Belangrijkste kenmerken van cbc-elementen

  1. Eenvoudige gegevenstypen: cbc-elementen zijn doorgaans atomair en vertegenwoordigen eenvoudige gegevens zoals tekst, numerieke waarden, datums of codes.
  2. Basic : Ze leggen essentiële, eenvoudige gegevens vast, zoals identificatiegegevens, datums, geldbedragen of beschrijvingen.
  3. Herbruikbaarheid: Deze componenten zijn ontworpen om herbruikbaar te zijn in verschillende soorten UBL-documenten.

2. Kies het Peppol BIS-profiel voor bestellingen

Peppol ondersteunt drie primaire specificaties, ook wel profielen genoemd, voor orderprocessen. Elk BIS is ontworpen voor specifieke gebruikssituaties en zakenpartners moeten overeenkomen welk profiel ze gaan gebruiken.

BIS Order Only: Voor eenvoudige bestellingen zonder reactie van de leverancier.
BIS Ordering: Bevat reacties op bestellingen om acceptatie, afwijzing of gedeeltelijke acceptatie te bevestigen.
BIS Despatch Advice: Informeert de koper over de verzendgegevens.

3. Begrijp de syntaxis van Peppol-bestellingen

De Peppol Order-transactie (T01) volgt de UBL-standaard (Universal Business Language) standaard.

Om Peppol effectief te implementeren, moeten ontwikkelaars grondig begrijpen hoe ze cbc-elementen moeten invullen in overeenstemming met de Peppol BIS-richtlijnen, zodat zowel de naleving als een vlotte verzending worden gegarandeerd. Het is essentieel om de vereiste syntaxis voor alle documentelementen na te leven, aangezien afwijkingen van de validatieregels van Peppol kunnen leiden tot fouten die het bestelproces verstoren.

Hier volgen enkele voorbeelden van kernelementen voor orderdocumenten:

UBL-elementBeschrijving
cbc:IDEen unieke orderidentificatiecode.
cbc:OrderTypeCodeGeeft het ordertype aan, zoals een inkooporder.
cbc:DocumentvalutacodeGeeft de valuta aan (bijvoorbeeld 'EUR').
cac:GeldigheidsperiodeGeeft de vervaldatum van de bestelling aan.

Kenmerken van cbc-elementen

Gegevensweergave: cbc-elementen vertegenwoordigen doorgaans afzonderlijke gegevensvelden, waardoor ze eenvoudig te gebruiken en te valideren zijn.
Attributen: Sommige cbc-elementen bevatten attributen zoals currencyID (voor bedragen) of unitCode (voor hoeveelheden).
Verplicht/optioneel: De Peppol BIS-richtlijnen (Business Interoperability Specification) specificeren welke cbc-elementen verplicht, optioneel of voorwaardelijk vereist zijn.

Vergelijking met cac (Common Aggregate Components)

Terwijl cbc basiscomponenten vertegenwoordigt, wordt cac (Common Aggregate Components) gebruikt voor complexe gegevensstructuren die gerelateerde cbc- en andere cac-elementen groeperen. Cac:Party groepeert bijvoorbeeld alle informatie over een bedrijfsentiteit, zoals de naam, het adres en de identificatiegegevens.

Voor meer informatie over specifieke cbc-elementen die worden gebruikt bij Peppol UBL-bestellingen, raadpleeg de officiële Peppol BIS Ordering .

3. Integratie met een Peppol-toegangspunt

Peppol-transacties worden gedistribueerd via gecertificeerde Peppol-toegangspunten, ook wel Peppol-serviceproviders genoemd. Als ontwikkelaar moet uw applicatie verbinding maken met de API van een provider om documenten te verzenden en te ontvangen. Toegangspunten zorgen voor de technische complexiteit van het routeren van berichten van en naar handelspartners.

Meer informatie over toegang tot Peppol-bestellingen via Order API.

4. Validatie en foutafhandeling implementeren

Validatie zorgt ervoor dat de regels van Peppol en de BIS-vereisten worden nageleefd. Implementeer robuuste validatiecontroles om fouten vóór verzending op te sporen. Controleer bijvoorbeeld verplichte velden zoals cbc:ID en cbc:DocumentCurrencyCode. Valideer gegevensformaten, waaronder datums, valuta's en identificatiegegevens.

Formaatvalidaties zijn ingebouwd en geautomatiseerd voor gebruikers van Qvalia's Peppol Access Point.

5. Test in een sandbox-omgeving

Test de integratie in een sandbox-omgeving van uw Access Point-provider voordat u uw oplossing implementeert. Zo kunt u verschillende scenario's simuleren, zoals het plaatsen van bestellingen, het ontvangen van reacties en het beheren van verzendadviesberichten.

Technische inzichten: Structuur van Peppol-bestellingen

Peppol-bestellingen zijn gebaseerd op XML-gebaseerde UBL-schema's. Hieronder volgt een kort overzicht van de belangrijkste elementen in de bestelstructuur:

Documentkoptekst

De koptekst bevat belangrijke metadata over de bestelling.

UBL-elementBeschrijving
<cbc:ID>Een unieke identificatiecode voor het orderdocument (bijvoorbeeld '1234567').
<cbc:IssueDate>De datum waarop het orderdocument is uitgegeven (bijvoorbeeld "2024-08-14").
<cbc:OrderTypeCode>Geeft het type order aan, waarbij '220' doorgaans een inkooporder vertegenwoordigt.
<cbc:DocumentCurrencyCode>Geeft de valuta aan die in het orderdocument wordt gebruikt (bijvoorbeeld 'EUR').

Informatie over koper en verkoper

De koper en verkoper worden gedefinieerd met behulp van de segmenten cac:BuyerCustomerParty en cac:SellerSupplierParty.

UBL-elementBeschrijving
<cac:BuyerCustomerParty>Vertegenwoordigt de koper in de transactie en bevat details over de klant.
<cac:Party>Biedt informatie over de koper, zoals identificatiegegevens en namen.
<cbc:EndpointID schemeID=”0088″>Het elektronische adres van de koper, waarbij "schemeID" het type identificatiecode aangeeft (in dit geval bijvoorbeeld "GLN").
<cac:PartyName>Bevat de handelsnaam van de koper.
<cbc:Name>Geeft de naam van de koper aan (bijvoorbeeld 'Naam koper').

Bestellijnen

Elke orderregel specificeert de artikelen, hoeveelheden en prijzen.

UBL-elementBeschrijving
<cac:OrderLine>Vertegenwoordigt een afzonderlijke regel in de bestelling, met details over het artikel en de hoeveelheid ervan.
<cbc:ID>Een unieke identificatiecode voor de orderregel (bijvoorbeeld '1').
<cbc:Quantity unitCode=”EA”>Geeft het aantal artikelen in de orderregel aan, waarbij "unitCode" de meeteenheid definieert (bijvoorbeeld "50" eenheden, gemeten in "Stuks").
<cac:Item>Bevat details over het bestelde artikel.
<cbc:Name>De naam of beschrijving van het artikel (bijvoorbeeld 'Productnaam').
<cac:SellersItemIdentification>Geeft de identificatiecode van de verkoper voor het artikel weer.
<cbc:ID>De unieke identificatiecode van de verkoper voor het product (bijvoorbeeld '87654321').

Geavanceerde functies: Verzendadviesdocumenten

Met de BIS Despatch Advice kunnen leveranciers kopers informeren over verzendgegevens.

Het bericht kan het volgende bevatten:

UBL-elementBeschrijving
<cac:DespatchAdvice>Het hoofdelement dat het volledige verzendadviesdocument vertegenwoordigt, gebruikt om de ontvanger op de hoogte te stellen van de verzendgegevens.
<cbc:ID>Een unieke identificatiecode voor het verzendadviesdocument (bijvoorbeeld '654321')
<cbc:IssueDate>De datum waarop het verzendadviesdocument is uitgegeven (bijvoorbeeld "2024-08-20")
<cac:Delivery>Bevat details over de levering van de zending.
<cac:DeliveryLocation>Geeft de locatie aan waar de zending moet worden afgeleverd.
<cbc:ID> (binnen DeliveryLocation)De unieke identificatiecode voor de leveringslocatie (bijvoorbeeld 'Magazijn-ID').
<cbc:Name>De naam van de leveringslocatie (bijvoorbeeld 'Naam magazijn').

Best practices voor ontwikkelaars

Volg de Peppol BIS-richtlijnen: Houd u altijd aan de officiële Peppol BIS-documentatie om naleving te garanderen.
Ga om met lokale variaties: Hoewel Peppol een wereldwijde standaard is, kunnen sommige sectoren of regio's specifieke aanpassingen vereisen.
Automatiseer validatie: Implementeer geautomatiseerde controles voor syntaxis en inhoudscontrole vóór verzending.
Beveilig gegevens: Zorg ervoor dat alle verzonden gegevens voldoen aan de AVG en andere privacyregels.

Peppol biedt een robuust kader voor elektronische bestellingen, waardoor bedrijven hun activiteiten kunnen stroomlijnen en de nauwkeurigheid van gegevens kunnen verbeteren. Voor ontwikkelaars is het begrijpen van de technische specificaties van Peppol BIS, UBL-schema's en Access Point-integratie van cruciaal belang voor het creëren van schaalbare en efficiënte oplossingen.