ConTodo
Consultor Senior — Arquitectura Empresarial (Big Four)

ConTodo ERP — Arquitectura Empresarial (TOGAF-lite): Negocio, Aplicación, Datos y Tecnología

ConTodo ERP — Arquitectura Empresarial (TOGAF-lite)

Propósito. Este entregable consolida los quince documentos de agentes y los tres debates críticos en una Arquitectura Empresarial (EA) única y gobernada, siguiendo un enfoque TOGAF-lite (fases ADM B–Negocio, C–Sistemas de Información/Aplicación y Datos, D–Tecnología). Es el artefacto de alto nivel que articula por qué (negocio) → qué (capacidades) → cómo (aplicaciones, datos) → sobre qué (tecnología), y que sirve de marco rector para los entregables de detalle (arquitectura de solución, modelo de datos, plan de infraestructura). No reemplaza al ADR maestro técnico; lo enmarca.

Disclaimer (anti-overclaiming). Una EA es un mapa, no el territorio. Las cuatro capas que siguen reflejan el estado objetivo (target) de ConTodo a 18–24 meses, no el día 1. Donde el detalle técnico expone contradicciones entre agentes (región AWS, tipo de tenant_id, doble pipeline de eventos, costos de IA/BI omitidos), esta EA no las oculta: las eleva a decisiones de arquitectura pendientes (sección 9), porque una EA que pinta coherencia inexistente es peor que ninguna. Toda decisión es reversible solo a un costo; las de Capa de Datos (tenancy) son las menos reversibles.


0. Resumen ejecutivo

ConTodo es un ERP SaaS cloud-native multi-tenant para PYMEs y medianas de Perú/LATAM (vertical inicial: textil, importadoras, comercializadoras, distribuidoras, manufactura ligera). Su tesis: entregar la profundidad fiscal de un producto local (CPE, SIRE, detracciones, PCGE) con la economía y el time-to-value de un SaaS (onboarding ≤ 5 días, TCO 40–60% menor que SAP B1), capturando el sweet spot "alto cumplimiento SUNAT + bajo costo PYME" que ningún competidor ocupa hoy.

Capa EADecisión rectoraRiesgo dominante
NegocioCumplimiento SUNAT como núcleo de confianza (no add-on); land-and-expand por módulos; vertical textil primeroCambios normativos SUNAT en pleno desarrollo
AplicaciónMonolito modular Rails (modular monolith) con bounded contexts alineados a los 18 módulos; SPA React desacoplada vía contrato OpenAPIStack analítico (Kafka/Cube) contradice el principio "deliberadamente aburrido"
DatosShared Schema + Row-Level Security (pooled-first) con Silo on-demand para enterprise; OLTP PostgreSQL separado de OLAP (DW dimensional Kimball)Fuga cross-tenant vía connection pooler (RDS Proxy × SET) — riesgo #1
TecnologíaAWS gestionado (ECS Fargate, RDS Multi-AZ, ElastiCache, S3, CloudFront/WAF); IaC Terraform; CI/CD gatedCosto real 2–3× el modelado al incluir IA y BI; equipo de 4–6 opera 15+ servicios

1. Marco metodológico (TOGAF-lite)

Adoptamos un subconjunto pragmático del TOGAF ADM, suficiente para una organización pre-Serie A sin caer en la burocracia de un framework completo:

Fase ADMPreguntaInsumo (agente)Sección
B — Negocio¿Qué valor, para quién, con qué capacidades?CEO, PM, ERP-Consultant, Textil, Importaciones§2, §3
C — Aplicación¿Qué sistemas/módulos lo realizan?PM, Solution Architect, Rails, Frontend§4
C — Datos¿Qué información gobierna y cómo se aísla?Solution Architect, Data&BI, Ciberseguridad§5
D — Tecnología¿Sobre qué infraestructura corre?DevOps&AWS, Solution Architect, Ciberseguridad§6
E/F — Roadmap¿En qué orden se entrega?PM, CEO, debates§7, §8
G/H — Gobierno¿Cómo se decide y controla?Debate-02 (técnico)§9, §10

