🔒
Acceso privado
Ingresa la contraseña para continuar
Contraseña incorrecta
White-Label · Microservicios · SRI Ecuador · Node.js

FacturaEC

Sistema de Facturación Electrónica White-Label con arquitectura de microservicios, integrado con el SRI de Ecuador — adaptable para cualquier empresa.

14sem
MVP funcional
32sem
Producto completo
3
Devs core (testers aparte)
6
Tipos de comprobante SRI
Visión del proyecto

Un sistema que se adapta
a cada empresa cliente

Plataforma white-label donde cada cliente empresarial tiene su propio panel de administración, sus certificados, sus series y su branding — sin interferir con los demás.

🏢

Multi-empresa White-Label

Cada cliente tiene su instancia configurada con RUC, certificado electrónico, logo, colores y datos fiscales propios. El SuperAdmin gestiona todas las instancias desde un panel central.

📄

Todos los comprobantes SRI

Facturas, notas de crédito y débito, retenciones, guías de remisión y liquidaciones de compra — todos con firma XAdES-BES y comunicación con los web services del SRI.

🔌

Integración con sistemas externos

API REST pública por empresa para conectar ERPs e inventarios. Exportación en formatos compatibles con Conta, Mónica y otros sistemas contables del mercado ecuatoriano.

Microservicios desacoplados

Sin dependencias innecesarias entre módulos. Cada servicio escala de forma independiente: el SRI Service puede tener más réplicas en picos de emisión sin afectar el resto.

🔒

Seguridad y aislamiento

Los certificados electrónicos de cada empresa se almacenan cifrados. Autenticación JWT con roles (SuperAdmin / AdminEmpresa / Operador / Solo lectura).

📊

Reportes y ATS

Generación automática del Anexo Transaccional Simplificado, reportes de IVA mensual, retenciones y cuadre de comprobantes para declaraciones al SRI.

Stack tecnológico

Arquitectura de microservicios

Cada servicio es un proceso independiente, con su propia base de datos y responsabilidad única. Se comunican vía API REST interna y cola de mensajes para operaciones asíncronas.

Runtime
Node.js 20 LTS NestJS TypeScript
Persistencia
PostgreSQL Redis TypeORM
Infraestructura
Docker Kubernetes Nginx
Frontend + Docs
React 18 Tailwind Swagger
Gateway

api-gateway

Punto de entrada único. Routing, rate limiting, autenticación de tokens y documentación Swagger pública.

Auth

auth-service

JWT, refresh tokens, roles, sesiones. Emite tokens que validan los demás servicios de forma independiente.

Core

company-service

Configuración white-label por empresa: RUC, certificado cifrado, series, establecimientos, branding del RIDE.

Core

catalog-service

Gestión de productos, servicios y directorio de clientes. Búsqueda y paginación optimizados.

Core

document-service

CRUD de comprobantes, estados del ciclo de vida, historial de versiones y búsqueda avanzada.

SRI

sri-service

Motor XML (XSD SRI), clave de acceso 49 dígitos, firma XAdES-BES, WS Recepción, polling Autorización y cola Redis con reintentos exponenciales.

Output

notification-service

Generación de RIDE en PDF, envío de email al cliente final, webhooks de estado para sistemas externos.

Integración

integration-service

API pública por empresa, conectores ERP, exportación a Conta/Mónica, importación de pedidos y productos.

Equipo a contratar

3 devs full stack — todos desde el día 1

Roles amplios con conocimiento compartido. El Tech Lead es dueño del módulo más crítico (SRI) y centraliza las decisiones arquitectónicas. Los tres trabajan en paralelo desde la semana 1.

Tech Lead · Full Stack + DevOps + SRI
Lead / Arquitecto Full Stack
NestJS + React · microservicios
Monorepo + Docker + CI/CD desde S1
API Gateway · auth-service · company-service
Dueño del sri-service — conocimiento centralizado
Company config UI · SuperAdmin panel
Code reviews + decisiones de arquitectura
100% · Semana 1 → 32
Full Stack Dev Sr. · Documentos + Integración
Dev 1 — Ciclo de vida + Emisión
NestJS + React · senior
document-service desde S1 (schema + CRUD)
notification-service · RIDE PDF · email
UI de emisión · historial · estado comprobantes
integration-service (iter 3+) · API pública
Portal cliente final (iter 5)
100% · Semana 1 → 32
Full Stack Dev Mid · Catálogo + Admin
Dev 2 — Core + Paneles
NestJS + React · mid-senior
Design system + componentes UI desde S1
catalog-service (productos, clientes)
Admin panel MVP · dashboard · gestión docs
Admin avanzado + SuperAdmin (iter 2)
Conectores ERP UI · Reportes ATS (iter 4–5)
100% · Semana 1 → 32
🧪
Testers — incorporación por fases (equipo separado)
Semana 12: 1 QA para testing en ambiente SRI pruebas (facturas). Semana 20: QA adicional para comprobantes completos. Semana 28: QA de integración ERP/contable.
Cronograma

