Del Excel a un sistema de cobranza de agua potable
El organismo operador de agua de un municipio de Durango facturaba y cobraba 18,400 tomas con hojas de Excel. Desarrollamos un sistema web con padrón, contratos, tarifas con y sin medidor, cajas, recibos y reportes de cartera vencida.

- Industria
- Gobierno y servicios públicos
- Ubicación
- Durango
- Año
- 2023
- Duración
- 16 semanas
- Servicios
- Software a la medida
Para el organismo operador de agua potable de un municipio de Durango desarrollamos un sistema web en PHP y MySQL que reemplazó los archivos de Excel: padrón de usuarios, contratos, tarifas medidas y de cuota fija, facturación, cobro en cajas, recibos, reportes y antigüedad de saldos. La emisión de recibos pasó de 6 días a 1 y la cartera vencida a más de 90 días bajó 23 %.
Dónde estaban
El organismo atiende a la cabecera municipal y a 14 localidades. Su padrón vivía en un archivo de Excel por sector, con fórmulas que solo entendía una persona. Cada bimestre, tres capturistas pasaban seis días cruzando lecturas de medidor, aplicando tarifas y armando recibos en Word.
En ventanilla se cobraba con recibos impresos y un cuaderno; el corte de caja tomaba dos horas y a veces no cuadraba. No había forma confiable de saber quién debía, desde cuándo ni cuánto, así que los programas de regularización se diseñaban a ciegas.
Qué hicimos
Desarrollamos un sistema web a la medida en PHP 8 y MySQL, instalado en un servidor del propio organismo con respaldo cifrado externo. El padrón concentra usuarios, tomas, contratos, sectores, rutas de lectura y tipo de servicio: doméstico, comercial, industrial y público.
El motor de tarifas maneja servicio medido por rangos de consumo y cuota fija, más drenaje, saneamiento, recargos y descuentos para jubilados y personas con discapacidad, todo configurable por el propio organismo cuando cambia la ley de ingresos. Las lecturas se capturan por ruta o se importan desde la hoja de los lecturistas.
En cajas, el cajero busca por número de cuenta o nombre, cobra parcial o total y el sistema imprime el recibo con folio; el corte se genera solo, por cajero y por día. Los reportes incluyen recaudación por periodo, padrón por sector y antigüedad de saldos a 30, 60, 90 y más de 180 días, que es la base de los programas de cobranza.
- Padrón de usuarios y tomas migrado desde Excel
- Módulo de contratos y altas de servicio
- Motor de tarifas medidas y de cuota fija
- Captura e importación de lecturas por ruta
- Facturación y emisión de recibos por periodo
- Módulo de cajas con corte automático
- Reportes de recaudación y antigüedad de saldos
- Bitácora de cambios por usuario
- Capacitación a cajeros y capturistas
Cómo se construyó
- 01
Levantamiento
Entrevistas con comercialización, cajas y dirección; revisión de la ley de ingresos y del Excel.
Semanas 1–2 - 02
Padrón y migración
Limpieza de 18,400 registros, duplicados y tomas sin sector.
Semanas 3–6 - 03
Tarifas y facturación
Motor de tarifas, lecturas, recibos y validación contra periodos anteriores.
Semanas 7–11 - 04
Cajas y reportes
Cobro, corte, recibos con folio y antigüedad de saldos.
Semanas 12–14 - 05
Arranque en paralelo
Un periodo completo en paralelo con Excel antes de apagarlo.
Semanas 15–16
Los números
La emisión de recibos de cada periodo pasó de seis días a uno, y el corte de caja diario de dos horas a 15 minutos. Al limpiar el padrón aparecieron 612 tomas activas que no se estaban facturando.
Con el reporte de antigüedad de saldos, el organismo armó un programa de regularización dirigido a las cuentas con más de 90 días de atraso; en el primer año esa cartera bajó de 34 % a 26 % del total por cobrar.
“Antes el cierre de cada bimestre era una semana de horas extra. Ahora lo hacemos en un día, y cualquiera del área sabe usar el sistema, no nada más una persona.”

