Documentation
CSV and XML format
Columns, encoding, numbers, file names and the XSD schema.
Product columns
In exactly this order (NN 101/2026, Decision on publishing price lists, item III). Column headers stay in Croatian — they are part of the format:
| # | Column | Content |
|---|---|---|
| 1 | Naziv | product name |
| 2 | Šifra | your code (SKU) |
| 3 | Marka | brand |
| 4 | Jedinica mjere | kg, l, m, m², m³, kom… (where applicable) |
| 5 | Cijena za jedinicu mjere | price per base unit (500 g → price per kg) |
| 6 | Maloprodajna cijena | price charged (sale price while a sale runs) |
| 7 | Posebni oblik prodaje | DA (yes) or NE (no) |
| 8 | Naziv posebnog oblika prodaje | e.g. Akcija; empty when NE |
| 9 | Sidrena cijena | regular price on the reference date |
| 10 | Datum sidrene cijene | YYYY-MM-DD |
| 11 | Barkod | EAN/GTIN |
| 12 | Dostupnost | dostupno or nedostupno |
Sidro adds column 10 because one price list can contain anchor prices from different dates — without the date the amount is ambiguous.
Optional columns (enable in Settings → File format, appended at the end): net quantity, category, regular retail price, lowest price in the last 30 days.
Service columns
(item IV): Naziv usluge, Šifra, Jedinica, Maloprodajna cijena, Posebni oblik prodaje, Naziv posebnog oblika prodaje, Sidrena cijena, Datum sidrene cijene.
Encoding and numbers
- UTF-8 without BOM (a BOM can be enabled for Excel),
- RFC 4180: comma delimiter, fields with a delimiter or quote are quoted,
CRLFline endings, - amounts with two decimals and a point (
12.99), no thousands separator, no currency (everything is in EUR), - optionally semicolon delimiter and decimal comma (for Croatian Excel).
Rows are sorted by name. The same data produces the same bytes — the content does not depend on the publication time (the time is in the file name), so a day without price changes has the same SHA-256.
XML
<?xml version="1.0" encoding="UTF-8"?>
<Cjenik xmlns="https://sidro-cjenici.vercel.app/xsd/cjenik-1" verzija="1.0" vrsta="proizvodi" valuta="EUR" propis="NN 101/2026">
<Obveznik><Naziv>Primjer d.o.o.</Naziv><OIB>12345678901</OIB><Web>https://primjer.hr</Web></Obveznik>
<ProdajniObjekt><Oblik>PRODAVAONICA</Oblik><Adresa>Vlaška 68</Adresa><PostanskiBroj>10000</PostanskiBroj><Mjesto>Zagreb</Mjesto><Oznaka>P1</Oznaka></ProdajniObjekt>
<Proizvodi broj="1">
<Proizvod><Naziv>Kruh bijeli 500 g</Naziv><Sifra>KR-500</Sifra>…<SidrenaCijena>1.89</SidrenaCijena><DatumSidreneCijene>2026-09-10</DatumSidreneCijene>…</Proizvod>
</Proizvodi>
</Cjenik>
Schema: https://sidro-cjenici.vercel.app/xsd/cjenik-1.xsd.
File name
Item VI requires the outlet type, address and code, a storage number, and the date and time of sending. Sidro’s format (identical for a whole chain):
{TYPE}_{ADDRESS}_{CODE}_{STORAGE_NO}_{DDMMYYYY}_{HHMM}.csv
PRODAVAONICA_VLASKA_68_10000_ZAGREB_P1_01_01102026_0612.csv
Upper case without diacritics, spaces and punctuation become _; the storage number is the sequence of the day’s publication for that outlet (01, 02…); the time is Zagreb time.