Skip to content
Toppreise.ch
Price comparison

Toppreise.ch feed for Shopify

Toppreise.ch is the price comparison for shoppers in Switzerland and Liechtenstein. It compares offers and sends the buyer to your shop: there is no direct sale on the site. Toppreise publishes no feed specification, so Feedflock's template is built on the field list Toppreise sent in writing: twelve fields, a header row, tab-separated CSV and gross prices in CHF. Feedflock renders that price list from your Shopify catalog and hosts it on a stable URL that Toppreise fetches two to three times an hour.

01 · ShopifyProduct in the catalog
Linen shirt SandNordlin · Men's shirtsSKU-2048 · S–XL
Price
59 CHF
In stock
0 pcs
When out of stock
02 · toppreise.csvUpdated just now
Artikelnummer Hersteller Herstellerartikelnummer Artikelbezeichnung Preis Versandkosten Gewicht Verfügbarkeit EAN Produktkategorie Artikelzustand Deeplink Bilderlink Variante
SKU-2048 Nordlin Linen shirt Sand M 59.00 0.25 im Moment nicht lieferbar 8594000123453 Clothing > Men's shirts Neuware https://shop.example/products/linen-shirt-sand?variant=44718293450817 https://cdn.shop.example/img/linen-shirt-sand.jpg

Setup

Live in five steps

From a bare Shopify store to a listed offer: the whole setup fits into one coffee break.

  1. Check that you can register

    Toppreise accepts online shops for Switzerland or Liechtenstein whose company is entered in the commercial register and registered for VAT, and whose shop shows prices including VAT. The form asks for the Swiss UID (CHE-123.456.789).

  2. Install Feedflock

    Add Feedflock from the Shopify App Store. It reads your products, variants, stock and images directly through the Shopify API.

  3. Pick the Toppreise.ch template

    Create a new feed and choose the Toppreise.ch template. The columns are mapped from the start: article number from the SKU, manufacturer from the vendor, the designation as vendor, product and variant title, the gross CHF price, EAN from the barcode, category, condition, deep link and image.

  4. Fill in what Shopify does not hold

    Map the manufacturer part number if you keep one in a metafield: Toppreise matches offers on EAN and MPN. Leave the shipping column empty if your shipping is flat, and check that your shelf price already contains the advance recycling fee where it applies.

  5. Register with the feed URL

    Fill in the dealer registration at toppreise.ch/haendleranmeldung and paste the hosted URL into the Preisliste / Feed-URL field. The registration must come from the company's management, it is non-binding, and a person at Toppreise follows up.

    https://feedflock.appfleece.com/f/demo-toppreise/toppreise.csv
Feed health

Catch feed issues before Toppreise.ch 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.

Feed quality · toppreise.csv
75 / 100
To review: 4
No barcode on 9 productsToppreise's automatic matching usually runs on EAN and MPN. The EAN column fills from Shopify's barcode field, which these products leave empty.
Manufacturer part number not mappedHerstellerartikelnummer is the second matching key, and Shopify has no MPN field. The column stays empty until you point it at a metafield.
No category on 7 productsOffers that do not match on EAN or MPN are placed, where possible, by the category in the feed. Without one these offers have nothing to be sorted by.
No vendor on 5 productsToppreise asks for the manufacturer inside the article designation and in its own column. Both fill from the Shopify vendor, which is empty here.

The feed

What the channel receives

toppreise.csv
Artikelnummer	Hersteller	Herstellerartikelnummer	Artikelbezeichnung	Preis	Versandkosten	Gewicht	Verfügbarkeit	EAN	Produktkategorie	Artikelzustand	Deeplink	Bilderlink	Variante
SKU-2048	Nordlin		Nordlin Linen shirt Sand M	59.00		0.25	im Moment nicht lieferbar	8594000123453	Clothing > Men's shirts	Neuware	https://shop.example/products/linen-shirt-sand?variant=44718293450817	https://cdn.shop.example/img/linen-shirt-sand.jpg	
Live preview
Linen shirt Sand

Nordlin

Linen shirt Sand

59 CHF

Feed fields

Artikelnummer

SKU-2048

Hersteller

