1. Home
  2. Kennisbank
  3. Peppol
  4. Hoe gebruik je de Peppol API: stapsgewijze handleiding
  1. Home
  2. Kennisbank
  3. Integraties en API
  4. Hoe gebruik je de Peppol API: stapsgewijze handleiding
  1. Home
  2. Kennisbank
  3. EDI
  4. Hoe gebruik je de Peppol API: stapsgewijze handleiding
  1. Home
  2. Kennisbank
  3. Gebruikershandleidingen
  4. Hoe gebruik je de Peppol API: stapsgewijze handleiding

Hoe gebruik je de Peppol API: stapsgewijze handleiding

Peppol-API

Of u nu een klein bedrijf, een grote onderneming of een softwareleverancier bent: de API van Qvalia biedt u één enkele, op standaarden gebaseerde manier om te integreren met het Peppol-netwerk, met optionele ondersteuning voor aanvullende EDI-stromen, intelligente documentverwerking en gegevensverrijking. Zie ‘Peppol API en ontwikkelaarstools’ voor een overzicht van alle Qvalia-API’s en de Peppol-documenten die ze verwerken.

Via de Invoicing API kunt u werken met Peppol-berichten die betrekking hebben op facturen, zoals de factuur ( BIS Billing ), de creditnota ( BIS Billing Credit Note), de BIS-zelffactuur (BIS Self-Billing Invoice), de BIS-zelfcreditnota (BIS Self-Billing Credit Note) en de BIS-zelfkredietnota ( BIS Invoice Response), en deze indien nodig aanvullen met een Message Level Response voor validatieresultaten op berichtniveau tijdens de MLR-overgangsperiode. Transportontvangstbewijzen, Message Level Status (MLS) tussen dienstverleners en reacties op bedrijfsniveau zijn afzonderlijke mechanismen.

De API kan:

  • Help een klein bedrijf om snel aan de slag te gaan met het versturen van Peppol-facturen
  • Ondersteuning bieden aan grote ondernemingen met gestructureerde berichtenstromen van grote omvang
  • Krachtige facturatiesoftware en ERP-systemen die multi-tenant-connectiviteit vereisen voor een groot aantal klanten

In deze handleiding leer je hoe je:

  • Stel de Transaction API van Qvalia in als uw Peppol- en EDI-hub
  • Verzend je eerste Peppol-factuur via de API
  • Ga verder dan facturen en breid uit naar bestellingen, catalogi en meer
  • Maakt schaalbare modellen voor meerdere gebruikers mogelijk voor softwareleveranciers
  • Voeg geavanceerde, door AI aangestuurde functies toe voor gegevensverrijking en PDF-extractie

Overzicht: API voor Peppol en EDI

De Peppol API biedt een uniforme interface voor elektronische zakelijke berichten via Peppol en EDI. De API is ontwikkeld ter ondersteuning van belangrijke scenario’s, zoals:

  • Facturen en creditnota’s
  • Inkooporders en orderbevestigingen
  • Wijzigingen en annuleringen van bestellingen
  • Catalogi en productupdates
  • Verzendbericht
  • Reacties op berichtniveau en statusupdates

Voor alle eindpunten geldt hetzelfde ontwerpprincipe:

  • Op REST gebaseerde HTTP-eindpunten
  • JSON- en XML-weergaven werden ondersteund door de specifieke eindpunt- en serviceconfiguratie
  • Het toepasselijke Peppol BIS- of PINT-bedrijfsmodel voor elk Peppol-document-eindpunt
  • Foutafhandeling met behulp van standaard HTTP-statuscodes

Voor u betekent dit dat u kunt denken in termen van zakelijke berichten in plaats van netwerken en protocollen. U stelt geldige, op UBL gebaseerde documenten op; Qvalia regelt de Peppol- en EDI-laag op de achtergrond.

Aan de slag: vereisten en installatie

Om aan de slag te gaan met de Peppol API van Qvalia heb je slechts een paar basiszaken nodig:

Qvalia-account
Uw organisatie is nu geregistreerd als klant bij Qvalia. U ontvangt een accountregistratienummer waarmee uw account bij alle transacties uniek kan worden geïdentificeerd.

