← Volver a proyectos

Debita

Gestión de finanzas operativas multi-empresa

Registros financieros dispersos convertidos en información trazable y consultable

Entregado Trabajo para cliente · sector financiero junio de 2025
Tablero analítico de Debita con gráficos de facturación, cobro, DSO y aging
Reto

La contabilidad de múltiples empresas se gestionaba mediante archivos Excel independientes, dificultando la consolidación y trazabilidad de la información.

Solución

Una plataforma financiera multi-tenant que centraliza operaciones, mantiene los datos aislados y permite reconstruir el estado de cada obligación.

Resultado

Los estados financieros pasaron de requerir consolidación manual a estar disponibles bajo demanda, reduciendo una tarea que podía ocupar un día a segundos.

Consultas < 1 s
Antes Búsqueda manual entre archivos de Excel, uno por cliente
Ahora Instantáneas, con filtros e historial
Estado financiero < 5 s
Antes Consolidación manual · hasta 1 día
Ahora Disponible bajo demanda
Trazabilidad
Antes Reconstruir cada saldo a mano, entre registros
Ahora Factura → pago → ajuste → impuesto → saldo

Galería

1 / 4
Detalle técnico (arquitectura, decisiones y stack)
Arquitectura

Sistema modular con separación estricta entre el dominio financiero y la infraestructura. El aislamiento de datos por empresa y la trazabilidad de operaciones son requisitos transversales, no características añadidas después.

Reto técnico

Modelar un dominio financiero donde múltiples reglas afectan el estado de una deuda a lo largo del tiempo, garantizando integridad de datos, trazabilidad histórica y consistencia entre operaciones relacionadas. El sistema no debía conservar solo el saldo final, sino permitir reconstruir cómo se llegó a él —factura, pago, ajuste, impuesto— sin reducir el dominio a simples operaciones CRUD ni asumir una única forma de operar.

El problema, no la herramienta

Debita no nace de la consigna “pasar Excel a una aplicación web”. Nace de dos problemas concretos del trabajo contable: mantener aislada la información de cada empresa cliente y consolidar un estado financiero que estaba repartido entre decenas de registros. Excel resolvía el control básico, pero su modelo —un archivo por cliente— no escalaba ni en organización ni en tiempo de análisis.

La propuesta de valor está mejor descrita como registros financieros dispersos → información financiera estructurada, trazable y consultable.

Trazabilidad, no solo saldo

Un saldo es un número; saber de dónde salió es otra cosa. Debita conserva operaciones y ajustes, no solo el resultado, de modo que cualquier saldo puede reconstruirse:

Factura → Pago → Ajuste → Impuesto → Saldo resultante

en lugar de únicamente Saldo = $X. Esa granularidad permite inspeccionar el estado financiero y auditar los movimientos que lo produjeron.

Por qué apareció cada capacidad

Las funcionalidades del sistema no fueron decisiones arbitrarias: responden a la cadena de necesidades del dominio.

  • Múltiples empresas clientes → necesidad de aislamiento → selección de empresa y datos separados por cliente.
  • Cada empresa tiene terceros y obligaciones → necesidad de estructurar relaciones financieras → clientes, proveedores y facturas.
  • Las facturas cambian de estado → necesidad de representar saldos y vencimientos → motor de estados.
  • Los saldos cambian mediante operaciones → necesidad de registrar pagos y ajustes → motor de pagos y trazabilidad.
  • El usuario necesita conocer el estado completo → necesidad de consolidar información → consultas, reportes y tablero analítico.
  • La información se procesaba manualmente → necesidad de automatización → reducción drástica del tiempo de respuesta.

Parte de estas capacidades se descubrieron durante el desarrollo —no estaban todas definidas al inicio— y se convirtieron en funcionalidades a medida que el dominio lo exigió.

Arquitectura del sistema

Debita fue diseñado como un sistema modular orientado al dominio financiero, donde la lógica crítica se mantiene desacoplada de la interfaz y de los mecanismos de persistencia.

  • Core de dominio en Rust: Encapsula reglas financieras, validaciones y comportamiento del sistema
  • Capa de aplicación: Coordina casos de uso y flujo operativo entre módulos
  • Persistencia desacoplada: Manejo de almacenamiento preparado para distintos motores y escenarios
  • Interfaz en React + Tauri: Cliente de escritorio orientado a productividad operativa
  • Sistema de automatización: Responsable de seguimiento operativo y coordinación de eventos internos

La arquitectura prioriza integridad de datos, mantenibilidad y evolución del dominio, permitiendo extender funcionalidades sin comprometer la lógica financiera central.

Decisiones técnicas

Multi-tenancy Aislamiento lógico de datos por empresa, como requisito de primer orden
Dominio Modelado orientado al comportamiento financiero, no únicamente a persistencia
Trazabilidad Operaciones (factura, pago, ajuste, impuesto) en lugar de almacenar solo el saldo resultante
Core Rust, para priorizar control y confiabilidad
Desktop Tauri, aplicación de escritorio ligera y desacoplada
Persistencia PostgreSQL
Frontend React + TypeScript
Deploy Docker

Stack

RustTauriReactTypeScriptPostgreSQLDocker