{"id":373290,"date":"2026-09-22T12:35:19","date_gmt":"2026-09-22T12:35:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sidrena-cijena-i-cjenik-aplitap\/"},"modified":"2026-09-23T13:14:35","modified_gmt":"2026-09-23T13:14:35","slug":"aplitap-sidrena-cijena-i-cjenik","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/aplitap-sidrena-cijena-i-cjenik\/","author":23571354,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Aplitap Sidrena Cijena i Cjenik","header_author":"Aplitap digital","header_description":"Reference price (\"sidrena cijena\") and machine-readable price list (\"cjenik\") for Croatian WooCommerce stores, in line with the Decision on publishing price lists (NN 101\/2026), effective 1.10.2026.","assets_banners_color":"cfc9e5","last_updated":"2026-09-23 13:14:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/aplitap.hr\/sidrena-cijena-wp","header_author_uri":"https:\/\/aplitap.hr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":128,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"aplitap","date":"2026-09-22 12:34:58","revision":3707331},"1.5.0":{"tag":"1.5.0","author":"aplitap","date":"2026-09-23 09:38:49","revision":3708994},"2.0.0":{"tag":"2.0.0","author":"aplitap","date":"2026-09-23 13:14:35","revision":3709387}},"upgrade_notice":{"1.2.0":"<p>Plugin renamed and technical fixes for directory compliance - please re-download after updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3707429,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3707429,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3707429,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3707429,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0","1.5.0","2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3708986,"resolution":"1","location":"assets","locale":"","width":1750,"height":1203},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3708986,"resolution":"2","location":"assets","locale":"","width":1538,"height":1268},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3708980,"resolution":"3","location":"assets","locale":"","width":1459,"height":1078}},"screenshots":{"1":"Settings - reference price tab, with live preview","2":"Settings - price list tab, with the data preview table","3":"Reference price displayed on the product page"}},"plugin_section":[],"plugin_tags":[282067,282068,282069,281671,282066],"plugin_category":[45],"plugin_contributors":[282047],"plugin_business_model":[],"class_list":["post-373290","plugin","type-plugin","status-publish","hentry","plugin_tags-cijena","plugin_tags-cjenik","plugin_tags-cjenik-csv","plugin_tags-sidrena-cijena","plugin_tags-sidrene-cijene","plugin_category-ecommerce","plugin_contributors-aplitap","plugin_committers-aplitap"],"banners":{"banner":"https:\/\/ps.w.org\/aplitap-sidrena-cijena-i-cjenik\/assets\/banner-772x250.png?rev=3707429","banner_2x":"https:\/\/ps.w.org\/aplitap-sidrena-cijena-i-cjenik\/assets\/banner-1544x500.png?rev=3707429","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aplitap-sidrena-cijena-i-cjenik\/assets\/icon-128x128.png?rev=3707429","icon_2x":"https:\/\/ps.w.org\/aplitap-sidrena-cijena-i-cjenik\/assets\/icon-256x256.png?rev=3707429","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aplitap-sidrena-cijena-i-cjenik\/assets\/screenshot-1.jpg?rev=3708986","caption":"Settings - reference price tab, with live preview"},{"src":"https:\/\/ps.w.org\/aplitap-sidrena-cijena-i-cjenik\/assets\/screenshot-2.jpg?rev=3708986","caption":"Settings - price list tab, with the data preview table"},{"src":"https:\/\/ps.w.org\/aplitap-sidrena-cijena-i-cjenik\/assets\/screenshot-3.png?rev=3708980","caption":"Reference price displayed on the product page"}],"raw_content":"<!--section=description-->\n<p>As of October 1, 2026, merchants and service providers in Croatia with their own website are required to, among other things:<\/p>\n\n<ul>\n<li>display a \"reference price\" (sidrena cijena) alongside the regular selling price of each product - the price that applied on 10.09.2026,<\/li>\n<li>publish a machine-readable price list (\"cjenik\") of their products and\/or services (in XML or CSV format) on their website.<\/li>\n<\/ul>\n\n<p>This free plugin helps websites comply with both obligations, without any code changes or manual template editing. The reference price feature requires WooCommerce; the price list also works for service providers without WooCommerce, via a manual list or CSV import.<\/p>\n\n<h4>Reference price (\"Sidrena cijena\")<\/h4>\n\n<ul>\n<li>A field to enter the reference price on each product, and separately per variation for variable products<\/li>\n<li>Automatic display below the regular price everywhere WooCommerce shows a product price (product page, shop, categories, related\/upsell products, widgets)<\/li>\n<li>Quick Edit support<\/li>\n<li>Global switch to turn the display on or off<\/li>\n<li>Customizable label text, font (family, weight, style, size, color), with separate font sizes for mobile and desktop<\/li>\n<\/ul>\n\n<h4>Price list (\"Cjenik\")<\/h4>\n\n<ul>\n<li>Automatically generates an XML and\/or CSV price list with the data required by the Decision: name, product code, brand, unit of measure, price per unit, retail price, special sale indicator, reference price, barcode, availability<\/li>\n<li>Includes variations of variable products as separate line items<\/li>\n<li>Automatically excludes products that are not visible on the website (with a manual override to include or exclude any individual product)<\/li>\n<li>Regenerates daily before 8:00 (configurable time), and immediately whenever any product's price changes<\/li>\n<li>Archived, timestamped files are kept for at least 30 days (configurable)<\/li>\n<li>Configurable CSV delimiter, email notification if generation fails<\/li>\n<li>A data preview table inside the admin screen, before downloading the file<\/li>\n<li>Optional <code>[aplitap_cjenik]<\/code> shortcode for a styled, human-readable price list page for your customers, alongside the required XML\/CSV files<\/li>\n<li>Works without WooCommerce too - manually add services\/items in a simple table, or bulk-import them from a CSV file, so service providers without a webshop can also publish a compliant price list<\/li>\n<\/ul>\n\n<p><strong>Note<\/strong>: The Decision on publishing price lists (NN 101\/2026) specifies which data the price list must contain, but does not prescribe an exact CSV column order or XML schema. This plugin is a technical aid based on a publicly available interpretation of the regulation - we recommend checking with your accountant or lawyer for your specific situation.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress<\/li>\n<li>PHP 7.4 or newer<\/li>\n<li>WooCommerce is only required for the reference price feature and for pulling products automatically into the price list. Without WooCommerce, the price list still works via manual entry or CSV import.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>In your WordPress admin, go to Plugins \u2192 Add New Plugin<\/li>\n<li>Click Upload Plugin, select the downloaded zip file, click Install Now<\/li>\n<li>After installation, click Activate Plugin<\/li>\n<li>A new menu item \"Sidrena cijena Aplitap\" will appear in the left sidebar, with tabs for the reference price, the price list, and information about Aplitap<\/li>\n<li>For each product (Products \u2192 edit product \u2192 General tab) enter the reference price; for the price list, set your outlet label under the price list tab<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20work%20without%20woocommerce%3F\"><h3>Does the plugin work without WooCommerce?<\/h3><\/dt>\n<dd><p>Partially. The reference price feature requires an active WooCommerce installation, since it displays alongside WooCommerce product prices. The price list (\"Cjenik\") works without WooCommerce too - add services\/items manually in a table on the price list tab, or import them from a CSV file. If both WooCommerce products and manually entered services\/items are present, both are included in the same price list.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20enter%20the%20reference%20price%20manually%20for%20every%20product%3F\"><h3>Do I need to enter the reference price manually for every product?<\/h3><\/dt>\n<dd><p>Yes, it is entered manually per product (or per variation for variable products), since WordPress\/WooCommerce does not keep a price history by default.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>Yes - both the reference price and the price list support separate values per variation.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20a%20specific%20product%20from%20the%20price%20list%3F\"><h3>Can I exclude a specific product from the price list?<\/h3><\/dt>\n<dd><p>Yes - on each product (and in Quick Edit) there is a \"Price list visibility\" dropdown with the options Automatic \/ Always include \/ Always exclude.<\/p><\/dd>\n<dt id=\"where%20is%20the%20price%20list%20published%3F\"><h3>Where is the price list published?<\/h3><\/dt>\n<dd><p>Files are saved under wp-content\/uploads\/cjenik\/ and must be publicly accessible - please make sure a security plugin, firewall, or Cloudflare is not blocking automated tools from reading them. The direct links to the current CSV\/XML files are shown on the price list settings tab.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20price%20list%20to%20customers%20as%20a%20normal%20web%20page%2C%20not%20just%20a%20raw%20file%3F\"><h3>Can I show the price list to customers as a normal web page, not just a raw file?<\/h3><\/dt>\n<dd><p>Yes. The regulation itself only requires the machine-readable XML\/CSV files, but you can add the <code>[aplitap_cjenik]<\/code> shortcode to any WordPress page for a styled, human-readable table with the same data - useful if you want to link to it from your menu or footer for visitors, not just for automated tools.<\/p><\/dd>\n<dt id=\"is%20this%20legal%20advice%3F\"><h3>Is this legal advice?<\/h3><\/dt>\n<dd><p>No. The plugin is a technical aid based on a publicly available interpretation of the Decision on publishing price lists (NN 101\/2026). We recommend checking with an accountant or lawyer before 1.10.2026.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Redesigned the admin screens with a card-based layout, refined tabs, buttons and status badges<\/li>\n<li>Added an \"Arhiva\" (archive) section on the Cjenik page listing every generated CSV\/XML version with a download link (matches the legally required 30+ day retention)<\/li>\n<li>Added a one-time \"Prebaci redovnu cijenu u sidrenu za sve proizvode\" button to bulk-copy each product's regular price into its reference price - disables itself after first use<\/li>\n<li>Fixed the CSV\/XML preview links to bust browser cache after regeneration<\/li>\n<li>Fixed archive cleanup silently skipping old files when a custom \"document name\" was set (it only matched the default \"cjenik_\" filename prefix)<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Split the admin menu into \"Postavke\" (configuration) and \"Cjenik\" (current file, generation, services, data preview) - separates settings from day-to-day price list management<\/li>\n<li>The price list (\"Cjenik\") no longer requires WooCommerce - add services\/items manually in a table, or bulk-import them from a CSV file<\/li>\n<li>The manual services table now has separate unit\/retail price, a sale flag, a brand column, and a free-text unit of measure field<\/li>\n<li>Renamed \"Oznaka prodajnog mjesta \/ objekta\" to \"Naziv dokumenta cjenika\" - it now shows a live example of the auto-generated filename, and lets you set the exact file\/URL name if filled in<\/li>\n<li>Added copyable CSV\/XML URL fields on the Cjenik page<\/li>\n<li>Added a manual \"Address\" field for the price list filename when WooCommerce isn't active<\/li>\n<li>Admin menu no longer requires the WooCommerce-specific \"manage_woocommerce\" capability, so it stays accessible without WooCommerce<\/li>\n<li>Redesigned the admin screens with a cleaner card-based layout, refined tabs, buttons and status badges<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added a <code>[aplitap_cjenik]<\/code> shortcode for a styled, human-readable price list page (the legal requirement itself only covers the XML\/CSV files)<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Updated tags for better discoverability<\/li>\n<li>Rewrote the short description for clarity<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Declared compatibility with WooCommerce High-Performance Order Storage (HPOS), Cart &amp; Checkout blocks, and the Product Block Editor<\/li>\n<li>Updated tags for better discoverability<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to lead with the Aplitap brand<\/li>\n<li>Moved dynamic CSS to wp_enqueue_style\/wp_add_inline_style instead of an inline style tag<\/li>\n<li>Removed the duplicate \"Tested up to\" header from the main plugin file<\/li>\n<li>Rewrote this readme in English<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added an \"About\" tab with a short agency description and a feedback\/suggestion form<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Reference price: field per product and per variation, display below the regular price site-wide, Quick Edit support, customizable text\/font\/color with separate mobile and desktop settings<\/li>\n<li>Price list: automatic XML\/CSV generation per NN 101\/2026, with configurable generation time, format, delimiter, archive retention, error email notifications, and manual product visibility control<\/li>\n<li>Settings organized into tabs under a dedicated admin menu item<\/li>\n<\/ul>","raw_excerpt":"Adds legally required reference prices and a machine-readable price list to your Croatian website \u2014 mandatory from 1 October 2026.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/373290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=373290"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aplitap"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=373290"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=373290"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=373290"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=373290"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=373290"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=373290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}