1. Šta je SEF
SEF je skraćenica za „Sistem elektronskih faktura". Vodi ga Ministarstvo finansija Republike Srbije kroz Poresku upravu. Aktivna instanca je na efaktura.mfin.gov.rs.
Osnovni ciljevi SEF-a:
- Smanjenje poreske evazije — sve fakture su u jednoj bazi i PU ih može kontrolisati
- Eliminacija papira — digitalni proces, arhiva 10 godina automatski
- Brža PDV kontrola — ulazni i izlazni PDV se automatski matchuje u sistemu
- Standardizacija — sve fakture su u UBL XML formatu, čitljive svim sistemima
Za preduzetnika, praktično iskustvo je: ulaziš na portal, popuniš fakturu online (ili je šalješ preko API-ja iz eksternog alata poput Fiksna), klikneš „Pošalji", primalac dobija notifikaciju, fakturu potvrđuje ili odbija. Svaka transakcija je elektronski potpisana i traje par sekundi.
2. Ko mora da koristi SEF
Zakon o elektronskom fakturisanju (Zakon 44/2021) definiše obveznike kroz nekoliko grupa:
| Ko | Obaveza |
|---|---|
| Pravna lica (DOO, AD, itd.) | Obavezno za sve fakture ka pravnim licima i javnom sektoru |
| Preduzetnici sa knjigama | Obavezno za sve fakture ka pravnim licima i javnom sektoru |
| Paušalci | Obavezno SAMO za fakture ka pravnim licima i javnom sektoru |
| Javne ustanove i budžetski korisnici | Obavezno za sve, i kao izdavaoci i primaoci |
| Fizička lica (privatni) | Ne koriste SEF (osim posebnih slučajeva) |
Ključna opservacija: SEF nije obavezan za fakture ka fizičkim licima. Frizerka koja radi samo za privatne osobe ne treba SEF. Isto važi za paušalnog trenera koji drži čas sportskim klubovima (pravnim licima) — za njih SEF jeste obavezan.
3. Paušalac i SEF — 4 situacije
Evo konkretnih situacija koje pokrivaju 99% paušalaca:
Paušalac fakturiše samo fizičkim licima
Primer: frizer, kozmetičar, mali servis za domaćinstva. Ne treba SEF. Izdaješ obične fakture, štampane ili PDF, bez prolaska kroz portal.
Paušalac fakturiše pravnim licima u Srbiji
Primer: IT freelancer koji radi za srpski startup (DOO). Obavezno SEF — svaka faktura mora ići kroz portal. Ovde Fiksno automatski šalje fakturu preko API-ja, uz samo jedan klik.
Paušalac fakturiše stranim klijentima (inostranstvo)
Primer: IT developer koji radi za američku firmu. SEF nije obavezan za fakture ka inostranim primaocima. Izdaješ klasičnu deviznu fakturu, bez portala.
Miks — paušalac ima i domaće i strane klijente
Tipična situacija IT freelancera. Fakture ka srpskim pravnim licima idu preko SEF-a. Fakture ka stranim klijentima su obične PDF. Fiksno automatski razlikuje — ako je klijent označen kao „strani", faktura ne ide na SEF.
4. Registracija na SEF
Registracija ima dva koraka — prvo se registruje preduzetnička radnja (jednokratno), a onda se generiše API ključ za programski pristup (opciono, ali potrebno za korišćenje kroz alate kao Fiksno).
Korak 1 — Prijava na portal
Ideš na efaktura.mfin.gov.rs, klikneš „Prijava". Portal traži elektronski sertifikat — biraš svoj, unosiš PIN. Ako je sertifikat validan, ulaziš u portal.
Korak 2 — Registracija preduzetnika
Prvo ulaženje traži da registruješ svoju radnju u SEF sistem. Popunjavaš: matični broj radnje (dobijen od APR), PIB, šifru delatnosti, naziv, adresu, poslovni račun. Portal proverava podatke u realnom vremenu sa APR bazom — ako je sve OK, registracija se završi za 2 minuta.
Korak 3 — Dodavanje poslovnog računa
U sekciji „Moja radnja" → „Računi" dodaješ broj poslovnog računa. Ovaj račun će biti automatski upisan na svakoj fakturi koju izdaješ preko SEF-a.
5. Generisanje API ključa
API ključ ti treba da bi koristio SEF kroz eksterne alate — kao Fiksno, ili ručno pisane integracije. Bez API ključa, možeš da radiš samo kroz web portal (manuelno, jednu po jednu fakturu).
Koraci za generisanje API ključa:
- Prijavi se na efaktura.mfin.gov.rs sa elektronskim sertifikatom
- Ideš u sekciju „Podešavanja" → „API pristup"
- Klikneš „Generiši novi API ključ"
- Imenovao ključ (npr. „Fiksno integracija") — za kasnije prepoznavanje
- Biraš opseg pristupa: „Čitanje + Pisanje" (potrebno za slanje faktura)
- Portal ti daje API ključ — KOPIRAJ GA ODMAH, vidi se samo jednom
- Čuvaš ključ u password manageru ili u Fiksnu (gde se enkriptuje u bazi)
6. SEF Sandbox — testiranje pre produkcije
SEF ima zasebnu „test" instancu — Sandbox. Dostupan je na demoefaktura.mfin.gov.rs. Funkcionalno identičan produkciji, ali fakture nisu prave — ne idu Poreskoj upravi niti primaocu, samo služe za testiranje.
Kada je Sandbox koristan:
- Prvi put koristiš SEF — vežbaš pre nego što pošalješ pravu fakturu
- Testiraš integraciju sa eksternim alatom (kao Fiksno) — proveravaš da li API radi
- Edukuješ novog zaposlenog u knjigovodstvenoj agenciji
Fiksno ima automatski „Sandbox mode" prekidač — u Podešavanjima → SEF integracija biraš Sandbox ili Produkcija. Pre prvog slanja u produkciju, preporučuje se da pošalješ 2–3 test fakture u Sandbox-u i proveriš da se sve prenosi kako treba.
7. UBL XML — šta je i zašto
UBL (Universal Business Language) je XML format za elektronske fakture, standard ISO i koristi ga cela EU. SEF prima i šalje fakture u UBL 2.1 formatu sa srpskim specifičnostima (CIUS SR).
Praktično, UBL XML izgleda ovako (skraćeno):
<Invoice>
<cbc:ID>2026-00123</cbc:ID>
<cbc:IssueDate>2026-04-15</cbc:IssueDate>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyLegalEntity>
<cbc:CompanyID>123456789</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>
...
</Invoice>Kao paušalac, ne moraš da znaš UBL — Fiksno generiše XML automatski iz tvojih unosa u GUI. Ali ako radiš custom integraciju, ili proveravaš zašto faktura nije prošla, korisno je razumeti strukturu.
8. JBKJS — budžetski korisnici
JBKJS (Jedinstveni broj korisnika javnih sredstava) je identifikator za sve javne institucije — ministarstva, škole, bolnice, opštine, javna preduzeća. Ako fakturišeš javnom korisniku, pored PIB-a primaoca, moraš upisati i JBKJS.
JBKJS je 5-cifreni broj. Lista svih JBKJS-ova je javna — Ministarstvo finansija objavljuje ažurirani spisak na zvaničnom portalu. U Fiksnu imamo autocomplete pretragu po nazivu institucije → automatski popunjavamo JBKJS.
Ako pogrešiš JBKJS, faktura će biti odbijena od SEF-a sa greškom „Invalid JBKJS". Korekcija je jednostavna — popravljaš podatke i šalješ ponovo.
9. Najčešće greške i rešenja
Evo top 5 grešaka sa kojima se paušalci susreću pri prvim kontaktima sa SEF-om:
Greška 1: „Invalid UBL signature"
Znači da je XML sintaksno loš ili potpis pogrešan. Rešenje: koristi validaciju pre slanja. Fiksno ima ugrađenu validaciju — greške se prikazuju pre slanja, ne nakon odbijanja.
Greška 2: „PIB primaoca nije validan"
PIB mora biti tačno 9 cifara i mora postojati u APR bazi. Ako je klijent novo registrovan (< 24h), još nije u SEF bazi. Čekaš jedan dan i ponavljaš.
Greška 3: „Authentication failed" pri API pozivu
API ključ je istekao ili je revokiran. Generiši novi u portalu → zameniš u Fiksnu (Podešavanja → SEF → „Ažuriraj ključ").
Greška 4: „Invoice rejected by receiver"
Primalac je u SEF-u označio fakturu kao pogrešnu. Razlog vidiš u portalu — obično je iznos pogrešan, ili PIB ne odgovara, ili je klijent želeo drugačiji opis usluge. Rešenje: storniraš pogrešnu i šalješ novu ispravnu.
Greška 5: „Timeout — server busy"
SEF server je prenapregnut (obično pred krajem meseca). Fiksno ima retry logiku — automatski pokušava ponovo za 2, 5 i 15 minuta. Ako ni nakon toga ne prolazi, možeš kontaktirati support SEF-a (telefon 011/33-00-330).