Od 1. listopada 2026. svaki trgovac i pružatelj usluge u Hrvatskoj koji ima mrežne stranice mora objaviti cjenik u obliku koji računalo može pročitati: XML ili CSV. Uz svaku cijenu u toj datoteci mora stajati još jedan iznos, sidrena cijena (u Odluci se zove dodatna cijena), odnosno cijena koja je vrijedila 10. rujna 2026. Cjenik proizvoda osvježava se svaki dan do 8:00 (Ministarstvo gospodarstva to tumači kao radne dane). Cjenik usluga osvježava se do 8:00 na dan kad se cijena promijeni. Svaka objavljena verzija ostaje dostupna najmanje 30 dana.
Ukratko, tehnički posao svodi se na stupac sa sidrenom cijenom i njezinim datumom, zakazani zadatak koji se pokreće prije 8:00 i pohranu u koju se datoteke samo dodaju, dostupnu na javnom URL-u. Za WooCommerce već postoje gotovi pluginovi. Ovaj je članak za web shopove na custom ili headless rješenju, gdje je izrada datoteke posao vašeg tima.
Što Odluka propisuje
Pravila su u dvjema odlukama Vlade objavljenima u Narodnim novinama 101/2026, a obje se primjenjuju od 1. listopada 2026.: Odluka o objavi cjenika proizvoda i usluga i Odluka o isticanju dodatne cijene.
Za proizvode (točka III Odluke o objavi cjenika proizvoda i usluga) datoteka mora sadržavati:
naziv
šifru (SKU)
marku
mjernu jedinicu i cijenu za jedinicu mjere, ako je primjenjivo
maloprodajnu cijenu te podatak radi li se o posebnom obliku prodaje, s nazivom tog oblika prodaje
sidrenu cijenu
barkod
dostupno / nedostupno
Za usluge (točka IV) popis je kraći: naziv usluge, maloprodajna cijena s istom oznakom posebnog oblika prodaje i sidrena cijena.
Datum sidrene cijene za većinu proizvoda i usluga je 10. rujna 2026. Hrana, pića, kozmetika, sredstva za čišćenje, toaletne potrepštine i proizvodi za kućanstvo koji su već bili obuhvaćeni pravilima iz 2025. zadržavaju 2. svibnja 2025. kao datum sidrene cijene.
Pojašnjenje Ministarstva gospodarstva od 22. rujna donosi tri stvari važne za web shop. Obveza vrijedi za sve uspostavljene mrežne stranice, pa i za one koje su samo informativne. Profil na društvenim mrežama ne smatra se mrežnom stranicom. A promjena cijene tijekom dana ne znači da isti dan morate objaviti novu datoteku.
Srodne usluge
Opišite nam svoj projekt
Odgovaraju vam inženjeri koji bi ga gradili, pisanim putem, čim prije, obično u roku od nekoliko dana.
Pretplatite se na naš newsletter i jednom mjesečno primajte praktične savjete o webu, softveru i AI-ju.
Kazne propisuje Zakon o iznimnim mjerama kontrole cijena (NN 40/25, članak 20.): od 3.000 do 30.000 eura za pravnu osobu, od 1.000 do 4.000 eura za odgovornu osobu u pravnoj osobi, od 1.000 do 20.000 eura za obrtnika i od 1.000 do 6.000 eura za trgovca koji je fizička osoba.
Što Odluka ne definira
Odluka navodi podatke, ali ne definira:
nazive ni redoslijed stupaca
razdjelnik u CSV-u ni kodiranje datoteke
XML shemu (XSD)
URL na kojem datoteka mora biti
Hrvatska obrtnička komora (HOK) objavila je Excel predložak. Koristan je, ali nije obvezujući. Zato svaki web shop donosi vlastite odluke. Donesite ih jednom i zapišite ih.
Dva zahtjeva iz Odluke lako je previdjeti.
Naziv datoteke nosi metapodatke. Prema točki VI naziv datoteke sadrži vrstu prodajnog objekta, njegovu adresu, oznaku prodajnog objekta, broj pohrane i vremensku oznaku s datumom i vremenom objave. Na dan 24. rujna 2026. nitko nije službeno definirao što je „broj pohrane”. Mi ga tretiramo kao interni broj prodajnog objekta i ne mijenjamo ga.
Datoteku moraju moći preuzeti programi. Točka VII obvezuje trgovce da softverskim alatima i automatiziranim programima omoguće prikupljanje podataka o cijenama. Naše tumačenje: datoteka iza prijave, obveznog pristanka na kolačiće ili bot provjere vašeg firewalla ne ispunjava taj uvjet, čak i ako je čovjek može otvoriti u pregledniku.
Izvedba koja drži vodu
Ovako bismo to postavili na Next.js web shopu ili bilo kojem drugom custom rješenju. Isti pristup radi i za PHP ili Python backend.
Sidrena cijena za svaki artikl (Odluka o isticanju dodatne cijene, točka II): stupac price_anchor i stupac price_anchor_date, popunjeni jednom i nikad prepisani.
XML ili CSV, strojno čitljiv (Odluka o objavi cjenika proizvoda i usluga, točka II): generira se iz baze, UTF-8, redak sa zaglavljem, jedan redak po SKU-u.
Proizvodi osvježeni svaki dan do 8:00 (točka II): zakazani zadatak oko 6:00 s upozorenjem ako ne uspije, kako bi ostalo vremena da ga se ponovno pokrene.
Usluge osvježene pri promjeni cijene (točka II): isti zadatak, pokrenut kad se spremi nova cijena usluge.
Metapodaci u nazivu datoteke (točka VI): na primjer webshop_<address>_<outlet>_<storage>_<YYYY-MM-DDTHHmm>.csv.
Dostupnost 30 dana (točka II): svaka se datoteka jednom zapisuje u object storage i nikad se ne prepisuje, indeksna stranica ih sve popisuje, a brišu se tek nakon 30 dana.
Otvoreno za automatizirane alate (točka VII, naše tumačenje): javni URL, izuzet od bot provjera i prijave, i nije blokiran u robots.txt.
Zaglavlje CSV-a i jedan redak proizvoda mogli bi izgledati ovako (razdjelnik je točka-zarez jer nazivi proizvoda često sadrže zareze):
Nazivi polja samo su naš primjer, a ne službeni format, a barkod je izmišljeni EAN.
Odakle uzeti sidrenu cijenu
U praksi je ovo najteži dio. Ako vaš web shop vodi tablicu s poviješću cijena, sidrena cijena je jedan upit u bazu. Ako je ne vodi, uobičajeni izvori su, od najpouzdanijeg:
sigurnosna kopija baze od 10. rujna
stavke narudžbi s tog dana, za proizvode koji su se prodali
izvoz za stranice za usporedbu cijena ili feed za marketplace s tog datuma
Sama Odluka o isticanju dodatne cijene kaže da sidrena cijena ne uključuje posebne oblike prodaje. Ako je proizvod 10. rujna bio na popustu, sidrena cijena je njegova redovna cijena. Za proizvode uvedene nakon tog datuma sidrena cijena je, prema pojašnjenju Ministarstva kako ga prenosi N1, prva cijena po kojoj su se prodavali, uz jasno istaknut datum. Zato sidrena cijena treba vlastiti stupac s datumom: isti web shop može imati artikle sa sidrenom cijenom od 2. svibnja 2025., od 10. rujna 2026. i od nekog kasnijeg datuma kad su ušli u ponudu.
Uz svaku sidrenu cijenu spremite i izvor iz kojeg je preuzeta. Ako Državni inspektorat pita, „preuzeto iz sigurnosne kopije od 10. rujna” bolji je odgovor od broja bez ikakve povijesti.
Za proizvode čija cijena ovisi o konfiguraciji, pojašnjenje Ministarstva kaže da se sidrena cijena iskazuje za pojedine elemente iz kojih se računa konačna cijena, a ne za svaku pojedinačnu ponudu kupcu.
Jedan izvor istine
Sidrena cijena mora stajati i uz trenutnu cijenu na stranici proizvoda i u online oglašavanju. Ako stranica čita jedno polje, a generator datoteke drugo, prije ili kasnije će se razići. Oboje treba čitati iste stupce price_anchor i price_anchor_date, a u admin sučelju oba stupca trebaju biti samo za čitanje.
Pitanja koja postavljaju vlasnici web shopova
„Imam više od 500 proizvoda. Kako da složim taj cjenik?” Ne slažete ga ručno. Generira se iz iste baze koju web shop već koristi, pa 500 proizvoda traži isti trud kao 50.
„Moji proizvodi nemaju barkod. Smije li to polje ostati prazno?” Odluka navodi barkod bez napomene „ako je primjenjivo” koju stavlja uz podatke o jedinici mjere i ne kaže što napraviti kad barkoda nema. Mi polje ostavljamo praznim umjesto da izmišljamo broj i preporučujemo da Ministarstvo pitate pisanim putem.
„Na stranici uopće nemam cijena. Moram li svejedno objaviti cjenik?” Ministarstvo kaže da obveza vrijedi i za informativne mrežne stranice. Prema uputama HOK-a, datoteku svejedno objavljujete.
Što bismo provjerili prije 1. listopada
Datoteka se otvara na javnom URL-u bez kolačića i prijave, a curl zahtjev dobiva odgovor 200, a ne stranicu s provjerom.
CSV ili XML se čisto parsira: ispravno kodiranje, dosljedan razdjelnik, bez prijeloma retka unutar polja.
Svaki aktivni SKU ima sidrenu cijenu, datum sidrene cijene i zapis o tome odakle je cijena preuzeta.
Zakazani zadatak zapisuje novu datoteku s novom vremenskom oznakom, a jučerašnju ne dira.
Netko dobiva obavijest ako datoteka do 8:00 nije objavljena.
Ništa od ovoga nije redizajn. Riječ je o dva stupca u tablici, jednom zakazanom zadatku i jednom storage bucketu. Najveći rizik je u podacima (sidrenim cijenama) i u detaljima (dostupnosti URL-a), a ne u kodu.
Ako vaš web shop radi na custom rješenju i niste sigurni da prolazi ovu provjeru, mi izrađujemo i održavamo i možemo vam reći u kakvom je stanju vaš. Pošaljite nam URL svog web shopa putem kontaktnog obrasca.
Ovaj članak objašnjava tehničku stranu pravila objavljenih u NN 101/2026 i pojašnjenja Ministarstva gospodarstva od 22. rujna 2026. Nije pravni savjet. Za rubne slučajeve pitajte Ministarstvo ili svog računovođu pisanim putem.