eFakture – nova verzija 3.14.0 i ažurirano interno tehničko uputstvo

Na internet strani eFaktura objavljena su sledeća dokumenta:

Podsećamo da su od avgusta 2022. godine nove ispravke prvo dostupne samo na demo verziji SEF a tek posle određenog vremena i na produkcionoj verziji (videti tekst ovde).
Korisničko uputstvo za Sistem elektronskih faktura na portalu Neobilten biće uskoro ažurirano sa verzijom od 15. avgusta 2025. godine.

U nastavku je dat pregled svih funkcionalnosti i promena koje su deo nove verzije 3.14.0 SEF:

1. Validacija datuma prometa pri slanju elektronske fakture putem aplikativnog programskog interfejsa

Uvedena je obaveznost navođenja Datuma prometa na fakturi (tip dokumenta 380, na putanji Invoice.Delivery. ActualDeliveryDate).

U slučaju da se Datum prometa ne navede, vratiće se poruka greške sa kodom greške InvoiceDeliveryDateMissing.

Za druge tipove dokumenata (avansna faktura, dokument o smanjenju i dokument o povećanju – tipovi dokumenata 381, 383 i 386) nema izmene.

2. Izmene u validacijama Datuma nastanka PDV obaveze pri slanju elektronske fakture putem aplikativnog programskog interfejsa

Za fakturu je uvedena validacija da Datum prometa ne može biti veći od datuma izdavanja (/Invoice/cac:Delivery/cbc:ActualDeliveryDate ne može biti nakon /Invoice/cbc:IssueDate). Korisniku će biti vraćena greška sa kodom UBLDeliveryDateMustNotBeLatterThanIssueDate:

{
„Message“: „Delivery Date must not be later than Issue Date.“,
„FieldName“: „invoice.Delivery.ActualDeliveryDate“,
„ErrorCode“: „UBLDeliveryDateMustNotBeLatterThanIssueDate“
}

Za dokument o povećanju je uvedena validacija da Datum prometa ne može biti veći od datuma izdavanja (/Invoice/cac:Delivery/cbc:ActualDeliveryDate ne može biti nakon /Invoice/cbc:IssueDate). Korisniku će viti vraćena greška sa kodom UBLIncreaseDateMustNotBeLatterThanIssueDate:

{
„Message“: „Increase date must not be later than Issue Date.“,
„FieldName“: „invoice.Delivery.ActualDeliveryDate“,
„ErrorCode“: „UBLIncreaseDateMustNotBeLatterThanIssueDate“
}

Za dokument o smanjenju je uvedena validacija da Datum smanjenja ne može biti veći od datuma izdavanja (/Invoice/cac:Delivery/cbc:ActualDeliveryDate ne može biti nakon /Invoice/cbc:IssueDate). Korisniku će biti vraćena greška sa kodom UBLReductionDateMustNotBeLatterThanIssueDate:

{
„Message“: „Reduction date must not be later than Issue Date.“,
„FieldName“: „invoice.Delivery.ActualDeliveryDate“,
„ErrorCode“: „UBLReductionDateMustNotBeLatterThanIssueDate“
}

Za avansnu fakturu je uvedena validacija da Datum plaćanja ne može biti veći od datuma izdavanja (/Invoice/cbc:DueDate ne može biti nakon /Invoice/cbc:IssueDate). Korisniku će biti vraćena greška sa kodom UBLPrepaymentDateMustNotBeLatterThanIssueDate:

{
„Message“: „Prepayment date must not be later than Issue Date.“,
„FieldName“: „Invoice.DueDate“,
„ErrorCode“: „UBLPrepaymentDateMustNotBeLatterThanIssueDate“
}

3. Validacija konzistentnosti obaveze obračuna PDV

Na korisničkom interfejsu, pri kreiranju fakture, avansne fakture ili dokumenta o povećanju, ukoliko bar jedna stavka dokumenta ima kategoriju S10 ili S20, tada nije moguće odabrati opciju Ne nastaje obaveza obračuna PDV.

