ARTICLE · 1042047
家委会收费对账太磨人,分享一个AI写的小工具,3小时活10分钟干完
我是两个孩子的家长,老大上初中,老二上小学,同时担任两个班家委会的财务。同时,我也是个程序员。
虽然每个学期就那么三、四次收费工作,但是两个班各50多人,收费项目还不一样——有的孩子只交作业本费+托管费,有的要交作业本费+托管费+住宿费,金额档次不同。收完还得逐人核对、找出没交的提醒缴费。以前这套流程走下来,前后要耗掉两三个晚上。
既然自己是程序员,我就想:这事能不能用代码解决?
第1版:一个只有我能用的脚本
最开始,我写了个纯命令行脚本。读收费表,读收款流水,按姓名匹配,核对金额,把结果写回Excel。跑起来就是python check.py,然后看控制台输出。
我自己用没问题,但配置全靠改代码——换班级、换表,都要打开代码改一遍。家委会其他成员想帮忙?得先装Python、装依赖、会跑命令行,门槛太高。
说白了,第1版只解决了我自己的效率问题,没解决家委会的效率问题。
第2版:借AI之力,变成谁都能用的软件
今年AI编程工具的能力上来了,我决定用AI辅助,把这个脚本重写成有界面、能打包成exe、双击就能用的桌面工具。
做法是:把需求讲清楚,让AI生成代码,我来测试、反馈、调整。核心逻辑沿用第1版验证过的业务约定,重点改造交互层。
最后定稿:约480行的单文件Python脚本,tkinter界面,openpyxl读写Excel,PyInstaller打包成单文件exe,约25MB。
从"改代码才能用"变成了"填几个格子点一下按钮",家委会其他成员也能上手了。
关键搭配:微信收款小账本的收款链接
这里要特别说一下收款端的搭配,这也是解决"多档次收费"难题的关键。
家委会收钱有个天然限制:个人不能开商户号,没法用正规的商户收款工具。以前群收款,记录零散,经常有家长忘记备注名字对账非常麻烦。
后来我发现微信收款小账本里的"收款链接"功能,正好适合这种场景:
可以自定义收款项:比如"作业本费""托管费""住宿费",每个项目单独列出
可以设定每个项目的金额:家长点开链接,看到的是清晰的收费项目清单
家长按需选择:只交作业本费+托管费的;要住宿的,再勾住宿费,金额自动算好
订单可以导出:所有付款记录汇总在一起,带付款人、金额、时间,直接导出成表格
自定义信息收集项:可以要求付款人付款时必须填写的信息,例如付款时必须填写姓名学号。
生成图片或海报图片:可以生成漂亮的海报图片,方便发到群或转发收款。
这一步太关键了。以前我收钱,得在群里反复解释"你家交多少、他家交多少",家长还容易转错金额,经常忘记备注姓名学号。现在收款链接把收费项目列清楚,家长自己选、自己付,必须填写姓名学号,选错了也是他自己的操作记录,有据可查。
微信收款小账本的收款链接创建页



多档次收费,对账为什么麻烦
我们班的收费档次是这样的:
走读生:作业本费 + 托管费
住宿生:作业本费 + 托管费 + 住宿费
听起来简单,但对账时麻烦得很。收费表里每个孩子的应收金额不同,收款记录里家长实际付的金额也不同。如果家长选错了项目——比如住宿生只勾了作业本费和托管费,漏了住宿费——他的实付金额就比应收少。
以前我要一条一条对:这个孩子应收多少、实付多少、差在哪。50多人,每人档次不同,逐条核对非常费劲。而且家长选错的记录混在正常记录里,不逐条看根本发现不了。
现在有了 FeeCheck,这个问题变得非常简单。
它怎么帮我干活
工具叫FeeCheck,核心功能一句话:把「收费表」和「收款记录表」按姓名模糊匹配,核对金额是否一致,结果直接写回收费表Excel。
我用微信收款链接收完钱,手里有两份数据:
收费表:老师给的名单,每个孩子该交多少(按档次算好的应收总额)
收款记录表:收款链接导出的订单,每个家长实际付了多少(实收)
把两份表丢给FeeCheck,它自动匹配比对,把结果写回收费表:一致的标"一致",不一致的标"不一致"并算出差额,找不到人的标"未找到"。
家长选错了项目,实付金额和应收对不上,FeeCheck 一跑就标出来了。 我只需要看标了"不一致"的那几行,就知道哪个孩子漏交了哪一项。不用逐条手工对。
FeeCheck 软件操作界面

