Nordlet

← Dokumentation / Guider

Skicka och ta emot fakturor via Peppol

Anslut företagets egna Peppol-åtkomstpunkt (Recommand, Storecove eller e-invoice.be) till Nordlet, skicka fakturor och kreditfakturor över Peppol, följ deras leverans och omvandla inkomna e-fakturor till leverantörsfakturor.

Peppol är det europeiska nätverket för utbyte av strukturerade e-fakturor mellan företag och offentliga organ. Varje faktura skickas från avsändarens åtkomstpunkt (access point) till mottagarens åtkomstpunkt. Nordlet skapar Peppol BIS Billing 3.0-fakturor och -kreditfakturor samt skickar och tar emot dem via ditt företags eget åtkomstpunktkonto.

Peppol fastställer reglerna för hur åtkomstpunkter utbyter dokument med varandra, men inte hur din programvara kommunicerar med din egen åtkomstpunkt, eftersom varje leverantör har sitt eget API. Nordlet stöder följande leverantörer:

Leverantör Skickar Leveransstatus Tar emot
Recommand ja via webhook och på begäran ja
Storecove ja endast via webhook ja
e-invoice.be ja via webhook och på begäran ja

Utan en åtkomstpunkt genererar Nordlet fortfarande Peppol-filen för varje utfärdad faktura och kreditfaktura så att du kan ladda ner den och skicka den på annat sätt, men inget skickas eller tas emot automatiskt.

Vad du behöver

  • Ett konto hos en av leverantörerna ovan, där ditt företag är registrerat på Peppol via leverantören. Varje leverantör tar ut en avgift för sin tjänst; se deras respektive prislistor.
  • Företagets momsregistreringsnummer, organisationsnummer eller Peppol-ID i Nordlet (Konto → Företag → Peppol-ID). Varje kund som du skickar till behöver också ha en av dessa uppgifter på sitt partnerkort.

Ansluta din åtkomstpunkt

Öppna Konto → Regelefterlevnad → EU → Peppol-åtkomstpunkt, välj din leverantör under Leverantör, fyll i fälten för den valda leverantören enligt beskrivningen nedan och spara. Lämna API-webbadress (API base URL) tom om inte din leverantör har angett en annan adress. Efter sparandet visar sidan ditt företags Webhook-webbadress (Webhook URL): https://api.nordlet.com/v1/peppol/webhooks/{provider}/{companyId}, där {provider} är recommand, storecove eller e-invoice-be och {companyId} är ditt företags ID. Varje Nordlet-företag har sin egen webhook-adress.

Nordlet accepterar endast ett webhook-anrop om det bevisar att det känner till din webhook-hemlighet (webhook secret), vilket innebär att anrop som inte kommer från ditt åtkomstpunktkonto avvisas. Nordlet kontaktar enbart externa internetadresser när tjänsten anropar din åtkomstpunkt.

Recommand

  1. Öppna ditt företag i Recommand och kopiera dess företags-ID till Konto-ID vid åtkomstpunkt (Account ID at the access point).
  2. Skapa en API-nyckel (API key) i Recommand och kopiera nyckeln och dess hemlighet till API-nyckel och API-hemlighet (API secret).
  3. Hitta på en lång, slumpmässig text som bara du och Recommand känner till och ange den under Webhook-hemlighet. Spara.
  4. Skapa en webhook för ditt företag i Recommand med den webhook-adress som Nordlet visar och samma webhook-hemlighet.

Recommand signerar varje webhook-anrop med denna hemlighet.

Storecove

  1. Skapa en juridisk enhet (legal entity) för ditt företag i Storecove, inställd för både sändning och mottagning, och kopiera dess ID till Konto-ID vid åtkomstpunkt.
  2. Skapa en API-nyckel under API-nycklar i Storecove och kopiera den till API-nyckel. Lämna API-hemlighet tom.
  3. Hitta på en lång slumpmässig text och ange den under Webhook-hemlighet. Spara.
  4. Konfigurera en push-webhook i Storecove med den webhook-adress som Nordlet visar, skyddad med HTTP Basic-autentisering: valfritt användarnamn och webhook-hemligheten som lösenord.

Storecove har inget anrop för att kontrollera statusen på ett skickat dokument, vilket innebär att leveransstatusen enbart kommer från dess webhook och att fakturasidan saknar knappen Kontrollera Peppol-status. Ett testkonto (sandbox) hos Storecove skickar på Peppols testnätverk; produktions-API-nycklar erhålls från Storecoves support.

