Caso de éxito · Gobierno y servicios públicos

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.

Medidores de agua conectados a tuberías en un muro
Organismo operador de agua de un municipio de DurangoMM·2026
Industria
Gobierno y servicios públicos
Ubicación
Durango
Año
2023
Duración
16 semanas
18,400tomas en el padrón
1 díapara emitir recibos (antes 6)
−23 %cartera vencida a más de 90 días
15 mincorte de caja diario (antes 2 h)
¿Qué se logró?

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 %.

01El reto

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.

02La solución

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.

Entregables
  • 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
Tecnología
PHP 8MySQLJavaScriptGeneración de recibos en PDFDockerServidor local con respaldo cifrado externo
03Cronología

Cómo se construyó

  1. 01

    Levantamiento

    Entrevistas con comercialización, cajas y dirección; revisión de la ley de ingresos y del Excel.

    Semanas 1–2
  2. 02

    Padrón y migración

    Limpieza de 18,400 registros, duplicados y tomas sin sector.

    Semanas 3–6
  3. 03

    Tarifas y facturación

    Motor de tarifas, lecturas, recibos y validación contra periodos anteriores.

    Semanas 7–11
  4. 04

    Cajas y reportes

    Cobro, corte, recibos con folio y antigüedad de saldos.

    Semanas 12–14
  5. 05

    Arranque en paralelo

    Un periodo completo en paralelo con Excel antes de apagarlo.

    Semanas 15–16
04Antes y después

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.”

C.P. Martha Elena Quiñones · Jefa de comercialización, Organismo operador de agua de un municipio de Durango
05Preguntas frecuentes

Preguntas sobre este proyecto

¿Qué módulos necesita un sistema de cobranza para un organismo de agua?
Como mínimo: padrón de usuarios y tomas, contratos, motor de tarifas (medidas y de cuota fija), lecturas, facturación, cajas, recibos y reportes de antigüedad de saldos. Así lo hicimos para un organismo operador de un municipio de Durango con 18,400 tomas.
¿Se puede migrar el padrón desde Excel sin perder información?
Sí, con una etapa de limpieza: unificar formatos, detectar duplicados y tomas sin sector. En este proyecto la migración tomó cuatro semanas y además encontró 612 tomas activas que no se estaban facturando.
¿Conviene correr el sistema nuevo en paralelo con el anterior?
Sí, al menos un periodo completo. En el organismo operador de agua facturamos un bimestre en paralelo con Excel, comparamos recibo por recibo y solo entonces se dejaron de usar las hojas de cálculo.
Escríbenos por WhatsApp