Nordlet

← Dokumentacija / Vodiči

Pošiljanje in prejemanje računov prek omrežja Peppol

Povežite lastno dostopno točko Peppol vašega podjetja (Recommand, Storecove ali e-invoice.be) z aplikacijo Nordlet, pošiljajte račune in dobropise prek omrežja Peppol, spremljajte njihovo dostavo in prejete e-račune pretvorite v prejete račune.

Peppol je evropsko omrežje za izmenjavo strukturiranih e-računov med podjetji in javnimi organi. Vsak račun potuje od dostopne točke pošiljatelja do dostopne točke prejemnika. Nordlet pripravi račune in dobropise v skladu s standardom Peppol BIS Billing 3.0 ter jih pošilja in sprejema prek računa dostopne točke vašega podjetja.

Peppol določa pravila o tem, kako si dostopne točke med seboj izmenjujejo dokumente, ne pa tudi tega, kako vaša programska oprema komunicira z vašo dostopno točko, saj ima vsak ponudnik svoj API. Nordlet sodeluje s temi ponudniki:

Ponudnik Pošiljanje Status dostave Prejemanje
Recommand da prek spletnega kljuka (webhook) in na zahtevo da
Storecove da samo prek spletnega kljuka (webhook) da
e-invoice.be da prek spletnega kljuka (webhook) in na zahtevo da

Brez dostopne točke Nordlet še vedno ustvari datoteko Peppol za vsak izdani račun in dobropis, ki jo lahko prenesete in posredujete na drug način, vendar ne pošilja ali prejema ničesar.

Kaj potrebujete

  • Račun pri enem od zgoraj navedenih ponudnikov, prek katerega je vaše podjetje registrirano v omrežju Peppol. Vsak ponudnik zaračunava svoje storitve, zato preverite njegov cenik.
  • V aplikaciji Nordlet vneseno davčno številko ali matično številko podjetja oziroma njegovo identifikacijsko številko Peppol (Račun -> Podjetja -> Peppol ID). To številko mora imeti na svoji partnerski kartici navedeno tudi vsaka stranka, ki ji pošiljate dokumente.

Povezava dostopne točke

Odprite Račun -> Skladnost -> EU -> Dostopna točka Peppol, v polju Ponudnik izberite svojega ponudnika, izpolnite polja za tega ponudnika, kot je opisano spodaj, in shranite. Polje Osnovni URL API-ja pustite prazno, razen če vam je ponudnik dodelil drug naslov. Po shranjevanju se na strani prikaže URL spletnega kljuka (Webhook URL) vašega podjetja: https://api.nordlet.com/v1/peppol/webhooks/{provider}/{companyId}, kjer je {provider} vrednost recommand, storecove ali e-invoice-be, {companyId} pa ID vašega podjetja. Vsako podjetje v aplikaciji Nordlet ima svoj URL spletnega kljuka.

Nordlet sprejme klic spletnega kljuka le, če se izkaže, da pozna skrivnost vašega spletnega kljuka (webhook secret), zato so klici, ki ne prihajajo z računa vaše dostopne točke, zavrnjeni. Nordlet stopi v stik z javnimi internetnimi naslovi izključno takrat, ko kliče vašo dostopno točko.

Recommand

  1. V aplikaciji Recommand odprite svoje podjetje in kopirajte njegov ID podjetja v polje ID računa na dostopni točki.
  2. V aplikaciji Recommand ustvarite ključ API ter kopirajte ključ in njegovo geslo v polji Ključ API in Skrivnost API.
  3. Sestavite dolgo naključno besedilo, ki ga poznate samo vi in Recommand, ter ga vnesite v polje Skrivnost spletnega kljuka. Shranite.
  4. V aplikaciji Recommand ustvarite spletni kljuk (webhook) za svoje podjetje z URL-jem spletnega kljuka, ki ga prikazuje Nordlet, in enako skrivnostjo spletnega kljuka.

