Trek
Početna
Rubrike
Nalog
Trek
podrska@gosimple.space © 2026 Trek · gosimple.agency
Trek

Fiskalizacija za veb i aplikacije: API, konektori i naplata

Kako se fiskalni račun spaja sa prodavnicom ili aplikacijom: gotovi konektori za Woo i Shopify, jedan POST za custom, deset ruta, veb-huk i naplata.

Fiskalizacija za veb i aplikacije: API, konektori i naplata

Ažurirano: 12.10.2026. | Verzija 2.0

Pravite prodavnicu, SaaS ili mobilnu aplikaciju i treba vam fiskalni račun. Ovo je kako se to spaja: gotov konektor gde postoji, jedan POST gde ne postoji, i gde u toj priči stoji naplata.

Naplata i račun su dve odvojene stvari

Ovo tim najčešće pomeša, pa stoji na vrhu. Novac i dokument idu različitim putem i rešavaju ih različiti sistemi.

Gde prestaje naplata, a gde počinje fiskalizacija Kupac plaća preko platnog posrednika ili banke. Kada naplata uspe, vaša aplikacija šalje porudžbinu fiskalnoj kasi, koja izdaje račun i prijavljuje promet Poreskoj upravi. Platni posrednik ne izdaje fiskalni račun, a kasa ne pomera novac. Dva toka koja se sastaju u jednoj liniji koda Novac Kupac plaća Kartica preko banke, IPS QR, posrednik ili pouzeće Novac je na računu Posrednik ne izdaje fiskalni račun Dokument Vaš kod zove kasu Jedan POST, ili webhook iz prodavnice Račun i prijava Poreskoj Kasa ne pomera novac Cela integracija je jedna rečenica: kad naplata uspe, pošalji porudžbinu kasi.
Platni posrednik i fiskalna kasa rade dva različita posla. Vaš kod ih spaja u jednoj tački.

Po platformi: gotov konektor ili jedan POST

PlatformaKako se spajaŠta dobijate
WooCommerceDvosmerna veza, REST ključ iz Woo-aPorudžbina se povlači, račun se izdaje i šalje kupcu, broj računa se upisuje nazad
ShopifyDvosmerna veza, custom app i Admin API tokenIsto kao Woo, uz pažnju na odobrenje za zaštićene podatke kupca
PrestaShop, Wix, OpenCart, Magento, BigCommerceUlazni webhookŠaljete porudžbinu, dobijate račun, bez pisanja plugina
Next.js, React, Nuxt, Laravel, DjangoPOST /api/integrations/order?provider=customPun API, deset ruta, webhook sa potpisom
Mobilna aplikacijaIsti API, poziv sa vašeg serveraNikad iz same aplikacije, jer ključ ne sme na telefon
WordPress bez WooCommerceWebhook iz forme ili plugina za plaćanjeIsto kao custom
Bez programeraZapier, Make, n8n ili MCP konektorZa jednostavne tokove

Za dvosmerne veze postoji i poluautomatski režim: isključite automatsko pravljenje računa, porudžbine čekaju sa statusom „Čeka fiskalizaciju", pa ih fiskalizujete dugmetom. Korisno dok se tok ne slegne.

Prvi poziv

Jedan POST, jedan ključ u zaglavlju.

curl -X POST https://pos.narbiz.com/api/integrations/order?provider=custom \
  -H "X-Tezga-Api-Key: tzg_…" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": "NALOG-1042",
    "tok": "fiskalni",
    "nacinPlacanja": "Kartica",
    "kupac": { "naziv": "Kupac", "email": "kupac@primer.rs" },
    "stavke": [
      { "naziv": "Paket od 10 časova", "kolicina": 1, "cenaSaPdv": 24000 }
    ]
  }'

Tri polja nose ceo tok:

  • externalId je vaš broj porudžbine. Po njemu se garantuje da ista porudžbina ne može da se fiskalizuje dvaput, čak i ako pošaljete dva puta.
  • tok bira dokument: fiskalni (račun), sef (e-faktura), fiskalni_i_sef (oba).
  • cenaSaPdv je ono što je kupac stvarno platio. Akcije i kuponi su već unutra.

Odgovor nosi fiskalni sa PFR brojem, brojačem, ESIR brojem i vremenom, plus javniPdfUrl, PDF računa koji kupac otvara bez prijave. Taj link možete odmah pokazati na strani sa potvrdom porudžbine.

