Finance & Ops · n8n

Auto-Generate and Email Recurring Invoices from a Google Sheet

An n8n workflow that reads a Google Sheet of recurring clients, generates each due invoice as a PDF with the right amount and line items, emails it, and marks it sent — so freelancers and agencies bill on time every month without touching invoicing software.

difficulty Intermediatesetup 60 minresult Every recurring client is invoiced automatically on their billing day, PDF emailed and logged
  1. 1

    Run daily

    A Schedule Trigger runs each morning. A Google Sheets read pulls all recurring clients.

  2. 2

    Keep only today's invoices

    A Filter node keeps rows whose billing_day equals today's day-of-month, so only clients due today proceed.

  3. 3

    Build the invoice PDF

    A Set/HTML step fills your invoice template with client name, line items, amount and the next invoice number, then an HTTP Request renders it to PDF.

  4. 4

    Email and mark sent

    A Gmail node sends the PDF to the client, then a Google Sheets update increments the invoice number and writes the sent date so nothing double-bills.

Frequently asked questions

How does it know which invoices are due?

Each client row has a billing day of the month and a next-invoice number. The daily run keeps only rows whose billing day matches today, so exactly the right clients are invoiced — no more, no less.

How is the PDF created?

An HTML invoice template is filled with the client's details and rendered to PDF via a converter (an HTML-to-PDF API or n8n's HTML node piped to a PDF service). The PDF is attached to the email; the sheet stores the invoice number so numbering stays sequential.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.