1. Home
  2. Kennisbank
  3. Peppol
  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
  1. Home
  2. Kennisbank
  3. Integraties
  4. Hoe gebruik je de Peppol API: stapsgewijze handleiding

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 gestandaardiseerde manier om te integreren met het Peppol-netwerk, met optionele ondersteuning voor aanvullende EDI-stromen, intelligente documentverwerking en gegevensverrijking.

Via de Invoicing API kunt u werken met factuurgerelateerde Peppol-berichten, zoals BIS Billing factuur), BIS Billing Note (creditnota), BIS Self-Billing Invoice, BIS Self-Billing Credit Note en BIS Invoice Response, en deze indien nodig aanvullen met Message Level Response voor technische bevestigingen met betrekking tot facturen en andere Peppol-berichten.

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
  • Ondersteuning voor zowel JSON als XML
  • UBL 2.1 als het onderliggende gegevensmodel
  • 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-qa.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)

Voor alle transacties wordt UBL 2.1 als basisstandaard gebruikt.

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 5a: Een uitgaande Peppol-factuur verzenden

Stap 5.1: Een uitgaande Peppol-factuur verzenden

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

POST https://api-qa.qvalia.com/transaction/{accountRegNo}/invoices/outgoing
POST https://api-qa.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-qa.qvalia.com/transaction/{accountRegNo}/invoices/incoming
GET https://api-qa.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

Deze werkwijze geldt zowel voor het versturen als voor het ontvangen van facturen.

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
Reacties op berichtniveau. Bevestigingen op technisch en zakelijk niveau bijhouden

Omdat dit alles gebruikmaakt van hetzelfde API-ontwerp, hetzelfde authenticatiemodel en hetzelfde UBL 2.1-gegevensmodel, hebt u niet voor elk documenttype aparte projecten of gateways nodig. U kunt nieuwe toepassingen mogelijk maken naarmate uw bedrijf of de behoeften van uw klanten veranderen.

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