Šta API pokriva

RutaČemu služi
orderPorudžbina postaje račun, e-faktura ili oboje
advanceAvansni račun i njegovo zatvaranje pri isporuci
refundStorno i refundacija, ceo račun ili po stavkama
copyKopija već izdatog računa
documentsStanje dokumenta i preuzimanje
customers, productsKupci i artikli
transactionsPregled prometa
kalkulacija, nivelacijaUlaz robe i promena cena

Webhook umesto ispitivanja. Kasa vas zove kad se nešto desi, a telo nosi HMAC potpis koji proverite pre obrade: racun.fiskalizovan, racun.greska, refundacija.izvrsena, storno.izvrsen.

Storno i refundacija bez prijave u kasu. Isti ključ, ruta refund. storno je za pogrešno otkucan račun i ide na pun iznos sa pozivom na original. refundacija je povraćaj novca, ceo račun ili samo neke stavke. Kad procesor Poreske uprave padne, stiže 202, a ponovljeni zahtev šalje istu refundaciju, ne pravi novu.

Jedna važna granica: integracija ne pomera novac. Povraćaj kupcu radite kroz banku ili platni sistem, kasa samo izdaje dokument.

Naplata: šta ide uz šta

Srbija nema Stripe, pa izbor izgleda ovako.

NačinZa kogaNapomena
Domaća kartica preko bankeDomaći kupciProcesori AllSecure, Monri (WebPay, WSPay), Chip Card. Nijedna banka ni procesor ne objavljuje proviziju, sve ide na upit
IPS SkenirajDomaći kupci, jeftinije od karticeQR Narodne banke, besplatno za kupca, traži ugovor sa bankom prihvatiocem
Posrednik (Paddle, Dodo, Polar)Prodaja u inostranstvo5 do 6 odsto, preuzimaju porez u zemlji kupca
PayPalBrz početakRadi za firme iz Srbije, ali 7 do 8 odsto ukupno uz konverziju i isplatu
PouzećeProdavnice sa isporukomKasa ga vodi kao prenos, ne kao gotovinu

Način plaćanja se usklađuje sam. Pouzeće postaje Prenos, bankovni transfer Prenos, ček Ček, kartica Kartica, a PayPal i Stripe idu kao drugo bezgotovinsko. To nije kozmetika nego ono što Poreska uprava očekuje u zapisu.