API-sleutel
De authenticatie verloopt via een API-sleutel, waarbij er aparte sleutels zijn voor de test- en productieomgeving. Alle verzoeken worden via HTTPS met moderne TLS verzonden.

Accountregistratienummer in het URL-pad
Transactieaanroepen bevatten uw accountRegNo in het pad. Bijvoorbeeld:

POST /transactie/{rekeningnummer}/facturen/uitgaand
POST /transaction/{accountRegNo}/invoices/outgoing

Keuze van het formaat: JSON of XML
U kunt via standaard HTTP-headers (Content-Type en Accept) kiezen tussen JSON en XML. Als er geen expliciete keuze wordt gemaakt, is JSON de standaardinstelling.

Zodra deze elementen zijn geïmplementeerd, bent u klaar om het Peppol-verkeer met Qvalia te testen.

Stap voor stap: je eerste Peppol-factuurstroom integreren (verzenden en ontvangen)

In dit hoofdstuk wordt een standaardprocedure voor de eerste integratie tussen uw systeem en de Transaction API van Qvalia beschreven, waarbij zowel het verzenden als het ontvangen van Peppol-facturen aan bod komt.

Stap 1: Begin in de zandbak

Begin met de integratie in de sandbox-omgeving:

  • Basis-URL (voorbeeld): https://api-test.qvalia.com
  • Hetzelfde authenticatiemodel, dezelfde eindpunten en dezelfde structuur als in de productieomgeving

Zo kunt u systemen bouwen en testen zonder dat dit gevolgen heeft voor echte klanten of financiële stromen.

Stap 2: Gebruik je API-sleutel en accountRegNo

Sla in je configuratie het volgende op:

  • Uw API-sleutel (voor de sandbox)
  • Uw accountnummer

Elk verzoek moet het volgende bevatten:

  • Authorization-header met de API-sleutel
  • accountRegNo in het eindpuntpad, bijvoorbeeld:
    Uitgaande facturen: /transaction/{accountRegNo}/invoices/outgoing
    Inkomende facturen (pull): /transaction/{accountRegNo}/invoices/incoming

Stap 3: Kies JSON of XML (op basis van UBL)

Peppol-eindpunten voor bedrijfsdocumenten maken gebruik van de op UBL 2.1 gebaseerde structuur die is gedefinieerd in de toepasselijke BIS- of PINT-specificatie. Andere Qvalia-API’s en -eindpunten kunnen andere payload-modellen gebruiken; raadpleeg de actuele API-documentatie voor het eindpunt dat u implementeert.

Je kunt het volgende doen:

Kopteksten bepalen de opmaak:

JSON (standaard)

Content-Type: application/jsonAccept: application/json
Content-Type: application/jsonAccept: application/json

XML

Content-Type: application/xmlAccept: application/xml
Content-Type: application/xmlAccept: application/xml

Dankzij deze flexibiliteit kunt u de Peppol API zowel in JSON-first- als in XML-first-omgevingen integreren.

Stap 4: Koppel je factuur aan UBL

Koppel vervolgens uw interne factuurmodel aan UBL-elementen. Zowel UBL JSON als UBL XML zijn beschikbaar.

  • Koptekstgegevens (Factuur, Uitgiftedatum, Factuurtypecode)
  • Partijen (AccountingSupplierParty, AccountingCustomerParty)
  • Totalen (BelastingTotaal, WettelijkMonetairTotaal)
  • Regels (Factuurregel, Artikel, Prijs, Belastingcategorie)

Het doel is ervoor te zorgen dat:

  • Alle verplichte velden zijn ingevuld
  • De waarden voldoen aan het betreffende Peppol-profiel (bijvoorbeeld, BIS Billing)
  • Er wordt voldaan aan uw eigen bedrijfsvereisten (referenties, kostenplaatsen, projectcodes)

Vervolgens zet je dit om in JSON of XML, afhankelijk van het formaat dat je hebt gekozen. Voor inkomende facturen gebruik je dezelfde UBL-structuur bij het inlezen, valideren en toewijzen van gegevens uit Qvalia aan je interne model.

Stap 5: Een uitgaande Peppol-factuur verzenden

Een uitgaande Peppol-factuur verzenden

