
Tiendanube o tienda a medida con Medusa.js: cómo elegir con números
Maximiliano Langellotti7 min de lecturaLa pregunta no es "¿cuál es mejor?". La pregunta es cuánto facturás y cuánto vas a facturar. La decisión entre Tiendanube y una tienda a medida se toma con un análisis económico, no con preferencias. Y la buena noticia es que la cuenta la podés hacer vos.
Te muestro cómo, sin humo: qué te cobra cada opción, cuándo conviene cada una y cómo calcular el punto de quiebre a partir del cual desarrollar tu propia tienda se paga solo.
Qué resuelve Tiendanube (y qué te cuesta)#
Tiendanube es una plataforma SaaS: te da hosting, panel de administración, checkout e integraciones listas para usar. Cargás productos y vendés el mismo día. Para un catálogo estándar y un equipo no técnico, es imbatible en time-to-market.
El costo real tiene tres capas que se suman y conviene no confundir:
- El abono mensual del plan.
- La comisión por venta del plan (baja a medida que subís de plan).
- La comisión de la pasarela de pago (MercadoPago), que va por afuera y siempre está.
Personalizar Tiendanube con código (no estás atado a la tienda estándar)#
Acá va el punto que casi nadie cuenta: estar en Tiendanube no te condena a la tienda genérica de plantilla. Podés seguir los patrones de tu marca con código sin abandonar la plataforma:
- Theme propio con la capa de templates (el motor de themes Nimbus), en vez de usar uno del marketplace.
- Scripts en el storefront para tracking, UX y experimentos (acá entra medir bien: ver Search Console, GA4 y UTM).
- Webhooks y API para integrar con tu sistema de facturación o tu ERP.
{% for product in category.products %}
<article class="card-producto card-producto--marca">
<img src="{{ product.featured_image | resize: 'medium' }}" alt="{{ product.name }}" loading="lazy">
<h3 class="card-producto__titulo">{{ product.name }}</h3>
<span class="card-producto__precio">{{ product.price | money }}</span>
</article>
{% endfor %}
Y para ejecutar tu propia lógica cuando se genera una venta, un webhook mínimo:
// Recibe el evento order/created de Tiendanube y lo registra en tu sistema.
app.post('/webhooks/tiendanube', async (req, res) => {
const { event, id } = req.body
if (event === 'order/created') {
const orden = await tiendanube.orders.get(id)
await miSistema.registrarVenta(orden) // facturar, avisar al depósito, etc.
}
res.sendStatus(200)
})
En síntesis: si lo que te falta es identidad de marca o una integración puntual, todavía no necesitás una solución a medida. Se resuelve extendiendo la plataforma con código.
Qué es una tienda a medida con Medusa.js#
Medusa.js es un motor de e-commerce headless y open-source, construido sobre Node.js y TypeScript. Al ser headless, el backend expone su funcionalidad a través de una API y la tienda que ve el cliente se desarrolla como una aplicación independiente. Vos definís el modelo de datos, las reglas de precios y el flujo de checkout y, sobre todo, no pagás comisión por venta por usar el software.
El stack realista de una tienda Medusa#
Seamos honestos con lo que hay que operar:
- Servidor Medusa (Node.js / TypeScript): la lógica de negocio y la API.
- PostgreSQL — la base de datos de productos, pedidos y clientes.
- Redis — colas, eventos y cache.
- Admin — el panel de Medusa para cargar productos y gestionar pedidos.
- Storefront — Next.js / React, con render del lado del servidor para cuidar el SEO y los Core Web Vitals.
- Pasarela MercadoPago — la integración de pagos (Checkout Pro o Checkout API).
- Infraestructura — hosting del server, base administrada y CDN para el front.
La pasarela se integra como un payment provider (módulo de pago) en la configuración:
// medusa-config.ts (ilustrativo — la API exacta evoluciona entre versiones)
module.exports = defineConfig({
modules: [
{
resolve: '@medusajs/payment',
options: {
providers: [
{
resolve: './src/modules/mercadopago',
id: 'mercadopago',
options: { accessToken: process.env.MP_ACCESS_TOKEN },
},
],
},
},
],
})
Y uno de los puntos más delicados de la integración: confirmar el pago al recibir la notificación por webhook de MercadoPago.
// Webhook de MercadoPago: verifica el pago y marca la orden como pagada.
export async function POST(req: Request) {
const { type, data } = await req.json()
if (type === 'payment') {
const pago = await mercadopago.payment.get(data.id)
if (pago.status === 'approved') {
await medusa.orders.capturePayment(pago.external_reference)
}
}
return new Response('ok', { status: 200 })
}
El número que decide todo: el punto de quiebre de comisiones#
Acá está el corazón del artículo. La cuenta es simple:
- Costo en plataforma ≈ abono mensual + (% comisión del plan + % comisión de pasarela) × facturación.
- Costo a medida ≈ desarrollo (una vez) + infra mensual + (% comisión de pasarela) × facturación.
El ahorro mensual de pasar a una tienda propia es el abono y las comisiones que dejás de pagar, menos la infraestructura; el punto de quiebre es cuántos meses tarda ese ahorro en cubrir el desarrollo. Probalo con tus números:
Calculá tu punto de quiebre
Poné tus números y fijate en cuánto tiempo una tienda a medida se paga sola con lo que dejás de pagarle a la plataforma.
Es lo que Tiendanube te cobra de más por venta, por encima de tu propia pasarela: ~0,7%–2% si usás una pasarela externa (MercadoPago, Ualá), o el extra de Pago Nube sobre MercadoPago directo. La comisión del procesador la pagás en los dos casos, así que no entra acá. Referencia al 16-06-2026 — tiendanube.com.
Avanzado
Hacé la cuenta con tus números del día. Pago Nube cobra ~7,7% (retiro al día) a ~4,7% (a 14 días); MercadoPago directo, ~3,3%–5,8%; las cuotas sin interés las absorbe tu negocio (+11% en 3, hasta +40% en 12). El ahorro de una tienda propia (abono + recargo) crece con el volumen.
Ahorrás AR$283.800 por mes (abono + recargo)
~2 años y 6 meses
para que la tienda a medida se pague sola. Después, ese ahorro queda a tu favor.
Datos locales que alimentan la cuenta: los planes de Tiendanube (abono + % por venta que baja al subir de plan), la comisión de MercadoPago —que baja cuanto más esperás la acreditación (al instante vs. 10/18/35 días)— y la facturación electrónica AFIP/ARCA: en plataforma muchas integraciones vienen hechas; a medida hay que integrar la API de facturación, y eso es trabajo a presupuestar.
Tiendanube vs. Medusa, eje por eje#
| Criterio | Tiendanube | Tienda a medida (Medusa.js) |
|---|---|---|
| Costo inicial | Bajo (abono) | Alto (desarrollo en USD) |
| Comisión por venta del software | Sí (según plan) | No |
| Comisión de pasarela | Sí (MercadoPago) | Sí (MercadoPago) |
| Time-to-market | Días | Semanas/meses |
| Personalización del front | Media–alta (themes/scripts) | Total |
| Reglas de negocio propias | Limitadas | Totales |
| Mantenimiento | Lo hace la plataforma | Es tuyo (updates, infra, seguridad) |
| Dependencia | Alta (vendor lock-in) | Baja (open-source, datos tuyos) |
Andá a medida si…
- Tenés volumen alto y sostenido (la comisión duele)
- Necesitás reglas de pricing o logística propias
- Querés integrar sistemas que hoy no se hablan
- Tenés quién mantenga la infraestructura
Quedate en Tiendanube si…
- Recién arrancás o estás validando producto
- Tu facturación es baja o media
- El equipo no es técnico
- Tu diferencial no es la operación de la tienda
Regla de Affinia: la decisión es financiera, no de ego. Primero los números; después, la plataforma.
En resumen#
Tiendanube te saca a vender rápido y barato; una tienda a medida con Medusa te da control total y, a volumen, te ahorra la comisión que en plataforma pagás para siempre. El punto de quiebre lo define tu facturación, no la moda.
En Affinia hacemos el análisis económico con tus números reales: si conviene Tiendanube, la personalizamos para que tenga la cara de tu marca; si conviene Medusa, la construimos de punta a punta. Escribinos y lo vemos con datos.