B2B u istom toku. Ako kupac unese PIB (u Woo-u meta polje _billing_eu_vat_number, u Shopify-ju napomena „PIB:123456789"), izlazi dokument pogodan za knjiženje troška. Bez PIB-a ide maloprodaja.

Predračun i uplata prenosom, bez ručnog rada

Ovo rešava najdosadniji posao u B2B prodaji: neko naruči, vi pošaljete predračun, para stigne za tri dana, i neko mora da uhvati tu uplatu i izda dokument.

Kroz API se to zatvara samo. Pošaljete porudžbinu sa tipDokumenta: "predracun" i obaveznim pozivNaBroj, a polje tok kaže šta nastaje kad para stigne.

{
  "externalId": "NALOG-118",
  "tipDokumenta": "predracun",
  "tok": "sef",
  "model": "97",
  "pozivNaBroj": "97-118-2026",
  "kupac": { "naziv": "Firma DOO", "pib": "115468360" },
  "nacinPlacanja": "Prenos",
  "posaljiMejl": true,
  "stavke": [
    { "naziv": "Notarska taksa", "kolicina": 1, "cenaSaPdv": 30240, "poreskaStopa": "20" }
  ]
}

Tok je: predračun izdat, kupcu ode mejl sa IPS QR kodom, izvod stigne na mejl kase, uplata se upari po pozivu na broj, konačan dokument se izda i veže za predračun.

Zašto je poziv na broj obavezan. Bez njega uparivanje pada na „tačno jedna nesparena uplata sa istim iznosom". Kod ponovljivih iznosa, kao što su takse, pretplate i članarine, to ili ćuti ili upari tuđu uplatu, pa bi nastao pogrešan račun. Zato API radije odbije predračun bez poziva na broj.

Predračun nije fiskalni račun i ne ide preko fiskalnog uređaja. On je poziv na plaćanje, a poreska obaveza nastaje konačnim računom.

Cena za one koji idu preko API-ja

Firma koja kuca isključivo kroz API ne mora na mesečnu pretplatu. Paket Po računu je 4 RSD po fiskalnom računu poslatom Poreskoj upravi, i isto toliko po refundaciji. Plaća se dopunom unapred, 2.000, 5.000, 10.000 ili 20.000 dinara, a kredit važi 12 meseci.

Kad se kredit potroši, kasa odradi još 100 računa pa API vraća 402 dok se ne dopuni. Taj grejs period je dovoljan da neko primeti pre nego što prodaja stane.

Pet zamki koje koštaju

  1. Dupli račun. Ako pošaljete istu porudžbinu dvaput, ili ako stignu i webhook i automatsko povlačenje, račun se izdaje jednom. To garantuje baza preko externalId, a ne provera u vašem kodu. Ali kod sopstvene integracije i vi morate da pamtite identifikator događaja.
  2. Ključ u pregledaču ili u mobilnoj aplikaciji. API ključ ide isključivo na server. Iz aplikacije zovete svoj bekend, ne kasu.
  3. Prva proba na produkciji. Fiskalni račun se ne briše, postoji samo storno koji je i sam događaj. Test okruženje postoji, koristite ga.
  4. Shopify i zaštićeni podaci kupca. Novije prodavnice na osnovnoj pretplati ne prosleđuju mejl i ime dok aplikacija ne dobije odobrenje. Bez toga automatsko slanje računa ne radi. Pokrenite odobrenje rano.
  5. Cena iz kataloga umesto plaćene. Račun mora da nosi ono što je kupac platio, sa akcijom i kuponom unutra. Kad šifra artikla postoji u katalogu, iz kataloga se uzimaju naziv, jedinica mere i poreska stopa, a cena ostaje iz prodavnice.

Česta pitanja

Treba li mi uređaj? Ne. Reč je o cloud rešenju sa procesorom Poreske uprave, pa integracija ide preko API-ja ili konektora.

Mogu li da zovem API direktno iz mobilne aplikacije? Ne. Ključ ide na server, a aplikacija zove vaš bekend.

Šta se dešava ako pošaljem istu porudžbinu dvaput? Nastaje jedan račun. Jedinstvenost garantuje baza preko polja externalId.

Da li mogu da izdam e-fakturu umesto fiskalnog računa? Da, poljem tok. Vrednosti su fiskalni, sef i fiskalni_i_sef.

Koliko košta ako radim samo preko API-ja? Paket Po računu je 4 RSD po fiskalnom računu, uz dopunu unapred i kredit koji važi 12 meseci.

Sledeći korak

Napravite ključ, otvorite test okruženje i pošaljite prvi poziv iz primera. Ako integraciju piše AI alat, dajte mu opis API-ja u standardnom obliku, da ne izmišlja polja.

GoSimple · Tezga fiskalna kasa

Izvori (provereno 12.10.2026)

  • Zakon o fiskalizaciji: https://www.paragraf.rs/propisi/zakon-o-fiskalizaciji-republike-srbije.html
  • Poreska uprava, tehnički vodič i testno okruženje: https://www.purs.gov.rs/eFiskalizacija/tehnicki-vodic.html
  • Registar odobrenih elemenata: https://www.purs.gov.rs/eFiskalizacija/registar-odobrenih-elemenata-efu.html
  • Narodna banka Srbije, IPS na internet prodajnim mestima: https://ips.nbs.rs/ips-mesta-i-nacini-placanja/ips-na-internet-prodajnim-mestima
  • Stripe, spisak dostupnih zemalja: https://stripe.com/global

Imaš pitanje za autora?

Pošalji ga direktno autoru (Trek). Odgovor stiže na tvoj imejl.

2 pregleda
Trek
Autor

Trek

0 pratilaca

Trek je poslovni magazin i platforma za autore: startapi, firme, inovacije, ekonomija, marketing, propisi i karijera. Pod ovim potpisom izlaze tekstovi redakcije, vodiči i analize koje ne potpisuje jedno ime.

Prijavi ovaj tekst redakciji
Prijave pregleda redakcija. Zloupotreba obrasca vodi u blokadu.

Komentari (0)

Budi prvi koji komentariše ovaj članak.

Ostavi komentar

Imaš nalog? Prijavi se ili nastavi preko Google-a, ili komentariši kao gost:

Stigao si do kraja ovog lanca čitanja.

Otkrij još tekstova