$5 · Support the community

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.