Un comprobante de domicilio se edita en dos minutos. Abres el PDF en cualquier editor, cambias el nombre o la dirección, exportas de nuevo, y a simple vista queda perfecto. Quien lo recibe del otro lado —en el alta de un cliente, en la validación de un inquilino, en el expediente de un candidato— teclea la dirección y el importe a mano y confía en que el archivo llegó tal cual salió.
Multiplica eso por mil expedientes al mes. Son horas de captura, y cero certeza.
El problema no es leer el documento
Leer texto de una imagen es un problema resuelto desde hace años. Cualquier OCR genérico te devuelve las palabras del recibo. El problema es lo que viene después, y son tres cosas que el OCR plano no te da:
- Estructura. Un muro de texto no es un dato. “AV INSURGENTES SUR 1234” mezclado con el resto de la hoja no sirve hasta que alguien decide que eso es la dirección. Ese “alguien” suele ser una persona volviendo a leer el PDF.
- Origen. Cuando un sistema te dice que el importe es $842.00, ¿de qué parte de la hoja lo sacó? Sin esa liga, no puedes auditar nada: o confías a ciegas o revisas todo a mano, que es justo lo que querías evitar.
- Integridad. El renglón que dice “domicilio” pudo ser editado. Un OCR lo lee igual de contento si es real o si lo pegaron encima.
Por qué el importe y la fecha importan más de lo que parece
Aquí está el detalle que solo se ve cuando operas esto a diario: un comprobante de domicilio no prueba dónde vives, prueba cuándo.
El importe de un recibo de CFE cambia cada periodo. La fecha de emisión, también. Por eso un recibo sirve como prueba de vigencia: no porque diga tu calle —eso lo dice tu credencial—, sino porque un recibo con importe y fecha de hace dos meses demuestra que la relación con ese domicilio sigue viva hoy.
Y por eso, cuando alguien edita un comprobante para reutilizarlo, casi siempre toca dos campos: la fecha, para que parezca reciente, y a veces el importe, para que cuadre. Son exactamente los dos campos que un proceso serio debería mirar con lupa —y ligarlos a su ubicación exacta en la hoja, para que un humano confirme en un clic en vez de releer el documento entero.
Cómo lo resolvimos
El enfoque es simple de decir y no tanto de construir: que el documento entre ya leído al expediente.
- Clasificación automática. No hay que decirle qué documento es. Recibe el archivo y detecta solo si es un recibo de nómina, un estado de cuenta, un comprobante de domicilio o una factura —y, dentro de “comprobante”, si es luz, agua o gas—. Sin catálogo fijo por banco ni por proveedor: el mismo motor aplana emisores que nunca ha visto.
- Cada dato, ligado a su origen. Cada campo sale estructurado, con su nivel de confianza y con la coordenada de la página de la que se leyó. Pasar el cursor sobre “dirección” resalta el renglón exacto en la imagen. Auditar deja de ser releer.
- Señal de alteración y consistencia. El documento se revisa en busca de rastros de edición, y los datos se cruzan entre sí: que el nombre del titular concuerde, que la fecha sea reciente, que el RFC tenga la forma correcta para el tipo de persona.
Nada de esto decide por ti. Entrega los datos y las señales; la decisión sigue siendo del equipo. Pero la diferencia entre “aquí está el texto, suerte” y “aquí está cada campo, de dónde salió y qué tan confiable es” es la diferencia entre capturar a mano y revisar por excepción.
Un ejemplo
Le mandas el archivo y, segundos después, recibes por webhook algo así:
{
"status": "success",
"document_type": "recibo_cfe",
"category": "proof_of_address",
"issuer": "CFE",
"subtype": "electricity",
"document_date": "2026-07-18",
"document_age_days": 37,
"data": {
"holder": { "value": "MARIA LOPEZ GARCIA", "confidence": 0.98 },
"full_address": { "value": "AV. INSURGENTES SUR 1234, DEL VALLE, 03100, CDMX", "confidence": 0.95 },
"amount_cents": { "value": 84200, "confidence": 0.97 }
},
"consistency": { "overall": "match" },
"tamper": { "risk": "low" }
}
El tipo de documento, el emisor y la subcategoría los detectó solo. document_age_days te dice de un vistazo qué tan reciente es. Y cada valor en data trae, en la vista completa, la ubicación de la que se leyó.
Qué hacer ahora
Extraer no es verificar —leer el importe de un recibo no confirma que sea vigente ante CFE, y lo decimos claro—. Pero es el primer paso para dejar de teclear expedientes a mano.
Sube un documento en el entorno de prueba y mira qué devuelve. No cuesta nada.