◉Demandly
Case studies
SaaS B2BFirebaseMulti-tenancyReact NativeCloud Functions

Ordr

SaaS multi-tenant de gestión de pedidos B2B para distribuidoras.

32k+
Líneas de código
Pilot
En producción
<5 min
Onboarding cliente

Contexto

Las distribuidoras pequeñas gestionan pedidos de sus clientes B2B (bares, restaurantes, tiendas) por WhatsApp, Excel y llamadas. El resultado: errores frecuentes, pérdida de tiempo del equipo y cero trazabilidad de qué pidió cada cliente y cuándo.

Las soluciones existentes en el mercado — SAP Business One, ERPs verticales — son o demasiado caras (miles de € al mes) o demasiado complejas para un distribuidor de 5-20 personas.

Problema

El reto técnico central era construir una plataforma que pudiera servir a decenas o cientos de empresas distribuidoras distintas desde un solo backend, sin filtraciones de datos entre ellas y con un modelo de coste que hiciera viable ofrecer suscripción baja (49-99 €/mes).

La multi-tenancy no es un feature que se añade después — condiciona desde el modelo de datos hasta las reglas de seguridad.

Solución

Diseñamos una arquitectura serverless completa sobre Firebase:

  • Firestore con estructura multi-tenant: cada documento lleva companyId, cliente y campos de auditoría.
  • Firestore Security Rules como línea de defensa real, validando que cada operación de lectura/escritura se limita al companyId del usuario autenticado.
  • Cloud Functions Gen2 para lógica de negocio, aprovechando concurrencia dentro de instancia para reducir coste vs Gen1 en órdenes de magnitud.
  • React Native + Expo para la app móvil de los clientes B2B, con OTA updates para desplegar cambios sin pasar por App Store.
  • Integración Google Sheets API para exportar pedidos directamente a la contabilidad del distribuidor — donde ya trabajaban.
  • Sistema de tokens temporales para acceso a imágenes de productos, sin exponer buckets públicos.

Stack

React Native · Expo
Firebase Firestore
Cloud Functions Gen2
Firebase Auth
Firebase Storage
Node.js 20
TypeScript
Google Sheets API
Sentry

Resultados

  • Pilot activo con distribuidoras reales usándolo a diario.
  • ~32.000 líneas de código productivas.
  • Arquitectura sostenible para escalar a decenas o cientos de empresas sin cambios estructurales.
  • Onboarding de un nuevo distribuidor en menos de 5 minutos — sin instalación, sin infraestructura propia.

Aprendizajes

  • La multi-tenancy hay que diseñarla desde día 1. Añadirla después es re-escribir el 40% del schema.
  • Firestore Rules son la única línea de defensa real. Nunca confiar en validación client-side para nada crítico.
  • Cloud Functions Gen2 vs Gen1: Gen2 permite concurrencia dentro de instancia, lo que baja coste hasta 90 % en cargas asimétricas típicas de SaaS multi-tenant.
¿Siguiente paso?

Hablemos de tu proyecto

30 minutos, sin compromiso. Nos cuentas qué quieres construir y te decimos con honestidad si es un fit para nosotros.