Cómo envío facturas automáticas con Make (el sistema que uso con mis clientes)

Facturar es una de esas tareas que nadie disfruta especialmente pero que no puedes permitirte hacer mal ni tarde. Un retraso en la factura es un retraso en el cobro. Un error en los datos es una reclamación del cliente. Y hacerlo manualmente cada mes para cada cliente es tiempo que podrías dedicar a trabajo que realmente genera valor.

Llevo tiempo con este proceso casi completamente automatizado usando Make. El sistema genera las facturas, las envía a los clientes y registra todo en mi base de datos sin que yo intervenga. Lo configuré una vez y desde entonces funciona solo.

En este artículo te cuento el sistema completo. Las herramientas que uso, la estructura de la automatización y los detalles que marcan la diferencia entre un sistema que funciona bien y uno que genera más problemas de los que resuelve.

Las herramientas del sistema

El sistema de facturación automática que uso combina cuatro herramientas. Todas tienen plan gratuito o coste muy bajo.

Airtable como base de datos de clientes y servicios. Aquí vive toda la información que necesito para generar cada factura: datos del cliente, servicios contratados, importes, periodicidad y estado de facturación.

Google Docs como generador de facturas. Tengo una plantilla de factura en Google Docs con marcadores de posición que Make sustituye por los datos reales de cada cliente.

Gmail para el envío automático de las facturas en formato PDF.

Make como orquestador de todo el proceso. Es el que lee los datos de Airtable, genera el documento en Google Docs, lo convierte a PDF y lo envía por Gmail.

La estructura de Airtable: dónde viven los datos

Antes de construir el escenario en Make, necesitas tener bien estructurada la base de datos de clientes en Airtable. Sin datos bien organizados, la automatización no puede funcionar correctamente.

Mi tabla de clientes en Airtable tiene los siguientes campos relevantes para la facturación.

Nombre del cliente — Texto. El nombre completo de la persona o empresa que aparecerá en la factura.

NIF/CIF — Texto. El número de identificación fiscal del cliente. Campo crítico para la validez legal de la factura en España.

Dirección completa — Texto largo. La dirección fiscal del cliente con calle, número, código postal, ciudad y provincia.

Email de facturación — Email. La dirección donde se enviará la factura. A veces diferente al email de contacto habitual.

Servicio contratado — Texto. Descripción del servicio que aparecerá en el concepto de la factura.

Importe mensual — Número, formato moneda €. El importe base antes de impuestos.

IVA aplicable — Número, formato porcentaje. El tipo de IVA que aplica a ese cliente o servicio. En España lo más habitual es el 21%, pero puede variar.

Día de facturación — Número. El día del mes en que se genera y envía la factura a ese cliente. Me permite distribuir la carga de facturación a lo largo del mes en lugar de acumularlo todo el día 1.

Estado de facturación — Selección única. Opciones: Activo, Pausado, Cancelado. Make solo procesa los clientes con estado Activo.

Número de serie — Número. El número de factura más reciente generado para ese cliente. Make lo incrementa automáticamente con cada nueva factura.

Última factura generada — Fecha. La fecha de la última factura enviada. Útil para verificar que el sistema funciona correctamente y para detectar si algún cliente se saltó por algún error.

La plantilla de factura en Google Docs

La plantilla de factura es un documento de Google Docs con el diseño y la estructura de tus facturas habituales. Lo que la hace especial son los marcadores de posición: textos entre dobles llaves que Make sustituirá por los datos reales de cada cliente.

Los marcadores que uso en mi plantilla son los siguientes.

{{numero_factura}}
{{fecha_factura}}
{{nombre_cliente}}
{{nif_cliente}}
{{direccion_cliente}}
{{concepto_servicio}}
{{base_imponible}}
{{porcentaje_iva}}
{{importe_iva}}
{{total_factura}}
{{mes_facturado}}

El diseño alrededor de esos marcadores es el de una factura normal. Mis datos como emisor en la parte superior, los datos del cliente en el bloque de destinatario, la tabla de conceptos con las variables de servicio e importes, el desglose de IVA y el total.