Plan de 32 semanas — equipo de 3

Con 3 devs el MVP se alcanza en 14 semanas. Menos paralelismo en ruta crítica, pero la arquitectura de microservicios mantiene el trabajo desacoplado entre los tres roles.

Tech Lead Full Stack (TL)
Dev 1 Full Stack Sr. (D1)
Dev 2 Full Stack Mid (D2)
Ruta crítica SRI
MES 1
MES 2
MES 3
MES 4
MES 5
MES 6
MES 7
MES 8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
MVP FUNCIONAL · semanas 1–14 · todos los devs desde S1
Monorepo + Docker + CI/CD + API GatewayTL — arquitectura base
S1–S4 · TL
auth-service + company-service + config UITL full stack
S3–S9 · TL
🔑 sri-service: XML + firma + WS SRITL — dueño del conocimiento
S5–S14 · TL · sri-service
document-service + CRUD + estadosD1 — desde S1
S1–S8 · D1
notification-service + RIDE PDF + UI emisiónD1 full stack
S7–S14 · D1
Design system + catalog base + admin MVPD2 — desde S1
S1–S14 · D2 (UI base + catalog + dashboard)
Testing piloto · QA entra S12QA externo + 3 devs
S12–S14
ITERACIONES POST-MVP · semanas 15–32 · entregas incrementales
Iter 1 · Comprobantes completosTL amplía sri-service
S15–S22 · TL · notas, retenciones, guías
Iter 2 · Catalog avanzado + SuperAdminD2 full stack
S15–S22 · D2
Iter 3 · Integration Svc + API públicaD1 full stack
S15–S24 · D1
Iter 4 · Conector ERP + Conta/MónicaD2 + D1 full stack
S22–S28 · D2+D1
Iter 5 · Reportes ATS + portal clienteD2 full stack
S25–S30 · D2
Hardening + docs + go-live3 devs + QA
S30–S32
Sprints Scrumentregable cada 2 sem.
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
S13
S14
S15
S16
Dev env
Auth + Company
Firma XAdES
⭐ 1ª Factura SRI
🏁 MVP
Comprobantes ✓
Fase 2 ✅
ERP integrado
🚀 Go-live
Tech Lead (TL)
Dev 1 / Ruta crítica SRI
Dev 2
TL + D2 en paralelo
Hito clave
Proceso de emisión

Flujo de facturación electrónica

Desde el ingreso de datos hasta la autorización del SRI y entrega al cliente. Cada etapa está encapsulada en el microservicio responsable.

DOCUMENT-SERVICE SRI-SERVICE NOTIFICATION-SERVICE + DOCUMENT-SERVICE SRI-SERVICE Ingreso de datos Generar XML XSD v2.x SRI Clave de acceso 49 dígitos Firma XAdES-BES WS Recepción SRI Ecuador (base64) Redis Queue DEVUELTA Error en XML DEVUELTA RECIBIDA WS Autorización SRI (polling) c/30 seg AUTORIZADO RIDE PDF representación impresa Guardar en BD XML autorizado Email cliente final RIDE adjunto 01 02 03 04 05 06 07 08 09 10
Arquitectura de integración

Flujo de conectores y microservicios

Visión completa del sistema: fuentes externas, API Gateway, microservicios core y salidas hacia el SRI y sistemas contables.

CLIENTES GATEWAY CORE SERVICES SERVICIOS ESPECIALIZADOS EXTERNO 🌐 Web UI React Admin 🔄 ERP Inventario / Stock 📱 App Móvil React Native 🔌 API Terceros Webhooks / REST API Gateway NestJS JWT · Rate limit Routing · Swagger auth-service JWT · Roles · Sesiones CORE SERVICES company-service Config · Certificados catalog-service Productos · Clientes document-service CRUD comprobantes · Estados · Historial PostgreSQL (por servicio) Redis Queue integration -service sri-service Motor XML · XAdES-BES · WS SRI Recepción · Autorización · Reintentos Pruebas: celcer.sri.gob.ec notification-service RIDE PDF · Email · Webhooks nodemailer · pdfkit integration-service ERP · Conta · Mónica · ATS WS SRI SOAP · Ecuador cel.sri.gob.ec Email SMTP RIDE al cliente Conta / Mónica Exportación XML respuesta
Alcance del producto

MVP + iteraciones

El MVP emite facturas válidas en el SRI. Las iteraciones agregan funcionalidades que mejoran la operación pero no bloquean la emisión.

