ReportIA reemplaza a Crystal Reports y herramientas legacy. Describe lo que necesitas en lenguaje natural, la IA lo disena y tu organizacion lo explota desde una web que ya no necesita IA.
Descubre como funciona ↓Cada nuevo informe pasa por el mismo ciclo: reunion, especificacion, desarrollo, pruebas, despliegue. Y cuando llega al usuario, ya quiere cambios.
Cada informe requiere un desarrollador que entienda la base de datos, escriba SQL, diseñe el layout y lo conecte todo. El equipo de negocio espera semanas por un reporte que a veces no es lo que pidieron.
Crystal Reports, SSRS, Jasper... Tecnologias de otra epoca con licencias caras, curva de aprendizaje enorme y dependencia total del proveedor. Migrar es practicamente empezar de cero.
SQL Server aqui, PostgreSQL alla, Oracle en produccion, MySQL en la filial. Cada proyecto arranca de cero porque la herramienta no abstrae la complejidad del origen de datos.
Quien ejecuto que informe, con que parametros, contra que version del schema. Si hay un error en los datos, reconstruir lo que paso es arqueologia. Y si alguien edita datos desde el informe, no hay registro.
Cada informe tiene su propio estilo. Colores distintos, fuentes distintas, layouts que no se parecen entre si. La marca se diluye en un mar de PDFs inconsistentes.
Nuevo cliente o nueva base de datos significa copiar, pegar y adaptar. No hay reutilizacion real. Cada variante es un informe nuevo que mantener.
ReportIA invierte el flujo. En vez de que un programador codifique cada informe, una IA lo disena a partir de la conversacion con el experto de negocio.
ReportIA introspecta las bases de datos del cliente — tablas, columnas, relaciones, vistas, procedimientos — y guarda un snapshot versionado. La IA trabaja sobre ese snapshot, nunca contra la base de datos en vivo.
A traves de un asistente IA llamado Ria, el usuario describe lo que necesita. Ria genera la SQL, los parametros, el layout y aplica el estilo visual del cliente. Todo validado contra el schema real.
Cuando el informe esta aprobado, se guarda como plantilla inmutable. A partir de ahi se ejecuta desde una web que no necesita IA — es rapida, predecible y funciona sin conexion a internet.
Construido desde cero para resolver los problemas reales que las herramientas legacy ignoran.
La IA participa en el diseno del informe. En la ejecucion diaria no interviene. Sin costes de tokens recurrentes, sin latencia, sin dependencia de terceros.
SQL Server, PostgreSQL, MySQL y Oracle desde el primer dia. Misma plantilla, distintos origenes. Sin adaptadores ni plugins de terceros.
Perfiles de estilo con logos, paleta, tipografias, margenes, formato de tablas y locale. Se aplica a todos los informes del cliente sin tocar nada.
No solo lectura. Las plantillas pueden permitir editar, insertar y eliminar datos directamente desde el informe, con validacion, permisos y auditoria completa por celda.
Cada accion queda registrada: quien, cuando, que, con que resultado. Hash chaining SHA-256 en el log de auditoria para garantizar la integridad. Diff visual de cada cambio.
Todos los assets son locales — fuentes, iconos, librerias JS. La web de explotacion funciona en redes aisladas, sin llamadas externas, sin CDNs.
Clean Architecture, .NET 8, zero dependencias externas en runtime. Cada decision tecnica existe por una razon.
Separacion estricta de responsabilidades. Cada capa depende solo de la anterior. Sin referencias circulares, sin acoplamientos ocultos.
Cada pieza del stack existe porque resuelve un problema concreto. Sin frameworks de moda, sin dependencias innecesarias.
El metastore almacena todo: clientes, fuentes de datos, schemas, plantillas, estilos, auditoria, dashboards y menus.
| Entidad | Descripcion | Rol |
|---|---|---|
| ClientEntity | Clientes del sistema | Organizacion |
| DataSourceEntity | Fuentes de datos (BBDD externas) | Conexion |
| ConnectionProfileEntity | Perfiles de conexion (Read / Write / Introspect) | Seguridad |
| SchemaSnapshotEntity | Snapshots versionados del schema | Introspection |
| SchemaObjectEntity | Objetos desnormalizados (tablas, columnas, FKs) | Exploracion |
| TemplateEntity | Plantillas de informe (JSON autocontenido) | Diseno |
| TemplateSchemaReferenceEntity | Referencias de schema usadas por plantillas | Validacion |
| StyleProfileEntity | Perfiles de estilo visual completos | Marca |
| StyleAssetEntity | Assets binarios (logos, fuentes custom) | Marca |
| ExecutionRunEntity | Ejecuciones de plantillas | Historial |
| AuditLogEntity | Log de auditoria con hash chaining SHA-256 | Compliance |
| DataChangeLogEntity | Cambios de datos por celda (Before / After) | Trazabilidad |
| SessionEntity | Sesiones MCP (Ria) | IA |
| SessionEventEntity | Eventos dentro de cada sesion | IA |
| DashboardEntity | Dashboards personalizables con widgets | Presentacion |
| MenuConfigurationEntity | Menus de navegacion dinamicos por cliente | UX |
El servidor MCP expone herramientas que Claude (Ria) usa para registrar clientes, ingestar schemas, diseñar plantillas, validar SQL y mas.
Cada capa del sistema aplica el principio de minimo privilegio. Cada accion queda registrada.
Ninguna SQL se construye por concatenacion. Toda variable va como parametro con nombre. Un analizador Roslyn (RSQL001) lo verifica en tiempo de compilacion.
Cada operacion usa el perfil minimo: introspect para ingestar, read para informes, write solo cuando la plantilla lo permite explicitamente.
El log de auditoria usa encadenamiento SHA-256. Cada entrada referencia el hash de la anterior. Un job en background verifica la integridad periodicamente.
CSP, X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy. Cookies HttpOnly, Secure, SameSite. Rate limiting por endpoint.
Credenciales en UserSecrets (dev) o Azure Key Vault / AWS Secrets Manager (prod). Ningun string de conexion real en el repositorio. Gitleaks en CI.
Toda SQL de una plantilla se valida contra el schema snapshot antes de guardarse. Si una tabla o columna no existe, se rechaza y se sugiere la correccion mas cercana.
Tests unitarios, de integracion y e2e. Cada feature se entrega con sus tests. xUnit + FluentAssertions + Moq.
ASP.NET Core MVC con Razor. Sin SPA, sin npm, sin bundlers. Todo local, todo rapido.