Skip to content
← All posts

October 18, 2026 · 13 min read

Multi-country ecommerce operations on a stack you own: OpenLinker's vision for a nine-country brand

A fictional €100M brand pays 2% of GMV for SaaS. How open source can run its multi-country ecommerce operations: shops, marketplaces, EDI, stores.


In short:

  • A European consumer-electronics accessories brand with €100M in annual revenue pays 2% of GMV, about €2M a year, for a system it does not own.
  • In the OpenLinker vision, its own system will do the same job, with no percentage of revenue and no per-order fees.
  • One shared view of stock across two warehouses, four stores and Amazon, with prices set by rules for every channel and currency.
  • A new marketplace or country will be another integration, not another tool. The OpenLinker team, the brand’s agency, a partner or its own developers will be able to build what is missing.
  • When the system is business-critical, integration maintenance, an SLA and hosting are available as services.

For a customer, buying from a brand across Europe is simple: they order where they like, in their own language and currency. For the brand behind it, multi-country ecommerce operations mean nine sets of prices and several warehouses. They also mean different carriers in every market and a different e-invoicing rulebook at almost every border.

When each channel runs on its own system, the cracks show up as overselling, manual price changes and a finance team reconciling exports. We use a fictional brand to show how OpenLinker will run all of it as one open system that the company controls and develops on its own terms. This is what open source omnichannel commerce can look like at this size.

Meet Brightwire

Brightwire is fictional. We made it up, but its profile is typical of a mid-sized European consumer-electronics brand.

Brightwire
Revenueabout €100M a year
Ordersabout 2.5M a year (roughly 6,800 a day), several times that on Black Friday
Productschargers, cables, power banks, headphones; new products every month
Marketsown shops in 9 countries: NL, BE, DE, FR, IT, ES, PL, CZ, SE
Sales channelsown shops, Amazon, bol, Allegro, Kaufland, eMAG, EDI wholesale to retail chains
Stores4 flagship stores: Amsterdam, Berlin, Warsaw, Milan
Stockcentral warehouse in the Netherlands, fulfilment centre in Poland, stock at Amazon
Back officeMicrosoft Dynamics 365 (accounting and invoicing), a PIM, several carriers

The problem: 2% of GMV for a system the company doesn’t own

Brightwire runs orders, stock and listings on an external SaaS platform that charges 2% of GMV. At €100M that is about €2M a year, and the bill grows with every sale. The better the Black Friday, the bigger the software invoice.

The money is only part of it. The system every order passes through belongs to someone else. Customer and order data sits with the vendor, and the vendor decides what the platform will do next year. When Brightwire needs something unusual, such as routing Czech orders from the Polish warehouse or a separate rule for one retail chain, it joins the vendor’s feature queue.

Meanwhile the stores run their own point-of-sale system, retail chains send EDI orders into yet another tool, and the ERP works on its own. Scripts and spreadsheets fill the gaps. At peak season it shows: the same unit sold twice, a return that takes days to reach stock again, prices fixed by hand in several panels and currencies.

Unified inventory across warehouses in nine countries

OpenLinker will become the central integration layer connecting Brightwire’s own shops, marketplaces, wholesale, stores, warehouses and back office. Orders and stock across all nine countries will be managed from one place.

Brightwire will run OpenLinker on its own servers or with a cloud provider of its choice. The code is open source (Apache 2.0), so data, configuration and decisions about what comes next stay with the company.

