Short answer: Automate invoice creation with n8n by connecting Google Sheets (invoice data) to PDF.co (PDF generation) to Gmail (sending). Add an IF node for overdue days to trigger a 3-stage reminder sequence at 3, 7, and 14 days — no manual follow-up needed. Setup takes under 45 minutes and costs under $2/month to run.

Sending invoices manually is one of the biggest hidden time drains for small businesses. You format a PDF, send it by email, wait, chase it, send a follow-up, forget, send another, lose track of who owes what — and meanwhile $5,000 or more quietly sits unpaid in accounts receivable. In 2026, there is no reason to do any of this by hand. This tutorial shows Peak Automations' recommended approach: a fully automated invoice workflow using n8n, Google Sheets, PDF.co, and Gmail.

Why manual invoicing is hurting your cash flow

The numbers from 2026 make a strong case for automation. Manual invoicing is not just slow — it is genuinely expensive and error-prone at a scale most business owners underestimate.

55%+
of all US invoices are paid past their due date — average delay is 6 to 8 days
39%
of manually created invoices contain at least one error — each error costs ~$53 to fix
14 hrs
per week the average SMB owner spends chasing late payments — that is 15 full days per year
$22
average cost to process a single invoice manually vs under $1 with automation

More striking: 61% of all late payments are caused by invoice errors — wrong amounts, missing references, wrong email addresses. Automating invoice creation from a clean Google Sheets source eliminates that error vector entirely, because the same data that tracks the client and amount is what populates the invoice.

What does the automated workflow do?

The workflow runs on a Schedule trigger in n8n, polling your Google Sheets invoice tracker every hour. On each run it does three things automatically:

  1. Creates and sends new invoices. Any row with Status = "pending" triggers PDF generation via PDF.co and an email send via Gmail. Status is updated to "sent" with the date.
  2. Sends escalating payment reminders. Rows with Status = "sent" and a past due date trigger reminder emails based on how many days overdue: 3-day nudge, 7-day follow-up, 14-day final notice. The Last Reminded column prevents duplicates.
  3. Alerts you on seriously overdue invoices. Any invoice unpaid after 14 days triggers a personal email alert to you (the owner) listing which client owes what — your cue to call rather than email.

The workflow handles any number of clients simultaneously. Each row in Google Sheets is processed independently, so 10 clients can be at different reminder stages at the same time.

What tools do you need?

n8n Free, self-hosted. Runs on a $5/month VPS using Docker. Unlimited executions.
Google Sheets Free. Your invoice database. One sheet = one source of truth for all invoices.
PDF.co From $0.01/PDF on pay-as-you-go. Generates professional PDF invoices from HTML templates.
Gmail Free. Sends invoices and reminders. Connect via Google Service Account — never expires.

Total running cost for 50 invoices/month: under $2. No subscription required beyond your VPS hosting. If you already run n8n for other automations, the incremental cost is essentially zero.

Skip building this yourself — get the ready-to-import template

Peak Automations' Invoice Processing Automation ($89, one-time) is a pre-built, tested n8n and Make.com workflow that covers invoice creation, Gmail sending, 3-stage reminders, and owner alerts. Import in under 5 minutes.

Get the Invoice Automation Template

How to build the workflow: step by step

This section walks through building the workflow from scratch in n8n. If you have not set up n8n yet, read our n8n free setup guide first — it takes about 20 minutes.

Step 1 — Set up your Google Sheets invoice tracker

Create a new Google Sheet with these column headers:

ColumnPurposeExample value
Client NameWho you are invoicingAcme Plumbing
EmailWhere to send the invoiceowner@acmeplumbing.com
Invoice NumberUnique ID for each invoiceINV-2026-047
AmountTotal due in dollars1250.00
Due DatePayment deadline (YYYY-MM-DD)2026-06-22
StatusWorkflow tracks state herepending / sent / paid
Invoice Sent DateWhen the invoice was sent2026-06-15
Last RemindedDate of most recent reminder2026-06-18
Reminder StageWhich reminder was sent last3-day / 7-day / 14-day

Every new invoice you add gets Status = "pending". The workflow handles everything from there — you never need to touch the row again unless the client marks it paid.

Step 2 — Connect Google Sheets using a Service Account

Do not use standard OAuth for this workflow. Standard OAuth tokens expire and break when passwords change. Use a Google Service Account instead:

  1. Go to Google Cloud Console and create a new project (or use an existing one).
  2. Enable the Google Sheets API and Gmail API.
  3. Create a Service Account under IAM & Admin. Download the JSON key file.
  4. Share your invoice Google Sheet with the Service Account email address (ending in @[project].iam.gserviceaccount.com).
  5. In n8n, add a Google Sheets credential using "Service Account" auth. Paste the JSON key contents. This credential never expires.

This is the same pattern used in reliable billing automations at scale. One password change at your company will never silently break your invoicing workflow again.

Step 3 — Add the Schedule Trigger

In n8n, add a Schedule Trigger node set to run every 1 hour. This is the heartbeat of the workflow — every hour it wakes up and checks your sheet for new invoices and overdue reminders.

Step 4 — Read the sheet and filter by status

Add a Google Sheets node to read all rows from your invoice tracker. Then add an IF node with two output branches:

Step 5 — Generate the PDF invoice

For Branch A (new invoices), add an HTTP Request node calling the PDF.co API at https://api.pdf.co/v1/pdf/convert/from/html. In the request body, pass your invoice HTML template with n8n expressions to merge in the client name, invoice number, amount, due date, and your business details. PDF.co returns a temporary download URL.

A minimal invoice HTML template typically includes your logo, business address, client address block, line items table, subtotal, tax, and total. The template is reused for every invoice — only the data values change.

Step 6 — Send the invoice email via Gmail

