
Ceno.lv feed for Shopify
Ceno.lv is a Latvian aggregator of online shops where shoppers search and compare products from more than 600 e-shops across Latvia in one place. It is a comparison engine, not a marketplace: the checkout stays with you. Feedflock renders your Shopify catalog into the XML file Ceno's joining rules ask for, built from the element names of Ceno's own sample, saved in UTF-8 and hosted on a stable URL that fits Ceno's daily update.

Setup
Live in five steps
From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.
Read the nine joining rules
Ceno lists a shop under nine rules. The ones to plan for: one shop per domain, products that can be bought in your shop and received in Latvia, fitting product images, and a CENO.lv banner on your own site, preferably on the home page or in the footer.
Install Feedflock
Add Feedflock from the Shopify App Store. It reads your products, variants, stock and images directly through the Shopify API.
Pick the Ceno.lv template
Create a new feed and choose the Ceno.lv template. name, link, price, image, manufacturer, category, category_full, in_stock, ean and used are mapped from the start, one item per variant so no product appears twice.
Add delivery and the optional elements
Ceno's ten delivery elements are desirable but have no defaults: enter your real prices and day counts for the methods you offer and leave the rest unmapped. model, category_link and price_sale are yours to map too, if you use them.
Register your shop
Put the CENO.lv banner on your site and register at ceno.lv/register/store with true company data. The hosted feed URL is the XML file the rules ask for. Ceno also supports other XML layouts, but asks you to say so by e-mail after registering.
https://feedflock.appfleece.com/f/demo-ceno/ceno.xml
Catch feed issues before Ceno.lv does.
Before every generation Feedflock checks that every field the channel requires is filled, and, on templates verified against the channel's own spec, that the values fit its rules. Most problems are fixed with one click, without editing products in Shopify.
The feed
What the channel receives
<item> <name><![CDATA[Nordlin Linen shirt Sand M]]></name> <link>https://shop.example/products/linen-shirt-sand?variant=44718293450817</link> <price>49.00</price> <image>https://cdn.shop.example/img/linen-shirt-sand.jpg</image> <manufacturer><![CDATA[Nordlin]]></manufacturer> <category><![CDATA[Men's shirts]]></category> <category_full><![CDATA[Clothing > Men's shirts]]></category_full> <in_stock>0</in_stock> <ean>8594000123453</ean> <used>0</used> </item>