Sales channels Stock locations Brightwire systems OpenLinker self-hosted · Apache 2.0 · on Brightwire's infrastructure Channel adapters Stock adapters Brightwire extensions D2C shops · 9 countries Brightwire shops Amazon · 9 EU stores Amazon bol · Netherlands, Belgium bol Allegro · PL, CZ, SK, HU Allegro Kaufland · several EU markets Kaufland eMAG · RO, HU, BG eMAG Retail chains · EDI orders EDI wholesale idealo · price comparison idealo Google Merchant Center Google Merchant Meta · product catalogue Meta Resellers · product feed Reseller feed Core the same in every deployment Shared stock viewwarehouses, stores and Amazon stock,updated continuously Order routingwho fulfils: which warehouse, storeor Amazon, by country and cost Price enginerules per channel and currency,minimum margin, campaigns Documentsinvoice or receipt, data to the ERP,status back from e-invoicing WMS Netherlands Central warehouse · Netherlands WMS Poland Fulfilment centre · Poland Store POS 4 flagship stores Amazon stock Stock in Amazon warehouses Pricing algorithm Own pricing → price engine Loyalty Loyalty platform Product registration Warranty registration app Repairs & RMA Repair partner B2B credit limits Credit policy + new adapter pnpm create-adapter Back-office adapters Dynamics 365 Akeneo / Pimcore DHL DPD GLS PostNL InPost Helpdesk Reviews CRM BI Returns portal
OpenLinker core official adapter Brightwire's own extension external system The vision: the core will know where stock is, decide who fulfils each order, calculate prices and choose the document type. Every system will connect through an adapter. Brightwire's own extensions will be built on the same SDK, with no changes to the core's code.

The diagram has three layers:

  • The core will hold the shared view of stock, route orders, calculate prices and choose the document type. It will be the same in every deployment.
  • Integrations (adapters) will connect every system to the core: marketplaces, warehouses, stores, the ERP, carriers.
  • Brightwire’s own extensions are features only Brightwire needs. The company will be able to build them on the same SDK.

We describe this split in more detail on the OpenLinker architecture page. For Brightwire it means one thing: the system will fit the company, not the other way round.

Which systems will OpenLinker connect?

In the full vision, nearly every Brightwire system will connect to OpenLinker through an official integration. By official we mean an integration that the OpenLinker team builds and maintains. It does not mean a partnership with the vendor of that system.

  • Marketplaces: Amazon in nine EU stores; bol in the Netherlands and Belgium; Allegro in Poland, Czechia, Slovakia and Hungary; Kaufland; eMAG in Romania, Hungary and Bulgaria.
  • Wholesale: EDI wholesale with retail chains, covering orders (ORDERS), despatch advice (DESADV) and invoices (INVOIC).
  • Price comparison and ads: idealo, Google Merchant Center, Meta product catalogue.
  • Stock: the warehouse systems in the Netherlands and Poland, the point-of-sale system in the stores, stock held in Amazon’s warehouses (Fulfilment by Amazon).
  • Back office: Microsoft Dynamics 365 for accounting and invoicing, and a PIM (Akeneo or Pimcore) for descriptions, specs, images and GPSR data in nine languages.
  • Shipping: DHL, DPD, GLS, PostNL and InPost, chosen per country.
  • Service and data: helpdesk, review requests, a returns portal, CRM, BI tools.

Invoices at Brightwire are issued by the ERP, because that is where the accounts live. OpenLinker will not duplicate that. It will choose the document type, pass the order data to Dynamics 365 and read back the status once the invoice is accepted.

That matters more every year. Italy, Poland, Romania and Belgium already require structured e-invoices for domestic B2B sales, and France has required them from larger companies since September 2026. Germany requires every business to receive them and will phase in mandatory issuing over 2027–2028. The ERP or its e-invoicing provider connects to each country’s e-invoicing system. Companies without an ERP will be able to send invoices to Poland’s KSeF directly from OpenLinker. The same applies to VAT on cross-border sales: OpenLinker will pass the buyer’s country with every order, and the ERP will account for VAT under the EU One-Stop Shop for cross-border consumer sales, and under local registrations where stock is held.

Omnichannel order management in practice: one product, five orders

The easiest way to show how this will work is to follow one product: a pair of Brightwire wireless earbuds.

An EDI wholesale order from Belgium

A Belgian retail chain sends an EDI order for 600 units. OpenLinker will reserve them in the Dutch warehouse and pass the order to Dynamics 365. The ERP issues the invoice through Peppol, the EU e-invoicing network Belgian retailers now use (mandatory between Belgian businesses since January 2026). When the pallet leaves, OpenLinker will send the despatch advice back to the retailer, and availability will drop in every channel straight away.

Two orders, two warehouses

