Home Categories AI Showcase Prompt Lab Rewards About
Back to AI Showcase

AI Invoice and Payment Follow-Up System — Automatically Chase Overdue Invoices in Your Voice Without Sounding Like a Robot

Built by NadirCore ·

About this build

A Claude and n8n powered workflow that monitors your outstanding invoices, detects when payment is overdue, researches the client's recent activity to understand context, and sends a personalised follow-up message written in your exact communication style — escalating in firmness across 4 touchpoints if needed — withou

What was built

Built this after realising I had 11 outstanding invoices at the end of a quarter totalling more than I wanted to admit — not because clients were refusing to pay but because I kept not sending the follow-up. The intention was always there. The execution kept getting delayed because writing a payment chase email to someone you have a good relationship with is genuinely uncomfortable and easy to postpone. The workflow eliminated the discomfort entirely by making the emails automatic. Once it is running I do not think about chasing invoices at all. How the workflow runs: Step 1 — Invoice monitoring via Xero API n8n polls the Xero or QuickBooks API every morning at 8am and pulls all outstanding invoices. For each invoice it checks the due date against today's date and classifies the invoice into one of four overdue brackets — due today, 1 to 7 days overdue, 8 to 21 days overdue, and 22 days or more overdue. Each bracket triggers a different follow-up escalation level. Step 2 — Client context research via Perplexity Before writing any follow-up Claude checks whether there is any relevant public context about the client that might explain a delay or should be acknowledged. A client who just publicly announced a round of layoffs or a major company restructure gets a different tone than a client with no visible context. This step takes 10 seconds and has saved at least 3 relationships that could have been damaged by a tone-deaf automated follow-up. Step 3 — Escalation level selection Each overdue bracket maps to an escalation level with its own tone and content guidelines. Level 1 — due today or 1 to 7 days overdue — gentle reminder. Friendly tone. Assumes the invoice slipped through. Gives them an easy out. Includes the invoice number, amount and a link to pay. Level 2 — 8 to 14 days overdue — polite follow-up. Still warm but slightly more direct. References the previous reminder was sent. Asks if there is anything on their end that needs resolving before payment. Level 3 — 15 to 21 days overdue — firm follow-up. Professional and direct. States clearly that payment is now significantly overdue. Gives a specific payment deadline of 5 business days. Mentions that late payment terms may apply if outlined in the original contract. Level 4 — 22 days or more overdue — final notice. Completely professional. States this is the final notice before further action. Does not threaten specific legal action unless instructed to — just signals that next steps will be taken if payment is not received by a specific date. Step 4 — Email generation via Claude Each follow-up gets written by Claude using the escalation level guidelines, the client context from Perplexity and a detailed voice and tone guide built from 10 examples of previous emails written to that client or similar clients. The voice guide is the thing that makes these emails feel genuine rather than automated. Without it every Claude-written email sounds like a polite but slightly off version of the sender. With it the emails are consistently indistinguishable from something written manually — three clients have replied to Level 1 and Level 2 follow-ups commenting on how thoughtful the message was without knowing it was automated. The email includes the invoice number, amount outstanding, original due date, number of days overdue, a direct payment link pulled from Xero and the appropriate tone for the escalation level. Step 5 — Approval queue or auto-send Level 1 and Level 2 emails are sent automatically without review — these are low stakes and the tone is friendly enough that the risk of a mistake is low. Level 3 and Level 4 emails go into a Gmail draft for manual review before sending. The stakes are higher at these escalation levels and a 30 second review before sending is worth the protection. Step 6 — Airtable logging Every follow-up sent gets logged to Airtable with the client name, invoice number, amount, escalation level, date sent and outcome — paid, no response, response received or escalated to Level 4. After 3 months this data shows average days to payment by client, which clients consistently pay late and whether follow-ups are actually accelerating payment. What broke during development: The Xero API authentication token expires every 30 minutes which caused the workflow to fail silently overnight when the token was not refreshed. Fixed by adding a token refresh step at the start of every n8n run rather than assuming the previous token was still valid. The voice guide was too general in early versions. Using examples of emails to different clients produced a blended average that sounded like nobody in particular. Fixed by creating a separate voice guide for each client tier — the tone used with a long-term retainer client is genuinely different from the tone used with a new project client and Claude handles this distinction well when it is explicitly described. Level 4 emails were initially too aggressive — they sounded like legal threats which created more conflict than resolution. Fixed by softening the language to signal seriousness without making specific threats that could cause relationship damage disproportionate to the invoice amount. Results after 16 weeks: Average days to payment from invoice due date dropped from 23 days to 9 days. Zero invoices unpaid beyond 30 days in the last 12 weeks compared to 4 in the preceding 12 weeks. Three clients have proactively mentioned they appreciate the clear follow-up system — they said it helps them internally justify the payment to their finance team. One client asked what tool I was using after receiving a Level 1 follow-up that they said was the most professionally worded payment reminder they had ever received. What I would build next: A pre-due-date reminder that fires 3 days before an invoice is due rather than on or after the due date — catching invoices before they become overdue is cheaper than chasing them after. Also want to add a payment received trigger that automatically sends a thank you note immediately after Xero registers the payment — closing the loop on every invoice with a positive message rather than just going silent after the money arrives. Will share the full n8n workflow JSON, Xero API integration setup and Claude prompt structure for all 4 escalation levels in comments for anyone who wants to deploy this.

Open public proof or demo