合同回款计划×银行流水对账:到期没付钱的一张表催干净

2026-10-09 · 喵窝资源铺

前两篇管支出侧(报销单×流水、加班表×工资),这篇翻到收入侧:一堆合同的回款日到了没?钱到齐了吗?甲方说"汇了"但财务没对上,是谁漏了?销售拿催款清单挨个打电话,得先有一张可信的清单。这版脚本把回款计划和银行流水逐合同核对,代码实跑验证,真实输出贴在下面。

输出长什么样

测试数据:8 个合同、8 笔流水,故意埋 6 处陷阱——蓝天广告应收 50000 只到 30000;远洋物流到期 20 天一分没付;云帆软件的款到了但附言只写"项目款"没写合同号,户名还是全称"云帆软件(北京)有限公司";启明教育超收 3000;恒信贸易分两笔到账;还混了一笔 8888 的"往来款"不挂任何合同。跑完:

对账完成: 合同 8 个, 疑似兜底 1 笔, 无合同来款 2 笔
  HT2025001 宏达科技 → 已收齐
  HT2025002 蓝天广告 → 未回款且已到期2026-10-08 → 催收
  HT2025003 远洋物流 → 未回款且已到期2026-09-20 → 催收
  HT2025004 星辰传媒 → 未回款(未到期, 应收日2026-11-15)
  HT2025005 云帆软件 → 未回款且已到期2026-10-01 → 催收
  HT2025006 启明教育 → 已收齐(超收3000.00)
  HT2025007 恒信贸易 → 已收齐 | 分2笔到账
  HT2025008 绿源环保 → 未回款(未到期, 应收日2026-10-10)

逐项验收:蓝天广告进了催收——注意它明明到过 30000,但附言没写合同号、户名兜底只匹配"户名+差额"两条件不全,所以主表照实报缺口,那笔 30000 进了「无合同来款」等人工认领;云帆软件被兜底表接住(户名含"云帆"+金额=应收差额 18000),标「需人工确认」;超收、分两笔都如实标注;8888 往来款单独成行。对照合同 HT2025001 零误报。边界:空流水直接明确报错退出(不生成一张全催收的误导报表);幂等:连跑两次输出内容逐格一致(xlsx 不能比 md5,原因见上篇坑 3)。

四类结论怎么判

结论判定
已收齐该合同流水收入合计 ≥ 应收(超收标注差额)
部分回款/催收0 < 合计 < 应收 → 差额打出来;合计=0 且已到期 → 催收
未到期合计=0 且应收日在今天之后 → 不催,只提示应收日
疑似兜底/无合同来款附言无合同号但户名+金额对上的进「需人工」表;谁都对不上的进「无合同来款」表

核心思路跟报销对账一样:先把流水"翻译"成「合同号 → 到账列表」,再逐合同核对。合同号提取用"先收已知合同号集合,附言里正则抓疑似号去集合查",抓不到的进兜底/无主池,绝不凭空猜。

用法

先 pip install openpyxl。回款计划列:合同编号 / 甲方 / 应收日期 / 应收金额;流水列:交易日期 / 对方户名 / 收入 / 支出 / 附言。运行:

python collect_recon.py 回款计划.xlsx 银行流水.xlsx 对账结果.xlsx 2026-10-09

最后一个参数是"今天"(不传则取系统日期),用来判断到期没到期。输出 xlsx 三张表:回款对账(主表,直接当催收清单)、疑似兜底匹配(需人工)、无合同来款。

三个真坑(都是这轮实跑撞上的)

坑 1:差额兜底会把"部分回款"洗成"已收齐"

对附言没写合同号的流水,按「户名+金额」兜底看着很聪明,但如果你按差额兜底(应收 50000 只到 30000,流水里正好有笔 20000 就给挂上),一笔户名沾边的无关来款就能把真缺口直接核销掉。所以兜底匹配永远不并入主表结论——主表该催收照样催收,兜底命中的行单独放「需人工确认」表,人看了再认领。

坑 2:甲方户名是全称,不能用 == 比

流水里甲方常是"云帆软件(北京)有限公司"这种全称带分公司,== 比对全漏。用「甲方名前两字 ⊆ 流水户名」的包含判断才能命中——但前两字太宽("恒信"谁都能有),所以兜底必须同时满足金额=应收(或差额),名字+金额两个条件缺一不可,只看名字会到处乱认亲戚。

坑 3:无合同来款先留全貌,再谈认领

对不上的来款不要在兜底阶段就悄悄"消费掉",先全量进「无合同来款」表(户名+金额+日期+附言打全),只有兜底匹配成功才移走。否则报表丢了线索,人工没法反查"这笔 8888 到底是不是哪个合同的"——跟报销对账里"无单打款行必须留户名+金额"是同一个道理,两边是镜像问题。

相关阅读

支出侧镜像:报销单×银行流水对账;收入算得对不对看加班表×工资表工时对账;报名收款的轻量版见报名表×付款记录对账。

不想自己跑?把回款计划和流水导出发给我们,AI 跑脚本 + 人工核验,出一份可直接打电话的催收清单。看全部自动化服务(9.9 元起)。虚拟物品交付后不退款,未达承诺免费重做。

← 喵窝资源铺