用起来很简单
界面就是一堆配置项加一个按钮,填三类东西:
两个文件:收费表(写回结果)、收款记录表(收款链接导出的订单)。
列的位置:姓名在哪列、金额在哪列、结果写到哪列。比如我们班姓名在B列、应收金额在F列,收款记录里姓名在G列、实收金额在E列,结果写到H列和I列。填一次就行,下次不用改。
数据行范围:收费表从第2行到54行是学生数据,收款记录从第9行开始。
填完点"开始比对",几秒钟结果就写回收费表了。
比对结果长什么样
处理完打开收费表,多出两列:
对比结果列:一致、不一致、未找到、姓名为空、金额异常。差额列:应收减实收,保留两位小数。
"不一致"的行用红色字体加淡红底色标出来,一眼就能看到。
比如一个住宿生,应收作业本费+托管费+住宿费共1017.9元,家长只勾了作业本费和托管费,实付527.9元。那行就会标"不一致",差额写490.00。我一看就知道:这个孩子漏交了住宿费。 直接私信家长补交就行。
又比如名单里有、但收款记录里搜不到这个姓名,标"未找到",这就是催缴名单。
生成结果页

几个实用的设计
结果原地写回收费表。 不生成新文件,不改表格结构,结果写在旁边列里。发给老师的还是同一张表,只是多了核对结果。
保留原文件格式。 公式、样式、列宽都保留,不会把公式变成死数字。
姓名模糊匹配。 收费表里"张三",收款记录里"张三妈妈"或者带空格,都能匹配上。先找完全一致,找不到再做包含匹配。
处理过程有日志。 匹配到多条、找不到人、金额解析有问题,都会提示,我心里有数。
微信收款小账本的收款链接导出订单列表

不止家委会:这个工具还能用在哪
FeeCheck 的本质是两组带姓名和金额的数据做比对。只要符合这个结构,配合微信收款小账本的收款链接,个人场景下很多收费都能用:
物业费/停车费代收。 个人代收小区某栋楼的物业费、停车费,收款链接发群里,FeeCheck核对哪户没交、哪户金额不对。
培训班课时费核对。 个人老师或小机构收课时费,报名表是应收,收款链接订单是实收,核对谁没交、谁少交。
活动报名费、团购费。 组织活动或团购,报名表和收款记录两份数据,核对谁报了名没交钱、谁交了钱没报名。
房租/水电费代收。 二房东或公寓管家代收房租水电,业主名单是应收,租客付款是实收。
AA制聚餐、班级活动分摊。 谁该出多少、谁实际付了多少,一跑就知道。
核心逻辑都一样:一张表是"应该收多少",另一张表是"实际收了多少",按姓名匹配,算差额,标异常。 个人不能开商户号没关系,微信收款小账本的收款链接就是为这种场景准备的。
源码和exe分享
工具已打包好,源码也一并附上。
exe版本:下载FeeCheck.exe,双击运行,不需要装Python或任何依赖。
下载地址:https://gitcode.com/tang286/FeeCheck/releases/v1.0.0
源码版本:main.py + requirements.txt(只有openpyxl一个依赖)。装好Python后pip install -r requirements.txt,然后python main.py就能跑。
源码地址:https://gitcode.com/tang286/FeeCheck
想让AI帮你改这个工具(增加汇总导出、支持多个工作表、加配置记忆),把源码和需求一起给AI就行。
一点感受
家委会收钱敏感、琐碎、容易出错。尤其是多档次收费,每个孩子交的项目不同、金额不同,家长选错了还得逐条查。以前我最怕对账——100多笔记录逐行看,看漏一笔、记错一笔,家长截图发过来,尴尬又伤信任。
作为程序员,我很庆幸能写代码解决这个问题。更让我高兴的是,AI工具让我把"只有我能用的脚本"变成了"谁都能用的软件"。
现在,"微信收款小账本收款链接 + FeeCheck"这个组合,解决的是个人收费场景的一个真实痛点:个人开不了商户号,但同样需要对账;收费档次多,但不想逐条手工核对。 收款链接负责让家长选清楚、付明白,FeeCheck负责把选错的、漏交的自动标出来。
如果你也经常帮集体收钱、对账,尤其是收费项目多、档次不同的情况,不妨试试这个组合。工具不大,但确实能省下不少逐行比数字的时间。