逾期催款邮件模板与Python自动化批量发送指南
催逾期账款是每个做商务、运营、财务甚至独立开发者的必修课。很多人在这个环节卡住,不是因为产品不好、客户不想付钱,而是催款邮件写得太“软”或者太“硬”,对方不知道该怎么回、也不清楚下一步会发生什么。我整理了一套可以直接复制使用的逾期发票催款邮件模板,同时加上邮件发送的工程化实现思路,让催款这件事从“凭感觉写”变成“按流程推进”。
这套内容适合三类读者:一是需要自己跟进回款的中小团队负责人,二是刚接手客户运营的新人,三是想把邮件催费流程做成半自动化的后端开发人员。后面会给出不同阶段、不同语气的模板,以及用 Python 批量发送邮件的完整示例和排错方案。
1. 逾期发票催款邮件到底是什么
1.1 为什么催款邮件需要模板
逾期发票邮件,简单来说就是客户没有在约定账期内付款,我们通过邮件提醒对方付款、确认付款时间、或者升级催收力度的一种商务沟通方式。
这类邮件和普通营销邮件、产品介绍邮件有本质区别。营销邮件的核心是“吸引”,让用户点进来、产生兴趣;催款邮件的核心是“推进”,让客户明确意识到有一笔款项到期、需要处理,并且给出一个具体的行动路径。
实际业务里,催款邮件写得不好,最常见的两个结果是:
- 客户已读不回,因为邮件里没有写清楚金额、账期、逾期天数、付款方式。
- 客户直接进入防御状态,因为语气过于强硬,或者上来就威胁法律手段。
模板的用途不是让所有邮件都变成同一个腔调,而是让每一次催款都覆盖必要的信息要素,同时根据逾期阶段调整语气。有了模板,团队里任何人接手催款,都不会漏掉关键内容。
1.2 什么时候应该使用催款邮件模板
从财务角度看,应收账款有一个“账龄”概念。账龄越短,回款概率越高;账龄越长,催收成本越高。邮件模板应该在以下节点使用:
- 到期前 3 到 5 天,发送“即将到期提醒”。
- 逾期 1 到 7 天,发送“首次逾期提醒”,语气友好,默认对方只是忘记。
- 逾期 8 到 14 天,发送“正式催款函”,语气明确,要求给出付款时间。
- 逾期 15 到 30 天,发送“最后通知”,明确后续措施。
- 逾期超过 30 天,通常需要电话 + 邮件 + 法务函组合推进,邮件仍是留痕的关键。
需要提醒的是,邮件催款必须注意合法边界。催款邮件可以明确表达诉求,但不能恐吓、侮辱、泄露客户信息,不能编造不存在的法律后果。涉及逾期利息、违约金主张的,必须以合同约定和当地法律法规为依据。
1.3 开发者视角的催款邮件系统
从纯技术角度看,催款邮件是一个典型的“模板 + 数据 + 发送通道”系统。核心流程如下:
- 从 ERP / CRM / 财务系统导出逾期应收账款数据。
- 用模板引擎将客户名称、发票号、金额、逾期天数注入模板。
- 通过 SMTP 协议发送邮件。
- 记录发送日志,标记已催收客户。
- 根据客户回复更新账期状态。
所以这篇文章的后半部分,会重点讲解如何用 Python 实现批量发送催款邮件。你可以理解为,前半部分给你文案弹药,后半部分给你自动化武器。
2. 环境准备与版本说明
在进入模板和代码之前,先明确一下运行环境。
本文章的 Python 示例以以下环境为例:
- 操作系统:Windows 10/11、macOS、Linux 均可
- Python 版本:3.8 及以上
- 依赖库:标准库 smtplib、email,第三方库 jinja2、openpyxl
- 邮件发送方式:SMTP 协议
版本需要根据你的项目实际情况调整,本文示例以常见环境为例,重点演示配置思路。如果你使用的是极简 Python 环境,建议先用 pip 补齐依赖:
如果你用的是企业邮箱,需要确认 SMTP 服务器地址和端口。常见情况如下:
- 腾讯企业邮:smtp.exmail.qq.com,端口 465(SSL)或 587(STARTTLS)
- 阿里企业邮:smtp.qiye.aliyun.com,端口 465(SSL)
- 网易企业邮:smtp.ym.163.com,端口 465(SSL)
- Outlook / Office 365:smtp.office365.com,端口 587(STARTTLS)
注意:很多企业邮箱默认不开启 SMTP 服务,需要在邮箱后台主动开启,并生成“客户端授权码”而不是使用登录密码。这一步是新手最容易卡住的地方,后面有专门的问题排查小节。
3. 邮件模板设计的核心拆解
3.1 一封合格催款邮件的六个要素
在给出模板之前,先拆解一下催款邮件必须覆盖的核心信息。无论语气怎么调整,下面六项缺一不可:
- 明确主题:主题行必须包含发票号、公司名和“逾期”关键字,方便客户识别和检索。
- 金额和账期:正文里必须重复发票金额、开票日期、到期日、逾期天数。
- 付款指引:告诉客户怎么付款,包括对公账户、付款凭证发送给谁。
- 联系人信息:收不到邮件时客户能找谁,避免“邮件没人回,电话也没人打”的死局。
- 下一步动作:明确告诉客户,如果已经付款需要做什么,如果无法按时付款需要做什么。
- 时间节点:给客户一个反馈期限,比如“请在 3 个工作日内回复”。
3.2 催款邮件语气进阶表
不同的逾期阶段,语气应该完全不同。我建议你把催款过程理解成一个“阶梯式升级”过程:
| 阶段 | 逾期状态 | 语气目标 | 表达要点 |
|---|---|---|---|
| 到期前提醒 | 未逾期 | 友善提醒 | 账单即将到期,有问题可以提前沟通 |
| 第一次催款 | 逾期 1-7 天 | 温和理解 | 可能是疏忽,请确认支付时间 |
| 第二次催款 | 逾期 8-14 天 | 明确正式 | 要求给出具体付款计划 |
| 第三次催款 | 逾期 15-30 天 | 严肃升级 | 告知暂停服务或合同约束 |
| 最后通知 | 逾期超 30 天 | 正式函件 | 保留法律或其他途径的权利 |
3.3 模板字段设计
为了让模板可以复用,建议所有变量都用占位符。这里推荐 Jinja2 格式,便于后面代码渲染:
需要注意,金额必须以“数字 + 大写/货币符号”双保险形式展示,避免客户对金额产生异议。比如 ¥ 12,500.00(人民币壹万贰仟伍佰元整),这种写法不容易因为数字格式问题产生纠纷。
4. 完整可复制的模板库
下面提供六套模板,按照催款阶段从温和到严肃排序。你可以直接复制到邮件编辑器中使用,也可以把占位符替换成自己的字段。
4.1 到期前提醒模板
主题:请款提醒:贵司发票 {{ invoice_number }} 将于 {{ due_date }} 到期