Skip to content
Mickey Liechtenstein
All cases

Supplier integration for an existing web shop

Fritidsshop.dk

Custom plugins connecting an existing WooCommerce shop to its suppliers: automatic import of products, prices and stock, weight limits and category mapping. The shop is the client's own — I built the development for it.

Mickey got to grips with the job quickly and thoroughly, and solved it efficiently and professionally. Several other suppliers have not managed that.

Louis Andreas Michaelsen Owner, Fritidsshop.dk

I did not build Fritidsshop.dk. The shop is the owner's own, built in WooCommerce on an off-the-shelf theme, and it had been trading long before I was involved. My job was a different one: connecting it to suppliers so products, prices and stock arrive by themselves, and fixing what stood in the way.

The shop as it was: the owner's own design and his own theme. My work sits behind it, not on top of it.
The shop as it was: the owner's own design and his own theme. My work sits behind it, not on top of it.
An imported product on the shelf beside his own: same template, same categories, price and stock maintained by the integration.
An imported product on the shelf beside his own: same template, same categories, price and stock maintained by the integration.

The job

The shop wanted to widen its range without anyone creating products by hand. That sounds like something you buy a plugin for, and partly it is. What a plugin does not handle is where the supplier's world meets the shop that already exists: the categories are not called the same thing, the prices are trade prices without VAT, and some products should not come across at all.

What I built

A custom plugin for weight limits. A drop-shipped garden bench weighing eighty kilos is not good business when the freight eats the margin. The shop now has its own settings page where the owner sets the limit himself, and anything above it is never imported.

A plugin for a second supplier's product feed. When a new supplier came along, it got its own import with its own settings in the admin — in the same place as the rest, so there are not two systems to remember.

A mapping between the supplier's categories and the shop's own. The supplier has its category tree, the shop has its own, and it is the shop's that customers know. Imported products therefore land in the categories that already existed, alongside the owner's own products. The mapping follows the category rather than its name, so he can rename one without breaking the import.

The pricing. Trade price, markup, VAT and rounding to whole kroner, so the price on the shelf is the price the customer pays and the margin is something you can check.

Variants rather than duplicates. The same product in five colours should be one product with five variants, not five products. That is how the import ended up, and it is the difference between a category page you can read and one that looks like a warehouse.

And a good deal that simply had to work. Products held back until stock status arrived. English text that had slipped through. Spelling errors in imported titles. Pages that were not being indexed. A supplier account locked out, which I got reopened through their support.

Why it is a plugin

All of this could have lived in the theme. Then it would have been gone the day the owner changes his design — and it is his shop, so that decision has to be his alone. The functionality therefore sits in plugins with their own settings pages. If he switches theme tomorrow, the import keeps running.

What he can do himself

He switches categories on and off, sets the weight limit, renames categories and adjusts the mapping — without me. That was part of the job. An integration where the owner has to phone a developer to turn off a category is not finished.

Shall we have a chat?

Tell me briefly about your task — I will get back to you with an honest take on what makes sense.

Write to me

Describe your task in a few lines and I will get back to you — usually the same day.

Your details are used only to reply — no newsletter.