Pri slanju dokumenta kroz aplikativni programski interfejs u slučaju da bar jedna stavka dokumenta ima S10 ili S20 kategoriju, tada putanja /Invoice/cac:InvoicePeriod/cbc:DescriptionCode mora da bude popunjena jednom od dozvoljenih vrednosti (3, 35 i 432). Ukoliko putanja nije popunjena jednom od dozvoljenih vrednosti, vratiće se poruka greške sa kodom InvoicePeriodDescriptionCodeNotDefmed:

{
„Message“: „DescriptionCode is required when VAT is applied at 10% or 20% for category S items.“,
„FieldName“: „Invoice.InvoicePeriod.DescriptionCode“,
„ErrorCode“: „InvoicePeriodDescriptionCodeNotDefined“
}

U slučaju kada korisnik označi PDV se obračunava, ali dokument nema nijednu stavku sa kategorijom S10 ili S20, vratiće se poruka greške sa kodom InvoicePeriodDescriptionCodeNotNeeded:

{
„Message“: „It is not possible to select the option \“VAT is calculated\“ if the S10 or S20 tax categories are not applied to the document“,
„FieldName“: „Invoice.InvoicePeriod.DescriptionCode“,
„ErrorCode“: „InvoicePeriodDescriptionCodeNotNeeded“
}

4. Dodavanje Ukupnog iznosa smanjenja na spoljnom prikazu Dokumenta o smanjenju u valuti

Na spoljnom prikazu Dokumenta o smanjenju u valuti dodat je podatak o Ukupnom iznosu smanjenja. (Slika 1.)

Slika 1. Prikaz Ukupnog iznosa smanjenja na spoljnom prikazu Dokumenta o smanjenju u valuti

5. Dodavanje Ukupnog iznosa povećanja na spoljnom prikazu Dokumenta o povećanju u valuti

Na spoljnom prikazu Dokumenta o povećanju u valuti dodat je podatak o Ukupnom iznosu povećanja. (Slika 2.)

Slika 2. Prikaz Ukupnog iznosa povećanja na spoljnom prikazu Dokumenta o povećanju u valuti

6. Dodavanje vodenog žiga na testnom okruženju u spoljni prikaz dokumenta

Na testnom okruženju u spoljni prikaz dokumenta dodata je labela koja označava da je dokument generisan na testnom okruženju. (Slika 3.)

Slika 3. Prikaz labele koja označava da je dokument generisan na testnom okruženju

7. Nova metoda na aplikacionom programskom interfejsu koja vraća prošireni skup podataka za ulazne dokumente u zadatom periodu

Nova metoda publicApi/purchase-invoice/overview vraća prošireni skup podataka za sve ulazne dokumente koji su poslati u zadatom datumskom opsegu.

Ulazni parametri su:

ApiKey – obavezan header parametar

status – opcioni query parametar. Ukoliko se prosledi, biće vraćeni podaci samo za ulazne dokumente koji su u zadatom statusu.

dateFrom – obavezan query parametar

dateTo – obavezan query parametar

curl -X GET “https://efaktura.mfin.gov.rs/api/publicApi/purchase-invoice/overview?dateFrom=2025-07-01&dateTo=2025-07-31” -H “accept: text/plain” -H “ApiKey: d371e1ab-2b36-48e7-9ff8-7ad8e36a147e”

Odgovor metode je kolekcija PurchaseInvoiceOverviewDto objekata:

[{
„InvoiceId“: 494482,
„GlobUniqId“: „dd3a8083-a952-4066-a793-6d1cd50eb874“,
„DocumentNumber“: „MF3814/25“,
„DocumentType“: „Invoice“,
„CirInvoiceId“: null,
„Status“: „New“,
„SupplierName“: „MINISTARSTVO FINANSIJA“,
„SupplierRegistrationNumber“: „10520“,
„SupplierVatRegistrationNumber“: „108213413“,
„Amount“: 220.0,
„SumWithoutVat“: 200.0,
„VatAmount“: 20.0,
„RoundingAmount“: 0.0,
„Currency“: „RSD“,
„DeliveryDate“: „2025-07-30T10:59:41.0000000+00:00“,
„PrepaymentDate“: null,
„DueDate“: „2025-10-28T10:59:41.0000000+00:00“,
„DateOfReduction“: null,
„SentDate“: „2025-08-01T11:01:10.5030093+00:00“
}]

