乐于分享
好东西不私藏

AI编程实战手记(1):财务管理系统总账模块,费用报销模块,电子发票报销查重与xml文件归档设计方案

AI编程实战手记(1):财务管理系统总账模块,费用报销模块,电子发票报销查重与xml文件归档设计方案
大家好,我是冷水泡茶。
最近个把月来,主要在实践AI编程,开通了Claude订阅,准备专心致志地来用AI开发一些实用程序。
用AI写代码,前面也做过不少小工具,比如Youtube视频下载器,还有其他一些小工具,都是一些小打小闹的玩意,但确实让我切身感受到AI编程的能力。
于是我就准备把我以前用VBA写的财务管理系统给升级一下,搞个网络版什么的。
从4月20号左右到今天,不到一个半月,已经完成了总账和费用报销的开发,基本上已经跑通,还有一些细节需要打磨,就目前的结果来看,比我用VBA写的财务管理系统要强上不知多少倍。
目前的结果我很满意,唯一担心的是,正式启用后又出问题怎么办?我又不懂代码,自己去改Bug可能性很小,那也只能依靠AI。如果AI能正常使用的话,应该没有太大问题,但万一AI用不了,那可怎么办?
这个问题,我想了好久,最终算是想通了,你把AI当作一个员工,你是公司老板,你可以不懂写代码,但你懂流程、架构,懂得提需求,公司一样能运转。这个AI用不了,还有那个AI。虽然某些AI能力有欠缺,但随着时间的推移,随着AI的迭代,能力总归是逐步提升的。
我们还应该明白一件事,AI的时代已经来临,我们可能再也回不到没有AI的时代了。所以,我们唯一能做的是尽力拥抱AI,别考虑太多,别瞻前顾后,想方设法把AI用起来。
这也许就是我充值的原因了吧,我很少充值的。
回到我用AI开发的这个财务管理系统上来。
从基础档案(科目、人员、客商、部门等),
到凭证处理(制单、审核、记账),
凭证列表:
凭证详情:
批量审核:
到结账出报表,再到结转下年,完全没有问题,而且界面比VBA窗体要漂亮得多。这是总账模块,也是财务管理的核心模块,对于一个小公司,比如搞服务的,甚至商贸企业(不做进销存)基本上够用。
接下来就是开发周边功能模块。第一个就是费用管理。
之前呢,为了做好电子发票的归档、防止重复报销,用VBA做了一个“电子发票管理系统”,报销人登记发票,上传发票PDF文档(大部分可自动识别,可省去手工登记),最后打印出报销单。这套程序我没有完全分享,但是分享了两个核心的应用,电子发票登记EXCEL版和电子发票登记Access版,我那个“电子发票管理系统”主要工作量集中在报销人端,财务人员可以省去登记的烦恼。用着还行,也用了有两三年了吧,主要就是一个发票收集归档,这不用财务人员再去操心了。当然,还能同步打印报销单,省去手工填报销单的工作,这也算给报销人减轻了一点工作量吧。
有点遗憾的是,我这个“电子发票管理系统”跟我的“财务管理系统”是割裂开的,如果能连到一起,根据报销单生成凭证,那就比较完美了。但用VBA去处理,我实在是没有精力去搞了,而且用EXCEL+Access数据库,性能方面很弱。
现在用AI编程就不一样了,你只管提需求,AI会毫无怨言地帮你去实现。当我把总账模块基本搞定之后,我就让AI再帮我写费用管理模块。我把VBA代码都上传给它,再给它提点要求,最终也算是完成了。现在就能做到报销人上传发票,自动识别,再补充一些必要的内容,提交,可以经过部门审核、财务稽核、领导审批、出纳确认付款、生成凭证,当然也可以跳过一些流程。
根据有关电子凭证归档的规定,电子发票归档的文件是XML格式的文件,我们报销人取得的一般是PDF文件,这其实不是合法的归档文件。
虽然目前我们可以做到数字发票的电子文件归档, 但都不是xml文件,这个问题也困扰我很久,让报销人取得xml文件不太现实,一般只有pdf,甚至有时候还是图片pdf,本公司的电子税务局倒是有xml文件格式的发票,但再去核对匹配又是件麻烦事,懒得搞了,我估计很多小公司连发票登记、查重都没有做。
我目前在用的“电子发票管理系统”,发票查重逻辑上没问题,已经报销过的发票登记了号码,下次这个号码就不能报销了,但是还是有漏洞。
最初所有发票信息都是手工录入的,还是比较麻烦,而且难免把发票号码录错,直接绕过查重机制,不仔细肉眼核对很难发现。
所以后来采用自动识别的方式,解决了大多数问题,但仍然有一小部分发票识别不了。
后来又想到把电子税务局的发票明细给自动下载下来作为发票号码有效的来源验证,搞了一段时间没成功,暂时搁置。另外,报销的票据除了发票,还有一些财政票据。
在这次“费用报销”模块中,我设计了一套电子发票报销归档的流程:
1、员工报销上传pdf,识别关键信息。
2、财务人员,定期从电子税务局下载收到的电子发票xml文件,上传到报销系统“发票池”,xml的识别准确率很高,作为发票数据的权威来源,同时在报销完成后,xml文件自动归档到指定文件夹,作为法定归档文件留存。
3、前述1、2可能有先有后,员工上传发票后,识别出发票号码,查重通过后,跟发票池xml文件去比对、勾对,如果能匹配到,则把xml发票的信息读取到报销单中。如果没有匹配到发票池xml发票,做好标记,等财务上传xml发票文件后,再自动匹配、归档。
4、理想状态,员工凭“发票号码”就能完成报销,当然pdf文件还得有,这是发票归属的一个证明。再进一步,直接对接电子税务局,自动下载xml发票,上传到我们的财务系统。

好啦,今天就聊这么多,我们下期再见。

写在最后

1、目前所谓的AI编程,并不是小龙虾、vibe coding之类的,主要是使用Claude Pro网页版对话,我提需求,它写代码,我再测试。

2、关于公众号(橱窗)推荐的商品,都是优质的安全食品、良心食品,不掺不兑,可放心食用,欢迎尝试。

3、原来的合谷医疗企业微信不再添加新成员,逐渐停止服务。

~~~~~~End~~~~~~
汤姆店微信小程序高品质食用油、茶叶、牛奶、有机大米、粉条、腐竹、小米、蓝莓原汁、枸杞、枸杞原浆、纯粮白酒、蓝牙耳机、充电宝、皮带、棒球帽、男士内裤......立即扫码注册,优质商品触手可及,分销店铺即刻拥有,分享赚佣金!详情请点击:线下山姆,线上汤姆
AI实战编程交流:发送案例文件。
如果想获取案例文件的,请添加左侧微信联系,获取分享方式。目前是免费分享。

喜欢就点个赞、点在看、留言评论、分享一下呗!感谢支持!

案例文件分享说明(免费):

  • 请关注、点赞、分享、留言,添加上方微信(wx809840),获取案例文件分享方式。如有定制需求,亦可通过微信联系。

  • AI编程、Python、VBA相关问题,请在文章下面留言讨论!请不要发私信!

    相关学习资料