← Proyectos

Batisoft

La linea vertebral de la empresa, un software de facturación y gestión hecho a medida de la empresa y de cualquier retail de moda de clase mundial

  • Software

El problema

El software de gestión comercial disponible en Colombia me dejaba siempre en la misma disyuntiva. Las soluciones serias costaban lo que una empresa de mi tamaño no puede justificar, y venían con procesos de implementación de meses. Las económicas estaban diseñadas para una tienda genérica, no para retail de moda con tallas, temporadas, marcas y una operación que va cambiando.

El resultado era el de siempre: terminas adaptando el negocio al software en lugar de al revés. Y cada vez que necesitas algo específico, la respuesta es que está en el roadmap.

Decidí construirlo. No soy programador. Trabajé con inteligencia artificial como par de desarrollo: yo defino el problema del negocio, valido contra datos reales y decido; la IA escribe el código. Entró en producción el 1 de abril de 2026 y desde entonces corre la operación completa: dos tiendas físicas y el canal en línea.


Punto de venta

El corazón del sistema. Está diseñado para que una venta se cierre rápido, porque en tienda cada segundo de más en caja se siente.

  • Búsqueda de producto por código de barras, referencia o descripción

  • Carrito con edición de cantidades y descuentos línea por línea

  • Asignación de vendedor a cada venta, para el cálculo posterior de comisiones y cumplimiento de metas

  • Registro del cliente, con creación rápida sin salir del flujo de venta

  • Pago mixto: una misma venta puede combinar varios medios de pago

  • Medios soportados: efectivo, tarjeta débito, tarjeta crédito, transferencia, financiadoras de consumo, saldo a favor, bono de regalo y crédito directo

  • Aplicación de varios bonos de regalo en una misma factura

  • Impresión de tirilla y envío de la factura por correo al cliente


Facturación electrónica

Es la parte que más trabajo dio y de la que más aprendí. En Colombia la facturación electrónica no es opcional: cada venta tiene que transmitirse a la autoridad tributaria, ser validada y devolver un código único de identificación.

  • Numeración independiente por punto de venta y por canal en línea, cada uno con su resolución y su rango autorizado

  • Transmisión automática al facturar, con reintento controlado cuando el servicio del proveedor no responde

  • Notas crédito con referencia a la factura original, para devoluciones y anulaciones

  • Panel de estados que separa lo validado, lo rechazado por datos y lo pendiente por comunicación

  • Reenvío manual de documentos individuales

  • Alertas de consumo del rango de numeración, para no quedarse sin folios en plena venta

  • Envío automático del documento al correo del cliente

Lo que aprendí aquí: que la mayoría de los errores de facturación electrónica no son errores de código, son errores de zona horaria, de dígitos de verificación o de que el servicio del intermediario se cayó. Aprender a distinguir "mi sistema está mal" de "el proveedor no responde" me ahorró decenas de horas persiguiendo fantasmas.


Inventario

  • Manejo multi-ubicación: dos tiendas más bodegas separadas para producto principal, canal en línea e imperfectos

  • Traslados entre ubicaciones con trazabilidad completa

  • Estructura de producto por marca, grupo y talla

  • Fotos por producto

  • Movimientos de inventario auditables: cada entrada y salida queda registrada con su origen

  • Ajustes de inventario con motivo

  • Manejo de impuestos por producto


Compras y proveedores

  • Registro de compras con detalle por referencia

  • Actualización automática de costo y de fecha de última compra

  • Devoluciones a proveedor con su propio detalle

  • Catálogo de terceros compartido entre compras y facturación


Caja

Un módulo pequeño que resultó ser de los más delicados, porque es donde el sistema se enfrenta a la realidad física del dinero.

  • Apertura y cierre de caja por turno

  • Conteo de efectivo con desglose por denominación

  • Cálculo del efectivo esperado contra el efectivo contado, con la diferencia explícita

  • Registro de entradas y salidas de caja distintas a ventas

  • Arqueo por medio de pago

El detalle que me costó entenderlo: el efectivo esperado no es simplemente la suma de las ventas en efectivo. Un abono a un separado suma efectivo aunque no sea una venta cerrada. Una venta pagada con tarjeta no suma efectivo aunque sí sume venta. Y un abono a un separado pagado con tarjeta hace las dos cosas y se anula a sí mismo. Modelar eso bien fue la diferencia entre un cierre que cuadra y uno que no.


Cartera y separados

  • Separados: el cliente aparta mercancía y va abonando hasta completar. Manejo del apartado, sus abonos y su liquidación final

  • Cartera: crédito directo a clientes, con abonos y saldos

  • Migración del histórico de cartera anterior al sistema, para no perder la información previa


Promociones

Un motor de promociones con tres mecánicas y una regla de arbitraje entre ellas.

Paga N lleva M. Se agrupan los productos que califican, se ordenan por precio y los más baratos de cada grupo van gratis. Si un cliente lleva seis productos en una promoción de "paga 2 lleva 3", se forman dos grupos de tres y en cada uno el más barato sale sin costo.

