Correspondencia Cruzada

La mayoría de las guías de correspondencia cruzada explican la teoría. Este artículo hace lo contrario: tomamos una de nuestras plantillas de ejemplo, armamos un lote real de 50 certificados y medimos qué pasa. No es un caso de un cliente ni una cifra inventada para impresionar; es un ejercicio que cualquiera puede repetir con los mismos archivos que dejamos disponibles.

El objetivo es responder preguntas concretas: ¿cuánto tarda en realidad?, ¿qué falla cuando los datos no están limpios?, y ¿cuándo este flujo no es la mejor opción?

El escenario

Imagina un instituto de capacitación que termina un curso y necesita emitir un certificado por participante. Son 50 alumnos, cada certificado lleva el nombre, el RUT, el nombre del curso, la calificación, las horas, la fecha de emisión y el director que firma. Hacerlo a mano significa abrir Word 50 veces y reemplazar campos uno por uno: lento y fácil de equivocarse.

Para este caso usamos la plantilla **Certificados y diplomas** que está publicada en nuestra biblioteca de plantillas gratuitas, junto con su archivo de datos de ejemplo.

Los archivos que usamos

La plantilla viene con sus campos ya definidos entre comillas angulares («campo»), que es uno de los tres delimitadores que la herramienta reconoce. Los campos de la plantilla coinciden exactamente con las columnas del archivo de datos:

  • «Nombre_Institucion»
  • «Nombre_Participante»
  • «RUT»
  • «Nombre_Curso»
  • «Calificacion»
  • «Numero_Horas»
  • «Fecha_Emision»
  • «Nombre_Director»

El archivo de ejemplo datos-certificados.csv trae 5 filas para que pruebes rápido. Para este caso lo ampliamos a 50 participantes manteniendo la misma estructura de columnas; puedes descargar ese dataset completo en datos-certificados-50.csv y la plantilla en plantilla-certificados.docx, de modo que reproduzcas el caso exactamente. Ese es un punto importante: el secreto de un lote sin errores no está en la herramienta, sino en que los encabezados de la planilla sean idénticos a las llaves de la plantilla.

Planilla de certificados en Excel con las ocho columnas que alimentan la plantilla.
Planilla de certificados en Excel con las ocho columnas que alimentan la plantilla.

Si quieres entender cómo se construye una plantilla estable desde cero, lo explicamos en detalle en la guía cómo preparar una plantilla DOCX.

Cómo configuramos la generación

El flujo tiene cuatro pasos. Una vez cargados la plantilla y el archivo de datos, hay dos decisiones que conviene no saltarse:

  • **El delimitador.** La herramienta detecta automáticamente que la plantilla usa comillas angulares « ». Si tu plantilla usara otro formato (<<campo>> o [campo]), lo verías reflejado aquí. Lo importante es no mezclar estilos dentro del mismo documento.
  • **El patrón de nombre de archivo.** En lugar de quedarnos con nombres genéricos, definimos un patrón usando los propios campos: `Certificado_«Nombre_Participante».docx`. Así cada archivo del lote sale identificado por su participante y el ZIP queda ordenado desde el primer momento.

Antes de generar, el panel de revisión muestra cuántas filas se procesarán y qué campos se detectaron. Es el último punto de control para corregir sin re-procesar todo.

Panel de revisión con las 50 filas detectadas y los ocho campos reconocidos antes de generar.
Panel de revisión con las 50 filas detectadas y los ocho campos reconocidos antes de generar.

Lo que medimos

Aquí están los números reales, medidos sobre el mismo archivo de 50 filas que puedes descargar más arriba. Generar y empaquetar los **50 certificados tomó alrededor de 0,8 segundos** en total, repartidos así:

  • Crear los 50 documentos DOCX: cerca de 0,34 segundos (unos 7 milisegundos por documento).
  • Comprimir todo en el archivo ZIP de descarga: cerca de 0,43 segundos.
  • Tamaño del ZIP final: aproximadamente 0,8 MB.

