workspace/projects/erp-suite/apps/saas
rckrdmrd 9bfc6fb152 feat(pos-micro): Implement MVP backend and database schema
POS Micro - Ultra-minimal point of sale (100 MXN/month):
- Database DDL: 10 tables (tenants, users, categories, products,
  payment_methods, sales, sale_items, cash_movements,
  daily_summaries, whatsapp_sessions)
- NestJS Backend: Complete API with modules for auth, products,
  categories, sales, and payments
- Docker Compose: Development environment with PostgreSQL
- Dev scripts: Easy setup for local development

SaaS Billing Schema:
- 10 tables for subscription management (plans, subscriptions,
  invoices, payments, usage_tracking, support_tickets)
- Default plans: POS Micro (100 MXN), ERP Básico (300 MXN),
  ERP Pro (500 MXN), Vertical (1000+ MXN)
- Support for Stripe and Conekta payment providers
- CFDI integration ready for Mexico

Target: Mexican informal market (street vendors, small shops, food stands)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 11:48:07 -06:00
..
billing/database/ddl feat(pos-micro): Implement MVP backend and database schema 2025-12-08 11:48:07 -06:00
orchestration feat: Add SaaS products architecture and alignment analysis 2025-12-08 11:34:35 -06:00
README.md feat: Add SaaS products architecture and alignment analysis 2025-12-08 11:34:35 -06:00

SaaS Layer - ERP Suite

Descripción

Capa de servicios SaaS que gestiona multi-tenancy, billing, suscripciones y portal de clientes para todos los productos del ERP Suite.

Componentes

saas/
├── billing/        # Facturación y cobros
├── portal/         # Portal de clientes
├── admin/          # Administración multi-tenant
├── onboarding/     # Registro y configuración inicial
├── docs/           # Documentación
└── orchestration/  # Sistema NEXUS

Billing

Gestión de suscripciones y cobros.

Funcionalidades

  • Planes de suscripción (POS Micro, ERP Básico, Verticales)
  • Cobro recurrente (mensual/anual)
  • Integración con Stripe/Conekta
  • Facturación automática (CFDI México)
  • Gestión de módulos opcionales

Planes

Plan Precio Base Productos
POS Micro 100 MXN/mes pos-micro
ERP Básico 300 MXN/mes erp-basico
ERP Pro 500 MXN/mes erp-basico + módulos
Vertical 1,000+ MXN/mes erp-core + vertical

Módulos Opcionales

Módulo Precio Disponible en
Contabilidad +150 MXN/mes ERP Básico, Verticales
RRHH +100 MXN/mes ERP Básico, Verticales
CFDI +100 MXN/mes Todos
WhatsApp Bot Por consumo Todos
Usuario extra +50 MXN/mes Todos

Portal

Portal self-service para clientes.

Funcionalidades

  • Dashboard de cuenta
  • Gestión de suscripción
  • Historial de facturas
  • Cambio de plan
  • Soporte/tickets
  • Configuración de módulos

Admin

Panel de administración para operadores.

Funcionalidades

  • Gestión de tenants
  • Métricas de uso
  • Facturación manual
  • Soporte nivel 1
  • Configuración global
  • Feature flags por tenant

Onboarding

Flujo de registro y configuración inicial.

Flujo

  1. Registro - Email o WhatsApp
  2. Selección de plan - POS Micro, ERP Básico, etc.
  3. Datos de empresa - RFC, dirección, giro
  4. Configuración inicial - Productos, usuarios
  5. Pago - Tarjeta o transferencia
  6. Activación - Acceso inmediato

Stack Tecnológico

backend:
  runtime: Node.js 20+
  framework: NestJS
  language: TypeScript
  payments: Stripe + Conekta
  invoicing: PAC CFDI

frontend:
  framework: React 18
  bundler: Vite
  styling: Tailwind CSS

database:
  engine: PostgreSQL 15+
  schema: saas
  tables: ~15

Base de Datos

Schema: saas

-- Gestión de tenants y suscripciones

saas.tenants              -- Empresas/clientes
saas.subscriptions        -- Suscripciones activas
saas.plans               -- Catálogo de planes
saas.plan_features       -- Features por plan
saas.invoices            -- Facturas emitidas
saas.payments            -- Pagos recibidos
saas.payment_methods     -- Métodos de pago guardados
saas.usage_tracking      -- Tracking de consumo
saas.support_tickets     -- Tickets de soporte
saas.onboarding_sessions -- Sesiones de registro

Integración con Productos

┌─────────────────────────────────────────────────────────────┐
│                     SAAS LAYER                               │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │ billing │ │ portal  │ │  admin  │ │onboarding│           │
│  └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘           │
│       │           │           │           │                 │
│       └───────────┴───────────┴───────────┘                 │
│                         │                                    │
│                    API Gateway                               │
│                         │                                    │
└─────────────────────────┼───────────────────────────────────┘
                          │
          ┌───────────────┼───────────────┐
          │               │               │
          ▼               ▼               ▼
   ┌──────────┐    ┌──────────┐    ┌──────────┐
   │ POS Micro│    │ERP Básico│    │Verticales│
   └──────────┘    └──────────┘    └──────────┘

Variables de Entorno

# Payments
STRIPE_SECRET_KEY=sk_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
CONEKTA_API_KEY=key_xxx

# CFDI
PAC_RFC=XXX
PAC_API_KEY=xxx
PAC_ENVIRONMENT=sandbox|production

# Database
DATABASE_URL=postgresql://...
SAAS_SCHEMA=saas

# General
ONBOARDING_URL=https://registro.erp-suite.com
PORTAL_URL=https://portal.erp-suite.com

Roadmap

MVP (v1.0)

  • Modelo de datos billing
  • Integración Stripe básica
  • Portal mínimo (ver facturas)
  • Onboarding POS Micro
  • Admin básico

v1.1

  • Integración Conekta
  • CFDI automático
  • Onboarding ERP Básico
  • Métricas de uso

v1.2

  • Portal completo
  • Cambio de plan self-service
  • Soporte integrado
  • Referidos

SaaS Layer v1.0 ERP Suite