Publishing a price list: XML and CSV, every day

The Croatian decision on publishing price lists requires XML ili CSV on your website, refreshed daily and kept for 30 days. The plugin does it on a permanent address, with an archive.

The full video has Croatian audio and English subtitles.Watch on YouTube (Croatian subtitles)

The 1 October 2026 start has been postponed, and permanent rules are expected in November. The minister says the aim has not been dropped. Setup takes five minutes, price history is recorded from day one, and updates for the new rules come through WordPress at no extra cost.

Watch the video
20,00 € + VAT (€25,00 incl. VAT). Pay once, no subscription. Card via Stripe, with an invoice. ZIP and key right away, updates through WordPress, support by e-mail. If it does not display correctly on your theme, we set it up free or refund you. The plugin is in Croatian and English, following your WordPress admin language.Price on 21.9.2026.: 20,00 € + VATRather not do it yourself? We set it up: €40,00 + VAT in total.

What gets published

Every day, right after the price snapshot, the whole catalogue is exported to the chosen formats at a permanent address. The dated file stays as an archive and an undated file always points at the newest list.

https://your-store.com/cjenik/
https://your-store.com/cjenik/cjenik.csv
https://your-store.com/cjenik/cjenik-2026-09-21.csv
https://your-store.com/cjenik/index.json

Three formats, the same content

CSV is semicolon separated, the notation Croatian ERPs and localised Excel produce. Numbers use a decimal point and no thousands separator.

XML carries one element per product; JSON adds a product count at the end so a truncated file is obvious.

Archive and JSON index

index.json lists every available day and address per format, plus the store name, export date, product count and column list.

Retention is a setting, ninety days by default.

Why it is served through PHP

A file in uploads is public on both Apache and nginx, while an .htaccess rule only applies to Apache. Serving through WordPress honours the visibility setting on any web server and keeps the headers correct.

Large catalogues

The export runs in batches, writing to a temporary file and renaming only once the whole catalogue is in. Anyone fetching mid-export gets yesterday's complete list rather than today's half one.

Customising the content

Each row passes through a filter before it is written, so values can be changed from a theme or your own plugin.

add_filter( 'klikoteka_cjenik_red', function ( $red, $product ) {
	$red['kategorija'] = strtoupper( $red['kategorija'] );
	return $red;
}, 10, 2 );

Export columns

ColumnWhat it holds
sifraProduct SKU; the WooCommerce id when there is none
nazivProduct name as shown in the store
barkodGTIN/EAN from the WooCommerce field, when filled
kategorijaFull categories, separated by a slash
cijenaSelling price including tax, as the buyer sees it
cijena_bez_pdvThe same price excluding tax
valutaStore currency, e.g. EUR
sidrena_cijenaAnchor price, when one exists
sidrena_na_danWhich day that is
najniza_30_danaLowest price in the window, when covered
na_snizenjuda or ne
stanjeStock quantity, when enabled in settings
urlProduct address in the store
Cosmetics / Hair care
Shampoo for dry hair, 400 ml
27,90 €25,00 €

Price on 2.5.2025.: €29.90

Lowest price in the last 30 days: €24.50

Add to cart
Store footer: Price list (XML, CSV)
Example product page. Amounts are made up; the labels are the plugin's default text.

This is what your buyer sees under the price

This page explains one obligation. The plugin handles all three at once, including what the Ministry clarified on 18 September 2026.

  1. Price on 2.5.2025.

    Shampoo is cosmetics, so the earlier reference day applies. The plugin knows this by category.

  2. Lowest price in the last 30 days

    From daily snapshots of the price the buyer actually saw. Without enough snapshots it prints nothing.

  3. Price list

    The same data for the whole catalogue, every night in XML and CSV, at a permanent address.

From purchase to the first anchor price

  1. Buy

    By card through Stripe, with an invoice on your VAT id.

  2. Download the ZIP and key

    Right on the page and by e-mail.

  3. Install

    Open Plugins, Add new, Upload plugin, then Activate. Do not unzip the file.

  4. Go through the wizard

    It opens by itself after activation: key, label language, reference dates, anchor and lowest prices, a display check and the price list. Recording starts at once; updates arrive through WordPress.

If the download or install gets stuck, write to info@klikoteka.hr. We reply the same business day and sort it out with you.

The full video has Croatian audio and English subtitles.Watch on YouTube (Croatian subtitles)

€20 + VAT, paid once

Sidrena cijena i cjenik za WooCommerce
20,00 €+ VAT, once

€25,00 incl. VAT.Price on 21.9.2026.: 20,00 € + VAT

  • All three obligations, no tiers or add-ons
  • One store and its staging copy (3 addresses)
  • Updates through WordPress, no renewal
  • In Croatian and English: the plugin shows in the language your WordPress admin is set to
  • E-mail support in Croatian or English
  • Invoice with your VAT id

If we build your webshop, the plugin is included at no charge.

Version 1.8.6, WordPress 6.3+, PHP 7.4+.

The same job, three ways

History for the lowest price
Plugin: Recorded daily, automatically
By hand, in Excel: Someone logs it every day
Custom build: Has to be programmed
Two reference days
Plugin: Category rule
By hand, in Excel: Product by product
Custom build: Per specification
XML and CSV price list
Plugin: Publishes itself nightly
By hand, in Excel: Export and upload daily before 8:00
Custom build: Per specification
Regulatory clarifications
Plugin: The 18 Sep 2026 one shipped as update 1.3
By hand, in Excel: Track them yourself
Custom build: Changes by agreement
Cost
Plugin: €20 + VAT, once
By hand, in Excel: Your time, every day
Custom build: Quoted per scope

Rather not do it yourself? We will set it up.

For €40,00 + VAT you get the plugin and one of our people to set it up on your site. Within one business day of purchase we e-mail you and ask for administrator access to your WordPress, ideally a temporary admin user you delete once we are done. Then we:

  1. install and activate the plugin and enter your licence
  2. sort categories by reference day (2 May 2025 or 10 Sep 2026)
  3. switch on the XML and CSV price list and add a link to it
  4. check the display on product pages and product cards in your theme
  5. tell you what was done; you then delete the access

Something special, like a custom theme, an ERP without a price export or several shops? Write to info@klikoteka.hr and we will send an estimate and a quote for your system.

On Shopify? The Shopify version is finished and awaiting App Store approval. It will be available in the coming business days.

Plugin + setup
40,00 €+ VAT, once

€50,00 incl. VAT.Price on 24.9.2026.: 40,00 € + VAT

You get the key and ZIP right away, same as without setup. At checkout you enter your site address and phone.

Before you buy

  • How long does exporting a few thousand products take?

    It runs in batches and each batch schedules the next. Typically a few minutes, and the previous list stays fully available throughout.

  • Can I export only some categories?

    The export covers the whole published catalogue. Row content can be changed through the klikoteka_cjenik_red filter.

  • Are variations included?

    Yes, each variation is its own row. Variable parents have no price of their own and are skipped.

  • Is the price list indexed by Google?

    The index page carries noindex, and the files themselves are data, not search content.

  • What if I already have a Google Shopping feed?

    Different job. An advertising feed has its own fields and rules; this is a full catalogue export with pricing and historical values.

More time, and setup still takes five minutes

The 1 October 2026 start has been postponed, and permanent rules are expected in November.

Once, no subscription. Download right after payment.

Need theme integration or an ERP history import? Get in touch.