Nordlet

← Documentatie / Handleidingen

Facturen verzenden en ontvangen via Peppol

Verbind het eigen Peppol-toegangspunt van uw bedrijf (Recommand, Storecove of e-invoice.be) met Nordlet, verstuur facturen en creditnota's via Peppol, volg de bezorging en zet ontvangen e-facturen om in inkoopfacturen.

Peppol is het Europese netwerk voor het uitwisselen van gestructureerde e-facturen tussen bedrijven en overheden. Elke factuur reist van het toegangspunt van de verzender naar het toegangspunt van de ontvanger. Nordlet maakt Peppol BIS Billing 3.0-facturen en -creditnota's aan, en verzendt en ontvangt deze via het eigen toegangspuntaccount van uw bedrijf.

Peppol stelt regels vast voor hoe toegangspunten documenten met elkaar uitwisselen, maar niet hoe uw software communiceert met uw eigen toegangspunt: elke provider heeft een eigen API. Nordlet werkt samen met deze providers:

Provider Verzenden Bezorgstatus Ontvangen
Recommand ja via webhook en op verzoek ja
Storecove ja alleen via webhook ja
e-invoice.be ja via webhook en op verzoek ja

Zonder toegangspunt maakt Nordlet nog steeds het Peppol-bestand aan van elke uitgegeven factuur en creditnota, zodat u dit kunt downloaden en op een andere manier kunt doorgeven; er wordt dan niets verzonden of ontvangen.

Wat u nodig hebt

  • Een account bij een van de bovenstaande providers, waarbij uw bedrijf via die provider is geregistreerd op Peppol. Elke provider brengt kosten in rekening voor zijn dienst; raadpleeg hiervoor de desbetreffende prijslijst.
  • In Nordlet het btw-nummer of KvK-nummer van het bedrijf, of het Peppol-ID van het bedrijf (Account → Bedrijven → Peppol-ID). Elke klant waarnaar u verzendt, moet dit ook hebben op de respectievelijke partnerkaart.

Uw toegangspunt verbinden

Open Account → Compliance → EU → Peppol-toegangspunt, kies uw provider bij Provider, vul de velden voor die provider in zoals hieronder beschreven en sla de wijzigingen op. Laat API-basis-URL leeg, tenzij uw provider u een afwijkend adres heeft verstrekt. Na het opslaan toont de pagina de Webhook-URL van uw bedrijf: https://api.nordlet.com/v1/peppol/webhooks/{provider}/{companyId}, waarbij {provider} gelijk is aan recommand, storecove of e-invoice-be en {companyId} het ID van uw bedrijf is. Elk Nordlet-bedrijf heeft een eigen webhook-URL.

Nordlet accepteert een webhook-aanroep alleen wanneer kan worden aangetoond dat het webhook-geheim bekend is, waardoor een aanroep die niet afkomstig is van uw toegangspuntaccount wordt geweigerd. Nordlet neemt alleen contact op met openbare internetadressen wanneer het uw toegangspunt aanroept.

Recommand

  1. Open uw bedrijf in Recommand en kopieer het bedrijfs-ID naar Account-ID bij het toegangspunt.
  2. Maak een API-sleutel aan in Recommand en kopieer de sleutel en bijbehorende geheime sleutel naar API-sleutel en API-geheim.
  3. Bedenk een lange, willekeurige tekst die alleen bij u en Recommand bekend is en voer deze in bij Webhook-geheim. Sla op.
  4. Maak in Recommand een webhook aan voor uw bedrijf met de webhook-URL die Nordlet toont en hetzelfde webhook-geheim.

Recommand ondertekent elke webhook-aanroep met dat geheim.

Storecove

  1. Maak in Storecove een rechtspersoon (legal entity) aan voor uw bedrijf, ingesteld om zowel te verzenden als te ontvangen, en kopieer het bijbehorende ID naar Account-ID bij het toegangspunt.
  2. Maak onder API-sleutels (API Keys) in Storecove een API-sleutel aan en kopieer deze naar API-sleutel. Laat API-geheim leeg.
  3. Bedenk een lange, willekeurige tekst en voer deze in bij Webhook-geheim. Sla op.
  4. Stel in Storecove een push-webhook in met de webhook-URL die Nordlet toont, beveiligd met HTTP Basic-authenticatie: een willekeurige gebruikersnaam en het webhook-geheim als wachtwoord.

Storecove heeft geen aanroep voor de status van een verzonden document, dus bij Storecove is de bezorgstatus uitsluitend afkomstig van de webhook en bevat de factuurpagina geen knop Peppol-status controleren. Een Storecove-sandboxaccount verzendt op het Peppol-testnetwerk; productie-API-sleutels zijn verkrijgbaar bij de ondersteuning van Storecove.

