Efectiback
SaaS de facturación electrónica para Perú: emite factura, boleta y notas directo a SUNAT, con API REST, portal para clientes y panel de operador.



El problema
Las MYPEs necesitan emitir comprobantes válidos ante SUNAT sin depender de una contadora ni de un portal lento, y los sistemas que ya usan (POS, ERP, tienda online) deben poder integrarse por API.
Qué construí
Construí la plataforma de punta a punta: una librería Java con UBL 2.1, firma XAdES y cliente SOAP; una API en Spring Boot con arquitectura hexagonal; un portal y un backoffice en Angular; y la landing en Astro.
Resultado
En uso por clientes reales. Más de 350 pruebas automatizadas en el backend y emisión verificada contra el ambiente beta de SUNAT, con CDR aceptado.
Decisiones que importaron
- 01
La cola vive en Postgres
El envío a SUNAT usa una tabla de cola con FOR UPDATE SKIP LOCKED y reintentos con espera creciente: sin RabbitMQ ni infraestructura extra.
- 02
Un validador por tipo de comprobante
Factura, boleta y notas validan con sus propias reglas, extraídas del Excel oficial de SUNAT. Un error se rechaza con HTTP 422 antes de encolar.
- 03
Monolito modular, no microservicios
Un solo despliegue con contextos acotados (emisión, identidad, suscripciones). El motor es una librería sin Spring, que se prueba por separado.
- 04
Secretos cifrados
Los certificados digitales y la Clave SOL de cada empresa se guardan cifrados con una clave maestra, y la sesión usa una cookie HttpOnly.
- 05
Costo operativo mínimo
Backend en Cloud Run, base en Supabase, archivos en Cloudflare R2 y frontends en Cloudflare Pages.
Tecnologías
- Java 21
- Spring Boot
- PostgreSQL
- Angular
- Cloud Run
- Cloudflare R2
- Astro
Modelo C4. La línea con pulso es el recorrido principal de una solicitud.
Nivel 1 · quién usa el sistema y con qué se conecta
Nivel 2 · las aplicaciones y almacenes que lo componen
Nivel 3 · los componentes dentro de la API
- Persona
- Sistema
- Contenedor
- Base de datos
- Externo
- Recorrido principal
- 01Portal o ERP
- 02API REST
- 03Cola en Postgres
- 04Firma XAdES
- 05SUNAT
- 06CDR en R2