An hour later, two consumers buy the same earbuds: one on Allegro in Czechia, one on Amazon in Germany. OpenLinker will route the Czech order to the fulfilment centre in Poland, which is closer and cheaper to ship from, and the German one to the Dutch warehouse. Both orders will draw on the same shared stock view, so no channel will promise units that have already been sold elsewhere.

Stock that belongs to one channel

Part of Brightwire’s stock sits in Amazon’s warehouses for Prime orders. OpenLinker will treat it as its own location, sellable only on Amazon. When a customer orders on bol, the order will go to the Dutch warehouse, and units committed to Amazon will never be offered elsewhere.

Click and collect in Berlin

In the evening, a customer in Berlin sees “available today at the Berlin store” in Brightwire’s online shop. She reserves the earbuds and picks them up on the way home. The unit will be held from the moment she orders, so nobody else can buy it, online or in the store. When the warehouses run out, the same stores will also be able to ship the last units to online customers.

A return in Milan

A week later, a customer who bought through the Italian online shop returns the earbuds at the Milan store. Staff accept the return in the point-of-sale system. After an inspection, the unit will be able to go back on sale in every channel and fulfil the next click-and-collect order in Milan.

The same mechanism runs through all five orders. OpenLinker will know where stock physically is, who is responsible for each location and which channels may sell it. Warehouses, stores and stock at Amazon will be equal sources of supply to the core.

Prices across channels, countries and currencies

Brightwire sells in six currencies across a dozen channels and changes prices weekly. Doing that by hand produces mistakes. In the OpenLinker vision, prices will be set by rules:

  • on each marketplace, the shop price plus that channel’s commission,
  • conversion to PLN, CZK, SEK, RON and HUF at the current rate, rounded to local price points,
  • a minimum margin below which no rule can lower a price,
  • Black Friday as one rule for a whole category across all countries, switched on and off in one place.

Brightwire also has its own pricing algorithm, refined over the years. It does not have to give it up. It will plug the algorithm in as its own extension, and OpenLinker will send the resulting prices to every channel.

What the ecommerce team gets

A Head of Ecommerce cares less about adapters and SDKs than about growth, margin and a calm peak season. From that perspective, the main changes are:

  • A new market is a business decision, not an IT project. Launching Kaufland in Austria or Amazon in the UK will mean switching on another integration on the same stock and prices, not rolling out a new tool.
  • Fewer cancellations and delivery promises the company can keep. One view of stock will mean the same unit is never sold twice, and promises like “collect today” or “ships tomorrow from Poland” will hold.
  • Margin under control in every country. Price rules with a minimum margin will make sure a marketplace promotion does not push margin below the agreed level.
  • A record Black Friday without a bigger software bill. Software costs will not grow with every order. Only infrastructure costs may rise, in steps, as load increases.
  • Data under the company’s control. Customer and order data from every channel and country will be in one place, ready for the company’s own analysis without manual exports from vendor dashboards.
  • No vendor queue. When the team wants a new programme, such as product registration for an extended warranty, the OpenLinker team, an agency or the company’s own developers will be able to build it without waiting for a vendor’s roadmap.

Extending OpenLinker with your own features

No system can anticipate everything a particular company needs. That is why OpenLinker does not make your roadmap depend on a single vendor. When Brightwire needs something the official integrations do not cover, it will have three routes:

  1. The OpenLinker team. We are happy to implement, extend and customise the system for a company like Brightwire, from a new integration to a feature only Brightwire needs. If it is useful to others, it can become an official integration.
  2. An agency or OpenLinker partner. The same SDK and the same process, with a team the company already works with.
  3. Its own developers. They will build an extension on the public SDK. The pnpm create-adapter command generates the skeleton of a new integration.

In our vision, Brightwire will build these as its own extensions:

  • a connector to its own online shops, which the company has developed for years,
  • its pricing algorithm, mentioned above,
  • a loyalty programme shared across shops and stores in every country,
  • product registration and extended warranty, linked to orders from every channel,
  • repairs and RMA with its repair partner,
  • credit limits for B2B customers: a rule that holds a retailer’s order when its limit is exceeded.

Brightwire’s extensions will run alongside the official integrations, and they are designed so that OpenLinker updates don’t require changes to the company’s code. Because the code is open source, Brightwire decides what to build and when.