e-invoice.be

  1. Gå till API-inställningar i e-invoice.be-appen och kopiera företagets API-nyckel till API-nyckel. Lämna Konto-ID vid åtkomstpunkt och API-hemlighet tomma. Spara.
  2. Skapa en webhook via e-invoice.be-API:et (POST https://api.e-invoice.be/api/webhooks/) med den webhook-adress som Nordlet visar samt händelserna document.received, document.sent och document.sent.failed.
  3. Kopiera det secret som API:et returnerar för den nya webhooken till Webhook-hemlighet i Nordlet och spara igen.

e-invoice.be signerar varje webhook-anrop med denna hemlighet. Ett testföretag hos e-invoice.be e-postar de dokument som det skulle ha skickat i stället för att skicka dem via Peppol.

Skicka en faktura

  1. Utfärda fakturan eller kreditfakturan.
  2. Kontrollera att kunden har ett Peppol-ID, momsregistreringsnummer eller organisationsnummer på sitt partnerkort.
  3. På fakturasidan klickar du på Skicka via Peppol i avsnittet Leverans och bekräftar. Leveransavsnittet visas för utfärdade fakturor som ännu inte är betalda, och knappen visas enbart när åtkomstpunkten är ansluten.

Nordlet skapar Peppol-filen och överlämnar den till din åtkomstpunkt. Fakturasidan visar därefter avsnittet Peppol-leverans:

Status Betydelse
pending Överlämnad till åtkomstpunkten; kundens åtkomstpunkt har ännu inte bekräftat mottagandet
delivered Kundens åtkomstpunkt har bekräftat att fakturan har tagits emot
rejected Kunden har avvisat fakturan; orsaken visas under statusen
failed Fakturan kunde inte levereras; orsaken visas under statusen om åtkomstpunkten anger en sådan

Statusen uppdateras automatiskt när åtkomstpunkten rapporterar en förändring via sin webhook. Kontrollera Peppol-status frågar Recommand eller e-invoice.be om aktuell status omedelbart. Vid användning av e-invoice.be läses även kundens fakturasvar in, och en avvisning (svarskod RE) visas som avvisad. En avvisad eller misslyckad faktura kan skickas igen efter att orsaken har åtgärdats. Om åtkomstpunkten direkt vägrar att hantera en faktura, till exempel på grund av att kunden inte är registrerad på Peppol, visar Nordlet orsaken och fakturan förblir osänd.

Knappen Peppol-XML högst upp på fakturasidan laddar ner samma Peppol-fil utan att skicka den.

En unionsintern försäljning (intra-EU supply) har faktureringsdatumet som leveransdatum och kundens land som leveransland, vilket Peppol-reglerna kräver.

Ta emot fakturor

När åtkomstpunkten rapporterar ett inkommet dokument via sin webhook laddar Nordlet ner Peppol-filen från åtkomstpunkten. Fakturor och kreditfakturor som företaget tar emot visas under Inköp → Dokumentinläsning och markeras som mottagna via Peppol från avsändarens Peppol-ID. Nordlet läser Peppol-filen direkt, vilket innebär att mottagningen inte förbrukar några poäng för dokumenttolkning (document recognition credits).

  1. Öppna det mottagna dokumentet.
  2. Kontrollera leverantör, datum och rader; välj leverantör bland dina partner eller skapa en ny.
  3. Klicka på Spara utkast. Nordlet skapar ett utkast till leverantörsfaktura, eller ett utkast till leverantörkreditfaktura för en mottagen kreditfaktura, med den ursprungliga Peppol-filen bifogad. Registrera den på samma sätt som vilken annan leverantörsfaktura som helst.

Rader i leverantörsfakturor i Nordlet kan inte vara negativa. Rabatter och avgifter för hela dokumentet samt negativa rader fördelas på de rader som har samma momssats. Ett belopp som ingen rad med dess momssats kan rymma, till exempel en returnerad artikel med en momssats som fakturan saknar andra rader för, visas i en andra tabell: Kreditfakturarader för en mottagen faktura, eller Fakturarader för en mottagen kreditfaktura. Dessa rader sparas som ett andra dokument för samma leverantör: en leverantörkreditfaktura kopplad till den nya fakturan med numret "-CR", eller en leverantörsfaktura med numret "-INV". De två dokumenten summerar tillsammans till det mottagna dokumentets totalbelopp.

Kontrollera om en kund finns på Peppol

POST /v1/peppol/participants/lookup med ett partnerId eller ett participantId (":") frågar Peppol-nätverket om mottagaren är registrerad och vilka dokument den accepterar. Funktionen fungerar utan en åtkomstpunkt.

Göra samma sak via API:et

Uppgift Anrop
Anslut åtkomstpunkten POST /v1/declarations/configs/update med system: "peppol" och ett config-objekt innehållande provider (recommand, storecove eller e-invoice-be), accountId, apiKey, apiSecret, webhookSecret samt valfri apiBaseUrl
Ta emot åtkomstpunktens webhook POST /v1/peppol/webhooks/{provider}/{companyId}, anropas av åtkomstpunkten
Ladda ner Peppol-filen POST /v1/sales/invoices/peppol-xml
Skicka POST /v1/sales/invoices/peppol-send (ger 422 utan åtkomstpunkt)
Läs leveransstatus POST /v1/sales/invoices/peppol-status (ger 422 med Storecove); fakturor innehåller fälten peppolMessageId, peppolStatus, peppolDetail, peppolSentAt, peppolCheckedAt
Hitta mottagna dokument POST /v1/capture/documents/list; mottagna dokument har provider: "peppol" och senderId
Omvandla ett dokument till en leverantörsfaktura POST /v1/capture/documents/confirm, med oppositeLines för det andra dokumentet

Webhook-händelser: sale_invoice.peppol_sent, sale_invoice.peppol_delivered, sale_invoice.peppol_rejected, sale_invoice.peppol_failed och document_capture.peppol_received. Se API-konventioner för information om felhantering, idempotens och webhooks.