2. Capa de Negocio (ADM B)

2.1 Motivadores estratégicos (vista de drivers)

Driver de negocioObjetivoKPI / North StarCapacidad que lo habilita
Tejido PYME mal servido (Excel + desktop legacy + ERP sobredimensionado)Capturar el sweet spot SUNAT+precioEmpresas activas; ARRCumplimiento Tributario, Onboarding
Cumplimiento SUNAT como gancho de venta≥ 99.5% CPE aceptados al 1er intento% aceptación SUNATFacturación Electrónica, SIRE
Time-to-value diferencial1ª factura ≤ 5 díasMediana días a 1ª facturaOnboarding self-service, plantillas verticales
Land-and-expand (módulos premium)NRR ≥ 115%Net Revenue RetentionCatálogo modular de capacidades
IA como copiloto financiero (no add-on)≥ 8 h/mes ahorradas por usuario contableHoras ahorradasInteligencia Aumentada
Expansión LATAM (Andina + México + CA)7 mercados a 2036ARR USD 70–90MCumplimiento pluggable por país

North Star Metric (PM): Documentos electrónicos válidos procesados por mes por tenant activo — captura simultáneamente adopción, valor operativo y dependencia (stickiness) del producto.

2.2 Stakeholders y personas (actores de negocio)

ActorRolDolorOutcome esperado
GloriaContadora / Jefa ContabilidadCierre manual; PLE/SIRE en herramientas separadasAsientos automáticos, SIRE en 1 clic, EEFF en tiempo real
MarcoGerente / Dueño PYMENo ve márgenes ni caja proyectadaDashboard de caja, márgenes por línea, alertas IA
LucíaJefa de AlmacénDescuadres de stock, sin valorizaciónKardex multi-almacén valorizado en línea
AnaJefa de Compras / ImportacionesCosteo de importación en Excel; DUAs sueltasCosteo DAM prorrateado automático
DiegoVendedor / CRMCotiza fuera del sistemaCotización → pedido → factura en un flujo
Admin TenantConfiguradorSetup de empresas/sucursales/rolesMultiempresa/sucursal/rol con aislamiento
Partner Contable / IntegradorEcosistemaMarketplace, export PLE/SIRE, API

2.3 Cadena de valor de negocio (procesos núcleo)

2.4 Modelo de negocio (vista de monetización)

Cobro por empresa (tenant) + por usuario activo, con módulos premium desbloqueables (land-and-expand). El tier de entrada es de adquisición; el margen aparece desde el tier 2. SKU Soberanía/Dedicado (Silo) como upsell enterprise.

TierPúblicoMódulos núcleoPrecio (PEN/mes)~USD
EmprendeMicro 1–3 usuariosCPE, Ventas, Inventario, Caja, PLES/ 99~26
CrecePequeña (8 us.)+ Compras, Kardex, Multialmacén, Tesorería, Contab. básica, SIRES/ 349~93
Pro / MedianaMediana+ Producción, Importaciones, EEFF, BI(negociado)
Soberanía (Silo)Enterprise reguladoAislamiento físico (RDS dedicada) + BYOKupsell premium

Implicación EA: el modelo land-and-expand exige que la Capa de Aplicación sea modular (capacidades activables por tier sin reescritura) y que la Capa de Datos soporte pooled (margen) + silo (premium) — coherente con las decisiones de §4 y §5.


3. Mapa de Capacidades de Negocio (Business Capability Map)

El mapa de capacidades responde qué hace ConTodo y para sus clientes, con independencia de cómo se implementa. Es el puente entre la cadena de valor (§2.3) y el mapa de aplicaciones (§4.4).

3.1 Catálogo de capacidades (con criticidad y madurez objetivo)

