18. oktobar 2026.
Kako poslati e-fakturu iz Odoo-a na SEF
Faktura se knjiži u Odoo-u. Na Sistem e-faktura odlazi posebnim pozivom. Status koji SEF vrati upisuje se na isti dokument. Portal ostaje za izuzetak, ne za svaki račun.
Šta je SEF, u jednoj rečenici
Sistem e-faktura je servis Ministarstva finansija preko koga firma u Srbiji šalje i prima elektronsku fakturu. Ulaz je portal ili API. API postoji da bi ERP radio isto što čovek radi na portalu: slanje, prijem, prihvatanje, odbijanje, otkazivanje, storno i čitanje statusa.
Šta Odoo već ume, a šta ne
Odoo ume kupca, stavke, porez, broj i PDF. Standardna instalacija nema dugme „pošalji na SEF“. To dugme je sloj između: uzme potvrđenu fakturu, složi XML koji SEF razume (UBL), pošalje ga i sačuva identifikator koji SEF vrati.
Ključ za API pravi se na nalogu firme, u podešavanjima SEF-a. Čuva se kod vas. Tuđi nalog ne šalje vaše fakture.
Redosled koji vredi ispratiti
- Faktura u Odoo-u je potvrđena. Nacrt se ne šalje.
- Proverite PIB kupca, datum, valutu, poreske stope i tip: račun, avans ili knjižno odobrenje.
- Sloj napravi XML i pošalje ga sa jedinstvenim brojem zahteva. Ako mreža pukne, isti broj se ponovi. Novi broj bi mogao da napravi drugu fakturu.
- SEF odmah vrati svoj identifikator, i pre nego što kupac bilo šta vidi. Taj broj ide na fakturu u Odoo-u.
- Status se kasnije povuče: nova, u slanju, poslata, viđena, prihvaćena, prihvaćena uz rezervu, odbijena, otkazana, storno. Na dokumentu stoji onaj status koji je SEF vratio, ne onaj koji bismo voleli.
Polja koja se najčešće raziđu
- PIB. Odoo ima polje za poreski broj. SEF očekuje baš PIB firme u Srbiji, bez slova i razmaka koji je neko nalepio uz broj.
- PDV. Stopa 20%, 10% i oslobođeno moraju da se vide kao posebne osnove. Jedan zbir „porez“ nije dovoljan ako na fakturi ima više stopa.
- Jedinica mere i količina. Komad u Odoo-u i komad u XML-u nisu uvek isti kod.
- Knjižno odobrenje nije negativna faktura koju neko ručno prepravi. Ima svoj tip i vezu ka originalu.
- Javni sektor. Slanje u CIR nije isto što i slanje firmi. To je zastavica na pozivu, ne drugi program.
Ulazne fakture
Isti API ume listu primljenih. U Odoo uđu kao predlog ulaznog računa: dobavljač, broj, datum, iznos, PDV. Knjigovođa i dalje odlučuje da li je promet stvaran. Integracija skida prepisivanje sa portala, ne zamenu za proveru.
Ako ERP ne povlači promene u toku dana, jutarnja lista i dalje vredi, kao izvod banke. Za isti dan postoji i obaveštenje (callback) koje SEF zove kad se status promeni. Bez njega ne očekujte da će Odoo znati za fakturu koja je stigla pre pet minuta.
Kad je faktura odbijena
Odbijenu ne „popravite“ tihim snimanjem istog broja. Razlog treba da stoji na dokumentu. Ispravka je otkazivanje dok još sme, ili storno i novi dokument, po onome što SEF u tom statusu dozvoljava. Zato status mora da bude vidljiv komercijalisti, ne samo u logu servera.
Šta ovo nije
Nije fiskalni račun na kasi. Nije garancija da će svaki poreski slučaj proći iz prve. Nije razlog da se API ključ pošalje mejlom u istoj poruci sa lozinkom od Odoo-a. Ako hoćete da prva faktura prođe na vašem nalogu, a ne na slajdu, to je poseban razgovor.