Nordlin
Linen shirt Sand
49 €
Feed fields
name
Nordlin Linen shirt Sand M
link
https://shop.example/products/linen-shirt-sand?variant=44718293450817
price
49.00
manufacturer
Nordlin
category
Men's shirts
category_full
Clothing > Men's shirts
in_stock
0
ean
8594000123453
used
0
The channel
A third place Latvia compares prices
Ceno.lv describes itself as an aggregator of online shops that lets users search and compare products in one place, with more than 600 e-shops from across Latvia.
The checkout stays with you
Ceno is a comparison engine, not a marketplace. The shopper finds your offer on Ceno, clicks through and buys on your own site, under your own terms.
Your feed URL stays private
Ceno states that it will not disclose the address of your product file to anyone and will not open it without reason. The file lives on a URL, and Ceno picks it up from there.
The feed
- The template uses exactly the element names of Ceno's own sample and annotated list: <root> with one <item> per variant, free text in CDATA, UTF-8 by default because Ceno makes UTF-8 a working condition
- name defaults to vendor, product title and variant title, matching Ceno's description of the element: manufacturer, product model and code
- price is the gross shelf price in euros as a bare number with a decimal point and two places, the form Ceno states twice
- One item per variant, each with its own variant link, so the rule against listing the same product twice is met by construction
- in_stock sends Shopify's stock level with oversold variants clamped to 0, and used defaults to 0, the value Ceno's sample sends for a new product
- No delivery element is filled with an invented 0: in Ceno's feed 0 is a real price (free), so each method stays out until you enter your own figure
Deep dive
How the Ceno feed works
- An
XMLfile on aURL: Ceno's own examples are /xml/cenolv.php and /xml/cenolv.xml on the shop's server - The file has to be saved in
UTF-8 to work - Ceno updates its database of products and shops every day, and recommends shops refresh daily
- Other
XMLlayouts are supported, by e-mail after registration
Technical details
Ceno reads a file from a URL. Its spec page shows where the file should live with two example addresses, says the file must be saved in UTF-8 to work, and states that Ceno updates its database of product ranges and shop information every day. For that reason it recommends that shops refresh availability and assortment daily as well.
Feedflock hosts the file on a stable URL and regenerates it as often as every hour, comfortably inside that daily rhythm. You hand Ceno the URL once, and there is nothing to upload again. If you already have a differently shaped XML, Ceno says other formats are supported too, but it wants to hear about it by e-mail after you register.
The sample is the specification
- Thirteen product elements: name, link, price, price_sale, image, manufacturer, model, category, category_full, category_link, in_stock, ean, used
- Ten delivery elements, each marked as desirable
- Nothing is called mandatory except used, and only for second-hand goods
- No length limits, no image size rules and no item caps are stated
Technical details
Ceno's XML page is one complete sample feed followed by the same elements again, each with a short comment. That is the whole vocabulary: thirteen product elements and ten delivery elements under <root>/<item>. There is no developer portal, no schema file and no validator to test against.
The page almost never says "mandatory". It demands prices in euros with VAT, the joining rules demand fitting images, and used is mandatory for second-hand goods; delivery elements and in_stock are only recommended. The template treats name, link, price and image as required, because an offer without them is not an offer, and leaves the rest optional.
Prices, sale prices and stock
- price: euros including
VAT, a number with a decimal point - price_sale: the promotional price next to the normal price, unmapped by default
- in_stock: the units available for delivery in Riga within 4 working days, recommended
- used: 1 for used, 0 for new
Technical details
All prices are given in euros with VAT, as a number whose decimal part is separated by a point. Ceno pairs price with price_sale: the normal price and the promotional one. Shopify models it the other way round (the price is what the customer pays today and the compare-at price is the old one), so the template gives price_sale no automatic value. If you want Ceno's pairing, you map the two fields yourself.
in_stock is more specific than a stock level: Ceno recommends giving the quantity in the warehouse that is available for delivery in Riga within four working days. The template sends Shopify's inventory count, never below 0. If your stock cannot reach Riga in that time, override the mapping with a number that is true for you.
Delivery: every method is its own element
- Six named methods: Latvijas Pasts,
DPDPickup, Pasta Stacija, Omniva, Circle K, Venipak Pickup - Two maximum prices (Riga, Latvia) and two maximum working-day counts
- A method you do not support stays empty; 0 means free
- delivery_latvija is the maximum price here, and the cheapest on Salidzini.lv
Technical details
Ceno has no delivery block and no carrier codes. Each method is an element of its own, so a DPD pickup price goes into delivery_dpd_paku_bode and nowhere else. Next to the six methods sit delivery_cost_riga and delivery_latvija, the maximum delivery prices for Riga and for Latvia, and delivery_days_riga and delivery_days_latvija, the maximum number of working days.
All ten are desirable, numeric, and have no default in the template. Ceno's rule is that an unsupported method is left empty, and a 0 would advertise free delivery, so Feedflock writes a delivery element only once you have entered your own value. Take care when you also list on Salidzini.lv: the same element names mean the maximum on Ceno and the cheapest there.
Nine rules before the feed counts
- True registration data, and only one shop per domain name
- No product listed twice in the
XML, and fitting images on every product - Products can be bought in the shop and received in Latvia
- A
CENO.lv banner on your site; fake reviews are strictly forbidden
Technical details
Registration at ceno.lv/register/store comes with nine rules of use. Some are about the feed, and the template covers them: the XML follows Ceno's sample, each variant is its own item with its own link, and image is always filled when the product has one. Others are about the shop: true registration data, one shop per domain, and products a customer can actually buy and receive in Latvia.
Two need action on your side. Ceno expects its banner on the registered shop's website, preferably on the home page or in the footer, which is a small theme edit. And it forbids fake profiles used to review your own shop or to discredit competitors; a shop suspected of unfair behaviour can be warned or blocked.
The takeaway
One URL, a daily update and an XML file that speaks Ceno's own sample. Your Shopify catalog stays the single source of truth, and the parts only you can decide (delivery prices, the banner, the registration) stay clearly in your hands.
Claude · ChatGPT
Or set up your Ceno.lv feed in chat
Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to Ceno.lv's own tree and tells you what is still missing. You approve every change.
Create a Ceno.lv feed for my store and map my categories.
I'll create it as a draft and show you each change before I make it.
FAQ
Get on every marketplace that matters this afternoon.
Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.