AI PLAY玩法更新持续收录
← 回到更新流

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凭据及一个测试用催收频道
  • 一个你控制的测试收件邮箱,充当虚构客户

具体怎么做

  1. 建测试表格与三个标签页

    新建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。

  2. 接入凭据与催收规则

    绑定Google Sheets、Gmail、OpenAI、Slack四类凭据。在“Set Dunning Rules”节点填入公司名(虚构)、付款链接、reply-to地址、负责人名,并确认preDueNudgeDays、highRiskScore等阈值;练习可设highRiskScore=70便于触发call档。

  3. 手动执行一次并观察分流

    先不要等定时器,点手动执行。预期:临期或轻微逾期的发票走friendly并由Gmail发出温和提醒;明显逾期且风险中等走firm;风险分超阈值或多次未付的客户在Call Tasks新增一行,同时Slack收到升级消息。

  4. 核对冷却与回写

    立即再手动执行一次,确认刚提醒过的发票因冷却规则不重复发信、语气不倒退(已firm的不退回friendly);检查Invoices行被回写了最新提醒阶段、提醒日期和风险分。

  5. 开启定时

    确认测试无误后激活工作流,让它按工作日上午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-20

Payment 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