IDCapacidad de negocioTipoMódulos que la realizanCriticidadFase
BC-01Gobierno y Cumplimiento TributarioDirecciónERP-Consultant transversalCríticaF0–F2
BC-02Facturación Electrónica (CPE)NúcleoVentas, Logística (GRE)CríticaF1
BC-03Registros Electrónicos (SIRE/PLE)NúcleoContabilidad, Compras, VentasCríticaF1–F2
BC-04Inventario y Kardex ValorizadoNúcleoInventario, KardexAltaF1
BC-05Ciclo Compra-Venta (Q2C / P2P)NúcleoCompras, Ventas, CRMAltaF1
BC-06Contabilidad y Estados FinancierosNúcleoContabilidad, EEFFAltaF2
BC-07Costeo de Importaciones (DAM)Núcleo (vertical)ImportacionesMedia-AltaF2
BC-08Producción Textil (BOM)Núcleo (vertical)ProducciónMediaF3
BC-09Seguridad, IAM, RBAC/SoDSoporteSeguridad, UsuariosCríticaF0
BC-10Gestión Multiempresa/MultisucursalSoporteEmpresasCríticaF0
BC-11Tesorería y ConciliaciónSoporteTesoreríaMediaF1–F2
BC-12Logística y GRESoporteLogísticaMediaF2
BC-13CRM y Gestión ComercialSoporteCRMMediaF3
BC-14RRHH y Planillas (PLAME/AFPnet)SoporteRRHH, PlanillasMediaF4
BC-15Inteligencia de Negocio (BI)DirecciónBI / Data WarehouseMediaF4
BC-16Inteligencia Aumentada (IA)DirecciónIAMediaF4
BC-17Multimoneda / MultiidiomaTransversalPlataformaAltaF0/F3

Regla de cobertura. Toda capacidad debe estar realizada por ≥ 1 aplicación y ≥ 1 conjunto de entidades de datos. Las capacidades Críticas (BC-01, 02, 03, 09, 10) son las que, si fallan, hacen desechable el producto en el mercado peruano y por tanto son bloqueantes del MVP.


4. Capa de Aplicación (ADM C — Sistemas de Información)

4.1 Principios de arquitectura de aplicación

  1. Monolito modular (modular monolith) Rails, no microservicios prematuros: un equipo de 4–6 no opera una malla de servicios. Los bounded contexts viven como módulos/engines dentro de un mismo despliegue, con fronteras de dominio explícitas.
  2. Frontend desacoplado: SPA React + TypeScript + Tailwind, comunicada con el backend vía contrato OpenAPI como única fuente de verdad de tipos (GraphQL pospuesto). No hay SSR salvo para superficie pública de comprobantes (pendiente de definir, ver §9 T3).
  3. Cumplimiento como capa aislada y versionada: el motor SUNAT (CPE, SIRE, PLE) se encapsula tras gateways (patrón Strategy: ComprobanteGateway con SEE-propio + fallback OSE) para absorber cambios normativos sin tocar el dominio.
  4. Async-first para integraciones externas: toda interacción con SUNAT/OSE/bancos/LLM pasa por colas Sidekiq con reintentos idempotentes.
  5. Activación por tier: las capacidades premium se habilitan por feature flags ligados al plan del tenant (land-and-expand).

4.2 Bounded Contexts (alineados a los 18 módulos)

4.3 Integración entre aplicaciones (eventos y contratos)

El acoplamiento entre contextos es por eventos de dominio, no por llamadas síncronas directas, para preservar autonomía de módulos. Decisión pendiente vinculante (§9 RT3/RT4): unificar el mecanismo de captura/propagación de cambios; existen hoy tres candidatos no reconciliados (Sidekiq/Redis, SNS/EventBridge, Kafka/MSK+Debezium). La EA recomienda outbox transaccional → EventBridge para integración y diferir CDC/Kafka a fase de escala, alimentando BI desde el mismo outbox en MVP.

ProductorEvento de dominioConsumidoresMecanismo (target EA)
VentasFacturaEmitidaCumplimiento (CPE→SUNAT), Contabilidad (asiento), Inventario (salida), BIOutbox → EventBridge
Inventario/KardexMovimientoStockContabilidad (costo), BI, ProducciónOutbox → EventBridge
ComprasCompraRegistradaContabilidad, Importaciones (costeo), RCEOutbox → EventBridge
TesoreríaPagoCobranzaRegistradoContabilidad, BI (DSO/DPO)Outbox → EventBridge
(cualquiera)cambios de filaBI/DWCDC (Fase 3) o consumidor del outbox (MVP)