InvoiceId – ID ulaznog dokumenta. Dalje se može koristiti za preuzimanje ulaznog dokumenta u UBL formatu

GlobUniqId – jedinstveni identifikator dokumenta

DocumentNumber – broj dokumenta

DocumentType – tip dokumenta. Može imati jednu od vrednosti: [ Invoice, CreditNote, DebitNote, Prepayment ].

CirInvoiceId – CRF identifikator dokumenta, ukoliko je evidentiran u CRF

Status – status dokumenta. Može imati jednu od vrednosti: [ New, Seen, ReNotified, Approved, Rejected, Storno ].

SupplierName – naziv prodavca

SupplierRegistrationNumber – matični broj/JBKJS prodavca

SupplierVatRegistrationNumber – PIB prodavca

Amount – ukupna vrednost dokumenta

SumWithoutVat – vrednost dokumenta bez PDV

VatAmount – vrednost PDV

RoundingAmount – iznos za zaokruživanje

Currency – valuta dokumenta

DeliveryDate – datum prometa (za fakturu)

PrepaymentDate – datum avansa (za avansne fakture)

DueDate – datum dospeća (za dokument o povećanju)

DateOfReduction – datum smanjenja (za dokument o smanjenju)

SentDate – datum slanja

Metoda vraća podatke za maksimalno 31 dan primenom sledeće logike:

  • ako je postavljen samo krajnji datum opsega (dateTo) – korisnici dobijaju fakture samo za period od mesec dana pre navedenog datuma,
  • ako je postavljen samo početni datum opsega (dateFrom) – korisnici dobijaju fakture samo za period od mesec dana počevši od navedenog datuma,
  • ako se postave oba datuma, a period je duži od mesec dana – vraćeni rezultat će biti isti kao da nije postavljen početni datum (dateFrom), odnosno biće vraćene fakture za period od 31 dan pre krajnjeg datuma – dateTo,
  • ako se postave oba datuma, a period je do mesec dana – kao rezultat biće vraćene fakture za taj period,
  • ako nije postavljen ni jedan datum – vratiće se fakture samo za period od poslednjih mesec dana.

9. Ispravke

1) Pri slanju Avansne fakture kroz Aplikativni programski interfejs sprečeno je dodavanje više
„TaxSubtotal“ koji pripadaju istoj poreskoj kategoriji.

2) Na korisničkom interfejsu je omogućena pretraga Nosioca javne nabavke korišćenjem PIB ili JBKJS.

3) Kada se prilikom kreiranja elektronske fakture na korisničkom interfejsu promeni tip dokumenta na Avansna faktura datum plaćanja će biti postavljen na trenutni datum.

4) Izmenjen je spoljni prikaz fakture da poštuje novi red u napomeni.

5) Izmenjena je poruka o grešci pri promeni poreskog perioda van dozvoljenog perioda izmene u „Postavljanje novog poreskog perioda dozvoljeno je samo tokom prvog meseca svakog kvartala“.

6) Izmenjena je poruka o grešci pri slanju fakture kroz Aplikativni programski interfejs ako nije
postavljen datum prometa u „Invoice delivery date is missing“.

7) Sprečeno je slanje Dokumenta o smanjenju kroz Aplikativni programski interfejs bez navođenja dokumenta ili perioda na koji se odnosi. Korisniku će biti vraćena greška sa kodom UBLSourceInvoiceNotFound:

{
„Message“: „Source invoice number not found“,
„FieldName“: „creditNote.BillingReference“,
„ErrorCode“: „UBLSourceInvoiceNotFound“
}

8) Omogućeno je preko Aplikativnog programskog interfejsa slanje Dokumenta o povećanju i Dokumenta o smanjenju koji se referenciraju na dokument izdat drugom primaocu.

Podelite: