Login

|

Register

Integrations · WooCommerce

Expand into Europe without replatforming your store.

You built on WooCommerce because you wanted to own the stack. Going international should not be the thing that takes that away from you. Expandly connects to your existing WooCommerce install and takes on the European side behind it: stock held in region, VAT and product compliance registered and filed, orders and inventory managed centrally across every channel you sell on. Your site stays your site, and your plugin list stops growing every time you add a market.

Where we stand with WooCommerce

A long-supported connection, not an afterthought

WooCommerce has been one of our core supported carts for years, alongside Shopify, Magento, BigCommerce, PrestaShop and others. Self-hosted stores are what our connection method was built for.

Your install, your rules

No migration, no forced hosting move, no theme rebuild, and nothing that takes admin control away from you or your developer. We connect to the store you already run.

Built for the awkward setups

Heavily customised installs, unusual product structures, a bespoke checkout, a separate store per market. Open-source stores rarely look like the documentation, and the connection is designed for that.

The real question

"Do we have to move to Shopify to sell in Europe?"

No. That question comes up because expanding a self-hosted store usually gets described as a development project, and on the face of it that is what it looks like. Multi-currency. A translation layer. European tax rules in the tax settings. Shipping rules per country. A payment gateway that offers iDEAL in the Netherlands and invoice payment in Germany. Each one is a plugin, a configuration, a compatibility question and a thing that can break at the next update.

The reason that framing is wrong is that almost none of it is really a website problem. Your VAT registration is not a plugin. Your packaging registration is not a plugin. Stock sitting in a European warehouse so a German customer gets a two-day delivery is definitively not a plugin. The website work is the visible tip of a job that is mostly tax, logistics and product compliance, and adding it all to your WordPress install puts your European operation inside the thing you least want to destabilise.

So the choice is not WooCommerce or Shopify. It is whether your European operation lives on your site or behind it. Everything below is about the second option.

The division of labour

What stays on WordPress, and what moves off it

This is the practical shape of the arrangement. The line is drawn at the point where a job stops being about presenting your brand and starts being about operating in a market.

Stays on your site

Everything your customer sees

Your theme, your design and your brand

Your checkout and your payment gateways

Content, blog, SEO and your URL structure

Customer accounts and your email flows

Whatever custom work makes your store yours

We do not take over the storefront, and nothing here changes when you connect.

Moves behind it

Everything about operating in a market

Product and listing management across every channel

Stock levels, locations, bundles and replenishment

Order routing, picking, packing and dispatch

VAT registration and ongoing filing per market

Producer responsibility, labels and Responsible Person

Returns, reworks and in-region customer logistics

Accounting posting and cross-market reporting

None of this needs to be a plugin, and none of it breaks when WordPress updates.

Making the connection

Three steps, and your developer will recognise all of them

WooCommerce connects by a bridge file rather than an app authorisation, which is the trade-off that comes with self-hosting. It is a one-off install, and we do it with you.

Step one

Install the bridge file

You download a bridge file that is unique to your account and place it on your web server alongside your main index file, normally in the public web root. Either give us FTP credentials and we do it, or your developer uploads it in a couple of minutes.

Step two

Verify and connect

The install is confirmed by loading the bridge URL on your own domain, so you can see for yourself that it is live before anything is connected. Then the store links to Expandly and we set your merge preference, so products match correctly across your channels.

Step three

Map statuses and pull categories

Your WooCommerce order statuses are mapped to ours one for one, and your store categories are synced in so products can be assigned to the structure you already use. Names do not have to match, and the mapping can be changed later.

For whoever maintains your site

The short technical answer

The bridge file goes in the same directory as your WooCommerce index.php, typically public_html. It is account-specific, so it cannot be copied between sites, and a file in the wrong directory is the usual reason a connection fails. Verification is a single GET on your own domain. There is no plugin to install, no database migration and no change to your theme or checkout.

One configuration detail worth setting correctly at the start: currency decimal places in WooCommerce need to be set to two, otherwise tax values round inconsistently when orders post to your accounts. We check it at onboarding rather than finding it in a reconciliation three months later.

How the sync works

Precisely what moves, so nobody is surprised later

Worth being exact about, because “everything syncs everywhere” is a claim that falls apart the first time somebody edits a product in the wrong place.

01

Stock propagates, sales do not

An order on any connected channel comes into Expandly, which adjusts your stock centrally and pushes the corrected figure out to every other channel. Ten in stock, one sells on your Woo store, every other channel now shows nine. The order itself stays where it was placed. This is what stops overselling.

02

Expandly is the listing master

You import your catalogue once. After that, product and listing changes are made in Expandly and pushed out to WooCommerce and to every marketplace you sell on. One edit, every channel, and one place your team knows to go.

03

The warehouse feeds in too

Stock movements from fulfilment reach the same central figure, so a goods-in, a return to stock or a stock take corrects your channels the same way a sale does. Your live quantities reflect what is actually in the building.

Selling direct in Europe

Eight requirements, and where each one lands on a self-hosted store

A European storefront has to satisfy things a US one does not. On a hosted platform some of these arrive built in. On WooCommerce every one of them lands somewhere specific in your stack, so the useful question is not what the requirements are, it is which of them are yours and which are ours.

Requirement

Where it lands on your store

Whose job

Local payment methods

Your gateway and checkout configuration. iDEAL in the Netherlands, PayPal and invoice payment in Germany, Bancontact in Belgium, BLIK in Poland. Invoice payment means the customer has the goods before you have the money, and in Germany that is a quarter of the market.

Your stack

We tell you what each market needs and why it converts.

Local currency pricing

Currency handling in WooCommerce, plus a pricing decision. Poland and Sweden are in the EU and outside the euro, so those are real currencies rather than a display conversion.

Your stack

We advise on the markets and the margin effect.

Storefront language

Your translation layer for pages, navigation and policies. Separate from your product content.

Split

Site content is yours. Your product catalogue is translated by us and published out.

Discount display

How you configure promotions and sale prices. EU price indication rules measure a promotional price against the lowest price you charged in the previous 30 days, while a standard sale-price field anchors against a list price instead.

Split

A promotions calendar rather than a plugin. We flag the mechanism, you set the calendar.

Product and trader information

Your product template. European product safety rules require certain trader and product details to appear with the listing rather than on a policy page.

Ours

Label review and the compliance content. Where it renders is a template question for your developer.

German accessibility

Your theme and your checkout. Since 28 June 2025 the BFSG has required online shops serving German consumers to meet EN 301 549 and WCAG 2.1 Level AA, with an accessibility statement in German. The micro-enterprise exemption stops at fewer than 10 staff and turnover of at most €2m.

Your stack

We scope it with you and your developer so it is planned rather than discovered.

Returns

Your policy page carries the statutory 14 day right to withdraw. The harder half is the physical operation behind it, and German shoppers expect returns to be free on top of the legal right.

Ours

Returns come to a European address, assessed on arrival, restocked or reworked in region.

Delivery promise

Your shipping configuration, and whether the date it displays is true. A customs charge collected on the doorstep is worse than a high shipping price at checkout, because it arrives after the decision.

Ours

Stock held in region removes the customs event and makes next-day and two-day credible.

Five of these eight are settled by where your stock sits and who holds your registrations, which is the part we take on. The three that stay with your stack are configuration and design work, and they are considerably easier to scope when nobody is also trying to run a European tax operation out of the same WordPress install. Bring your developer to the review call and we will go through the split line by line.

What we handle

The European operation, run for you

The same work whether you enter one market or five. What changes is the volume, and none of it lands on your site.

Tax and product obligations, registered and filed

VAT registration in every market you sell or hold stock in, then ongoing filing. Producer responsibility registrations, label review before anything prints at volume, and Responsible Person appointment for the EU and separately for the UK.

Stock in region, orders shipping locally

Your inventory sits at our Netherlands warehouse for EU demand and our UK warehouses for UK demand, keeping the two customs regimes cleanly apart. Orders from your store are picked, packed and dispatched locally, and returns come back to a local address.

Catalogue translated and published

Titles, descriptions and bullet points translated for German and Dutch shoppers, then published to your store and your marketplaces from one catalogue. No second content system, and no translation plugin to maintain.

One set of numbers across everything

Your Woo store, your marketplaces and your trade orders reported side by side, with cost price in the report so you are reading contribution rather than revenue. Alerts on filing deadlines and stock events before they bite.

Inside the platform

Work your team stops doing in the WordPress admin

Orders

Rules that route on arrival

Conditions on channel, country, order value, weight or product, acted on as orders come in: sent to the right warehouse, added to the right pick list, labelled with the right carrier, and the status pushed back to your store so your customer gets the notification your site normally sends.

Inventory

Locations, bundles and ghost stock

Stock split across warehouses with a defined deduction order, bundles that recalculate from component stock, and per-channel display quantities where you want to hold real stock behind a lower published figure.

Finance

Into Xero on your own mapping

Orders, returns as credit notes and purchase orders post across split by currency, payment method and channel. CSV export covers other packages, and the WooCommerce decimal setting is handled so tax reconciles.

Automation

Scheduled file transfers where you need them

Order exports, stock imports and report exports over FTP or SFTP on an hourly to monthly schedule, for the third parties and internal systems that still want a file rather than an API.

