Is Kirby CMS Suitable for a Multisite and Multilanguage E-Commerce Setup with Merx?

Hello,

I’m considering trying a Kirby CMS setup for an e-commerce project I started in Craft CMS because I feel Kirby suits me better. Plus, I need to create a second shop afterward, and Kirby might be a better fit overall.

Here are the requirements for the project:

7 different sites in 3 languages, so it needs to support multisite and multilanguage.
At the moment only one site group will use merx, but possibly more site groups in the future.

Setup:

mySite.shop → routed to the appropriate page based on browser language and location, with /en as the default.

Site Group 1:

mySite.shop/de-ch (Switzerland German)
mySite.shop/de-fr (Switzerland French)

Site Group 2:

mySite.shop/en (International English)
mySite.shop/fr (International French)

Site Group 3:

mySite.shop/de-de (Germany German)

Site Group 4:

mySite.shop/de-at (Austria German)

The site groups should share content wherever possible. Essentially, the content will be the same but translated.

Some content, like a recipes database or images, should be available across all sites.

Here are my main questions:

• How should the sites be set up for this use case?

• What does this look like in the panel?

• Can sites and groups be managed together in the panel, or would users need to log in separately for each site?

• Is Merx usable across multiple sites with different currencies and stock?

• Would I need a license for each site?

• Is this approach realistic and achievable with Kirby, or should I stick with Craft CMS?

I’d appreciate any input since this would be my first multisite project with Kirby, and I’ve only completed five projects with Kirby so far.

In what way are these different sites, not just translations?

Merx stores products as pages with an extendable blueprint. Afaik it does not provide stock management out of the box. You would need to add that in a custom fullfilment logic (via hooks). The stock for each product could be setup as a number field on the product blueprint and since those can be set to translatable or not you have full control over the behaviour there.