Grainsoft Product Feed for FINN.no

Description

FINN.no is Norway’s largest marketplace. Since Store Hub Connect, shops no longer upload
listings one at a time β€” instead, FINN reads a product feed from your own website, roughly
every two hours, and keeps your listings in step with your shop by itself.

This plugin builds and hosts that feed.

Turn it on, hand the address it gives you to FINN, and your WooCommerce catalogue becomes a set
of FINN listings that update themselves. Change a price and it changes on FINN. Sell out and the
listing goes. Delete a product and the listing goes with it. You never export a file, never log
into an upload form, and never touch XML.

What it does

  • Hosts a valid feed at a secret address. Google Shopping / RSS format, which is what FINN
    recommends and reads. Streamed straight to disk, so a catalogue of 20,000 products uses no more
    memory than a catalogue of twenty.
  • Rebuilds itself hourly, and immediately whenever you save the settings.
  • Escapes everything. FINN rejects an entire feed over a single stray &, < or > in one
    product description β€” not that product, the whole feed. Every value is written inside CDATA,
    including text that itself contains a CDATA terminator.
  • Tells you what FINN will not receive. Missing image, no price, no category β€” FINN silently
    skips those products and never tells you. This plugin lists them on the settings screen with the
    reason, linked straight to the product so you can fix it.
  • Puts you in charge of the order. FINN publishes in feed order until your plan’s listing
    allowance runs out. Sort by newest, by price, by stock level, or by your own shop order, and set
    a cap so you decide which products make the cut instead of FINN deciding for you.
  • Cleans up descriptions. FINN converts descriptions to plain text, so Gutenberg comments,
    shortcodes, <div> soup, scripts and tracking markup are stripped; paragraphs and lists survive.
    Text over the limit is cut at a paragraph boundary, never mid-sentence and never mid-tag.
  • Respects the field limits. 80-character titles, 4,000-character descriptions, at most 32
    images per product, prices rounded to whole kroner β€” all handled for you.
  • Publishes only HTTPS images. FINN cannot fetch images over plain HTTP, so an insecure image
    URL is treated as no image rather than as a broken listing.
  • Excludes what you do not want listed. Per product, per category, in bulk from the products
    list, or by leaving out anything that is out of stock.
  • Handles variations β€” optionally as separate listings, each with its own attributes in the
    title, or as a single listing for the parent.
  • Everything in Norwegian and Polish, as well as English.

What you need first

This plugin is one half of the job. The other half is an agreement with FINN:

  1. You need a business account on FINN with a Torget shop plan.
  2. Your shop must be onboarded onto Store Hub Connect by FINN. You send them the feed address
    from this plugin, and together you agree how your categories map onto FINN’s categories.
  3. FINN then starts reading the feed. Listings usually appear within a few hours.

Installing this plugin alone will not put anything on FINN. It gives you the feed that makes the
conversation with FINN possible.

Not affiliated with FINN.no

This is an independent plugin. It is not made, endorsed or supported by FINN.no AS or Schibsted.
“FINN” and “FINN.no” are trademarks of their respective owner and are used here only to describe
what the plugin is compatible with.

Support

This plugin is free and will stay free. If it saves you time, two ways to give something back:

Support the plugin’s development

suppi.pl/damian-ziarnik β€” a one-off tip that goes straight
toward keeping this plugin maintained and compatible with new WordPress and WooCommerce releases.

πŸ› οΈ Paid support

Need help getting your feed onboarded, mapping categories, or extending the feed with fields this
plugin does not cover out of the box? Paid, priority support is available directly from the
developer: grainsoft.pl.

Privacy

The plugin stores its settings in one option row and an opt-out flag on products you exclude. It
writes a feed file into your uploads folder containing the product information you have already
published in your shop. It collects no personal data, sets no cookies, and sends nothing anywhere.
The feed address is served with a noindex header.

Screenshots

Installation

  1. Install and activate the plugin. WooCommerce must be active first.
  2. Go to WooCommerce FINN feed.
  3. Copy the feed address shown at the top of the screen.
  4. Choose how many listings you want, in what order, and which categories to leave out.
  5. Save. The feed is built immediately.
  6. Send the address to your FINN contact and ask them to onboard your shop onto Store Hub Connect.

That is the whole setup. From then on the plugin keeps the feed current and FINN keeps your listings current.

FAQ

Do I need anything from FINN before this is useful?

Yes. FINN has to know your feed exists and has to agree to read it. You need a business account
with a Torget shop plan, and FINN has to onboard you onto Store Hub Connect. The plugin produces
the feed; FINN decides when to start reading it.

How quickly do my changes reach FINN?

The plugin rebuilds the feed every hour, and FINN reads it roughly every two hours. In practice a
price change shows up on FINN within a couple of hours. Nothing you do makes FINN read sooner β€”
the schedule is theirs.