Nu je uitgaande payload klaar is, voorbeeld van een eindpunt:

POST https://api-test.qvalia.com/transaction/{accountRegNo}/invoices/outgoing
POST https://api-test.qvalia.com/transaction/{accountRegNo}/invoices/outgoing

Vermeld:

  • Authorization-header met uw API-sleutel
  • Juiste Content-Type-header (JSON of XML)
  • De op UBL gebaseerde factuurgegevens in de hoofdtekst van het verzoek

Qvalia valideert de factuur, stuurt deze via het Peppol-netwerk ofVAN door en stuurt een reactie terug met identificatiegegevens en de status.

Stap 5.2: Inkomende Peppol-facturen ontvangen

Om inkomende facturen via de API uit Qvalia op te halen, gaat u doorgaans als volgt te werk:

Roep het ontvangende eindpunt aan, bijvoorbeeld:

GET https://api-test.qvalia.com/transaction/{accountRegNo}/invoices/incoming
GET https://api-test.qvalia.com/transaction/{accountRegNo}/invoices/incoming

Je kunt eventueel:

  • Resultaten filteren of doorbladeren (afhankelijk van je instellingen)
  • Gebruik „read“-eindpunten om onderscheid te maken tussen nieuwe en reeds verwerkte facturen

De teruggestuurde UBL-JSON of -XML wordt vervolgens gekoppeld aan uw interne gegevensmodel voor boeking, goedkeuring of verdere verwerking.

Stap 6: Zorg voor monitoring, reacties en foutafhandeling

De Transaction API maakt gebruik van voorspelbare HTTP-statuscodes die je kunt koppelen aan logbestanden, monitoring en gebruikersberichten. Typische patronen:

  • 200 OK – Het verzoek is geslaagd en er worden gegevens teruggestuurd
  • 204 Geen inhoud – Verzoek geslaagd, geen inhoud beschikbaar
  • 400 / 422 – Ongeldige gegevens of schema; pas je payload of de parsering aan
  • 401 / 403 – Problemen met authenticatie of machtigingen
  • 404 – Bron niet gevonden (vaak een probleem met het pad of de ID)
  • 409 – Conflicten, zoals dubbele vermeldingen
  • 429 – Limiet bereikt; verminder het aantal verzoeken
  • 500 – Interne fout; probeer het opnieuw of neem contact op met de helpdesk als de fout blijft optreden

Dezelfde regels gelden, of je nu facturen verstuurt of ontvangt. OpenPeppol vervangt MLR door MLS in de eDelivery-laag: de MLS-activeringsperiode begint op 1 maart 2027, MLS wordt op 1 april 2027 verplicht voor dienstverleners en MLR wordt op 1 mei 2027 buiten gebruik gesteld.

Gebruik het transactielogboek voor operationele opvolging

Naast de API-reacties kun je ook altijd inloggen op Qvalia en de activiteiten in het transactielogboek bekijken. Zo krijg je via de gebruikersinterface een overzicht van wat er in je integratie gebeurt, zoals bijvoorbeeld:

  • Verzonden en ontvangen facturen
  • Status van afzonderlijke transacties
  • Foutdetails en validatiefeedback
  • Tijdstempels op technisch en bedrijfsniveau

Het transactielogboek is handig voor:

  • Eerstelijnsondersteuning en operationele teams die niet rechtstreeks met de API werken
  • Problemen oplossen die door klanten of interne gebruikers zijn gemeld
  • Controleren of wijzigingen in uw integratie in de productieomgeving naar verwachting werken

Samen geven de HTTP-statuscodes en het transactielogboek een volledig beeld: uw systeem kan programmatisch reageren op reacties, terwijl uw team indien nodig direct in Qvalia onderzoek kan doen en actie kan ondernemen.

Meer dan alleen facturen: breid de toepassingsmogelijkheden van uw Peppol-API uit

Zodra u facturen in gebruik hebt, is het eenvoudig om uw integratie uit te breiden naar het volledige Peppol-berichtenaanbod.

