GMI Software
Core areas
AI & Automation
From workflow and business case to production
Mobile Apps
iOS, Android, React Native
Headless & B2B commerce
Stores, sales platforms, ERP/PIM integrations
Complementary services
AI-gen developmentE-commerce mobile analyticsProduct Discovery & DesignBackend, API & IntegrationsMaintenance & AuditsDDT process
Don't know what to choose? Order a consultation
Our projects
Case studies and references
App Ideas Library
Use case examples
MobileCore Stack
React Native
E-commerceCore Stack
Service: commerce & B2BAdvanced commerceMedusaJS
Frontend & QA
Next.jsReactTypeScriptPlaywrightMaestro
Backend, DB & Cloud
Node.jsNestJSPostgreSQLDockerAWS
E-commerce Innovation
3D configurators (BabylonJS)AI agents & automationRAG & knowledge basesAI-native software companyView all AI services
View all technologies
About us
Our history and values
Careers
Join our team
Contact
Get in touch
Get in touch
AI Opportunity Sprint
Services
Mobile AppsHeadless & B2B commerceAll services
Projects and results
Technologies
Next.jsNode.jsAWSFull technology stack
Meet GMIGet in touch
Back to blog
Strategy
Updated: July 11, 2026· Originally published: April 8, 2026
18 min read

Are MACH and composable commerce the same in ecommerce?

Mikołaj Lehman, CEO & Founder, GMI Software
Mikołaj Lehman
CEO & Founder, GMI Software

Mikołaj Lehman is the CEO and founder of GMI Software. On the blog, he covers decisions around mobile apps, ecommerce and digital product delivery.

  • Mobile apps and React Native
  • Headless and B2B ecommerce
  • MedusaJS
  • Digital product delivery

Short answer: MACH and composable commerce are not the same thing. MACH describes four technical principles: microservices, API-first, cloud-native and headless. Composable describes an operating decision: which commerce capabilities you buy, build and connect through APIs. The best ecommerce stack can be both MACH-aligned and sensibly composable, but not every composable stack is MACH.

Start with the decision: what are you really comparing?

If the board asks "MACH or composable?", answer this first: it is not an A/B choice. MACH describes how the platform should be engineered. Composable describes how you assemble business capabilities from SaaS, open source and custom code.

In practice, the CTO, CFO and Head of Ecommerce should compare three things: architecture risk, integration cost and responsibility boundaries between vendors. A slide full of vendor logos does not explain who owns a wrong checkout price, delayed stock update or campaign that overloads search.

For GMI Software, the better question is not "are we MACH?", but "which commerce capabilities must be independent, which should stay inside MedusaJS v2 and which are worth buying as SaaS because the return is measurable?".

MACH: four principles you can actually verify

The MACH Alliance popularised the acronym Microservices, API-first, Cloud-native and Headless. In ecommerce, it means checkout, catalogue, pricing, promotions, customer account and storefront are not one inseparable block released once per quarter.

Microservices do not mean "one hundred tiny repositories". They mean domain boundaries that can evolve and scale independently: pricing, inventory, cart, promotions or OMS. API-first means integrations are not an afterthought. Cloud-native means automation, containers, scaling, monitoring and repeatability. Headless means the experience layer is separated from the commerce core.

The key point: MACH can be verified. Ask a vendor for API contracts, versioning strategy, integration logs, rollback plan, order data model and proof that a Next.js storefront and React Native app can use the same source of truth without duplicated business logic.

Article graphic: MACH vs composable commerce in ecommerce: is it the same thing?
Article graphic: MACH vs composable commerce in ecommerce: is it the same thing?

Composable commerce: a buying model, not an architecture guarantee

Composable commerce answers a different question: "which capabilities make up the selling experience?". You can choose a separate commerce core, CMS, search, PIM, payments, OMS, personalisation engine, CDP and mobile app.

That sounds attractive because each component can be best in class. The problem appears when nobody designs the shared data and operating model. Five excellent SaaS tools can create a weak system if price, stock, customer and order mean something different in every tool.

