Medusa.js does not ship a built-in point-of-sale screen the way a traditional retail POS product does. It provides the commerce infrastructure — inventory, stock locations, sales channels, customer profiles — through REST APIs, and the actual checkout interface staff use is a separate application built on top of that infrastructure. This distinction is the single most important thing to understand before evaluating "Medusa POS" for a retail store.
Retailers searching for "Medusa POS" are often expecting a product they can install and open, similar to Shopify POS or a traditional till system. What Medusa actually offers is closer to an architecture: a headless commerce backend with the inventory, stock-location, sales-channel, and customer modules a POS needs, plus either a community-built starter app or a custom-built front end that talks to those APIs.
This is not a limitation dressed up as a feature — it is a genuinely different model with real trade-offs, and it's worth understanding both sides before deciding. I am Manoj, an ERPNext and Frappe implementation consultant at MithTech, and my team builds retail POS implementations on Medusa specifically for omnichannel brands.
Does Medusa.js come with a built-in POS system?
Medusa.js does not come with a built-in point-of-sale screen — it provides the commerce backend (inventory, stock locations, sales channels, customer profiles, promotions) through REST APIs, and a separate front-end application is what staff actually use at checkout. This is different from an all-in-one retail POS product where the till software and the backend are the same purchase.
In practice, this means "getting Medusa POS" involves either using an existing open-source starter — Agilo, a Medusa Expert Partner, publishes a Medusa POS Starter with barcode scanning, cart management, customer profiles, and device support for iOS and Android — or building a custom POS front end tailored to your specific store workflow. Both paths are real and used in production; neither is a shortcut around needing a POS application layer.
Skimmable summary: Medusa provides the commerce APIs a POS needs (inventory, sales channels, customers) but not the checkout screen itself — that comes from an open-source starter or a custom-built app on top of Medusa's backend.
What does Medusa actually provide for a POS implementation?
Medusa provides four core building blocks for a POS: the Inventory and Stock Location modules for tracking stock across warehouses and physical stores, the Sales Channel module for distinguishing online vs. in-store transactions against the same product catalog, the Customer module for looking up buyer profiles and placing orders under their account at checkout, and promotion APIs for applying discounts on the fly during an in-store sale.
The practical effect is that a customer's online cart, loyalty history, and stock availability are the same data the POS reads from — there is no separate sync job reconciling an online store and a disconnected till system, because both are querying the same backend. This is the genuine strength of the model for a brand running more than one sales channel.
Skimmable summary: Medusa's Inventory, Stock Location, Sales Channel, and Customer modules give a POS app real-time access to the same data as your online store — the value is unified inventory and customer data, not a pre-built checkout screen.
Should I use Medusa POS or ERPNext's built-in POS?
Choose Medusa POS if you run — or plan to run — more than one sales channel (an online store, a mobile app, a B2B portal, or a marketplace) alongside your physical retail location, because Medusa's architecture keeps inventory and customer data unified across all of them. Choose ERPNext's own built-in POS module if your business is retail-only with no separate online store, because it's offline-first, works well without a stable internet connection, and keeps everything inside a single ERP system without needing a separate commerce backend.
These are genuinely two different products solving two different problems, not a "better vs worse" comparison. A single-location shop with no e-commerce ambitions is usually over-engineering by choosing Medusa. A brand running a D2C website, a wholesale B2B portal, and physical retail from shared inventory is under-served by ERPNext's POS alone, because it isn't built for that multi-channel data model.
| Scenario | Better fit |
|---|---|
| Retail-only, no online store, unreliable internet at store locations | ERPNext's built-in POS |
| Online store + physical retail sharing inventory | Medusa POS |
| B2B wholesale portal + retail + online, all from one catalog | Medusa POS |
| Want everything inside one ERP with no separate commerce layer | ERPNext's built-in POS |
Skimmable summary: ERPNext's built-in POS suits single-channel, offline-first retail; Medusa POS suits brands running online store, B2B, and physical retail off shared inventory — the deciding factor is how many channels actually need to share the same stock and customer data.
Not sure which POS model fits your store?
MithTech builds retail POS implementations on Medusa.js — touch UI, offline-first PWA, and ERPNext-connected inventory for Indian payment methods — specifically for omnichannel brands. See the POS billing product page for what a Medusa-based POS implementation includes, or explore Medusa as a platform more broadly.
Frequently asked questions
Does Medusa.js have its own POS app I can just install?
Not a single official one from Medusa itself — but open-source starters exist, including Agilo's Medusa POS Starter, which provides barcode scanning, checkout, cart management, customer profiles, and mobile device support. Using one of these, or building a custom POS front end against Medusa's APIs, is how a Medusa POS implementation is actually delivered.
What's the difference between Medusa POS and ERPNext's built-in POS?
ERPNext ships its own separate, built-in POS module that's offline-first and designed for retailers who don't need a connected online store. Medusa POS is not a single product — it's a POS application built on Medusa's commerce APIs, and its advantage is unifying inventory and customer data across online, B2B, and in-store channels. They solve different problems and aren't direct substitutes for each other.
Is Medusa POS a good fit for a single-location retail store with no online presence?
Usually not the simplest choice — a single-location store with no e-commerce ambitions is typically better served by a traditional retail POS or ERPNext's built-in offline-first POS module, since Medusa's multi-channel architecture is solving a problem (unifying several sales channels) that a single-channel store doesn't have.
Can Medusa POS work offline if store internet goes down?
This depends on which POS application you use on top of Medusa, not on Medusa itself. Some starters and custom implementations include offline-first design (queuing transactions locally and syncing once connectivity returns); this is an architecture decision made at the POS-app layer, so confirm it specifically with whoever builds or configures your POS front end.
About the author
Manoj is an ERPNext and Frappe implementation consultant at MithTech in Bengaluru, and builds Medusa.js-based POS and omnichannel retail implementations connected to ERPNext inventory for Indian brands.