Statusi
Statusni događaji i stanja u redu čekanja.
- U sandboxuoblik događaja
- Još nije u sandboxustatusi prijenosnih sustava
Jednostavnim riječima
Svaki račun ima stanje, primjerice u redu čekanja ili odbijen, i povijest događaja koja pokazuje što se s njim dogodilo. Tako klijent ili partner saznaje je li račun prošao. Hostirani sandbox još ne sadrži pristupne podatke ni za jedan prijenosni sustav, pa se događaji koji dolaze iz veze s nacionalnim sustavom pojavljuju tek kad se kanal priključi.
Račun ima dvije vrste statusa. Statusni događaji pokazuju što mu se dogodilo. Stanje u redu čekanja pokazuje gdje je sada.
Stanje u redu čekanja
GET /invoices/{id} vraća stanje.
| Stanje | Značenje |
|---|---|
received | Račun je prihvaćen pri prijemu. |
validated | Račun je prošao sve provjere. |
validation_failed | Službena pravila odbila su dokument. Ide na popis za obradu. |
source_error | Podaci iz ERP-a nisu se mogli pročitati. |
queued | Prihvaćen i čeka. |
submitting | Slanje je pokušano, a odgovor je izgubljen, pa kanal slanja možda već ima račun. Pozadinski proces (worker) ga zatvara kao submitted ili dead_letter. |
submitted | Kanal slanja ima račun. |
ready | Završno stanje za Njemačku. XRechnung ili ZUGFeRD provjeren je i spremljen da ga partner isporuči. Ništa nije poslano. |
accepted | Kanal ga je prihvatio. |
delivered | Račun je stigao na stranu kupca. |
rejected | Kanal ga je trajno odbio. Ide na popis za obradu. |
dead_letter | Nakon prolaznih pogrešaka iscrpljeni su svi ponovni pokušaji. Ide na popis za obradu. |
cancelled | Zaustavljen prije predaje (pogledajte otkazivanje). |
queued i submitting unutarnji su koraci između validated i submitted, a nijedan statusni događaj ih ne prijavljuje.
Statusni događaji
Svi kanali koriste isti oblik događaja. GET /invoices/{id}/events vraća događaje, a webhook isporučuje isto tijelo (pogledajte webhookove).
| Status | Značenje |
|---|---|
received | Račun je prihvaćen pri prijemu. |
validated | Račun je prošao sve provjere. |
source_error | Podaci iz ERP-a nisu se mogli pročitati. Sadrži errors. |
validation_failed | Provjera nije uspjela. Sadrži errors. |
submitted | Kanal slanja primio je račun. |
accepted | Kanal ga je prihvatio. Sadrži legal_id, vlastitu referencu kanala. |
rejected | Kanal ga je odbio. Sadrži errors. |
delivered | Račun je stigao na stranu kupca. |
buyer_status | Kupac je odgovorio. buyer_status ima jednu od vrijednosti: acknowledged, in_process, under_query, conditionally_accepted, rejected, approved, disputed ili paid. |
Polja u svakom događaju: event_id, sequence, occurred_at, invoice_ref, invoice_number, country_route, environment, status i document_sha256. Neki događaji dodaju legal_id, buyer_status, errors (iste stavke kao nalaz probne provjere) i route, koji sadrži submission_id kanala i njegov izvorni status u raw.
Savjet
Događaje poredajte prema sequence, a ne prema vremenu.
Shema nameće tri pravila: accepted sadrži legal_id, tri statusa neuspjeha sadrže errors, a buyer_status sadrži buyer_status.
Koji se događaji pojavljuju
U sandboxusandboxPrijem zapisuje received, sa sequence 1. Zatim usluga pokreće validatore kanala slanja i zapisuje validated, ili validation_failed kad provjera ne uspije. Nakon toga svaki pomak računa zapisuje jedan događaj: submitted, accepted, delivered ili rejected. Za Njemačku nakon validated ne slijedi ništa, jer račun završava u stanju ready. Primjer pogledajte među zabilježenim događajima.
U hostiranom sandboxu još nisu spremljeni pristupni podaci ni za jedan prijenosni sustav. Kanal kojem su potrebni dolazi do stanja submitted bez ikakvog slanja, a Njemačka završava u stanju ready. U produkciji kanal bez pristupnih podataka ponavlja slanje, a zatim račun premješta među neisporučive (dead letter).
Događaji koji dolaze iz prijenosnog sustava (accepted, delivered i buyer_status) traže priključen kanal. Mapiranje vlastitih statusa svakog prijenosnog sustava izrađeno je i testirano te je pokrenuto prema testnim sustavima KSeF-a, jedne Peppol pristupne točke i jedne francuske platforme. U hostiranom sandboxu još nije priključeno.
Konačni status po kanalu
Još nije u sandboxuprijenosni sustavi| Kanal | Konačni status | Što sadrži | Neuspjeh |
|---|---|---|---|
PL-KSEF | accepted | KSeF broj kao legal_id. | rejected sa šifrom KSeF-a, na primjer KSEF-440 za duplikat. |
RO-EFACTURA | accepted kad je ANAF-ovo stanje ok | ANAF-ov indeks učitavanja. | rejected kad je stanje nok, s ANAF-ovom šifrom pogreške. Učitavanje slijedi ANAF-ovu dokumentaciju i nije isprobano; pokrenuti su samo njegovi validatori. |
PEPPOL | delivered | ID dokumenta pristupne točke. | rejected kad ga pristupna točka odbije ili prijavi neuspjeh. |
FR-PA | delivered, zatim događaji buyer_status | ID računa na platformi. Francuska šifra, njezin naziv i eventualna napomena prenose se u route.raw. | rejected kad ga platforma odbije, na primjer fr:213. |
DE-XRECHNUNG | Nijedno tijelo ne odgovara. Rezultat je izrađena i provjerena datoteka. | Isporuka ovisi o načinu dostave, Peppol ili e-pošta. | 422 pri prijemu. Ne slijedi odgovor prijenosnog sustava. |
- Prolazne pogreške prijenosnog sustava nikad ne postaju događaji. Slanje se ponavlja (pogledajte ograničenja).
- Francuska statusna šifra koju usluga ne mapira ne stvara događaj, nego pokreće upozorenje, pa se ne gubi.
- Kupac do kojeg prijenosni sustav ne može doći. Za Peppol usluga provjerava šifru sheme kupčeva ID-a, a ne je li kupac registriran. Pristupna točka kupca koji nije u mreži Peppol može prijaviti kao nedostupnog, a mapiranje to pretvara u
rejectedsEI-PEPPOL-NO-ROUTE. To slijedi dokumentaciju pristupne točke i još nije potvrđeno na pristupnoj točki u stvarnom radu. Francuski kupac bez adrese na platformi trebao bi dovesti do neuspjeha, a ne do isporuke; ni to još nije potvrđeno.