4.4 Mapa de Aplicaciones (Application Portfolio)

4.5 Catálogo de aplicaciones/servicios y su rol

Aplicación / ServicioTecnologíaRealiza capacidadesPatrón
SPA ConTodoReact + TS + TailwindToda la UI operativaSPA, tipos desde OpenAPI
Dashboard EjecutivoReact + RechartsBC-15 (BI)Embebido sobre capa semántica
API RailsRails 7 APIBC-01..14, 17Modular monolith, OpenAPI
Workers SidekiqSidekiq + RedisCPE, SIRE, reportes, IA, emailsColas por prioridad, idempotencia
ComprobanteGatewayRails (Strategy)BC-02Anti-corruption + fallback OSE
SIRE ClientRailsBC-03Cliente servicios web SUNAT
Capa semántica CubeCubeBC-15, BC-16Métricas-as-code + RLS
Servicios IALLM gateway + MLBC-16Sobre capa semántica (no SQL crudo)
Data Warehousecolumnar (DuckDB/Redshift)BC-15Estrella Kimball, separado del OLTP

5. Capa de Datos (ADM C — Arquitectura de Datos)

5.1 Decisión rectora: tenancy

La decisión menos reversible de toda la arquitectura. ConTodo adopta Shared Schema + PostgreSQL Row-Level Security (pooled-first), con Silo on-demand (RDS dedicada vía Rails connects_to) para los pocos tenants enterprise que exijan aislamiento físico o residencia. Se descarta Separate-Schema (techo de escala ~3–5k schemas) y Database-per-Tenant universal (costo 2–40× y complejidad operativa inviable para un equipo de 4–6).

ModeloAislamientoCosto/tenant escalaEscala nº tenantsVeredicto
Shared Schema + RLSFuerte (motor)~US$ 0.2–2/mesDecenas de milesElegido (default)
Separate SchemaFuerteBajo-medio~3–5k (techo)Descartado
Database-per-TenantMáximoUS$ 15–50+/mesLimitado por opsSilo on-demand (premium)

5.2 Defensa en profundidad del aislamiento de datos

Riesgo de datos #1 (debate-02 RT1). RDS Proxy/PgBouncer en modo transaction puede multiplexar conexiones de forma que una variable de sesión mal scopeada filtre contexto entre tenants. Mitigación obligatoria: toda query corre en transacción con SET LOCAL; test de aislamiento que corra a través del pooler, no solo contra Postgres directo. Sin esto validado, "aislamiento garantizado por motor" es papel.

5.3 Convenciones canónicas de datos (resolver contradicciones)

ConvenciónDecisión EA recomendadaOrigen de la contradicción
Nombre de columna tenanttenant_id (no company_id)C2: 07/11/12/13 vs 08/10
Tipo de dato tenantBIGINT interno + UUID públicoC3: UUID (11) vs BIGINT (07/08)
Moneda funcionalPEN; cada hecho monetario guarda monto origen + TC SBS + monto PENData&BI S4 (NIC 21)
Particionado tablas calientesLIST/HASH(tenant_id) + fecha en comprobantes, kardex, asientos07 ADR-04 (con caveat power-law)
Conservación CPE/XMLS3 versionado + CRR + lifecycle, retención ≥ 5 años (Art. 87 C.T.)ERP-Consultant

5.4 Dominios de datos (Data Domains) y propiedad

5.5 Modelo dimensional (resumen del DW)

OLTP y OLAP estrictamente separados (S1 Data&BI): el ERP nunca corre analítica pesada (proteger p95 < 300 ms). El DW usa esquema estrella Kimball, grano explícito por fact, SCD2 para dimensiones con historia, moneda dual en PEN.

Tabla de hechosGranoTipo
fact_ventas1 línea de comprobanteTransaccional
fact_compras1 línea de OC/facturaTransaccional
fact_inventario_mov1 movimiento kardexTransaccional
fact_inventario_snap1 producto×almacén×díaSnapshot (semi-aditiva)
fact_finanzas_gl1 línea de asientoTransaccional
fact_cobranzas1 documento por cobrarAccumulating snapshot