**Cómo lo medimos.** Reprodujimos el lote con las mismas librerías que usa la herramienta para construir los DOCX (docxtemplater y JSZip) y la misma configuración (delimitadores « », compresión DEFLATE), ejecutando en Node sobre la plantilla y el dataset reales y tomando el mejor de tres intentos en un equipo de escritorio. No es un número de marketing: es el costo del mismo trabajo que tu navegador realiza localmente en un Web Worker. En tu equipo el tiempo puede variar, pero el orden de magnitud es el mismo: segundos, no minutos.

El costo por documento se mantiene estable (alrededor de 7 milisegundos), así que el tiempo crece de forma prácticamente lineal con el número de filas: un lote del doble de tamaño tarda más o menos el doble. La mayor parte del tiempo se va en comprimir el ZIP, no en rellenar las plantillas. Y como la generación DOCX ocurre localmente en tu navegador, ese lote nunca sale de tu dispositivo.

Pantalla de descarga con el ZIP de 50 certificados listo.
Pantalla de descarga con el ZIP de 50 certificados listo.

Los errores que encontramos

Un caso honesto incluye lo que salió mal. Estos son los tropiezos reales del ejercicio y cómo se resolvieron:

  • **Una columna con tilde en el encabezado.** Al principio una columna se llamaba «Calificación» en la planilla pero «Calificacion» en la plantilla. La coincidencia es sensible a acentos, así que ese campo quedaba vacío. Solución: igualar el encabezado al de la llave, carácter por carácter.
  • **Una celda de calificación vacía.** Un participante no tenía nota cargada. El motor no falla: simplemente deja ese campo en blanco en su certificado. Conviene revisarlo antes, no después de imprimir.
  • **El separador del CSV.** El archivo de ejemplo usa punto y coma (;) como separador, que es lo habitual cuando se exporta desde Excel en español. Si tu CSV usa coma, asegúrate de que las columnas se interpreten bien al cargarlo.
  • **Nombres de archivo repetidos.** Si dos participantes se llaman igual, el patrón de nombre generaría dos archivos idénticos; la herramienta los desambigua agregando un sufijo, pero es mejor incluir un campo único como el RUT en el patrón si trabajas con homónimos.

¿Y la versión en PDF?

Para los certificados, muchas instituciones quieren el archivo final en PDF. El flujo lo permite: además de descargar el lote en DOCX, puedes pedir la conversión a PDF. Esa conversión sí ocurre en un servicio temporal (no en tu navegador), está protegida con una validación anti-bots y tiene límites de uso por hora para mantener el servicio disponible. Por eso, para volúmenes grandes, la estrategia que recomendamos es generar primero el DOCX, revisarlo y recién entonces convertir a PDF.

Cuándo NO conviene este flujo

La correspondencia cruzada brilla cuando muchos documentos comparten una misma estructura y solo cambian los datos. No es la mejor herramienta cuando:

  • Cada documento tiene un diseño distinto: ahí no hay una plantilla común que reutilizar.
  • Necesitas lógica condicional compleja (párrafos que aparecen o desaparecen según muchas reglas): conviene un sistema más especializado.
  • El lote supera el límite de filas del MVP en una sola ejecución: en ese caso es mejor dividirlo en sub-lotes y revisarlos por separado.
  • Los datos cambian a cada minuto y necesitas regenerar constantemente: vale la pena evaluar una integración automatizada.

Conclusión

Generar 50 certificados desde Excel y Word pasó de ser una tarea de una tarde a un proceso de segundos, con un punto de control claro antes de exportar. Lo más valioso no fue la velocidad, sino la consistencia: los 50 archivos salieron con el mismo formato y los datos correctos de cada persona.

Si quieres reproducir este caso, descarga la plantilla y los datos desde la biblioteca de plantillas gratuitas y prueba con un lote pequeño primero. Cuando veas que la previsualización está bien, genera tu lote completo.