Nordlin

Artikelbezeichnung

Nordlin Linen shirt Sand M

Preis

59.00

Gewicht

0.25

Verfügbarkeit

im Moment nicht lieferbar

EAN

8594000123453

Produktkategorie

Clothing > Men's shirts

Artikelzustand

Neuware

Deeplink

https://shop.example/products/linen-shirt-sand?variant=44718293450817

Bilderlink

https://cdn.shop.example/img/linen-shirt-sand.jpg

The channel

Where Switzerland compares prices

Toppreise.ch is aimed first at consumers in Switzerland and Liechtenstein, lists offers in CHF and counts around 700 connected shops in its dealer directory.

The checkout stays with you

The site exists only to compare the offers it collects: no direct sale and no support. The visitor clicks through to your product page and buys in your Shopify store.

Close to live prices

Toppreise fetches your price list with every update, two to three times an hour, and imports whatever changed. A new price does not wait for a nightly import.

The feed

  • The template carries all twelve fields from Toppreise's own list, in its order, with a header row in clear German column names, which Toppreise asks for and lets you name freely
  • Tab-separated CSV, Toppreise's first-choice delimiter, with tabs and line breaks filtered out of every value so no cell can ever shift a column
  • Artikelbezeichnung defaults to vendor, product title and variant title: the manufacturer inside the designation, as the registration page asks, and again in its own Hersteller column
  • Preis is the gross shelf price in CHF as a plain number with a dot: no currency sign and no thousands apostrophe
  • EAN fills from the barcode and Herstellerartikelnummer is ready for your MPN metafield, the two keys Toppreise's automatic matching runs on
  • Versandkosten stays empty for shops with flat shipping, exactly as Toppreise says, while Gewicht sends the variant weight in kilograms

Deep dive

01

How the Toppreise price list works

  • One CSV or XML file that Toppreise downloads from a URL you provide
  • The registration form has a field for it: Preisliste / Feed-URL
  • Toppreise fetches the file two to three times an hour and imports the changes
  • More than one million offers in the feed? Toppreise asks for a short heads-up first
Technical details

Toppreise works on a file you host. One registration condition is that you update offers and prices regularly and can provide them as a CSV or XML file for download, and the registration form has a field for exactly that: Preisliste / Feed-URL. There is no upload, no SFTP and no API to integrate.

Toppreise's system then fetches the file with every update, two to three times an hour, and imports any changes. Feedflock hosts the price list on a stable URL and regenerates it as often as every hour, so each fetch reads your latest generated prices and stock. The only size figure Toppreise gives is one million offers: above that it wants to be told in advance.

02

Twelve fields, sent in writing

  • Article number, manufacturer, MPN, article designation, price, shipping cost or weight, availability, EAN, category, condition, deep link, image link
  • A header row is required; the exact column names are up to you, as long as they are clear
  • Tab, semicolon or pipe as the delimiter, and it must be filtered out of the content
  • Extra columns can help by industry: a size column for clothing, vintage and region for wine
Technical details

There is no public Toppreise feed specification: the only merchant page on the site is the registration form with six short bullets. The template is built on the field list Toppreise sent by e-mail in September 2026, twelve fields from article number to image link, plus the instruction to add a header row. The column names themselves are left to the sender, so the template uses plain German labels such as Artikelnummer, Hersteller and Preis.

For CSV, Toppreise prefers a tab, a semicolon or a pipe and requires that the delimiter never appears inside a value. The template uses tabs and strips tabs and line breaks from every cell, so the filtering is done for you. One optional Variante column is there for shops where a size or similar belongs in its own field; it is empty by default.

03

Matching runs on EAN and MPN

  • Automatic matching usually runs on EAN and MPN
  • Offers that stay unsorted are matched to Toppreise's categories by the category in your feed
  • The category is your own: Toppreise publishes no tree to map onto
  • Shopify has no MPN field, so the MPN column needs a metafield from you
Technical details

Toppreise says its automatic assignment of offers to products usually runs on the EAN and the manufacturer part number. EAN fills from Shopify's barcode field. The MPN column is empty by default, on purpose: Shopify has no MPN field, and a SKU sent as the manufacturer's number could attach your offer to the wrong product. If you keep the real MPN in a metafield, map it; it is the most useful thing you can add to this feed.