Add a Gmail node to send the invoice. Set the recipient to the Email column from your sheet. In the email body, include a clear payment link (a Stripe payment link or a "Pay by bank transfer" note). Attach the PDF by downloading it from the PDF.co URL using an HTTP Request node before the Gmail node.

After sending, update the row in Google Sheets: set Status to "sent" and log today's date in Invoice Sent Date.

Invoices that include embedded payment links (Stripe, PayPal, or ACH) are paid 174% faster on average — 7 days to payment vs. 18 days for invoices with no payment link. Always include one.

Step 7 — Set up the 3-stage payment reminder sequence

Branch B handles overdue invoices. Add a Code node to calculate the days since the invoice was due: Math.floor((Date.now() - new Date(dueDate)) / 86400000). Then add IF nodes for each reminder stage:

Day 3 — Polite nudge

Subject: "Quick reminder: Invoice [INV-2026-047] is due." Tone: friendly and assuming the client forgot. Include a payment link and your bank details. Update Reminder Stage to "3-day".

Day 7 — Firm follow-up

Subject: "Invoice [INV-2026-047] is now 7 days overdue — please advise." Tone: professional and direct. Ask if there is an issue with the invoice. Reattach the PDF and payment link. Update Reminder Stage to "7-day".

Day 14 — Final notice + owner alert

Subject: "Final notice: Invoice [INV-2026-047] requires immediate payment." Set a strict deadline (e.g., "Payment is required by [date + 5 days] or this matter will be escalated"). Update Reminder Stage to "14-day". Also trigger the owner alert Gmail node.

Each IF branch checks both the days overdue AND the Reminder Stage column — so a client who has already received the 7-day email does not get the 3-day email again on the next hourly run. Update Last Reminded and Reminder Stage after every email.

Step 8 — Test the workflow end to end

Add a test row to your Google Sheet with Status = "pending" and a due date three days in the past. Run the workflow manually in n8n. Verify: (1) a PDF invoice was generated, (2) the Gmail was sent to the correct address, (3) the row Status updated to "sent", and (4) the overdue branch triggers and sends the Day 3 reminder on the next run.

Manual vs automated invoicing: the comparison

MetricManual invoicingAutomated with n8n
Cost per invoice $12.88–$22.00 (labor + time) Under $1.00–$2.78
Time spent on reminders 14 hours/week average 0 hours — fully automated
Invoice error rate 39% contain errors Near 0% (data from Sheets)
On-time payment rate 6% paid within 30 days 33–42% paid within 30 days
Average days to payment 18 days (no payment link) 7 days (with payment link)
Reminder follow-through Inconsistent — depends on memory 100% — every invoice, every time
Cash collected after 14 days 15% success rate (late follow-up) 65% success rate (within 48h)

The case for automation is not marginal. For a business sending 50 invoices per month at $22 manual processing cost, that is $1,100/month in labor cost saved — before counting the improvement in cash flow from faster payment collection.

What about Make.com instead of n8n?

This tutorial uses n8n because it is free to self-host with unlimited runs, which is ideal for hourly invoice polling. Make.com works equally well for the same workflow — the logic is identical, just in Make's visual scenario builder. Make.com's free tier allows 1,000 operations per month, which covers roughly 30 invoices per month if you count each workflow step. For higher volumes, n8n's self-hosted model is more cost-effective. For a detailed comparison of both platforms, read our full Make.com vs n8n guide.

Related: automate the full billing cycle

Invoice creation is one piece of the billing cycle. Two other workflows that pair well with this one:

Frequently asked questions

Can I automate invoice creation with n8n for free?

Yes. n8n is free to self-host on a $5/month VPS using Docker, giving you unlimited workflow executions. The only paid component in this invoice workflow is PDF.co, which costs from $0.01 per PDF on pay-as-you-go. For a small business sending 20–50 invoices per month, total running cost is well under $2/month.

What tools do I need to automate invoice sending?

The core stack is: n8n (workflow automation), Google Sheets (invoice database), PDF.co or similar (PDF generation), and Gmail (sending). All four connect inside a single n8n workflow. Make.com works equally well as the automation platform if you prefer a visual no-code approach.

How do automated payment reminders improve cash flow?

2026 data shows automated reminder sequences collect payments 12 to 18 days faster than manual follow-up. Following up within 48 hours of a missed payment achieves a 65% collection success rate — waiting 14 days drops that to just 15%. Businesses sending invoices with embedded payment links get paid 174% faster, with average payment time dropping from 18 days to 7 days.

Why should I use a Google Service Account instead of OAuth for n8n?

Standard OAuth tokens expire and break if the user's password changes or their account is deleted. A Google Service Account creates permanent credentials independent of any human user. For billing automations that handle real money, this is critical — a broken credential means invoices silently stop sending.

How many invoice reminders should I send before escalating?

Best practice in 2026 is a 3-stage sequence: Day 3 (polite nudge assuming the client forgot), Day 7 (firm follow-up asking if there is an issue), Day 14 (final notice with a strict deadline). After Day 14, trigger an owner alert to follow up personally — automated emails alone have diminishing returns on invoices more than 14 days past due.

Can this workflow handle invoices from multiple clients?

Yes. The workflow reads all rows in your Google Sheet on every hourly run, so it handles any number of clients simultaneously. Each row is processed independently — different clients can be at different reminder stages at the same time, and the Status and Last Reminded columns track each client's state individually.

What is the cost of manual invoice processing compared to automated?

2026 benchmarks put manual invoice processing at $12.88 to $22.00 per invoice, driven by labor for data entry, error correction, and reminder chasing. Automated processing drops this to under $1.00 to $2.78 per invoice. For a business sending 50 invoices per month, that is a saving of $500 to $1,000 per month in time and labor.