Capa semántica (Cube) como contrato único de KPIs (EBITDA, margen, rotación, DSO/DPO, liquidez) — una sola definición que sirve a dashboard, self-service e IA (NL2SQL sobre métricas gobernadas, no SQL crudo → menos alucinación, RLS preservada).

5.6 Gobierno de datos y cumplimiento

AspectoControl
Aislamiento contractualRLS + tenant_id en cada fact/dim del DW + tests de aislamiento en CI
Datos sensibles (PII planillas, certificados SUNAT)Cifrado en reposo KMS; certificados en Secrets Manager (nunca en DB plana)
Auditoríaaudit_logs append-only por tenant (hash-chain + WORM); CloudTrail
Derecho ARCO (Ley 29733)Export/borrado por tenant — a diseñar (Shared Schema lo dificulta; §9 deuda #6)
Integridad contableTest de balance Σdebe = Σhaber por asiento (dbt + constraint)

6. Capa de Tecnología (ADM D)

6.1 Principios de tecnología

  1. Stateless compute, stateful gestionado (Fargate efímero; estado en RDS/ElastiCache/S3).
  2. IaC como única fuente de verdad (Terraform; cero cambios manuales en consola).
  3. Seguridad por defecto (cifrado KMS en reposo, TLS 1.2+ en tránsito, WAF al borde, IAM least-privilege).
  4. "Deliberadamente aburrido" — patrones probados; introducir tecnología exótica (Kafka/Redshift/GPU) solo cuando un disparador medible lo justifique (tensión real con Data&BI, §9 T5).
  5. Costo consciente (Graviton, Savings Plans, Spot selectivo) — pero con FinOps que incluya IA y BI (omitidos en el modelo original, §9 RT2).

6.2 Arquitectura tecnológica (vista de despliegue AWS)

6.3 Catálogo de plataforma tecnológica

Capacidad técnicaServicio AWSSoporta capa
Compute web (stateless)ECS Fargate (Rails/Puma)Aplicación
Compute asyncECS Fargate (Sidekiq) — critical On-DemandAplicación
OLTP multi-tenantRDS PostgreSQL 16 Multi-AZ + RLSDatos
OLTP enterprise (silo)RDS dedicada por tenantDatos
Lectura/analíticaRDS Read Replicas → DW columnarDatos
Cache / cola / sesionesElastiCache RedisAplicación/Datos
Pooling de conexionesRDS Proxy / PgBouncerDatos (riesgo #1)
Almacenamiento de objetosS3 (SPA, CPE/XML, backups)Datos
CDN + TLS + WAFCloudFront + ACM + AWS WAF + ShieldTecnología/Seguridad
DNS + failoverRoute53Tecnología
Secretos / certificadosSecrets Manager + KMSSeguridad
ObservabilidadCloudWatch + X-RayTecnología
Backup / DRAWS Backup (CRR a región DR)Tecnología
IaCTerraform (S3 backend + DynamoDB lock)Gobierno
CI/CDGitHub Actions (OIDC) + CodeDeploy blue/greenGobierno

6.4 Atributos de calidad (NFRs) y su realización tecnológica

NFRObjetivoMecanismo
Disponibilidad99.9% MVP → 99.95% madurezMulti-AZ (RDS/ECS/Redis), blue/green, health checks
RPO / RTORPO ≤ 5 min / RTO ≤ 1 h (enterprise)PITR + snapshots + warm standby cross-region
Latenciap95 emisión CPE ≤ 3 s; ERP p95 < 300 msAsync Sidekiq, read replicas, OLTP/OLAP separados
EscalabilidadMVP → 5.000 tenantsAutoscaling Fargate, particionado, read replicas, sharding por cohorte (a futuro con disparador)
SeguridadLey 29733; base SOC2/ISO27001RLS, KMS, WAF, RBAC/SoD, audit hash-chain, vCISO+Vanta (a presupuestar)
Conservación fiscal≥ 5 años CPES3 versionado + Glacier + CRR

6.5 Realidad del costo (corrección de gobierno)

El modelo de costos de infraestructura (DevOps) omite IA y BI, los diferenciadores que el negocio venderá. La crítica técnica (debate-02 §2.3) corrige:

EscalaCosto modelado (infra base)Costo realista (incl. IA+BI)Margen infra
5.000 tenants~US$ 20.600/mes (~US$ 4.1/cliente)US$ 35.000–60.000/mes (~US$ 7–12/cliente)65–75% (no >80%)

Implicación EA: el P&L (agente Finanzas) debe usar la cifra ajustada. La EA recomienda diferir MSK/Debezium/Redshift/Cube/Llama-VPC del MVP (BI = batch nocturno dbt+DuckDB; IA = Bedrock managed) para no operar 15+ servicios con un equipo de 4–6.


7. Trazabilidad inter-capas (matriz EA)

La prueba de una EA es que cada capa traza a la siguiente sin huérfanos. Muestra representativa:

Negocio (driver)CapacidadAplicaciónDatosTecnología
Cumplimiento SUNAT como ganchoBC-02 CPEComprobanteGateway + Ventascomprobantes (OLTP) + S3 XML/CDRSidekiq cola cpe, S3, Secrets Manager (cert)
SIRE automatizado (diferenciador)BC-03 SIRESIRE Client + Contabilidadsire_*, RCE/RVIESidekiq cola sire, RDS
Control de stock valorizadoBC-04 KardexInventario/Kardexkardex particionadoRDS (lock por SKU+almacén)
Decisión basada en datosBC-15 BIDashboard + Cubefacts/dims (OLAP)DW columnar + read replica
Copiloto financiero IABC-16 IAServicios IAcapa semánticaLLM Gateway (Bedrock managed)
Onboarding ≤ 5 díasBC-10 MultiempresaEmpresas (insert + seed)Shared Schema (tenant instantáneo)RDS pooled

8. Roadmap de transición (ADM E/F)

Alineado al roadmap de producto en horizontes de outcomes (no fechas rígidas):

FaseEstado EA objetivoCapacidades nuevasHito comercial
F0Capa Plataforma + tenancy validada (incl. pooler+RLS)BC-09, BC-10, BC-173 pilotos
F1MVP comercial+fiscal operativoBC-02, BC-04, BC-05, BC-03 (básico)Primeros clientes de pago
F2Capa Fiscal-Financiera completaBC-06, BC-07, BC-12Reemplazo CONCAR/SISCONT
F3Vertical textil + multimonedaBC-08, BC-13Penetración textil
F4Plataforma analítica + IABC-15, BC-16, BC-14Upsell, expansión LATAM

9. Decisiones de arquitectura pendientes (gobierno ADM G)

La EA no inventa coherencia: eleva las contradicciones inter-documento a decisiones vinculantes a resolver en un ADR maestro antes de codificar.

IDDecisión pendienteRecomendación EASeveridad
C1Región AWS primaria (us-east-1 vs sa-east-1)Elegir UNA y recostear; EA inclina a sa-east-1 si residencia/comercial pesaAlta
C2/C3Nombre y tipo de tenant_idtenant_id BIGINT interno + UUID públicoAlta
RT1Pooler RDS Proxy × SET LOCAL (fuga cross-tenant)Validar SET LOCAL en transacción a través del pooler antes del MVPCrítica
RT3/RT4Pipeline de eventos (outbox vs CDC vs 3 buses)Outbox→EventBridge (MVP); diferir Kafka/CDC a escalaAlta
C6/T5Stack de BI exótico vs "aburrido"MVP: batch dbt+DuckDB; CDC/Redshift/Cube por disparadorAlta
RT2Costo IA+BI omitido del P&LModelo de costos consolidado único (margen 65–75%)Alta
RT7Sharding sin disparador ni dueñoADR de sharding con métrica gatillo antes de 1.000 tenantsAlta
Deuda #6Export/borrado por tenant (Ley 29733)Diseñar desde F0 (Shared Schema lo dificulta)Media
T3Superficie pública de comprobantes (SSR)Definir si hay portal público de factura sin loginMedia
RT9Compliance con 1 Security EngineervCISO + Vanta/Drata, presupuestado en P&LMedia-Alta

10. Riesgos y oportunidades de la arquitectura empresarial

10.1 Riesgos (vista consolidada)

IDRiesgoCapaSeveridadMitigación
RA1Fuga cross-tenant vía connection poolerDatosCríticaSET LOCAL en transacción + test a través del pooler
RA2Cambios normativos SUNAT durante desarrolloNegocioAltaCapa de cumplimiento aislada y versionada; OSE como buffer
RA3Costo real 2–3× por IA/BI ausentes del modeloTecnologíaAltaFinOps consolidado; diferir stack exótico
RA4Ausencia de ADR maestro (7 agentes sin contrato)GobiernoAltaSesión de reconciliación → ADR-MASTER vinculante
RA5Migración a escala bloquea a 5.000 tenants a la vezDatosAltaexpand/contract + pg-osc + runbook desde día 1
RA6Equipo de 4–6 opera 15+ servicios gestionadosTecnologíaAltaReducir superficie MVP; contratar SRE antes de 500 tenants
RA7Pérdida de CPE (obligación 5 años)DatosCríticaS3 versionado + CRR + Glacier; sin borrado físico
RA8Doble pipeline de eventos (outbox + CDC)AplicaciónAltaElegir uno (outbox MVP); ADR vinculante
RA9Subestimación de Contabilidad/PCGENegocioAltaSpike temprano; contadora en el equipo

10.2 Oportunidades

IDOportunidadCapaValor
OA1Tier "Soberanía" (Silo + BYOK + IA-en-VPC) como SKU premiumNegocio/DatosDiferenciador enterprise vs Defontana/StarSoft; mayor ticket
OA2Pooled = margen SaaS alto + onboarding instantáneo (PLG)Datos/NegocioCrecimiento product-led; precio competitivo vs SAP B1
OA3Capa semántica única (Cube) sirve a BI y a IA (NL2SQL)Datos/AplicaciónUna sola verdad de KPIs; menos alucinación de IA
OA4Cumplimiento pluggable por país (DIAN, SII, SRI) reusa la EAAplicaciónHabilita expansión LATAM sin reescritura
OA5Outbox como única fuente de eventos elimina Kafka en MVPTecnologíaAhorra ~US$ 1.5–2.5k/mes + complejidad operativa
OA6Tests de aislamiento cross-tenant en CI como activo de ventaDatos/GobiernoEvidencia auditable que acelera SOC 2
OA7FinOps por tenant (margen por tenant)TecnologíaIdentifica candidatos a silo o a upsell
OA8Benchmarks de sector textil/comercio sobre base instaladaDatosProducto de inteligencia de mercado (respetando privacidad)

11. Conclusión

La Arquitectura Empresarial de ConTodo es coherente de extremo a extremo: el motivador de negocio (servir al PYME peruano con cumplimiento SUNAT a precio accesible) baja limpiamente a un mapa de capacidades centrado en lo fiscal-financiero, se realiza en un monolito modular Rails con bounded contexts alineados a los 18 módulos y SPA React desacoplada, se apoya en una capa de datos pooled (Shared Schema + RLS) con silo on-demand que separa OLTP de OLAP, y corre sobre una plataforma AWS gestionada deliberadamente convencional.

El valor de esta EA no está en declarar que todo encaja, sino en exponer dónde aún no encaja: cinco contradicciones de severidad alta entre los agentes, un riesgo de fuga cross-tenant en la intersección pooler×RLS que sería un evento de extinción de marca para un ERP contable, y un modelo de costos que infla el margen al omitir IA y BI. La recomendación de gobierno es inequívoca: antes de la primera línea de código, una sesión de reconciliación que produzca un ADR maestro vinculante, valide el binomio pooler+RLS, consolide un único modelo de costos (margen realista 65–75%) y reduzca la superficie operativa del MVP. La arquitectura está a una semana de gobierno de ser excelente; sin ese gobierno, está a varios meses de descubrir sus fracturas en producción.