Un detalle importante sobre la plantilla: no uses la plantilla original directamente. Make hace una copia de la plantilla para cada factura, sustituye los marcadores en esa copia y genera el PDF desde esa copia. La plantilla original queda intacta para el siguiente uso. Si por algún error Make modifica la plantilla original en lugar de una copia, perderías la estructura para las siguientes facturas.

Para evitar ese riesgo, guarda la plantilla en una carpeta de Google Drive específica y dale permisos de edición a la cuenta de servicio de Make. Guarda también el ID del documento —está en la URL del documento— porque lo necesitarás en la configuración del escenario.

El escenario de Make: la automatización completa

Con la base de datos y la plantilla listos, construimos el escenario en Make. Te describo cada módulo en el orden en que aparecen.

Módulo 1: Trigger — Schedule

El escenario se activa de forma programada, no en respuesta a un evento externo. Uso un trigger de tipo Schedule configurado para ejecutarse todos los días a las 9:00 de la mañana.

¿Por qué diario y no mensual? Porque cada cliente tiene su propio día de facturación. Si el escenario se ejecutara una vez al mes, tendría que ejecutarlo 28-31 veces al mes para cubrir todos los días posibles. Con un trigger diario, el escenario se ejecuta cada día y Make decide internamente qué clientes tocan facturar ese día específico.

Módulo 2: Search Records en Airtable

El primer módulo activo busca en Airtable los registros de clientes que cumplen dos condiciones simultáneamente.

Condición 1: Campo Estado de facturación = «Activo».
Condición 2: Campo Día de facturación = número del día del mes actual.

Para la segunda condición, uso la función de Make {{formatDate(now; "D")}} que devuelve el número del día actual. Si hoy es día 15, Make busca todos los clientes con Día de facturación = 15.

El resultado de este módulo es un array —una lista— con todos los registros de clientes que tienen que facturarse hoy. Si hoy es día 15 y tengo tres clientes con ese día de facturación, el array tendrá tres elementos.

Módulo 3: Iterator

El módulo Iterator toma el array de clientes del módulo anterior y procesa cada elemento por separado. Es decir, los siguientes módulos se ejecutarán una vez por cada cliente que haya que facturar hoy.

Si el array tiene tres clientes, los módulos siguientes se ejecutan tres veces: una para el primer cliente, otra para el segundo y otra para el tercero.

Módulo 4: Calcular los importes

Antes de generar el documento, necesito calcular los importes que aparecerán en la factura. Make tiene un módulo de tipo Set Variable que permite hacer cálculos y guardar los resultados en variables para usarlas en módulos posteriores.

Configuro tres variables.

base_imponible: El importe mensual del cliente directamente desde Airtable. Ejemplo: 1000.

importe_iva: La base imponible multiplicada por el porcentaje de IVA dividido entre 100. Fórmula en Make: {{round(1.base_imponible * 1.porcentaje_iva / 100; 2)}}. Ejemplo: 210.

total_factura: La suma de base imponible más importe IVA. Ejemplo: 1210.

También genero aquí el número de factura incrementado. Tomo el campo Número de serie del cliente en Airtable y le sumo 1. Ese será el número de la nueva factura.

Módulo 5: Copiar la plantilla en Google Drive

Antes de rellenar los datos, Make hace una copia de la plantilla de factura en Google Drive.

Uso el módulo Copy a File de Google Drive. El archivo de origen es la plantilla de factura —identificada por su ID—. La carpeta de destino es una carpeta en Google Drive donde guardo las facturas generadas, organizada por año y mes. El nombre del archivo de destino lo construyo con una fórmula: Factura {{numero_factura}} - {{nombre_cliente}} - {{mes_facturado}}.

El resultado de este módulo es el ID del nuevo documento —la copia—. Ese ID lo uso en el siguiente módulo.

Módulo 6: Reemplazar los marcadores en Google Docs

Este es el módulo más importante visualmente. Uso el módulo Replace Text in a Document de Google Docs.