MVP · Semanas 1–14
El sistema emite facturas electrónicas autorizadas por el SRI
GATEWAY
api-gateway
Punto de entrada único · routing · JWT · rate limit
ACCESO
auth-service
Login · JWT · roles · SuperAdmin / Admin / Operador
EMPRESA
company-service
RUC · cert. p12 cifrado · series · establecimientos · logo RIDE
NÚCLEO SRI
sri-service
XML · clave 49d · XAdES-BES · WS Recepción · WS Autorización · cola Redis
CICLO VIDA
document + notification
CRUD facturas · estados · RIDE PDF · email al cliente
Incluye también: UI de login, configuración de empresa, formulario de emisión de factura, historial con estados, descarga del RIDE, re-envío de email. Tipo de comprobante en MVP: solo facturas.
Iteraciones post-MVP
ITER 1 · S15–S22
Comprobantes completos
Notas de crédito/débito
Retenciones IR + IVA
Guías de remisión
Liquidaciones de compra
ITER 2 · S15–S22
Catálogo + Admin
catalog-service completo
Búsqueda + importación CSV
Panel admin avanzado
SuperAdmin multi-empresa
ITER 3 · S15–S24
API pública
integration-service
API REST documentada
Webhooks de estado
Auth por API key
ITER 4 · S22–S28
Conectores externos
Conector ERP / inventario
Export Conta / Mónica
Importación de pedidos
Sync de productos/clientes
ITER 5 · S25–S30
Reportes + Portal
ATS XML mensual
Reporte IVA / retenciones
Portal cliente final
Descarga histórico
Gestión de riesgos

Riesgos críticos y mitigación

Identificados desde el inicio para no encontrarlos en producción con el primer cliente real.

Riesgo Nivel Impacto Mitigación
SRI actualiza XSD sin previo aviso ALTA Todos los XMLs generados quedan inválidos hasta actualizar Versionar los XSD en el repo. Pipeline automático de detección de cambios en el portal SRI. Módulo de actualización rápida en sri-service.
Certificado electrónico vencido del cliente ALTA La empresa no puede emitir ningún comprobante Alertas automáticas a 30, 15 y 5 días antes del vencimiento. Bloqueo anticipado con aviso al SuperAdmin y al AdminEmpresa.
WS del SRI caído o lento ALTA Documentos quedan en estado pendiente sin autorizar Cola Redis con reintentos exponenciales (30s, 2m, 10m, 1h). Dashboard de estado en tiempo real. Alertas cuando acumulan más de N documentos pendientes.
Datos fiscales mal configurados MEDIA Comprobantes rechazados por el SRI con datos incorrectos Modo "dry-run" contra ambiente de pruebas obligatorio al configurar una empresa. Validación de RUC activo con API del SRI antes de habilitar ambiente de producción.
Fuga del certificado electrónico ALTA Terceros podrían firmar documentos a nombre de la empresa Certificados cifrados en reposo con AES-256. Nunca expuestos en logs ni en respuestas de API. Acceso solo dentro del sri-service en memoria durante la firma.
Deuda técnica por MVP urgente MEDIA Problemas de escalabilidad o mantenimiento al crecer La arquitectura de microservicios reduce el riesgo. Definir contratos de API antes de implementar. Tech Lead hace review de todos los PRs del sri-service desde el inicio.
Cambio de políticas de retención SRI BAJA Porcentajes de IR/IVA incorrectos en retenciones emitidas Tabla de porcentajes configurable por admin, no hardcodeada. Activar alertas cuando el SRI publique nuevas resoluciones.
Para arrancar

Próximos pasos inmediatos

Lo que hay que hacer en los próximos 15 días para que el equipo pueda arrancar la semana 1 sin fricciones.

1

Contratar Tech Lead y Backend SRI

Son los dos roles más críticos. El Tech Lead define la estructura del monorepo y el Backend SRI conoce los web services del SRI. Sin ellos no arranca nada.

2

Obtener certificado electrónico de prueba

Necesario para testear la firma XAdES-BES desde el primer día. El SRI Ecuador tiene ambiente de pruebas (celcer.sri.gob.ec) que requiere certificado real o de prueba.

3

Descargar los XSD oficiales del SRI

Desde el portal del SRI Ecuador → sección Facturación Electrónica. Son los esquemas que rigen el formato de todos los comprobantes. Versionar en el repo desde el inicio.

4

Crear el monorepo y estructura base

NestJS monorepo con Nx o Turborepo. Un paquete por servicio. Docker Compose para desarrollo local con PostgreSQL y Redis. CI/CD con GitHub Actions desde el primer commit.

5

Definir los contratos de API entre servicios

Antes de implementar, acordar los endpoints internos entre servicios con DTOs TypeScript compartidos. Esto evita re-trabajo al integrar servicios más tarde.

6

Identificar 2 empresas piloto para la semana 10

El MVP necesita ser probado con facturas reales en ambiente de pruebas. Empresas conocidas que puedan dar feedback concreto antes de abrir el sistema a otros clientes.

Arquitectura
8 microservicios independientes · NestJS · PostgreSQL · Redis · Docker
Sin dependencias innecesarias — cada servicio escala, falla y se actualiza por separado