Descuento en segunda unidad. Se ordenan los productos por precio, se forman parejas, y el descuento cae sobre el de menor precio de cada pareja. Con cinco productos se forman dos parejas y uno queda suelto sin descuento.

Bonos de recompra. Se generan automáticamente al facturar cuando la venta cumple ciertas condiciones, con un código único asociado al cliente y un período de redención definido. El cliente vuelve y lo usa como medio de pago.

Además: descuento automático en el mes de cumpleaños del cliente, descuento negociado por cliente específico, y eventos promocionales sobre productos seleccionados.

La regla que ordena todo: las promociones no se acumulan. Cuando un producto califica para varias, se aplica automáticamente la que más beneficie al cliente. La única excepción son los bonos de recompra, porque funcionan como medio de pago y no como descuento sobre el precio.


Garantías

  • Registro de solicitudes con numeración propia

  • Seguimiento por estados hasta la resolución

  • Historial por cliente y por producto


Bonos de regalo y saldos a favor

  • Emisión de bonos con código único y vigencia

  • Redención como medio de pago, con posibilidad de usar varios en una sola compra

  • Saldos a favor generados por devoluciones, aplicables en compras futuras


Sincronización con la tienda en línea

El inventario de la tienda física y el de la tienda en línea tienen que ser el mismo, o terminas vendiendo por internet algo que ya no existe.

  • Sincronización automática cada dos horas, en varios pasos separados

  • Consolidación del stock de todas las ubicaciones en un solo número publicado

  • Cruce entre el catálogo propio y el catálogo en línea por código de barras

  • Actualización únicamente de lo que cambió, para no saturar el servicio

  • Los productos sin existencia se ponen en cero automáticamente

  • Registro de cada ejecución, para poder auditar qué pasó y cuándo

La decisión que simplificó todo: en vez de manejar inventario por ubicación en el canal en línea, se publica el total consolidado y todos los pedidos se despachan desde un solo punto. Perdí granularidad y gané que funcione sin errores.


Tableros de análisis

Ocho tableros, cada uno con filtros combinables que se aplican a toda la vista simultáneamente.

Ventas. Ventas totales, unidades, ticket promedio, número de facturas, devoluciones y venta neta. Evolución por año, distribución por tienda, desglose por marca, grupo y talla. Top de artículos más vendidos. Comparativo mensual contra el año anterior.

Inventario. Unidades totales, número de referencias, valor y costo promedio. Distribución por ubicación, talla, marca y grupo. Detalle con columnas por ubicación y consolidado.

Medios de pago. Composición del recaudo por cada medio, evolución anual y mensual, y participación relativa entre financiadoras.

Antigüedad de inventario. Días transcurridos desde la última compra de cada referencia, agrupados en rangos, con alerta visual sobre lo que lleva más de un año quieto.

Vendedores. Ranking con cumplimiento de meta, evolución mensual y detalle individual. Código de color por nivel de cumplimiento.

Compras. Volumen por año y trimestre, participación por marca, grupo y talla.

Rotación. Días entre la compra de una unidad y su venta. Distribución por rangos y por talla, con código de color.

Análisis horario. Mapa de calor de horas y días con mayor venta, con comparación entre tiendas.

Un principio que aprendí a la mala: los reportes históricos nunca deben leer el precio actual del producto. Una factura de hace ocho meses se hizo con el precio y el descuento de ese momento; si el reporte lee el precio de hoy, los números del pasado cambian solos cada vez que actualizas una lista de precios. Los precios se congelan en la venta y los reportes leen de ahí.


Roles y permisos

  • Perfiles diferenciados: administrador, cajero y operador de bodega

  • La información sensible se restringe no solo en la interfaz sino en la consulta misma, de modo que los datos que un usuario no debe ver ni siquiera llegan a su navegador

  • Costos y márgenes visibles únicamente para administración

  • Los vendedores ven su cumplimiento en unidades y porcentaje, sin acceso a montos

Lo que aprendí

La parte difícil no es la tecnología. Es entender de verdad cómo funciona el negocio. Las decisiones que más me costaron no fueron técnicas: fueron definir qué cuenta exactamente como una venta, qué pasa cuando un cliente devuelve la mitad de un pedido pagado con dos medios distintos, o cómo se comporta el inventario cuando una prenda se mueve entre tiendas el mismo día en que se vende. Una sola fuente de verdad por cada dato. El error más caro que cometí fue permitir que un mismo número se pudiera calcular desde dos lugares distintos. Cuando el total de ventas del tablero no coincidía con el del cierre de caja, el problema nunca era de matemáticas: era que cada uno estaba sumando desde una fuente diferente. Ir despacio en lo crítico. En el módulo de facturación electrónica aprendí a hacer un cambio a la vez, probarlo con una factura real y solo entonces seguir. Es más lento y es la única forma de que un error no se te lleve la operación de un día completo por delante. Construir tu propio sistema te obliga a entender tu negocio. La mitad del valor de Batisoft no está en el software. Está en que para construirlo tuve que poner por escrito reglas que llevábamos años aplicando por costumbre, sin haberlas definido nunca.