Skip to main content

Generate invoice PDFs from Google Sheets with DocuPotion and Drive

Workflow preview

Workflow preview
100%
Generate invoice PDFs from Google Sheets with DocuPotion and Drive preview
Open on n8n.io

1. Workflow Overview

Automatically generate an Invoice PDF from Google Sheets data with DocuPotion How it works This workflow automatically generates a branded PDF invoice from data in Google Sheets and saves it to Goo...

Best for

  • Invoice Processing automation workflows
  • intermediate n8n builders looking for reusable templates

Tools used

n8n-nodes-base.googlesheetstrigger, n8n-nodes-base.filter, n8n-nodes-base.splitinbatches, n8n-nodes-base.googlesheets, n8n-nodes-base.aggregate, n8n-nodes-docupotion.docupotion, n8n-nodes-base.googledrive, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Alex Cooney.

Original n8n.io source

1.1 Workflow description

Title
Generate invoice PDFs from Google Sheets with DocuPotion and Drive
Workflow name
Generate invoice PDFs from Google Sheets with DocuPotion and Drive

Automatically generate an Invoice PDF from Google Sheets data with DocuPotion

How it works

This workflow automatically generates a branded PDF invoice from data in Google Sheets and saves it to Google Drive. No manual document editing required.

It's triggered when you update the status column of any row in your invoices sheet to Active. From there it:

  1. Fetches all line items for that invoice from a separate "line items" tab (matched by invoice_number)
  2. Aggregates the line items and calculates the total
  3. Generates a PDF using your DocuPotion invoice template, with customer details and line items merged in
  4. Uploads the PDF to your Google Drive, named Invoice-{invoice_number}.pdf
  5. Writes the PDF link back to the invoice row and updates its status to Sent

The workflow loops over invoices, so you can flip multiple rows to Active at once and each will be processed independently. Polling runs every minute (but you can change this to whatever frequency you want).

What you'll need

  • A Google account (Sheets + Drive)
  • A DocuPotion account with an invoice template configured
  • The DocuPotion community node installed in your n8n instance

Set up steps

1. Copy the demo Google Sheet

👉 Demo invoice Sheet

Open the link and go to File → Make a copy. This gives you a Sheet with the correct structure:

  • invoices tab: invoice_number, invoice_date, due_date, status, customer_name, customer_email, customer_company, customer_address, pdf_url
  • line items tab: invoice_number, description, quantity, unit_price

2. Install the DocuPotion community node

In n8n, go to Settings → Community Nodes → Install and enter 'DocuPotion'.

3. Create your DocuPotion invoice template

Log into DocuPotion and create a template for your invoice layout. The workflow passes these merge fields to the template:

invoice_number, invoice_date, due_date, customer_name, customer_company, customer_address, customer_email, total, and line_items[] (an array where each item has description, quantity, unit_price).

Note the template ID from DocuPotion — you'll need it in step 5.

4. Connect credentials

Import this workflow into n8n, then connect credentials for:

  • Google Sheets (used by the trigger and two action nodes)
  • Google Drive
  • DocuPotion

5. Point the workflow at your resources

  • In all three Google Sheets nodes (Invoice Status Updated to Active, Get Invoice Items, Add Link to Google Sheet), replace the document ID with your copied Sheet's ID.
  • In the Generate PDF node, replace the template ID with your DocuPotion template ID.
  • Optionally, in Upload to Google Drive, change the destination folder from root to a subfolder like /Invoices.

6. Activate and test

Turn on the workflow. Then in your invoices Sheet, change the status of a sample row to Active. Within a minute, you should see:

  • A new PDF in your Drive
  • The pdf_url column populated
  • The status column updated to Sent

Customisation ideas

  • Email the PDF: add a Gmail node after Upload to Google Drive to send the invoice to customer_email automatically.
  • Different statuses: change the filter to trigger on a custom status like Approved or Ready to send.
  • Branded filename: edit the filename expression in Upload to Google Drive to include company name or date.
  • Faster polling: change the trigger from "every minute" to a shorter interval if you're on self-hosted n8n.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Invoice Status Updated to Active

Type / Role
n8n-nodes-base.googleSheetsTrigger - googleSheetsTrigger
Config choices
Version 1

Block 2 - Filter for Updated Invoice

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.3

Block 3 - Loop Over Invoices

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 4 - Get Invoice Items

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 5 - Create JSON Object From Items

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 6 - Generate PDF

Type / Role
n8n-nodes-docupotion.docupotion - docupotion
Config choices
Version 1

Block 7 - Upload to Google Drive

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 8 - Add Link to Google Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 9 - Sticky Note - Overview

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - Sticky Note - Sheets Setup

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note - DocuPotion Setup

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note - Drive Setup

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Generate invoice PDFs from Google Sheets with DocuPotion and Drive
Complexity intermediate
Nodes 12
Categories Invoice Processing
Author Alex Cooney
Published 23 Apr 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15259/15259.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate invoice PDFs from Google Sheets with DocuPotion and Drive do?

Automatically generate an Invoice PDF from Google Sheets data with DocuPotion How it works This workflow automatically generates a branded PDF invoice from data in Google Sheets and saves it to Goo...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Invoice Processing use case.