Why is my feed address a long random string?

Because FINN’s specification forbids protecting it any other way. The feed must be reachable
without a login, an API key, an IP allow-list or a VPN, so the only thing standing between your
catalogue and the open internet is an address nobody can guess. Treat it as a secret. If it does
get out, use Issue a new address β€” the old one stops working immediately, and you send the new
one to FINN.

Is my catalogue therefore public?

Anyone who knows the address can read your product titles, descriptions, prices and images β€” the
same information already on your shop’s public product pages. The feed contains nothing about
customers or orders. It carries a noindex header so search engines will not list it.

Why is a product missing from the feed?

Open WooCommerce FINN feed. Any product that was left out is listed there with the reason.
FINN requires a title, a price, a category and at least one publicly reachable HTTPS image; a
product missing any of those cannot be listed. The usual culprit is an image on an HTTP URL, or a
product with no category.

Do I need a description?

No. If a product has no description, FINN falls back to the title. A real description will sell
the item better, but it is not required.

Why is my description shorter on FINN than in my shop?

FINN keeps 4,000 characters of plain text. If yours is longer, the plugin cuts it at the last
paragraph that fits, so it never ends halfway through a sentence. FINN also strips all formatting
except basic paragraphs and lists β€” headings, tables, columns and embeds are flattened, which is
FINN’s behaviour, not the plugin’s.

What happens to my variable products?

By default, one listing for the parent product. Turn on Publish each variation as its own
listing
if you want each size or colour listed separately β€” but remember that each one counts
against your FINN listing allowance, so a product with twelve variations uses twelve slots.

What if I have more products than my FINN plan allows?

FINN publishes in feed order and stops when your allowance runs out, so whatever comes first wins.
Set Maximum listings to your allowance and choose an order β€” most expensive first, newest
first, most in stock first, or your own shop order β€” and you decide which products get listed
rather than leaving it to chance.

How do I keep a product off FINN?

Three ways, depending on scale: tick Exclude from FINN feed in the product’s Advanced tab;
select several products in the products list and use the Exclude from FINN feed bulk action;
or exclude a whole product category in the settings. Hidden products are always left out. Removing
a product from the feed removes its FINN listing at the next import.

How do prices work?

Prices are sent as Norwegian kroner and rounded to whole kroner, because that is what FINN’s feed
format assumes. The plugin does not convert currency: if your shop prices in another currency, the
number is sent as-is and FINN will read it as NOK. Use a currency plugin, or a shop priced in NOK,
if that is not what you want.

What about sale prices?

If a product is on sale, both the regular price and the sale price are sent, along with the sale
period if you set one. FINN shows the discount.

Does this work with a multi-currency or multi-language shop?

The feed contains one version of your catalogue: whatever the site produces for the plugin’s
requests. Multi-currency and multi-language setups vary too much for a single answer, so test the
feed by opening its address before you send it to FINN.

Does this send anything to FINN, or to me, or to anyone else?

No. The plugin makes no outbound connections at all. It writes a file into your uploads folder and
serves it when something asks for it. FINN comes to you.

Will this slow down my shop?

No. The feed is built once an hour in the background and written to disk; serving it is just
sending a file. The build streams products in batches of 200, so memory stays flat however large
your catalogue is.

FINN says my feed is invalid. What do I do?

Open the feed address in a browser. If it downloads and displays as XML, it is well-formed and the
problem is more likely to be mapping β€” usually categories FINN has not been told how to interpret.
If your browser reports an XML error instead, that is a bug in this plugin, and the exact message
your browser shows is the most useful thing you can include in a support request.

My feed address returns 404.

Go to Settings Permalinks and click Save. That rebuilds WordPress’s rewrite rules, which
some hosts and caching layers drop.

Can I change what the feed contains?

Yes, in two ways. The settings screen covers description source, title suffix, category format,
brand, condition, and any extra product attributes you want to publish. For anything beyond that,
developers can use the finn_feed_item filter to change a mapped product before it is written, and
finn_feed_query_args to change which products are selected.

Is there a premium version?

No. The plugin is free and complete. There is no upsell, no locked feature and no account to
create.

Which languages are included?

English, Norwegian BokmΓ₯l (nb_NO) and Polish (pl_PL).

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Grainsoft Product Feed for FINN.no” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.0

  • First release.
  • Store Hub Connect product feed hosted at a secret address, rebuilt hourly.
  • Streaming XML writer with full CDATA escaping, including CDATA terminators inside product text.
  • Skipped-product report with per-product reasons.
  • Feed ordering and listing cap for shops with a limited FINN plan.
  • Description cleanup with paragraph-boundary truncation.
  • Per-product, per-category and bulk exclusion.
  • Optional per-variation listings, contact details and location.
  • Norwegian BokmΓ₯l and Polish translations.