Typische uitbreidingen zijn onder meer:
Orders. Gestructureerde bestellingen elektronisch ontvangen en verzenden
Orderreacties en wijzigingen. Bestellingen bevestigen, wijzigen of annuleren
Catalogi. Product- en prijsinformatie bijhouden in elektronische catalogi
Verzendberichten. Verzendinformatie doorgeven
Validatie en status op berichtniveau. MLR volgen tijdens de overgangsperiode, MLS tussen dienstverleners, en de relevante zakelijke reactie voor elk proces

De beschikbare eindpunten maken gebruik van een uniform account- en authenticatiemodel, maar de structuur van de payloads en de ondersteunde berichttypen zijn afhankelijk van het betreffende Peppol-profiel en de configuratie van uw Qvalia-service. Naarmate de behoeften van uw bedrijf of uw klanten veranderen, kunt u nieuwe gebruiksscenario’s inschakelen.

Hier wordt de belofte van „één Peppol-API voor elke behoefte“ werkelijkheid: dezelfde integratie is geschikt voor zowel kleine leveranciers als grote ondernemingen en complexe platformscenario’s.

Partner-API voor facturatiesoftware en ERP-systemen

Als u een softwareleverancier bent — die een facturatieplatform, ERP-systeem, boekhoudoplossing of integratieplatform beheert — zijn uw behoeften iets anders. Met de Partner API van Qvalia kunt u een multi-tenant-configuratie opzetten voor het uitwisselen van berichten voor eindgebruikers, inclusief het beheer van Peppol ID .

De Partner API voor Peppol is nodig als u:

  • Bedien talrijke eindklanten via één platform
  • Zorg voor een duidelijke scheiding tussen de gegevens en transacties van elke klant
  • Vermijd het gebruik van een eigen Peppol-toegangspunt of EDI-gateway

Het partnergerichte model van Qvalia is speciaal voor dit doel ontworpen.

Hoe het instellen van een partner werkt

  • Uw bedrijf wordt als partner aangemeld en krijgt een partner-ID toegewezen.
  • U kunt kiezen uit twee manieren om berichten van eindgebruikers te verwerken: 1) één gezamenlijk gebruikersaccount, of 2) afzonderlijke Qvalia-accounts voor elke eindgebruiker, elk met een eigen accountRegNo.
  • API-aanroepen omvatten zowel uw partnercontext als het specifieke klantenaccount, waardoor u namens hen berichten kunt verzenden en ontvangen.

Voorbeeld: implementatie door een partner

Introductieprogramma

  • Uw organisatie ontvangt partnergegevens en configuratie, waaronder een partnerRegNo en een API-sleutel.
  • Je stelt één integratie met de API van Qvalia in, met behulp van de /partner/{partnerRegNo} voorvoegsel voor alle oproepen binnen het partnerbereik.

Het onboarden van klanten in uw product

  • Wanneer een klant Peppol/e-facturering activeert in uw gebruikersinterface, wordt er voor die klant een Qvalia-account aangemaakt of gekoppeld.
  • U slaat het klantnummer (RegNo) op naast uw eigen klant-ID, zodat u transacties per klant kunt toewijzen.

Aantal verzonden en ontvangen transacties per klant

Uw applicatie genereert of verwerkt UBL-payloads (facturen, bestellingen, enz.) op dezelfde manier als bij de standaard Transaction API. Om transacties namens een specifieke klant te verzenden of te ontvangen, roept u de Transaction API aan via het URI-patroon met het partnervoorvoegsel:

/partner/{partnerRegNo}/transactie/{accountRegNo}/{berichttype}/{richting}
/partner/{partnerRegNo}/transaction/{accountRegNo}/{message-type}/{direction}

Bijvoorbeeld:

  • Een factuur versturen: /partner/{partnerRegNo}/transaction/{accountRegNo}/invoices/outgoing (POST)
  • Inkomende facturen ophalen: /partner/{partnerRegNo}/transaction/{accountRegNo}/invoices/incoming (GET)
  • Gebruik read varianten, indien van toepassing, door toe te voegen read in de weg.

Qvalia stuurt berichten door en ontvangt ze alsof ze rechtstreeks door de klant zijn verzonden of ontvangen, met volledige traceerbaarheid per account.

Voordelen voor softwareleveranciers

  • Eén technische integratie, veel klanten, met een uniform partner- en accountmodel.
  • U hoeft geen eigen Peppol- of EDI-backbone te beheren.
  • Eenvoudige uitbreiding naar nieuwe markten, opdrachten en berichttypes door hetzelfde integratiepatroon voor partners te hergebruiken.

