2026-09-29 · 原文发布日
n8n实操:发票逾期风险评分与三档分级催款(邮件/人工电话)
每个工作日早上9点运行,从Google Sheets读取未结发票和历史付款记录,为每个客户计算付款画像并给每张未付发票打0–100的逾期风险分,据此选择友好、严肃或电话三档催收语气,并有冷却规则避免提醒过于频繁或力度倒退。友好档用OpenAI起草到期前或温和逾期提醒经Gmail发出;严肃档发明确的逾期通知;电话档则把任务写入「Call Tasks」标签页并在Slack催收频道发升级消息。最后回写发票行的提醒阶段、日期和风险分,方便追踪后续。
原文要点
该n8n模板每个工作日早9点由计划触发器运行,从Google Sheets读取未结发票与历史付款记录,为每个客户计算付款画像并给每张未付发票打0–100逾期风险分,据此选friendly、firm、call三档语气,并有冷却规则防止提醒过频或力度倒退。friendly档用gpt-4o-mini起草到期前或温和提醒经Gmail发出;firm档发明确逾期通知;call档在“Call Tasks”标签页追加任务并向Slack #collections发升级消息;最后回写发票行的提醒阶段、日期与风险分。
这次做成什么
在本机复现这条分级催款流:建一个含三个标签页的测试表格,填入本站合成的发票与付款历史数据,先手动触发一次,确认三档分流、冷却规则和回写都符合预期,再开放定时运行。全程用测试邮箱,不碰真实客户。
准备什么
- n8n实例及导入该模板(n8n.io/workflows/20087)
- Google账号:Sheets凭据 + 允许对外发信的Gmail OAuth2凭据
- OpenAI API key(模板用gpt-4o-mini起草邮件)
- Slack OAuth2凭据及一个测试用催收频道
- 一个你控制的测试收件邮箱,充当虚构客户
具体怎么做
建测试表格与三个标签页
新建Google Sheets工作簿,建Invoices、Payment History、Call Tasks三个标签页,列至少含Invoice ID、Client Email、Due Date、Status、Last Reminder Stage、Last Reminder Date,历史页含Invoice ID与Paid Date。把下方合成CSV数据粘进对应标签页,并把所有Google Sheets节点里的YOUR_GOOGLE_SHEET_ID替换为你的表格ID。
接入凭据与催收规则
绑定Google Sheets、Gmail、OpenAI、Slack四类凭据。在“Set Dunning Rules”节点填入公司名(虚构)、付款链接、reply-to地址、负责人名,并确认preDueNudgeDays、highRiskScore等阈值;练习可设highRiskScore=70便于触发call档。
手动执行一次并观察分流
先不要等定时器,点手动执行。预期:临期或轻微逾期的发票走friendly并由Gmail发出温和提醒;明显逾期且风险中等走firm;风险分超阈值或多次未付的客户在Call Tasks新增一行,同时Slack收到升级消息。
核对冷却与回写
立即再手动执行一次,确认刚提醒过的发票因冷却规则不重复发信、语气不倒退(已firm的不退回friendly);检查Invoices行被回写了最新提醒阶段、提醒日期和风险分。
开启定时
确认测试无误后激活工作流,让它按工作日上午9点自动运行;把测试客户邮箱换成真实业务前先小批量灰度。
可直接复制的材料
Invoices标签页合成CSV
本站虚构数据;Client Email换成你控制的测试邮箱。三行分别对应临期、轻微逾期、长期大额逾期场景。
Invoice ID,Client Name,Client Email,Due Date,Amount,Status,Last Reminder Stage,Last Reminder Date
INV-1001,北辰设计(虚构),test-client-a@example.com,2026-10-03,12000,open,,
INV-1002,恒舟贸易(虚构),test-client-b@example.com,2026-09-10,8600,open,friendly,2026-09-15
INV-1003,岚山科技(虚构),test-client-c@example.com,2026-08-01,45000,open,firm,2026-09-20Payment History标签页合成CSV
本站虚构;恒舟两次都晚付约3周、岚山晚付近两个月,用于把风险分推向高档位。
Invoice ID,Client Email,Due Date,Paid Date
INV-0980,test-client-a@example.com,2026-08-05,2026-08-04
INV-0981,test-client-b@example.com,2026-08-12,2026-09-02
INV-0982,test-client-b@example.com,2026-07-12,2026-08-10
INV-0983,test-client-c@example.com,2026-06-01,2026-07-25催收邮件起草提示词(本站独立示例)
本站独立编写的练习提示词,模板内实际提示词以OpenAI节点为准,可按此思路对照调整。
你是一名B2B财务运营专员,请根据以下信息起草一封{friendly|firm}档催款邮件,正文120字以内,语气与档位一致:
公司名:{我方公司名}
客户名:{客户名}
发票号:{Invoice ID}
金额:{Amount}元
到期日:{Due Date}
付款链接:{Payment Link}
friendly档:假设客户可能疏忽,先提供协助再温和提醒;firm档:明确已逾期天数与金额,要求三个工作日内付款并告知后果,不使用威胁性措辞。
只输出邮件主题一行+正文,不加解释。输入与输出示例
本站虚构演示,风险分为示意算法结果,非模板实际计算值;未真实发送邮件。
输入
上述三行发票+四行付款历史,在2026-09-29手动执行一次,highRiskScore=70对应输出
INV-1001(10月3日到期、历史准时)风险分18→friendly:Gmail发出“温馨提示:发票INV-1001将于10月3日到期”;INV-1002(逾期19天、历史常晚付)风险分55→firm:发出明确逾期通知,要求三日内付8600元;INV-1003(逾期59天、45000元、已firm过一次)风险分88→call:Call Tasks新增一行“致电岚山科技财务”,Slack #collections收到升级消息;三行Invoices回写阶段/日期/风险分。做完检查这些
- 三档分流正确:临期走friendly、普通逾期走firm、高风险或多次提醒无效走call并同时出现在Call Tasks与Slack
- 连续两次执行时,已提醒发票在冷却期内不重复发信,且firm档不会退回friendly档
- 每次执行后Invoices行的Last Reminder Stage、Last Reminder Date和风险分被更新
- Gmail发件均来自配置的OAuth账号,收件人仅为测试邮箱
容易卡住的地方
- 所有Google Sheets节点都要替换YOUR_GOOGLE_SHEET_ID,漏一个就会读错表
- 标签页名和列名必须与模板引用一致,大小写差异也会导致读不到数据
- 日期格式要统一(建议YYYY-MM-DD),否则逾期天数与风险分可能算错
- Gmail账号需获准向外部地址发信,新客户域名可能被拦进垃圾箱
- 上线真实客户前先用小样本验证语气与阈值,避免对优质客户误发firm档
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Predict and route late payment reminders with Google Sheets, OpenAI, Gmail and Slack
- 原作者
- Rahul Joshi
- 原始发布日期
- 2026-09-28T19:32:08.391Z
- 来源
- https://n8n.io/workflows/20087