Skip to main content

Un amigo periodista me pidió crear una herramienta para generar facturas en PDF. Con Cursor y ChatGPT lo logré en dos tardes.

Mi amigo periodista estaba harto: «Paso más tiempo facturando que escribiendo«. Y ahí me di cuenta de algo: la IA podía ayudarle a recuperar ese tiempo. Luego, me puse a ello.

Paso 1: escoger la herramienta

Lo primero es seleccionar la herramienta. Me habían hablado de Cursor, que integra muchos modelos diferentes: GPT, Claude… Otro amigo que se dedica a programar me comentó que se ahorraba muchas horas: dejaba que la IA generara un primer borrador y luego lo modificaba. Pero en mi caso, yo no tengo ni idea de programación.

El ‘chat’ se puede usar para preguntar en lenguaje natural y, si te gusta la respuesta, se puede implementar automáticamente. El ‘composer’ directamente aplica los cambios (que también puedes rechazar en el último momento.

Paso 2: diseñar la interfaz

Lo primero que hice fue identificar varios puntos que se podrían agilizar. Mi amigo introducía manualmente los conceptos (títulos de cada artículo) en un Google Sheets. Para facilitarle la vida, llegué a la conclusión de que sería más fácil tener un generador web que permitiera importar los artículos y que los añadiera como ítem en la lista de facturación.

Primero le pedí a Claude que generara la interfaz: un formulario que permitiera introducir todos los datos de la factura: emisor, cliente, términos, condiciones de pago… Luego, le añadí la función de importar artículos (que permite seleccionarlos desde el ordenador y asignar un mismo precio a todos ellos). Automáticamente, se carga la información de cada artículo como un ítem separado. Por último, añadí la opción de exportar e importar factura, para que así no tenga que introducir cada vez los datos.

Paso 3: generar el PDF sin errores

El verdadero reto llegó con el PDF. El primer intento era una simple captura de pantalla convertida a PDF, pero cortaba los datos y no permitía copiar el texto. Necesitaba una solución mejor.

Me dispuse a cambiar la función, pero lo hice a través de ChatGPT, con el modelo razonador o1 (está integrado en Cursor, pero es de pago). El modelo de OpenAI me generó un primer código, que luego integré con Cursor. En la función generatePDF, se recogían todos los datos de la factura para luego generar el documento ordenado. Para ello, se usaban algunas funciones, como doc.autoTable, que permitía generar la tabla con los artículos y su precio.