Extra functionaliteit: verrijking met AI-agenten

Naast transport en connectiviteit biedt Qvalia ook de Enrichment API aan, waarmee transacties kunnen worden verrijkt met classificatie op regelniveau, verwerking voor en na de transactie en nog veel meer, en waarmee PDF-documenten met minimale inspanning kunnen worden geëxtraheerd en omgezet in rijke, gestructureerde en gevalideerde gegevens.

De Enrichment API is ontworpen als een asynchrone service:

  • U verstuurt een factuurbestand (bijvoorbeeld een PDF- of XML-bestand) via de API.
  • Je ontvangt een pollingId in het antwoord.
  • Je controleert de status totdat de verrijking is voltooid.
  • Je ontvangt een gestructureerd JSON-resultaat met aanvullende informatie.

Dit resultaat kan het volgende omvatten:

  • De inhoud van de factuur, ontleend aan het oorspronkelijke bestand
  • Controle aan de hand van Peppol- of andere bedrijfsregels
  • Genormaliseerde velden die geschikt zijn voor analyse, automatisering en AI-workflows

Implementatiepatroon

Een typische integratie ziet er als volgt uit:

Dien een factuur in voor verrijking
Roep een eindpunt aan, voeg het factuurbestand en eventuele relevante metagegevens toe, en
Sla de geretourneerde pollingId op.

POST /enrichment/{accountRegNo}/invoice
POST /enrichment/{accountRegNo}/invoice

Poll voor voltooiing
Roep deze functie met regelmatige tussenpozen aan. Tijdens de verwerking bevestigt de API dat de taak nog steeds wordt uitgevoerd. Zodra de taak is voltooid, retourneert de API een status en links naar het verrijkingsresultaat.

GET /enrichment/{accountRegNo}/{pollingId}
GET /enrichment/{accountRegNo}/{pollingId}

Specifieke verrijkingstypen ophalen
Roep deze API aan om een bepaalde verrijkingsuitvoer op te halen, bijvoorbeeld gedetailleerde factuurgegevens of Peppol-validatieresultaten. Voer deze gegevens in uw boekhoudsysteem, analysestack of automatiseringslogica in.

GET /enrichment/{accountRegNo}/{pollingId}/{enrichmentType}
GET /enrichment/{accountRegNo}/{pollingId}/{enrichmentType}

Toepassingsvoorbeelden

  • Kleine bedrijven
    kunnen profiteren van intelligente documentverwerking op bedrijfsniveau; schone, gestructureerde gegevens zonder te hoeven investeren in complexe OCR- of validatietools.
  • Large
    kunnen factuur- en documentgegevens over verschillende vestigingen, systemen en regio’s heen standaardiseren en zo zorgen voor betere gegevensbeheersing, analyse en automatisering van de boekhouding.
  • Softwareaanbieders en partners
    kunnen geavanceerde verrijkingsfuncties rechtstreeks in hun producten integreren, zonder dat ze zelf parse- en regelengines hoeven te ontwikkelen.

In alle gevallen is de toegang tot deze technologie eenvoudig: hetzelfde account- en beveiligingsmodel als bij de Transaction API, en een klein aantal duidelijk omschreven eindpunten.

Toegang tot de Peppol-API voor elk bedrijf

De API van Qvalia is ontwikkeld om u een eenvoudige, schaalbare toegang tot het Peppol-netwerk te bieden, ongeacht het type bedrijf dat u heeft:

  • Een klein bedrijf dat conforme e-facturen moet uitwisselen
  • Een grote onderneming die grote stromen tussen meerdere entiteiten beheert
  • Een softwareleverancier die facturatie-, ERP- of financiële oplossingen aanbiedt aan talrijke klanten

De volgende stap is heel eenvoudig: maak verbinding met de sandbox, verstuur je eerste testfactuur en begin met het uitwerken van een plan om Peppol, EDI en data-enrichment een integraal onderdeel van je bedrijfsvoering of product te maken — in plaats van een apart, complex project.

Was dit artikel nuttig?

Gerelateerde artikelen