artenis.alija
ende
n8n workflowsOpen-source project

n8n Invoice Payment Follow-up

n8n workflows that chase unpaid invoices with escalating AI-written reminders and stop the moment Stripe or a manual confirmation marks the invoice paid.

Source repositories

n8n workflows

Each diagram is drawn from the workflow’s own JSON. Download a file and import it in n8n (Workflows → Import from file), then attach your own credentials — every credential and instance ID has been removed.

Invoice Follow-up — Daily Runner (A)

15 nodes · 17 connections

Download JSON
Schedule Trigger 08:00CRONSchedule Trigger 08…Postgres — Select Overdue InvoicesPGPostgres — Select O…IF — Any Rows?IFIF — Any Rows?Split In BatchesLOOPSplit In BatchesCompute Days Overdue & Build Prompt{ }Compute Days Overdu…Groq Generate EmailHTTPGroq Generate EmailParse Groq Response{ }Parse Groq ResponseIF — Has Drive File?IFIF — Has Drive File?Google Drive — Download Invoice PDFDRVGoogle Drive — Down…Gmail — Send Reminder With AttachmentMAILGmail — Send Remind…Gmail — Send Reminder Without AttachmentMAILGmail — Send Remind…Postgres — Update Followup CountPGPostgres — Update F…Airtable — Sync StatusHTTPAirtable — Sync Sta…IF — Critical Alert?IFIF — Critical Alert?Gotify — Overdue AlertHTTPGotify — Overdue Al…
  • Trigger
  • Database
  • Logic
  • Code
  • HTTP
  • Messaging

Invoice Follow-up — Stripe Payment Confirmation (B)

8 nodes · 7 connections

Download JSON
Webhook — Stripe InboundHOOKWebhook — Stripe In…Extract Payment Metadata{ }Extract Payment Met…Postgres — Mark PaidPGPostgres — Mark PaidIF — Row Updated?IFIF — Row Updated?Airtable — Mark PaidHTTPAirtable — Mark PaidGmail — Send ConfirmationMAILGmail — Send Confir…Respond — 200 OKRESPRespond — 200 OKRespond — 200 No-opRESPRespond — 200 No-op
  • Trigger
  • Code
  • Database
  • Logic
  • HTTP
  • Messaging

Invoice Follow-up — Tally Manual Payment (C)

9 nodes · 8 connections

Download JSON
Webhook — Tally InboundHOOKWebhook — Tally Inb…Extract Form Fields{ }Extract Form FieldsPostgres — Mark Paid ManuallyPGPostgres — Mark Pai…IF — Row Updated?IFIF — Row Updated?Airtable — Mark PaidHTTPAirtable — Mark PaidGmail — Send ConfirmationMAILGmail — Send Confir…Gotify — Invoice Not FoundHTTPGotify — Invoice No…Respond — 200 OKRESPRespond — 200 OKRespond — 200 Not FoundRESPRespond — 200 Not F…
  • Trigger
  • Code
  • Database
  • Logic
  • HTTP
  • Messaging

Invoice Follow-up — Error Handler

3 nodes · 2 connections

Download JSON
Error TriggerERRError TriggerFormat Error Payload{ }Format Error PayloadGotify Error AlertHTTPGotify Error Alert
  • Trigger
  • Code
  • HTTP

Project overview

A daily runner finds overdue invoices in Postgres and sends a reminder that gets firmer with each round, with the PDF attached from Google Drive. A Stripe webhook marks invoices paid on payment_intent.succeeded, a Tally form covers bank transfers, and the owner is alerted when an invoice passes 30 days.

What I built

  1. 01

    Daily schedule selects unpaid, overdue invoices and sends up to four escalating reminders written by Groq.

  2. 02

    Stripe webhook marks the invoice paid instantly, so a paid customer is never chased again.

  3. 03

    Tally webhook lets the owner record bank-transfer payments by hand.

  4. 04

    Global error handler sends a Gotify alert whenever any workflow fails.

Implementation notes

Every update is guarded with WHERE status != 'paid' and a database CHECK caps the follow-up counter, so a paid invoice cannot be chased.

Uses built-in n8n nodes only: no community nodes to install.

Technology stack

  • n8n
  • PostgreSQL
  • Groq
  • Stripe
  • Gmail
  • Google Drive
  • Gotify

Need a similar product?

Let’s discuss the workflow, website, or application you want to ship.

Start a project