Also connected

If your stack is not only WooCommerce

Plenty of brands run more than one storefront, or inherit one in an acquisition. These connect to the same catalogue, the same stock pool and the same order queue.

WooCommerce
Shopify
Magento
BigCommerce
PrestaShop
OpenCart
Zen Cart
Custom carts via bridge file
Offline, phone and trade orders

Marketplaces sit alongside them: Amazon across the UK and Europe, bol.com, eBay, TikTok Shop and others, all drawing on the same inventory. A brand running a Woo store in the US and a marketplace presence in Europe is a common shape, and it works from one system.

Global Expansion Pathway™

Platform first, and this is the platform

Channel strategy sits in the Omni-Channel stage of the Global Expansion Pathway™, delivered as the E-commerce Expansion Multiplier™, and the sequence inside that stage is platform first, marketplaces layered deliberately, social activated strategically. Your own store is the platform layer, which makes it the foundation the rest gets built on rather than the last thing you get to. The reason it comes first is that the catalogue, the stock position and the compliance file you build for it are the same ones every marketplace afterwards will draw on. Get the platform layer connected properly and each channel you add costs less than the one before it.

Explore
Compliance
Logistics
Omni-Channel
Growth
Strategy

The bigger picture

Own your stack. Just don't run Europe inside it.

Self-hosting gives you control that a hosted platform will not, and for a brand with an unusual catalogue or a bespoke checkout that control is worth real money. The cost of it is that everything you add becomes yours to maintain. A tax plugin, a currency plugin, a translation layer and four shipping configurations are a build once and a maintenance surface forever. Each carries its own update cycle and its own compatibility risk. Put a European operation on top of that and a WordPress release becomes a commercial event.

• No migration, no hosting change and no theme rebuild to start selling in Europe

• VAT and producer responsibility registrations held and filed off your site entirely

• Stock in region, so delivery promises and returns are credible rather than optimistic

• One catalogue behind your store and every marketplace, edited in one place

• Your plugin list stays the same size as you add markets

• A WordPress update stops being something your finance team worries about

We have taken more than 2,000 brands into new markets, on hosted platforms and self-hosted ones both. The store is rarely what makes an expansion hard. What makes it hard is everything the store depends on.

What you install

One account-specific bridge file in your web root, verified by loading a URL on your own domain. No plugin, no database migration, no theme change.

One file

Then the connection is live

Base markets

The UK, Netherlands and Germany are included from the start, with further markets added as you want them.

3 markets

Included, not bolted on

Track record

Brands taken into new international markets by Expandly, across hosted and self-hosted storefronts.

2,000+

Brands expanded

Questions

What WooCommerce merchants ask

Do you need admin access to my WordPress site?

No. The connection needs a bridge file placed on your server, which you or your developer can do yourselves, and FTP access only if you would rather we did it. There is no WordPress plugin and no ongoing admin login required to keep the connection running.

Will this slow my site down or conflict with my plugins?

The operational work runs outside WordPress rather than inside it, which is the point of the arrangement. There is no plugin added to your stack, so there is nothing new in your update cycle and nothing new competing for resource on your host.

My store is heavily customised. Is that a problem?

It is a conversation rather than a problem. Unusual product structures, custom fields and a bespoke checkout are normal on self-hosted stores, and how your catalogue is organised affects how products match across channels. Show us the store on the review call and we will tell you what it means in practice.

Should I run one store or a separate one per market?

Both patterns work and the answer depends on your pricing strategy, how different your European range is and who maintains the site. It is worth deciding early, because it affects your catalogue structure and your tax reporting rather than just your domains.

Can returns from my store come back automatically?

Return handling varies by cart and by configuration, so it is one of the things we confirm for your specific setup during onboarding rather than promising in the abstract. What is constant is that your European returns come back to a European address and get assessed, restocked or reworked in region.

How long does the whole thing take?

The connection itself is quick. The timeline is set by the compliance work underneath it: Netherlands VAT runs three to four weeks, the UK around eleven, Germany 16 to 20 weeks after a complete submission. Catalogue, translation and listing work run in parallel while those are in flight.

Find out what your store needs to trade in Europe

Thirty minutes on your setup, your markets and your categories. Bring your developer if you want the technical detail covered properly, and you will leave knowing what connects, what has to be registered, and how long each piece takes.

This page is general guidance and not advice on your brand’s specific position. Connection detail reflects our current WooCommerce integration and may vary with your hosting, your WooCommerce version and your existing customisations. Tax, product and producer responsibility rules differ by market and change, so talk to our compliance team about how they apply to your products and markets before you make a filing, a registration or a launch decision.