Support when the system is critical

A €100M brand cannot be left on its own when something breaks on Black Friday. Owning the system does not mean doing everything in-house. The software is free of licence fees, and the company will be able to buy:

  • an SLA in one of three tiers, from business-hours support to 24/7, with a guaranteed response time for critical incidents,
  • Integration Assurance: maintenance and a guarantee that integrations keep working; when a marketplace, carrier or tax authority changes its API, updating the integration is OpenLinker’s job, not the company’s,
  • managed hosting, if the company does not want to run servers itself.

Each service is optional. Brightwire can also run the system itself or hand it to its agency. If it would rather have one partner end to end, the OpenLinker team can also handle implementation, development and maintenance.

What makes up the cost

There is no percentage of GMV and no OpenLinker fee per order. The cost is made up of:

  • infrastructure, which scales in steps with load, not with every order,
  • the implementation project, led by the OpenLinker team, an agency, an OpenLinker partner or the company’s own team,
  • development of its own extensions, by us, an agency or in-house,
  • optional services: SLA, Integration Assurance, hosting.

It is also fair to say what the company takes on. Owning the system means someone is responsible for keeping it running: in-house, through an agency or under a contract with us. For some companies, SaaS will stay the simpler option. We explain the difference between open source and source-available licences, which matters for exactly this decision, in open source or just source-available.

A phased rollout

Brightwire does not have to switch off its current platform overnight. A sensible path:

  1. One market first. For example, bol in the Netherlands and Belgium, running alongside the current system.
  2. Stock and stores. Connect both warehouses, the stores and Amazon stock, so OpenLinker sees all available stock.
  3. More channels and countries. Move marketplaces one at a time, the largest Amazon stores last, once everything has been tested.
  4. Switch off the old system. Only when the last channel runs on OpenLinker.

Each stage can be checked on real orders before the next one starts. Before peak season, it pays to have at least stage two done.

Where OpenLinker is heading

Brightwire is fictional, but the direction is real. OpenLinker will support physical stores, use distributors and third-party warehouses as stock sources, and set prices by rules across currencies. All of it in one system that the company owns and extends, and can operate in-house or with whatever help it needs. OpenLinker will make open source omnichannel commerce practical for companies of this size.

If you recognise your company in this, see OpenLinker for enterprise or try the live demo. If you would rather start with the code, it is on GitHub, and a star helps more companies find us. If you build integrations for clients, read what OpenLinker offers agencies. And if you want a say in what we build first, we are looking for companies to work with.

Frequently asked questions

What do multi-country ecommerce operations involve?

Selling the same catalogue through your own shops, marketplaces, wholesale and stores in several countries at once. That means one view of stock across warehouses, prices per channel and currency, orders routed to the right warehouse, and invoices that meet each country's e-invoicing rules. The hard part is keeping all of it consistent while every channel runs on its own system.

How will OpenLinker handle stock across warehouses in several countries?

OpenLinker will keep a shared view of stock across every location: central warehouse, regional fulfilment centres, stores and stock held at Amazon. Each location will connect through its own integration, and order routing will decide which one fulfils an order based on the buyer's country, availability and cost.

Who issues invoices and handles e-invoicing in each country?

At this scale, the ERP. It holds the accounts and connects to each country's e-invoicing system. OpenLinker will choose the document type, pass the order data to the ERP and read back the status. Companies without an ERP will be able to send invoices to Poland's KSeF directly from OpenLinker.

Can stock held by Amazon be part of the shared stock view?

In the OpenLinker vision, yes. Stock in Amazon's warehouses will appear as its own location, sellable only on Amazon, so other channels will never promise units that are already committed to Prime orders.

What if OpenLinker doesn't have an integration we need?

Integrations are built on a public SDK. The OpenLinker team, your agency, an OpenLinker partner or your own developers will be able to build what is missing, without waiting for a product roadmap.

Is Brightwire a real company?

No. Brightwire is a fictional company we made up to show the OpenLinker vision through a concrete example. Its profile is typical of a mid-sized European consumer-electronics brand.

#omnichannel#vision#architecture#enterprise#multichannel#cross-border