Nordlet

← Dokumentacija / Vodiči

Slanje i primanje računa putem mreže Peppol

Povežite vlastitu Peppol pristupnu točku (access point) svog poduzeća (Recommand, Storecove ili e-invoice.be) s aplikacijom Nordlet, šaljite račune i odobrenja putem mreže Peppol, pratite njihovu dostavu i pretvarajte primljene e-račune u ulazne račune.

Peppol je europska mreža za razmjenu strukturiranih e-računa između poslovnih subjekata i tijela javne vlasti. Svaki račun putuje od pristupne točke pošiljatelja do pristupne točke primatelja. Nordlet izrađuje račune i odobrenja u skladu s normom Peppol BIS Billing 3.0 te ih šalje i prima putem računa pristupne točke vašeg poduzeća.

Peppol propisuje pravila o tome kako pristupne točke međusobno razmjenjuju dokumente, ali ne i način na koji vaš softver komunicira s vašom pristupnom točkom, budući da svaki pružatelj usluge ima vlastiti API. Nordlet podržava sljedeće pružatelje:

Pružatelj usluge Slanje Status dostave Primanje
Recommand da putem webhooka i na zahtjev da
Storecove da samo putem webhooka da
e-invoice.be da putem webhooka i na zahtjev da

Bez pristupne točke, Nordlet i dalje generira Peppol datoteku za svaki izdani račun i odobrenje kako biste ju mogli preuzeti i proslijediti na drugi način, no u tom slučaju ne šalje niti prima dokumente.

Što vam je potrebno

  • Korisnički račun kod jednog od gore navedenih pružatelja usluga, s registriranim poduzećem na mreži Peppol. Svaki pružatelj naplaćuje svoju uslugu u skladu s vlastitim cjenikom.
  • U aplikaciji Nordlet, OIB ili matični broj poduzeća, odnosno Peppol ID (Račun → Poduzeća → Peppol ID). Svaki kupac kojem šaljete dokumente također mora imati jedan od tih podataka na svojoj kartici partnera.

Povezivanje pristupne točke

Otvorite Račun → Usklađenost → EU → Peppol pristupna točka, odaberite svog pružatelja usluge u polju Pružatelj usluge (Provider), ispunite polja za tog pružatelja kako je opisano u nastavku i spremite promjene. Ostavite polje Bazni URL API-ja (API base URL) praznim osim ako vam pružatelj nije dodijelio drugu adresu. Nakon spremanja, na stranici će se prikazati URL webhooka (Webhook URL) vašeg poduzeća: https://api.nordlet.com/v1/peppol/webhooks/{provider}/{companyId}, pri čemu je {provider} oznaka recommand, storecove ili e-invoice-be, a {companyId} identifikator vašeg poduzeća. Svako poduzeće u aplikaciji Nordlet ima vlastiti URL webhooka.

Nordlet prihvaća poziv webhooka samo ako sadrži ispravnu tajnu oznaku (secret), čime se odbijaju pozivi koji ne dolaze s računa vaše pristupne točke. Nordlet kontaktira javne internetske adrese isključivo prilikom pozivanja vaše pristupne točke.

Recommand

  1. U sustavu Recommand otvorite svoje poduzeće i kopirajte njegov ID poduzeća u polje ID računa na pristupnoj točki (Account ID at the access point).
  2. U sustavu Recommand izradite API ključ (API key) te kopirajte ključ i pripadajuću tajnu oznaku u polja API ključ i Tajni ključ API-ja (API secret).
  3. Osmislite dugačak nasumični niz znakova koji će biti poznat samo vama i sustavu Recommand te ga unesite u polje Tajna oznaka webhooka (Webhook secret). Spremite promjene.
  4. U sustavu Recommand izradite webhook za svoje poduzeće koristeći URL webhooka koji prikazuje Nordlet i istu tajnu oznaku webhooka.

Recommand potpisuje svaki poziv webhooka tom tajnom oznakom.

Storecove

  1. U sustavu Storecove izradite pravnu osobu (legal entity) za svoje poduzeće s postavkama za slanje i primanje, te kopirajte njezin ID u polje ID računa na pristupnoj točki.
  2. U sustavu Storecove, pod karticom API ključevi (API Keys), izradite API ključ i kopirajte ga u polje API ključ. Ostavite polje Tajni ključ API-ja praznim.
  3. Osmislite dugačak nasumični niz znakova i unesite ga u polje Tajna oznaka webhooka. Spremite promjene.
  4. U sustavu Storecove postavite push webhook s URL-om webhooka koji prikazuje Nordlet, zaštićen osnovnom HTTP autentifikacijom (HTTP Basic authentication): proizvoljno korisničko ime i tajna oznaka webhooka kao lozinka.

Storecove nema poziv za provjeru statusa poslanog dokumenta, stoga status dostave stiže isključivo putem njegovog webhooka, a stranica računa ne sadrži gumb Provjeri Peppol status. Sandbox račun u sustavu Storecove šalje dokumente na testnoj mreži Peppol, dok produkcijske API ključeve izdaje korisnička podrška sustava Storecove.