Composable without architecture is just a distributed monolith with more invoices. A strong composable plan has clear systems of record, measured integration SLAs, end-to-end observability, ownership of retries/dead-letter queues and rules for when a new vendor actually adds value.

Decision table: when MACH, when composable, when both

Choose MACH when the problem is change speed, selective domain scaling, mobile/API reuse, ERP/PIM/WMS integrations and freedom from one monolith. Choose composable when a specific capability matters strategically: search drives conversion, PIM protects catalogue quality, OMS lowers fulfilment cost or CMS gives marketing autonomy.

Choose both when the business runs multi-channel commerce, a mobile app, complex B2B pricing, multiple markets or a roadmap where replacing one component creates real option value. This is often the best fit for MedusaJS v2 as the commerce core with selected services around it.

Choose neither as a large transformation programme if you have 50 SKUs, one market, simple checkout and no integrations. SaaS or a simpler headless stack may return value faster, and MACH can return when sales operations actually become constrained.

Integration tax: the hidden cost of composable

Every new API boundary needs schema contracts, versioning, regression tests, retries, idempotency, monitoring, alerts and incident ownership. That is the integration tax. It is not always bad, but it must be counted before another tool enters the stack.

In B2B projects, the first ERP/PIM integration with headless commerce can take more attention than the storefront itself. The edge cases include net/gross prices, currencies, contract discounts, credit limits, partial shipments, returns, invoices, stock across warehouses and sync latency.

During DDT we map that cost before development: which data is synchronous, which is asynchronous, which failures block checkout, which go to queues, who owns the operational dashboard and how the failure cost is measured in team hours and lost orders.

Where MedusaJS v2 fits MACH and composable

MedusaJS v2 is an open-source commerce framework built around modules, workflows and APIs. Medusa documentation defines a module as a package of functionality related to a single domain or integration, which maps well to MACH thinking: commerce domains are separated and evolved in a controlled way.

In a practical GMI Software stack, MedusaJS v2 often becomes the commerce core: catalogue, cart, order, promotions, checkout, extensions and APIs. Next.js serves the storefront, React Native powers the mobile app, NestJS handles custom policy layers, while PostgreSQL, Redis and queues support persistence and asynchronous flows.

Composable services sit around the core when the business case is strong: Algolia or another search engine for large catalogues, PIM for product data quality, CMS for marketing teams, OMS for multi-warehouse fulfilment, CDP/personalisation for retention. Medusa does not replace composable strategy; it gives it a stable centre.

Common RFP mistakes in MACH/composable projects

The first mistake is asking for the number of integrations without asking who owns them. "ERP integration" sounds like one scope item, but inside it live price lists, stock, orders, invoices, limits, returns, statuses and manual corrections. Each area needs a failure scenario.

The second mistake is demanding "MACH" without domain boundaries. A vendor may show microservices, but if price, promotion and checkout changes still require one deployment and one team, the business remains operationally monolithic.

The third mistake is buying composable "just in case". If marketing has no CMS operating process and the catalogue has poor data discipline, another vendor increases chaos. Clean domains first, choose tools second.

A decision model for the CFO and CTO

The CFO should model TCO in four lines: SaaS licences, implementation cost, operation/integration cost and future switching cost. Composable can be cheaper when a bought capability replaces heavy custom development. It becomes more expensive when every vendor adds subscription, consulting and another point of failure.

The CTO should evaluate five questions: are domains separated well, are APIs versioned, are events idempotent, does the team have observability, and do source code plus data remain under client control? Without that, "modularity" is only a sales promise.

The shared decision is this: choose the smallest number of independent components that removes real business constraints. For one client, that is MedusaJS v2 plus Next.js and ERP. For another, Medusa, PIM, search, OMS and a React Native app. For a third, it is not MACH yet.

How GMI Software runs this decision

We start with DDT: Discovery, Design & Technology. We do not sell a list of buzzwords; we map the buying process, integrations, data, operational roles, mobile, analytics, security and maintenance risk. Only then do we choose architecture and pricing model.