Selecciono el documento de destino usando el ID de la copia generada en el módulo anterior. Luego configuro los reemplazos: cada marcador de posición y su valor correspondiente.

{{numero_factura}} → número de factura calculado
{{fecha_factura}} → fecha de hoy formateada como DD/MM/YYYY
{{nombre_cliente}} → nombre del cliente desde Airtable
{{nif_cliente}} → NIF del cliente desde Airtable
{{direccion_cliente}} → dirección del cliente desde Airtable
{{concepto_servicio}} → servicio contratado desde Airtable
{{base_imponible}} → importe calculado formateado con símbolo €
{{porcentaje_iva}} → porcentaje de IVA con símbolo %
{{importe_iva}} → importe de IVA calculado
{{total_factura}} → total calculado
{{mes_facturado}} → mes y año actuales en formato "enero 2026"

Después de ejecutar este módulo, el documento de Google Docs tiene todos los datos reales del cliente en lugar de los marcadores de posición. Es una factura real y completa.

Módulo 7: Descargar el documento como PDF

Google Drive permite descargar cualquier documento de Google Docs en formato PDF directamente. Uso el módulo Download a File de Google Drive con la opción de exportar como PDF.

El resultado es un archivo PDF de la factura lista para enviar. Make lo guarda temporalmente en su memoria para usarlo en el siguiente módulo.

Módulo 8: Enviar el email con la factura adjunta

Con el PDF generado, el módulo de Gmail envía el email al cliente con la factura adjunta.

El destinatario es el campo Email de facturación del cliente. El asunto lo genero con una fórmula: Factura {{numero_factura}} - {{mes_facturado}} | [Mi nombre o empresa]. El cuerpo del email es un texto estándar personalizado con el nombre del cliente que tengo guardado como plantilla de texto en la configuración del módulo. Y el adjunto es el archivo PDF generado en el módulo anterior.

Módulo 9: Actualizar el registro en Airtable

El último módulo actualiza el registro del cliente en Airtable con dos datos.

Incrementa el campo Número de serie sumando 1 al valor actual. Ese nuevo número será la base para la siguiente factura de ese cliente.

Actualiza el campo Última factura generada con la fecha de hoy. Así puedo verificar de un vistazo en Airtable que cada cliente recibió su factura en la fecha correcta.

Los detalles que marcan la diferencia

Después de varios meses con el sistema funcionando, hay tres detalles que aprendí por las malas y que te ahorro.

Gestiona los errores con rutas alternativas. Si el módulo de Gmail falla —por un límite de envío diario alcanzado, por un email de cliente inválido, por cualquier razón—, el escenario no debería actualizar Airtable como si la factura se hubiera enviado correctamente. Añade una ruta de error que cambie el estado del registro a «Error de envío» y te notifique por Telegram. Así siempre sabes cuándo algo falla.

Formatea los importes correctamente en el PDF. Por defecto, Make puede generar números con punto como separador decimal en lugar de coma, que es el estándar en España. Usa la función {{formatNumber(importe; 2; ","; ".")}} para que los importes aparezcan con el formato correcto: puntos para los miles y coma para los decimales.

Guarda los PDFs en una carpeta organizada en Google Drive. El módulo de copia de plantilla debe guardar cada factura en una carpeta con la estructura Facturas/2026/Enero/. Así en unos meses tienes un archivo perfectamente organizado sin esfuerzo adicional. Si no configuras esto desde el principio, acabarás con docenas de PDFs sueltos en Drive sin estructura.

El resultado en la práctica

El primer mes que activé este sistema, facturé a todos mis clientes recurrentes sin tocar nada. Los emails llegaron a cada cliente en su día correspondiente, con su factura correcta adjunta en PDF.

Desde entonces, mi proceso de facturación mensual consiste en revisar en Airtable que todas las facturas tienen fecha en el campo Última factura generada y que ningún registro tiene estado «Error de envío». Eso me lleva menos de cinco minutos al mes.

El resto lo hace Make.

Por Joan

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *