Auditoría de impresiones
Práctica profesional · análisis y desarrollo
Plataforma interna que registra cada impresión, controla los insumos y asigna los costos por sector.
Tecnologías
- C# / .NET
- SQL Server
- SNMP
- PowerShell
- Active Directory
El problema
Una empresa con sedes distribuidas en la provincia tenía cerca de cien impresoras de varias marcas repartidas entre servidores de impresión y equipos conectados directamente, sin un registro central de quién imprimía, cuánto se imprimía ni cuánto costaba.
Tampoco había forma de saber a tiempo qué equipos estaban por quedarse sin tóner, ni de asignar el gasto de impresión a cada Centro de Costo de la organización.
La solución
Una plataforma centralizada que funciona sola, sin intervención manual:
- Recolector de eventos: cada pocos minutos lee los registros de impresión de los servidores y guarda cada trabajo: usuario, equipo de origen, impresora, páginas y color.
- Telemetría de impresoras: consulta cada equipo de red y guarda el nivel de sus insumos, el contador de páginas y su estado.
- Motor de costeo: asigna a cada trabajo la tarifa vigente y calcula su costo.
- Centros de Costo: sincroniza a los usuarios con el directorio de la empresa para atribuir cada impresión a su sector.
- Panel web: reúne la información, con un semáforo de insumos críticos para anticiparse a los faltantes.
Mi rol
Práctica Profesional Supervisada de Ingeniería en Sistemas, de 200 horas. Fui el analista y desarrollador del sistema: hice el relevamiento del parque de impresoras, diseñé el modelo de datos, programé cada módulo, lo probé sobre la infraestructura real de la empresa y documenté el trabajo, con seguimiento de una tutora de la organización y otra de la universidad.
Funcionalidades clave
- Auditoría de cada impresión: quién imprimió, desde qué equipo, en qué impresora, cuántas páginas y si fue en color.
- Estado de los insumos en tiempo casi real: nivel de tóner o tinta, contador de páginas y estado de cada impresora de red.
- Costo por trabajo: tarifas con fecha de vigencia, para que un cambio de precio no altere el costo de lo ya impreso.
- Costos por Centro de Costo: cada persona pertenece a un sector, y su consumo se le atribuye aunque use impresoras compartidas.
- Procesos automáticos: recolección, costeo y sincronización corren solos, con un registro diario de cada ejecución.
Desafíos y decisiones
Datos que Windows no informa. El registro de impresión no dice si un trabajo fue en color. Lo resolví cruzando cada trabajo con un segundo evento del mismo sistema. Si ese dato falta, el trabajo queda sin definir en lugar de asumirse en blanco y negro, para no subestimar costos.
Compatibilidad con un servidor antiguo. Las librerías habituales para leer los eventos no funcionaban en uno de los servidores, así que usé la herramienta nativa de Windows. La lectura es incremental y el modelo de datos impide cargar dos veces el mismo trabajo.
Menos dependencias, más control. En lugar de sumar una librería externa, programé un cliente SNMP propio con las dos operaciones necesarias. Así los recolectores tienen una sola dependencia externa, y consultan varias impresoras en paralelo con tiempos de espera ajustados para las sedes con conexiones lentas.
Resultados
- En las primeras cuatro semanas el sistema registró cerca de 46.000 trabajos de impresión (más de 140.000 páginas) de 373 usuarios.
- 99 impresoras monitoreadas, de cuatro marcas distintas.
- El 98,6 % de los trabajos ya podía atribuirse a un Centro de Costo validado contra el directorio de la empresa.
- Proyecto entregado en término, con copias de seguridad diarias y verificadas de la base de datos.