For commerce projects we usually design one product line: Next.js storefront, React Native as the mobile channel, MedusaJS v2 as commerce core, NestJS for custom rules, and ERP/PIM/WMS integrations with monitoring. After DDT we can propose fixed price because risks are named instead of hidden in the backlog.

This is strongest for companies that do not want to be trapped by one SaaS platform but also do not want to fund an academic microservices lab. The goal is ownership, predictable TCO and a roadmap the business team can understand.

Sources and further reading

MACH Alliance: https://machalliance.org

MACH Alliance overview and history: https://en.wikipedia.org/wiki/MACH_Alliance

Medusa modules documentation: https://docs.medusajs.com/learn/fundamentals/modules

MedusaJS development at GMI Software: https://gmi.software/services/medusajs-development

Headless commerce with Medusa: https://gmi.software/technologies/medusajs

MACH architecture stakeholder guide: https://gmi.software/blog/mach-architecture-stakeholder-guide

When not to adopt MACH ecommerce: https://gmi.software/blog/when-not-to-adopt-mach-ecommerce

Composable commerce and OMS: https://gmi.software/blog/composable-commerce-oms-fulfilment

Frequently asked questions

Is every composable store automatically MACH?
No. Composable commerce means assembling capabilities from different tools, but the stack can still break MACH principles: it may not be cloud-native, may expose weak APIs or may hide a monolithic core behind integration layers.
Can MACH work without composable buying?
Yes. You can implement MACH mostly on open source and custom modules: MedusaJS v2, NestJS, PostgreSQL, Redis, queues and Next.js. The composable surface stays thinner, but the architecture still lets domains evolve independently.
What is the biggest difference between MACH and composable commerce?
MACH is an architecture criterion: microservices, API-first, cloud-native and headless. Composable commerce is an operating and buying model: which components you buy, build and integrate to run commerce.
When is MedusaJS v2 a better stack centre than a large SaaS?
MedusaJS v2 makes sense when you need custom checkout rules, B2B pricing, ERP/PIM/WMS integrations, source-code ownership and no platform take rate tied to GMV. SaaS can be better for a simple catalogue and a fast launch.
Do I need separate vendors for mobile and web?
No. In a well-designed headless/MACH stack, the Next.js storefront and React Native app use the same APIs and commerce domains. That reduces duplicated logic, speeds releases and simplifies maintenance.
How does GMI Software limit integration risk?
We start with DDT: domain map, API contracts, systems of record, failure scenarios and observability. Only then do we define scope, timeline and fixed price after DDT, so integration cost is not hidden in the backlog.

Related reading

  • MedusaJS development

    Implementations, migrations and Medusa v2 teams for international clients.

  • Headless e-commerce

    B2B, ERP, omnichannel and Next.js storefront.

  • MedusaJS 2.0

    Technology expertise and platform comparison.

Content updated: July 11, 2026

Share article:

Related articles

Strategy

Headless vs monolith commerce in 2026: cost, risks and decision framework

A practical decision matrix for CTOs, ecommerce and CFOs: when to keep monolith/SaaS, when to use headless-light, and when to build custom headless with MedusaJS, Next.js and ERP/PIM integrations.

Strategy

MACH architecture in ecommerce: a stakeholder guide

A practical guide for leadership, CTOs and ecommerce teams: what MACH means, when to migrate from a monolith, how to calculate TCO, what can go wrong and how to plan a phased transition.

Contact

Let's talk
about the project.

Have an app idea or need technological support? Write to us — we'll prepare a preliminary analysis and estimate within 48h. Projects that go through our DDT process (Discovery, Design & Technology) come with a price guarantee and a fixed-price agreement — a key differentiator for us.

Write to us[email protected]
Visit us
GD
gmi.software Sp. z o.o.ul. Jana Heweliusza 11 / 819
80-890 Gdansk, PolandNearshore product delivery across EU, UK and US time zones.
NIP: 5252816287KRS: 0000830003
gmi.
ServicesOur projectsBlogBrief assistantContact
LIFAINGI
Mobile Trends Awards 2025 nomination - SFD app
© 2026 gmi.software Sp. z o.o.
Privacy PolicyTerms