What it does: Plans an n8n workflow that finds late invoices each week and saves a reminder as a draft in the right tone, plus the JSON to import.
Use it when: You chase late invoices by hand, when you remember.
You get: A node by node plan, 3 reminder texts by how late it is, which invoices would get a draft this week, and the import JSON. Nothing sends on its own.
You are my automation builder, a pro with 10 years of building n8n workflows that get small businesses paid on time. I use n8n.
Goal: plan an n8n workflow that finds my late invoices each week and saves a reminder email as a draft for each one, in the right tone for how late it is, and give me the workflow as JSON I can import, so I end with drafts waiting for my review every Monday and nothing ever sent on its own.
Context: I run a small business and chase late invoices by hand, when I remember. My clients want to keep working with me, so a reminder has to be firm but kind, because guilt or threats make people go quiet.
First, check that you can open my accounting app (QuickBooks or Xero). Tell me how many unpaid invoices past their due date you found, and the field names for customer, email, invoice number, amount, balance and due date. If you can't open it, stop and follow the accounting steps at simpleai.community/connect/#accounting, or ask me to paste 5 late invoices and the field names instead.
Ask me these, then run. Skip any I already answered.
1. QuickBooks or Xero, and Gmail or Outlook? (Default: the accounting app you just opened, and Gmail.)
2. When should it run? (Default: every Monday at 8am my time.)
3. How to pay me, in one line? (Default: write [check: how to pay] in the email text.)
Do this:
1. Plan the workflow. For each node give the name, what it does, the settings, and what passes on.
2. Trigger: a Schedule Trigger node on the day and time from question 2.
3. Get invoices: the QuickBooks Online or Xero node, get all invoices that still have a balance.
4. Days late: a Code node that works out days late from the due date to today, and drops anything not yet due.
5. Only new steps: keep an invoice only if it is 1 to 7, 15 to 21, or 46 to 52 days late. That way each invoice gets one draft per tone, not a new one every week. Check this rule against the late invoices you found and tell me which would get a draft this Monday.
6. Pick the tone, with fixed text, no AI writing the emails:
- 1 to 7 days: short and kind.
- 15 to 21 days: firm. Say what may be in the way first. Use: "I'm guessing you haven't got around to invoice {number} yet. It was due {date}." Then ask: "What would help get this paid by Friday?"
- 46 to 52 days: firm, and ask for a short call this week.
Each email is under 90 words and names the invoice number, the amount still owed and the due date. Sign off with the name in my signature, or [check: my name].
7. Draft: the Gmail node (Draft, Create) or the Outlook node's create draft action, to the invoice's contact email. If the email is blank, skip it and add it to the ping as Check by hand.
8. Ping me: save one more draft, to myself, with a list of every draft made, plus the Check by hand list. Never a send.
9. Error path: a separate error workflow that starts with the Error Trigger node, set as this workflow's error workflow. It saves a draft to me with the node name. Never a send.
10. Then give me the whole workflow as n8n JSON I can import (in n8n: Workflows, then Import from file), with every credential left empty.
Give me: a numbered node list, the 3 email texts, the list of invoices that would get a draft this Monday, then the JSON. Under 400 words outside the JSON.
Example of one node, match this shape: "Node 7, Draft it. Gmail node, Draft, Create. To: the contact email from node 4. Subject: Invoice {number}. Passes on: customer, invoice number, draft made yes or no."
Before you show me, check:
- No node in the JSON sends an email. Every Gmail or Outlook node makes a draft.
- Every node passes on the fields the next node needs, using the field names you found in my accounting app.
- Each tone window in step 5 matches its email in step 6.
Rules:
- If a customer has said they dispute the bill, skip their draft and list them under Check by hand.
- Save the summary draft to me every run, even when no invoice is due a reminder. List any late invoice that got no draft this run, with why.
- The day windows assume the flow runs once a week. If I pick another schedule, change the windows to match and tell me.
- It never sends to a customer, never marks an invoice paid, and never changes my books.
- Logins in n8n Credentials only, never in the JSON.
- This is a plan. Ask me before you send, post, change or turn on anything. I turn the workflow on myself after a test run.
- Node settings can change between n8n versions. If you're not sure of a setting's exact name, write [check: setting name] in that spot.
- If no invoice is in a window this week, still save the ping draft and say none.
- Tell me to set the error workflow in this workflow's settings after I import both.
- Use only what is in my data and what I tell you. Never make up a name, number, date, price, link or promise.
- If something you need is missing, write [check: what is missing] in that spot and keep going.
Last, save these steps as a skill called 'Invoice Chase Flow' in Claude or ChatGPT if you use one. In any other AI chat, save this prompt and paste it again each time I plan a payment reminder automation.
To run it again, just say: "Run my Invoice Chase Flow skill."You need![]()
Your email
![]()
Your books
n8n![]()
![]()
Any AITested on sample data
Connect first: your accounting app. The steps for each AI are on one page. Then the prompt reads it for you. It ends by saving itself as a skill.
Built on Exactly What to Say's "I'm guessing you haven't got around to" nudge.
Copilot version
There is no separate Copilot version of this one yet. Paste the prompt above into Microsoft 365 Copilot Chat.
See a real example
Tested on sample data Sample data run (simulated tool).
Watch: no video for this one yet.
AuthorCorey Leon