e-invoice.be

  1. U aplikaciji e-invoice.be, pod postavkama API postavke (API Settings), kopirajte API ključ svog poduzeća u polje API ključ. Ostavite polja ID računa na pristupnoj točki i Tajni ključ API-ja praznima. Spremite promjene.
  2. Izradite webhook putem API-ja sustava e-invoice.be (POST https://api.e-invoice.be/api/webhooks/) koristeći URL webhooka koji prikazuje Nordlet i događaje document.received, document.sent i document.sent.failed.
  3. Kopirajte vrijednost secret koju API vrati za novi webhook u polje Tajna oznaka webhooka u aplikaciji Nordlet i ponovno spremite.

e-invoice.be potpisuje svaki poziv webhooka tom tajnom oznakom. Sandbox poduzeće na platformi e-invoice.be šalje dokumente e-poštom umjesto preko mreže Peppol.

Slanje računa

  1. Izdajte račun ili odobrenje.
  2. Provjerite ima li kupac unesen Peppol ID, OIB ili matični broj na svojoj kartici partnera.
  3. Na stranici računa, u odjeljku Dostava (Delivery), kliknite Pošalji putem mreže Peppol i potvrdite. Odjeljak za dostavu prikazuje se za izdane račune koji još nisu plaćeni, a gumb je vidljiv samo ako je pristupna točka povezana.

Nordlet izrađuje Peppol datoteku i prosljeđuje ju vašoj pristupnoj točki. Na stranici računa tada se prikazuje odjeljak Peppol dostava:

Status Značenje
pending Proslijeđeno pristupnoj točki; pristupna točka kupca još nije potvrdila primitak
delivered Pristupna točka kupca potvrdila je primitak računa
rejected Kupac je odbio račun; razlog je prikazan ispod statusa
failed Račun nije bilo moguće dostaviti; razlog je prikazan ispod statusa ako ga je pristupna točka navela

Status se automatski ažurira kada pristupna točka prijavi promjenu putem svog webhooka. Opcija Provjeri Peppol status odmah dohvaća trenutni status sa sustava Recommand ili e-invoice.be, pri čemu e-invoice.be također čita odgovor kupca na račun, pa se odbijanje (kod odgovora RE) prikazuje kao status rejected (odbijeno). Odbijeni ili neuspjeli račun može se ponovno poslati nakon što otklonite uzrok pogreške. Ako pristupna točka izravno odbije račun, primjerice zato što kupac nije registriran na mreži Peppol, Nordlet prikazuje razlog, a račun ostaje neposlan.

Gumb Peppol XML na vrhu stranice računa omogućuje preuzimanje iste Peppol datoteke bez njezina slanja.

Unutarzajednička isporuka (intra-EU supply) kao datum isporuke nosi datum izdavanja, a kao državu isporuke državu kupca, u skladu s pravilima mreže Peppol.

Primanje računa

Kada pristupna točka putem webhooka prijavi primljeni dokument, Nordlet preuzima Peppol datoteku s pristupne točke. Računi i odobrenja koje vaše poduzeće primi prikazuju se u odjeljku Nabava → Evidencija dokumenata (Document capture) s oznakom da su primljeni putem mreže Peppol uz Peppol ID pošiljatelja. Nordlet samostalno čita Peppol datoteku, stoga se za primanje dokumenata ne troše krediti za prepoznavanje dokumenata.

  1. Otvorite primljeni dokument.
  2. Provjerite dobavljača, datume i stavke; odaberite dobavljača iz popisa partnera ili ga izradite.
  3. Kliknite Spremi nacrt (Save draft). Nordlet izrađuje nacrt ulaznog računa ili nacrt ulaznog odobrenja (za primljeno odobrenje) s priloženom izvornom Peppol datotekom. Zavedite ga kao i svaki drugi ulazni račun.

Stavke ulaznog računa u aplikaciji Nordlet ne mogu biti negativne. Popusti i naknade koji se odnose na cijeli dokument, kao i negativne stavke, raspoređuju se na stavke s istom stopom PDV-a. Iznos koji nijedna stavka s pripadajućom stopom PDV-a ne može preuzeti, poput vraćenog artikla s stopom PDV-a koju nijedna druga stavka na računu nema, prikazuje se u drugoj tablici: Stavke odobrenja (Credit note lines) za primljeni račun, odnosno Stavke računa (Invoice lines) za primljeno odobrenje. Te se stavke spremaju kao zaseban dokument za istog dobavljača: ulazno odobrenje vezano uz novi račun s brojem oblika "-CR", ili ulazni račun s brojem oblika "-INV". Ta dva dokumenta zajedno čine ukupne iznose primljenog dokumenta.

Provjera je li kupac registriran na mreži Peppol

Poziv POST /v1/peppol/participants/lookup s parametrom partnerId ili participantId (":") provjerava na mreži Peppol je li primatelj registriran i koje dokumente prihvaća. Ova funkcionalnost radi i bez povezanine pristupne točke.

Izvođenje istih radnji putem API-ja

Zadatak Poziv
Povezivanje pristupne točke POST /v1/declarations/configs/update s parametrima system: "peppol" i config koji sadrži provider (recommand, storecove ili e-invoice-be), accountId, apiKey, apiSecret, webhookSecret i opcionalni apiBaseUrl
Primanje webhooka pristupne točke POST /v1/peppol/webhooks/{provider}/{companyId}, poziva ga pristupna točka
Preuzimanje Peppol datoteke POST /v1/sales/invoices/peppol-xml
Slanje POST /v1/sales/invoices/peppol-send (vraća kod 422 ako pristupna točka nije povezana)
Čitanje statusa dostave POST /v1/sales/invoices/peppol-status (vraća kod 422 za Storecove); računi sadrže polja peppolMessageId, peppolStatus, peppolDetail, peppolSentAt, peppolCheckedAt
Pronalaženje primljenih dokumenata POST /v1/capture/documents/list; primljeni dokumenti imaju atribute provider: "peppol" i senderId
Pretvaranje dokumenta u ulazni račun POST /v1/capture/documents/confirm, s parametrom oppositeLines za drugi dokument

Događaji webhooka: sale_invoice.peppol_sent, sale_invoice.peppol_delivered, sale_invoice.peppol_rejected, sale_invoice.peppol_failed i document_capture.peppol_received. Pogledajte odjeljak Konvencije API-ja za informacije o pogreškama, idempotenciji i webhookovima.