e-invoice.be

  1. Kopieer in de e-invoice.be-app onder API-instellingen (API Settings) de API-sleutel van uw bedrijf naar API-sleutel. Laat Account-ID bij het toegangspunt en API-geheim leeg. Sla op.
  2. Maak een webhook aan via de e-invoice.be-API (POST https://api.e-invoice.be/api/webhooks/) met de webhook-URL die Nordlet toont en de gebeurtenissen document.received, document.sent en document.sent.failed.
  3. Kopieer het secret dat de API retourneert voor de nieuwe webhook naar Webhook-geheim in Nordlet en sla opnieuw op.

e-invoice.be ondertekent elke webhook-aanroep met dat geheim. Een sandboxbedrijf bij e-invoice.be e-mailt de documenten die het normaliter zou verzenden in plaats van ze via Peppol te versturen.

Een factuur verzenden

  1. Maak de factuur of creditnota aan.
  2. Controleer of de klant een Peppol-ID, btw-nummer of registratienummer heeft op de partnerkaart.
  3. Klik op de factuurpagina in de sectie Bezorging op Verzenden via Peppol en bevestig. De sectie Bezorging wordt getoond voor uitgegeven facturen die nog niet zijn betaald, en de knop verschijnt alleen wanneer het toegangspunt is verbonden.

Nordlet bouwt het Peppol-bestand en overhandigt dit aan uw toegangspunt. De factuurpagina toont vervolgens een sectie Peppol-bezorging:

Status Betekenis
pending Overgedragen aan het toegangspunt; het toegangspunt van de klant heeft dit nog niet bevestigd
delivered Het toegangspunt van de klant heeft bevestigd dat de factuur is ontvangen
rejected De klant heeft de the factuur geweigerd; de reden wordt weergegeven onder de status
failed De factuur kon niet worden bezorgd; de reden wordt weergegeven onder de status wanneer het toegangspunt er een verstrekt

De status wordt automatisch bijgewerkt wanneer het toegangspunt een wijziging doorgeeft via de webhook. Met Peppol-status controleren kunt u direct de huidige status opvragen bij Recommand of e-invoice.be; bij e-invoice.be wordt hiermee tevens de factuurreactie van de klant uitgelezen, waarbij een weigering (responscode RE) wordt getoond als geweigerd. Een geweigerde of mislukte factuur kan opnieuw worden verzonden nadat u de oorzaak heeft verholpen. Wanneer het toegangspunt een factuur direct weigert, bijvoorbeeld omdat de klant niet op Peppol is geregistreerd, toont Nordlet de reden en blijft de factuur onverzonden.

Met de knop Peppol-XML bovenaan de factuurpagina kunt u hetzelfde Peppol-bestand downloaden zonder het te verzenden.

Een intracommunautaire levering vermeldt de factuurdatum als leveringsdatum en het land van de klant als land van levering, zoals vereist door de Peppol-regels.

Facturen ontvangen

Wanneer het toegangspunt een ontvangen document meldt via de webhook, downloadt Nordlet het Peppol-bestand van het toegangspunt. Facturen en creditnota's die uw bedrijf ontvangt, verschijnen bij Inkoop → Documentverwerking, gemarkeerd als ontvangen via Peppol van het Peppol-ID van de verzender. Nordlet leest het Peppol-bestand zelf uit, waardoor er voor het ontvangen geen tegoeden voor documentherkenning worden verbruikt.

  1. Open het ontvangen document.
  2. Controleer de leverancier, de datums en de regels; selecteer de leverancier uit uw partners of maak deze aan.
  3. Klik op Ontwerp opslaan. Nordlet maakt een concept-inkoopfactuur aan (of een concept-inkoopcreditnota voor een ontvangen creditnota), met het originele Peppol-bestand als bijlage. Registreer het document zoals elke andere inkoopfactuur.

Inkoopfactuurregels in Nordlet kunnen niet negatief zijn. Kortingen en toeslagen voor het gehele document, evenals negatieve regels, worden verdeeld over de regels met hetzelfde btw-tarief. Een bedrag dat door geen enkele regel met dat btw-tarief kan worden gedragen, zoals een geretourneerd artikel met een btw-tarief waarvoor de factuur geen andere regels bevat, wordt weergegeven in een tweede tabel: Creditnotaregels voor een ontvangen factuur, of Factuurregels voor een ontvangen creditnota. Die regels worden opgeslagen als een tweede document voor dezelfde leverancier: een inkoopcreditnota tegenover de nieuwe factuur, genummerd "-CR", of een inkoopfactuur genummerd "-INV". Samen vormen de twee documenten de totalen van het ontvangen document.

Controleren of een klant op Peppol zit

Met POST /v1/peppol/participants/lookup en een partnerId of een participantId (":") kunt u bij het Peppol-netwerk navragen of de ontvanger is geregistreerd en welke documenten deze accepteert. Dit werkt ook zonder toegangspunt.

Hetzelfde doen via de API

Taak Aanroep
Het toegangspunt verbinden POST /v1/declarations/configs/update met system: "peppol" en config met daarin provider (recommand, storecove of e-invoice-be), accountId, apiKey, apiSecret, webhookSecret en optioneel apiBaseUrl
De webhook van het toegangspunt ontvangen POST /v1/peppol/webhooks/{provider}/{companyId}, aangeroepen door het toegangspunt
Het Peppol-bestand downloaden POST /v1/sales/invoices/peppol-xml
Verzenden POST /v1/sales/invoices/peppol-send (422 zonder toegangspunt)
De bezorgstatus uitlezen POST /v1/sales/invoices/peppol-status (422 bij Storecove); facturen bevatten peppolMessageId, peppolStatus, peppolDetail, peppolSentAt, peppolCheckedAt
Ontvangen documenten opzoeken POST /v1/capture/documents/list; ontvangen documenten hebben provider: "peppol" en senderId
Een document omzetten in een inkoopfactuur POST /v1/capture/documents/confirm, met oppositeLines voor het tweede document

Webhook-gebeurtenissen: sale_invoice.peppol_sent, sale_invoice.peppol_delivered, sale_invoice.peppol_rejected, sale_invoice.peppol_failed en document_capture.peppol_received. Raadpleeg API-conventies voor informatie over fouten, idempotentie en webhooks.