Jean Marte
← Volver al inicio

Caso de estudio

Zentra

Automatización fiscal para República Dominicana

Zentra — Automatización fiscal para República Dominicana

El problema

Cada mes, contadores y empresas en República Dominicana se sientan a digitar factura por factura para armar los formatos 606 y 607 que exige la DGII. Es trabajo manual, repetitivo y frágil: un RNC mal copiado o un NCF inválido hace que el archivo se rechace y toque revisar todo de nuevo, ya con la fecha límite encima.

Contexto

Zentra es un producto propio, no un encargo. Nació de ver el mismo problema en tres perfiles distintos: el contador independiente que lleva unas pocas empresas, la firma contable con una cartera de clientes, y la empresa con volumen alto de documentos que necesita una solución dedicada.

La solución

  • Dashboard fiscal con el estado del período
  • Escáner con IA para papel, PDF y fotos
  • Formato 606 (compras y gastos)
  • Formato 607 (ventas e ingresos)
  • Validador de RNC y NCF
  • Generador del archivo TXT oficial

Funcionalidades

  • Lectura de facturas en papel térmico, PDF y fotos tomadas con el teléfono.
  • Extracción automática de RNC, NCF, fecha, monto e ITBIS.
  • Validación de RNC y NCF con los algoritmos Módulo 10 y Módulo 11 antes de generar nada.
  • Pantalla de revisión que muestra el documento original al lado del dato extraído.
  • Generación del archivo TXT en el formato oficial de la Oficina Virtual.
  • Procesamiento por lotes para cerrar un período completo de una sola pasada.

Mi participación

Arquitectura y modelo de datosBackend y APIInterfaz y experiencia de usoIntegración con el modelo de IAContenerización y despliegue

Decisiones técnicas

La IA extrae, la persona confirma

El sistema nunca da por bueno un dato sin que alguien lo vea. Cada campo extraído se muestra junto al documento original, porque un error en una declaración fiscal no se arregla con un botón de deshacer. La IA ahorra la digitación, no la responsabilidad.

Validar el RNC y el NCF dentro del sistema

Implementé las validaciones Módulo 10 y Módulo 11 en el propio producto, en vez de dejar que el error aparezca al subir el archivo. Es la diferencia entre corregir en tu escritorio y que la Oficina Virtual te rechace el envío.

PostgreSQL por las relaciones, no por moda

Un comprobante pertenece a una empresa, a un período y a una clasificación, y esas relaciones tienen que ser consistentes o el archivo generado no cuadra. Es exactamente el caso para una base relacional.

Stack

Vue 3NestJSPostgreSQLGoogle GeminiDocker
Ver el código

Dificultades

  • La entrada real no son PDFs limpios: es papel térmico descolorido y fotos torcidas tomadas con el teléfono. El escáner tenía que asumir eso como el caso normal, no como la excepción.
  • [PENDIENTE: dificultades técnicas reales que quieras contar — qué costó más y cómo lo resolviste]

Resultado

  • El sistema reemplaza la digitación manual del ciclo completo 606/607: de la foto de la factura al archivo TXT listo para subir, sin transcribir nada a mano.
  • Los errores de RNC y NCF se detectan antes de generar el archivo, no después del rechazo.
  • Está en producción y se puede probar en la demo.

Demo

La mejor prueba es el sistema andando. Está en producción:

Abrir la demo