IPS QR kod na fakturi: naplata za 3 sekunde

Klijent otvori PDF fakture na telefonu, uzme drugi telefon da ukuca poziv na broj, pogreši cifru, odustane i vrati se sutra. Ili nikad. IPS QR kod rešava tačno taj trenutak — klijent skenira kod iz m-banking aplikacije, sva polja se popune sama, pritisne "Plati" i gotovo. Ako fakturišeš domaćim kupcima i naplata ti kasni, ovo je najjeftinija optimizacija koju možeš da uradiš danas.
Šta je IPS QR kod i zašto radi baš u Srbiji
IPS QR kod je standardizovani dvodimenzionalni kod koji Narodna banka Srbije propisuje kroz IPS (Instant Payment Serbia) sistem. U jednom kvadratu spakovano je sve što banka mora da zna da bi izvršila prenos: račun primaoca, iznos, valuta, poziv na broj, šifra plaćanja, svrha i naziv primaoca. Kada klijent skenira kod iz svoje m-banking aplikacije preko opcije "IPS skeniraj" (ili "IPS pokaži" na strani platioca), svi ti podaci se automatski učitaju u nalog za plaćanje.
Ključna stvar je što je IPS sistem instant — novac stiže za nekoliko sekundi, 24/7, uključujući vikende i praznike. Nema više "poslao sam u petak popodne, videćeš u ponedeljak". Ako i platilac i primalac imaju banke uključene u IPS (a to su danas praktično sve komercijalne banke u Srbiji), transfer je gotov pre nego što zatvoriš mejl.
Za tebe kao izdavaoca fakture, benefit je dvostruk: manja stopa odustajanja pri plaćanju (nema ručnog unosa = nema grešaka = nema frustracije) i brža naplata (instant transfer umesto standardnog banking dana). Za klijenta, ušteda je merljiva u sekundama — umesto minuta prepisivanja, tri sekunde skeniranja.
Kako izgleda struktura IPS QR koda po NBS specifikaciji
NBS je definisala tačan format podataka koji ide u QR kod. Nije to običan tekst — polja imaju svoje oznake, redosled i pravila. Evo šta mora da bude unutra:
| Oznaka | Polje | Primer | Obavezno |
|---|---|---|---|
| K | Identifikator (uvek "PR" za plaćanje) | PR | Da |
| V | Verzija | 01 | Da |
| C | Karakter set (1 = UTF-8) | 1 | Da |
| R | Račun primaoca (18 cifara, bez crtica) | 160600000012345678 | Da |
| N | Naziv primaoca | Firma DOO Beograd | Da |
| I | Valuta i iznos | RSD12345,67 | Da |
| P | Naziv platioca | Kupac DOO | Ne |
| SF | Šifra plaćanja | 221 | Ne |
| S | Svrha uplate | Placanje po fakturi 2026-0042 | Ne |
| RO | Model i poziv na broj | 97-1234567890123 | Ne |
Iznos se piše sa zarezom kao decimalnim separatorom (evropski standard, ne tačka), a valuta se lepi neposredno ispred iznosa bez razmaka. Model 97 zahteva ispravan kontrolni broj — ako ga pogrešiš, banka klijenta može odbiti nalog ili tražiti potvrdu. Nazivi ne smeju imati određene specijalne znake, a ukupna dužina QR sadržaja je ograničena (praktično do 425 karaktera za pouzdano skeniranje).
Kod se najčešće generiše u srednjem nivou korekcije grešaka (M nivo), veličina modula treba da je dovoljna da telefon skenira sa štampane fakture — u praksi 2 do 3 centimetra po strani na A4 dokumentu. Manji kod ume da zada muke starijim telefonima i loše osvetljenim štampama.
Kako se generiše IPS QR kod u praksi
Postoji tri načina — i svaki ima svoju cenu i svoje muke.
Ručno preko NBS generatora. Narodna banka ima zvanični IPS QR generator gde ukucaš polja i dobiješ sliku. Radi, besplatno je, ali za svaku fakturu ponovo unosiš iste podatke, kopiraš sliku i lepiš u dokument. Ako izdaješ tri fakture mesečno, može. Ako izdaješ trideset, izgubićeš sat vremena bez potrebe.
Preko biblioteke u kodu. Ako sam praviš fakture, postoje open-source biblioteke (Python qrcode, JavaScript qrcode.js i slično) koje generišu QR kod iz stringa. Ti napraviš string po NBS formatu, biblioteka nacrta kod. Fleksibilno, ali moraš da vodiš računa o kontrolnim brojevima, escape karakterima i validaciji. Za one koji vole da programiraju.
Kroz softver za fakturisanje. Većina modernih alata za fakturisanje danas ima ugrađeno generisanje IPS QR koda — ubaciš račun firme jednom, i svaka nova faktura ima kod automatski. Ovo je scenario u kome najmanje razmišljaš, ali proveri da alat zaista prati važeću NBS specifikaciju (bilo je slučajeva da alati generišu kod koji izgleda kao IPS ali nema ispravna polja, pa ga aplikacije ne prepoznaju).
Ako ti treba brz način da napraviš profesionalnu fakturu sa svim poljima na svom mestu, možeš početi i sa besplatan obrazac fakture i posle nadograditi na softver koji sam radi QR generisanje.
Praktični primeri: paušalac, DOO i frilenser
Paušalac (dizajner, 4 klijenta mesečno). Izdaje četiri fakture mesečno, uglavnom domaćim firmama. Bez QR koda, dva od četiri klijenta plate isti dan, dva zakasne 5-10 dana jer "moraju da nađu vreme da otvore banking i prepišu podatke". Sa QR kodom na fakturi, prosek naplate mu je pao na 2 dana. Nula truda za njega — samo je jednom podesio račun u alatu za fakturisanje.
Mala firma (5 zaposlenih, konsalting). Izdaju 30-40 faktura mesečno. Računovođa im je izračunala da u proseku 8 klijenata mesečno pogreši poziv na broj ili iznos, pa dolazi do "uplata bez identifikacije" — što znači ručno traženje, mejlovi, korekcije. Sa IPS QR kodom taj broj pao na jedan-dva slučaja mesečno (uglavnom klijenti koji i dalje ručno ukucavaju, po navici). Vreme finansijske službe na "gde je moja uplata" pozive smanjeno je za oko pola.
Frilenser (developer, radi za domaće i strane). Za domaće klijente stavlja QR kod na fakture i naplaćuje istog ili narednog dana. Za strane klijente ide preko SWIFT-a ili Wise-a i to je posebna priča. Ali za domaći deo naplate — koji čini oko 40% njegovog prihoda — QR je skratio prosek sa 12 na 3 dana.
Zajednički imenilac sva tri slučaja: QR kod ne primorava klijenta ni na šta, samo mu daje najlakšu opciju. Klijent koji hoće da plati karticom ili starim modelom, plati kako želi. Ali onaj koji hoće da bude gotov za tri sekunde — ima tu opciju.
Česte greške koje uništavaju QR kod (i kako ih izbeći)
Video sam previše faktura gde je QR kod tehnički prisutan, ali ne funkcioniše. Evo najčešćih uzroka:
Pogrešan model poziva na broj. Ako staviš model 97, poziv na broj mora imati validan kontrolni broj po specifičnom algoritmu (MOD 97). Ako samo ukucaš broj fakture bez računanja kontrolne cifre, banke odbijaju nalog. Rešenje: koristi model 00 (nema kontrole) za pozive na broj koje sam formiraš, ili koristi alat koji sam računa MOD 97 kontrolu.
Račun sa crticama ili razmacima. NBS format traži 18 cifara u nizu. "160-0000000123456-78" u QR-u je greška — treba "160000000012345678". Vizuelno možeš da prikazuješ sa crticama na fakturi, ali u QR-u ide bez.
Iznos sa tačkom umesto zareza. "RSD12345.67" ne radi. Mora "RSD12345,67". Ovo je klasična greška kada developer koristi englesku lokalizaciju bez konverzije.
Predugačak sadržaj. Ako u polje "svrha" napišeš tri rečenice objašnjenja, QR postane pregust i telefoni ga ne skeniraju sa štampe. Drži svrhu na 30-50 karaktera: "Placanje po fakturi 2026-0042" je dovoljno.
Loša štampa. QR kod manji od 2cm, štampan na jeftinom štampaču bez tonera, na papiru koji se sija — sve to ubija skeniranje. Ako klijenti dobijaju fakture kao PDF, ovo nije problem (skeniraju sa ekrana). Ako šalješ štampane, drži se minimuma 25mm po strani i crno-belo kontrasta.
Specijalni karakteri u nazivu. Znaci kao %, &, znak jednakosti ili dijakritički znaci ("š", "č", "đ") mogu praviti probleme ako alat ne escapuje pravilno. Većina modernih alata to rešava, ali proveri sa test skeniranjem pre nego što pošalješ 50 faktura.
Test procedura pre nego što faktura ode klijentu
Nemoj slati novi QR format klijentu bez provere. Ovo je pet minuta rada koje ti štedi nedelju dana objašnjavanja zašto plaćanje ne prolazi:
- Napravi test fakturu na svoj račun sa iznosom od 1 dinar.
- Otvori m-banking aplikaciju svoje banke i idi na "IPS skeniraj".
- Skeniraj kod sa ekrana ili štampe.
- Proveri da li su sva polja ispravno učitana: račun, iznos, poziv na broj, svrha.
- Ako je sve OK, pošalji uplatu — proveri da li instant stiže.
Ponovi test sa drugom bankom ako imaš dva računa u različitim bankama. Neke banke su pedantnije oko formata i odbijaju nalog na najmanju grešku, druge tolerišu blago odstupanje. Ako radi u dve banke, verovatno će raditi svuda.
Kako ovo izgleda u praksi sa Fakturkom
Kada u Fakturki dodaš račun firme (samo jednom, pri prvom podešavanju), svaka nova faktura koju kreiraš automatski dobija IPS QR kod generisan po važećoj NBS specifikaciji — sa ispravnim modelom 97 kontrolnim brojem, formatiranim iznosom, ograničenom dužinom svrhe. Ne moraš da razmišljaš o formatu, escape karakterima ili validaciji. Faktura ide klijentu kao PDF na mejl ili preko SEF-a, i na njoj već stoji QR spreman za skeniranje.
Ako pošalješ istu fakturu sledećeg meseca ("Faktore, pošalji Žiki istu fakturu kao prošli mesec"), QR kod se ponovo generiše sa novim brojem fakture i novim pozivom na broj — bez tvog dodatnog rada. Klijent na drugoj strani skenira, plaća, i ti u aplikaciji vidiš uplatu čim stigne na račun (ako si povezao bankovni izvod).
Zaokruživanje: sitna tehnikalija sa velikim efektom
IPS QR kod nije neka revolucija — samo je pametan način da klijentu ne otežavaš plaćanje. Onima koji fakturišu domaćim kupcima, ovo je jedna od retkih optimizacija sa merljivim efektom na brzinu naplate koju možeš uvesti danas, bez menjanja procesa i bez treniranja klijenata. Kod, iznos, poziv na broj — sve spakovano u kvadrat od dva centimetra.
Ako trenutno ručno ubacuješ QR u fakture ili uopšte nemaš QR na svojim fakturama, probaj Fakturko besplatno i vidi kako to izgleda kada softver sve to radi umesto tebe — prva faktura sa ispravnim IPS QR kodom je gotova za par minuta.
Česta pitanja
Šta je IPS QR kod i kako funkcioniše na fakturi?
IPS QR kod je standardizovani dvodimenzionalni kod koji propisuje Narodna banka Srbije kroz IPS (Instant Payment Serbia) sistem. U kodu su spakovani svi podaci potrebni za plaćanje: račun primaoca, iznos, valuta, poziv na broj, šifra plaćanja i naziv primaoca. Klijent skenira kod iz svoje m-banking aplikacije opcijom 'IPS skeniraj', sva polja se automatski popunjavaju i on samo potvrdi plaćanje. Novac stiže za nekoliko sekundi, 24/7, uključujući vikende i praznike.
Koja polja mora da sadrži IPS QR kod po NBS specifikaciji?
Obavezna polja su identifikator (K=PR), verzija (V=01), karakter set (C=1), račun primaoca u formatu 18 cifara bez crtica (R), naziv primaoca (N) i valuta sa iznosom (I, npr. RSD12345,67). Opciona ali korisna polja su naziv platioca (P), šifra plaćanja (SF), svrha uplate (S) i model sa pozivom na broj (RO). Iznos se piše sa zarezom kao decimalnim separatorom, a valuta se lepi neposredno ispred iznosa bez razmaka. Ukupna dužina QR sadržaja ograničena je na oko 425 karaktera za pouzdano skeniranje.
Kako mogu da generišem IPS QR kod za svoje fakture?
Postoje tri načina. Prvi je ručno preko besplatnog zvaničnog NBS generatora, što je praktično samo za mali broj faktura mesečno. Drugi je preko open-source biblioteka poput Python qrcode ili JavaScript qrcode.js ako sam praviš fakture programski. Treći i najlakši je kroz softver za fakturisanje koji ima ugrađeno generisanje IPS QR koda — podesiš račun firme jednom i svaka nova faktura automatski dobija kod. Bitno je proveriti da alat prati važeću NBS specifikaciju.
Da li IPS QR kod zaista ubrzava naplatu i za koliko?
Da, u praksi značajno. Paušalcima i frilenserima prosek naplate od domaćih klijenata pada sa 10-12 dana na 2-3 dana jer klijent ne mora ručno da prepisuje račun i poziv na broj. Malim firmama broj 'uplata bez identifikacije' zbog pogrešnog poziva na broj drastično opada, što računovodstvu štedi vreme na traženje uplata i korespondenciju sa klijentima. IPS transfer je instant, pa novac stiže za nekoliko sekundi, čak i vikendom i praznicima. Kod ne prisiljava klijenta ni na šta — samo mu daje najbržu opciju plaćanja.
Koje su najčešće greške pri generisanju IPS QR koda?
Najčešće greške su pogrešan format iznosa (tačka umesto zareza kao decimalnog separatora), razmak između valute i iznosa, i neispravan kontrolni broj kod modela 97 poziva na broj — što banka može odbiti ili tražiti dodatnu potvrdu. Takođe treba izbegavati specijalne znake u nazivima koji nisu dozvoljeni po NBS specifikaciji. Veličina koda na štampanoj fakturi treba da bude 2-3 cm po strani jer manji kod teško skeniraju stariji telefoni. Preporučuje se srednji nivo korekcije grešaka (M nivo) za pouzdano skeniranje sa štampe.