Whatever does not match is placed, as far as possible, by the category you send. That category is your own path, not a Toppreise code: Toppreise has a large tree on its site but publishes no export of it, so there is nothing to look up. The template sends the category from your category mapping.

04

Prices in CHF, shipping only when it varies

  • Price in CHF including VAT and the advance recycling fee (vRG)
  • Shipping is not part of the price
  • Flat or threshold shipping: the shipping column is not needed at all
  • Otherwise a per-product shipping cost, or the weight as the alternative
Technical details

The price is your shelf price in CHF including VAT and, where it applies, the advance recycling fee; the site's footer adds the SUISA levy to that list and states that shipping comes on top. Shopify has no recycling-fee field, so if your shop adds the vRG only at checkout, the price in the feed would be short by it. Make sure the shelf price already contains it.

Shipping is conditional. If your shop charges flat shipping, for example a fixed fee up to an order value and free above it, Toppreise does not need the field in the feed. Only when shipping really differs per product does it want a per-product amount, or the weight instead. The template therefore leaves Versandkosten empty and sends the variant weight in kilograms.

05

Registration is for Swiss and Liechtenstein companies

  • An online shop for Switzerland or Liechtenstein, in the commercial register and VAT-registered
  • Shop prices shown including VAT
  • The form asks for company, UID, contact, shop URL and the feed URL
  • Filed by the management, non-binding, followed up by a person
Technical details

Not every Shopify store can join. Toppreise's conditions are an online shop for Switzerland or Liechtenstein, a company entered in the commercial register and liable for VAT, prices shown including VAT, and offers kept up to date in a downloadable file. The form validates the Swiss UID format, so a company identifier is needed at the door.

The registration may only be submitted by the company's management or on its behalf, and Toppreise states that it is non-binding. A person follows up, and Toppreise issues the access to its dealer area. Feedflock gives you the file the form asks for; the acceptance itself is Toppreise's decision.

The takeaway

One URL, a price list in the shape Toppreise asked for and fetches several times an hour. Your Shopify catalog stays the single source of truth, and the registration form gets exactly the file it has a field for.

Claude · ChatGPT

Or set up your Toppreise.ch feed in chat

Connect Feedflock to Claude or ChatGPT and ask. It creates the feed as a draft, maps your categories to Toppreise.ch's own tree and tells you what is still missing. You approve every change.

feedflock · mcp

Create a Toppreise.ch 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

No. The Toppreise.ch template renders the whole file: a header row, one tab-separated row per variant, UTF-8, with tabs and line breaks removed from every value. If Toppreise ever asks you for a different layout, the Liquid editor builds one in CSV, XML or JSON with a live preview.
Online shops for Switzerland or Liechtenstein whose company is in the commercial register and registered for VAT. The registration form asks for the Swiss UID, must be filed by the management and is non-binding; a person at Toppreise follows up.
Two to three times an hour, with every update of its system, importing whatever changed. Feedflock regenerates the file on a stable URL as often as every hour, so every fetch reads the latest generated version.
No. The price is in CHF including VAT and the advance recycling fee, and shipping comes on top. If your shipping is flat, Toppreise does not need a shipping value in the feed at all; if it varies per product, send the per-product cost or the weight.
Because Toppreise asks for both. The registration page wants the article designation to include the manufacturer and the product name, as detailed and precise as possible, and the field list adds a separate manufacturer column. The template fills both from the Shopify vendor.
Ideally the same thing your shop says. Toppreise publishes no list of allowed values for the feed. By default the template writes one of two phrases taken from Toppreise's own on-site availability legend, depending on whether the variant can be bought, and you can replace them with your own delivery-time wording.
Sold-out variants stay in the file marked as currently not deliverable; you can also filter them out of the feed if you prefer. The condition column defaults to Neuware (new goods), and Occasion is the value for second-hand items.

Get on every marketplace that matters this afternoon.

Install free, connect your first feed in minutes, and let Feedflock keep it fresh and validated.

.myshopify.com