Apply

Keeping prices and stock current

Prices and stock change every day. The catalogue itself — descriptions, images, categories — changes almost never. That is why there is a second, much smaller file: Stock & price only, about 195 kB against the full feed's 24 MB.

Use the small file for updates, the full one only the first time

The full feed carries everything and takes about 11 minutes to import. The small file carries three columns — SKU, price, stock — and takes under three minutes. We measured both on the whole catalogue of 6 935 products in a real WooCommerce store.

Tick "Update existing products"

Without it the importer skips everything it already knows and nothing is updated. With it, products are matched on SKU — which is the EAN, and stable between fetches, so nothing is duplicated.

It only touches price and stock

We checked this in a real store: after importing the small file, weight, image, category, description and attributes were exactly as before. Only the two numbers changed. A three-column file cannot overwrite what it does not contain.

Route 1 — WP All Import Pro (paid, least work)

The only route that runs entirely on its own. WP All Import Pro can fetch a file from a web address on a schedule; the free edition cannot — "Download from URL" and scheduling are both paid features.

Set it up once: new import, Download a file → From URL, paste your Stock & price address from the Feeds page, map SKU to SKU, price to Regular price and stock to Stock, and set the schedule to once a night.

This is the route to choose if you want to stop thinking about it. It costs a licence, and it is not ours — we get nothing from it and we are not reselling it. We are naming it because it is the only thing on the market that does the job without code.

Route 2 — a cron job on your own server (free, needs shell access)

If your hosting gives you SSH, WP-CLI and the ability to add a cron entry, the update can run on your server for nothing. It downloads the small file and drives WooCommerce's own importer — the same importer you use by hand, just without the clicking.

It is not a single line. WooCommerce's importer processes the file in slices, so it needs a short script around it, and the script has to live somewhere on your server.

We have written it, but we have not been able to run it on a live host — we do not have one with shell access, and we do not publish commands we have not executed ourselves. So: reply to your welcome email, tell us you have shell access, and we will send you the script and set it up with you. Once it has run on a real host we will publish it here.

Route 3 — run the small import by hand (free, about five minutes)

Download the Stock & price file from Feeds, go to Products → Import, choose it, tick "Update existing products", and press through. The three columns map themselves — they carry WooCommerce's own column names.

About three minutes of machine time for the whole catalogue, plus a minute of clicking. Once a week keeps you close enough for most ranges; daily if you sell fast movers.

This is what we would do while you decide about the other two. It costs nothing, it needs nothing installed, and it cannot go wrong in a way that is hard to undo.

On Shopify this is simpler

Shopify can fetch from a URL on a schedule through several apps, and the handle in our file is built from the EAN, so it stays the same between fetches and updates do not create second copies.

Use the full feed for the first import and the Stock & price file for the scheduled updates — same reasoning, same saving.

How often is often enough?

Stock moves faster than price. If you sell items that go out of stock within a day, update daily; for a steady range, once a week is fine. The feed carries the time the stock was last read, so you can always see how old the figure is.

Whatever you choose, tell us. If several of you end up wanting the same thing, we would rather build it once on our side than have six people solve it separately.