Recommand podpiše vsak klic spletnega kljuka s to skrivnostjo.

Storecove

  1. V aplikaciji Storecove ustvarite pravno osebo za svoje podjetje z nastavitvijo za pošiljanje in prejemanje ter kopirajte njen ID v polje ID računa na dostopni točki.
  2. V aplikaciji Storecove pod možnostjo Ključi API ustvarite ključ API in ga kopirajte v polje Ključ API. Polje Skrivnost API pustite prazno.
  3. Sestavite dolgo naključno besedilo in ga vnesite v polje Skrivnost spletnega kljuka. Shranite.
  4. V aplikaciji Storecove nastavite potisni spletni kljuk z URL-jem spletnega kljuka, ki ga prikazuje Nordlet, zaščitenim z osnovno overitvijo HTTP (HTTP Basic authentication): poljubno uporabniško ime in skrivnost spletnega kljuka kot geslo.

Storecove nima klica za preverjanje statusa poslanega dokumenta, zato status dostave pri tem ponudniku prihaja izključno prek njegovega spletnega kljuka, stran računa pa nima gumba Preveri status Peppol. Preizkusni račun (sandbox) v aplikaciji Storecove pošilja prek testnega omrežja Peppol, produkcijske ključe API pa izda podpora ponudnika Storecove.

