Prijem iz e-faktura
Ovaj tok omogućava kreiranje Prijemnice direktno iz dolazne elektronske fakture (E-Fakture) primljene kroz SEF (Sistem za elektronske fakture). Umesto ručnog unosa stavki, sistem parsuje UBL sadržaj fakture, pokušava da autom. poveže artikle dobavljača sa vašim artiklima i otvara ekran za usaglašavanje.
Tok se pokreće iz E-Fakture → Dolazne fakture kada je status e-fakture Odobrena — samo odobrene e-fakture se mogu pretvoriti u Prijemnice.
Preduslovi
| Uslov | Opis |
|---|---|
| Status e-fakture | Mora biti Odobrena (Approved) |
| Nije već kreirana Prijemnica | E-Faktura može biti vezana za tačno jednu Prijemnicu; duplikat se blokira |
| UBL sadržaj dostupan | Sistem mora uspeti da povuče UBL XML od SEF-a |
Korak 1 — Priprema nacrta (automatski)
Po kliku na Kreiraj prijemnicu iz detalja dolazne e-fakture, sistem poziva interni API koji:
- Povlači UBL XML za datu e-fakturu sa SEF-a.
- Parsira zaglavlje: PIB i naziv dobavljača, broj fakture, datum, valuta, zbir (neto/PDV/bruto).
- Za svaku stavku UBL-a pokušava da pronađe odgovarajući artikal u vašem katalogu sledećim redom:
- Naučeno mapiranje — prethodno potvrđeno preslikavanje
(SupplierItemId, ProductId) - GTIN — poklapanje po bar kodu
- Naziv — heuristika sličnosti naziva (normalizovano latinično upoređivanje)
- Naučeno mapiranje — prethodno potvrđeno preslikavanje
- Vraća nacrt za usaglašavanje: listu stavki sa predloženim poklapanjima i nivoom pouzdanosti.
Ako UBL XML nije dostupan ili parsovanje ne uspe, ekran prikazuje odgovarajuću grešku i vraća korisnika na listu e-faktura bez kreiranja Prijemnice.
Korak 2 — Ekran za usaglašavanje
Ekran prikazuje trostubačnu rešetku:
| Leva kolona (samo čitanje) | Srednja kolona | Desna kolona (editabilno) |
|---|---|---|
| Naziv artikla dobavljača | Oznaka poklapanja | Odabir artikla iz kataloga |
| GTIN dobavljača | ✓ Poklopljeno / Predloženo / — Nije poklopljeno | Količina |
| Kol. · J.m. · Cena po jed. | Cena po jed. (u valuti e-fakture) | |
| Stopa PDV% | Broj serije/lota (opciono) |
Oznake poklapanja
| Oznaka | Značenje |
|---|---|
| ✓ Poklopljeno | Pronađeno putem naučenog mapiranja ili GTIN-a — visoka pouzdanost |
| Predloženo | Pronađeno putem heuristike naziva — korisnik treba da potvrdi odabir |
| — Nije poklopljeno | Nema automatskog poklapanja; korisnik mora ručno odabrati artikal |
Opcije po stavci
Isključi stavku (checkbox) — isključuje stavku iz Prijemnice. Koristite za stavke koje nisu roba (npr. transportni troškovi, usluge). Isključena stavka ne zahteva odabir artikla.
Naučaj mapiranje (checkbox, podrazumevano: uključeno) — sistem pamti vezu između SupplierItemId i odabranog ProductId za buduće e-fakture od istog dobavljača. Možete isključiti ako je poklapanje jednokratno (npr. zamenska roba).
Zaglavlje ekrana za usaglašavanje
Iznad rešetke prikazuju se:
- Podaci o dobavljaču (PIB, naziv, poslovni partner u sistemu)
- Predloženi datum prijema (datum fakture)
- Broj fakture dobavljača i valuta
- Zbir e-fakture: neto / PDV / bruto (samo za informaciju; nije editabilno)
Polja koja se popunjavaju pre kreiranja Prijemnice:
| Polje | Obavezno | Opis |
|---|---|---|
| Magacin | Da | Magacin u koji se prima roba |
| Datum prijema | Da | Podrazumevano: datum e-fakture; editabilno |
| Dobavljač | Da | Automatski povučen iz e-fakture; može se korigovati ako mapiranje PIB → partner ne uspe |
Aktivacija dugmeta "Kreiraj prijemnicu"
Dugme je omogućeno samo kada su ispunjeni svi uslovi:
- Magacin je odabran
- Datum prijema je unesen
- Svaka neisključena stavka ima: odabran artikal + pozitivnu količinu + (lot, ako je obavezan)
Kreiranje Prijemnice
Po kliku na Kreiraj prijemnicu, sistem:
- Kreira Prijemnicu u statusu
PendingPricingsa svim neisključenim stavkama. - Beleži vezu između e-fakture i Prijemnice — sprečava kreiranje duplikata.
- Za označene stavke (Naučaj mapiranje = Da) pamti mapiranje
(SupplierItemId → ProductId). - Saldo zaliha se uvećava odmah (isto kao pri ručnom kreiranju Prijemnice).
- Prikazuje odgovor sa upozorenjima (
warnings[]) ako postoje parcijalne nedoslednosti (npr. jedinice mere se razlikuju od kataloga). - Prebacuje korisnika na detaljnu stranicu Prijemnice na
/nabavka/prijemnice/{receiptId}.
Prijemnica kreirana iz E-Fakture ulazi u isti tok kao ručno kreirana: status je
PendingPricing, cene se mogu dopuniti, a kompletiranjem nastaje Nacrt Kalkulacije. Vidite Prijem robe → Kompletiranje cena.
Greške i upozorenja
| Kod greške | HTTP | Opis |
|---|---|---|
| EFAKTURE_HANDOFF_NOT_APPROVED | 409 | E-Faktura nije u statusu Odobrena — mora biti odobrena pre kreiranja Prijemnice |
| EFAKTURE_HANDOFF_ALREADY_LINKED | 409 | Za ovu e-fakturu već postoji Prijemnica — duplikat nije dozvoljen |
| EFAKTURE_HANDOFF_UBL_PARSE_FAILED | 422 | UBL XML je parsiran ali nije moguće izvući stavke — verovatno nestandardni format |
| EFAKTURE_HANDOFF_UBL_FETCH_FAILED | 502 | SEF nije vratio UBL XML — privremena nedostupnost SEF-a; pokušajte ponovo |
| EFAKTURE_HANDOFF_NO_LINES | 409 | Nakon isključivanja svih stavki nije ostala ni jedna za prijemom |
| EFAKTURE_HANDOFF_LOT_NUMBER_REQUIRED | 422 | Jedan ili više artikala zahteva broj serije/lota koji nije naveden |
Napomena za EFAKTURE_HANDOFF_UBL_FETCH_FAILED (502): Ova greška nastaje isključivo zbog nedostupnosti SEF API-ja, ne zbog vaših podataka. Sačekajte nekoliko minuta i pokušajte ponovo. Ako greška traje, proverite status SEF sistema.
Naučana mapiranja
Svaki put kada potvrdite stavku sa uključenim Naučaj mapiranje, sistem upisuje ili osvežava unos (SupplierItemId, SupplierItemName, ProductId) za tog dobavljača. Ova mapiranja su vidljiva i editabilna u E-Fakture → Mapiranja artikala (vidite E-Fakture).
Sledeća e-faktura od istog dobavljača sa istim SupplierItemId automatski će biti predpopunjena artiklom iz mapiranja (oznaka "✓ Poklopljeno" — naučeno mapiranje).
Primer toka
[SEF — Dolazna e-faktura]
│
│ Status: Odobrena
▼
[Detalj e-fakture] → "Kreiraj prijemnicu"
│
│ GET /api/core/efakture/inbox/{id}/receipt-draft
│ (UBL parsovanje + auto-poklapanje)
▼
[Ekran za usaglašavanje]
· Popuniti: Magacin, Datum prijema
· Proveriti poklapanja stavki
· Isključiti nematerialne stavke
· Uneti lotove gde je potrebno
│
│ POST /api/core/efakture/inbox/{id}/create-receipt
▼
[Prijemnica u statusu: PendingPricing]
│
│ Uneti nabavne cene po stavkama
│ → "Kompletno unošenje cena"
▼
[Prijemnica: Complete] + [Nacrt Kalkulacije]
Srodne stranice
- Prijem robe — ručno kreiranje Prijemnice i tok PendingPricing → Complete
- E-Fakture — upravljanje dolaznim i odlaznim e-fakturama, mapiranja artikala
- Kalkulacija — Kalkulacija koja nastaje kompletiranjem cena Prijemnice