e-invoice.be

  1. V aplikaciji e-invoice.be pod možnostjo Nastavitve API-ja kopirajte ključ API vašega podjetja v polje Ključ API. Polji ID računa na dostopni točki in Skrivnost API pustite prazni. Shranite.
  2. Ustvarite spletni kljuk prek API-ja ponudnika e-invoice.be (POST https://api.e-invoice.be/api/webhooks/) z URL-jem spletnega kljuka, ki ga prikazuje Nordlet, ter dogodki document.received, document.sent in document.sent.failed.
  3. Skrivnost (secret), ki jo API vrne za novi spletni kljuk, kopirajte v polje Skrivnost spletnega kljuka v aplikaciji Nordlet in ponovno shranite.

e-invoice.be podpiše vsak klic spletnega kljuka s to skrivnostjo. Preizkusno podjetje v aplikaciji e-invoice.be dokumente, ki bi jih sicer poslalo prek omrežja Peppol, pošlje po e-pošti.

Pošiljanje računa

  1. Izdajte račun ali dobropis.
  2. Preverite, ali ima stranka na svoji partnerski kartici navedeno identifikacijsko številko Peppol, davčno številko ali matično številko.
  3. Na strani računa v razdelku Dostava kliknite Pošlji prek Peppola in potrdite. Razdelek Dostava je prikazan za izdane račune, ki še niso plačani, gumb pa je viden samo takrat, ko je dostopna točka povezana.

Nordlet sestavi datoteko Peppol in jo preda vaši dostopni točki. Na strani računa se nato prikaže razdelek Dostava Peppol:

Status Pomen
pending Predano dostopni točki; dostopna točka stranke še ni potrdila prejema
delivered Dostopna točka stranke je potrdila prejem računa
rejected Stranka je zavrnila račun; razlog je prikazan pod statusom
failed Računa ni bilo mogoče dostaviti; razlog je prikazan pod statusom, če ga dostopna točka navede

Status se samodejno posodobi, ko dostopna točka poroča o spremembi prek svojega spletnega kljuka. Možnost Preveri status Peppol takoj poizve pri ponudniku Recommand ali e-invoice.be o trenutnem statusu; pri ponudniku e-invoice.be prebere tudi odziv stranke na račun, pri čemer se zavrnitev (odzivna koda RE) prikaže kot status rejected (zavrnjeno). Zavrnjen ali neuspešen račun lahko po odpravi vzroka pošljete ponovno. Ko dostopna točka neposredno zavrne račun, na primer zato, ker stranka ni registrirana v omrežju Peppol, Nordlet prikaže razlog, račun pa ostane neposlan.

Gumb XML Peppol na vrhu strani računa omogoča prenos iste datoteke Peppol brez pošiljanja.

V skladu s pravili omrežja Peppol ima dobava znotraj EU kot datum dobave naveden datum izdaje, kot država dobave pa država stranke.

Prejemanje računov

Ko dostopna točka poroča o prejetem dokumentu prek spletnega kljuka, Nordlet prenese datoteko Peppol z dostopne točke. Računi in dobropisi, ki jih prejme vaše podjetje, se prikažejo v razdelku Nabava -> Zajem dokumentov z oznako, da so bili prejeli prek omrežja Peppol od identifikacijske številke Peppol pošiljatelja. Nordlet sam prebere datoteko Peppol, zato se za prejemanje ne porabljajo dobroimetja za prepoznavanje dokumentov.

  1. Odprite prejeti dokument.
  2. Preverite dobavitelja, datume in postavke; izberite dobavitelja izmed svojih partnerjev ali ga ustvarite.
  3. Kliknite Shrani osnutek. Nordlet ustvari osnutek prejetega računa oziroma osnutek prejetega dobropisa za prejeti dobropis, pri čemer je priložena izvirna datoteka Peppol. Dokument obdelajte kot vsak drug prejeti račun.

Postavke prejetega računa v aplikaciji Nordlet ne morejo biti negativne. Popusti in stroški za celoten dokument ter negativne postavke se razporedijo na postavke z enako stopnjo DDV. Znesek, ki ga postavka z ustrezno stopnjo DDV ne more prevzeti, kot je na primer vrnjeni artikel po stopnji DDV, za katero račun nima drugih postavk, je prikazan v drugi tabeli: Postavke dobropisa za prejeti račun oziroma Postavke računa za prejeti dobropis. Te postavke se shranijo kot drugi dokument za istega dobavitelja: prejeti dobropis k novemu računu s številko „<številka dokumenta>-CR“ ali prejeti račun s številko „<številka dokumenta>-INV“. Oba dokumenta skupaj ustrezata skupnim zneskom prejetega dokumenta.

Preverjanje, ali je stranka v omrežju Peppol

Zahtevek POST /v1/peppol/participants/lookup z vrednostjo partnerId ali participantId („:“) poizve v omrežju Peppol, ali je prejemnik registriran in katere dokumente sprejema. Ta funkcija deluje tudi brez dostopne točke.

Izvajanje dejanj prek API-ja

Naloga Klic
Povezava dostopne točke POST /v1/declarations/configs/update s parametri system: "peppol" in config, ki vsebuje provider (recommand, storecove ali e-invoice-be), accountId, apiKey, apiSecret, webhookSecret in opcijski apiBaseUrl
Prejem spletnega kljuka dostopne točke POST /v1/peppol/webhooks/{provider}/{companyId}, ki ga kliče dostopna točka
Prenos datoteke Peppol POST /v1/sales/invoices/peppol-xml
Pošiljanje POST /v1/sales/invoices/peppol-send (vrne kodo 422 brez dostopne točke)
Branje statusa dostave POST /v1/sales/invoices/peppol-status (vrne kodo 422 pri ponudniku Storecove); računi vsebujejo polja peppolMessageId, peppolStatus, peppolDetail, peppolSentAt, peppolCheckedAt
Iskanje prejetih dokumentov POST /v1/capture/documents/list; prejeti dokumenti imajo vrednosti provider: "peppol" in senderId
Pretvorba v prejeti račun POST /v1/capture/documents/confirm s parametrom oppositeLines za drugi dokument

Dogodki spletnega kljuka: sale_invoice.peppol_sent, sale_invoice.peppol_delivered, sale_invoice.peppol_rejected, sale_invoice.peppol_failed in document_capture.peppol_received. Za napake, idempotenčnost in spletne kljuke glejte razdelek Konvencije API-ja.