1. Skill 简介
这是一个面向小微企业的 AI 财务助手,覆盖发票录入、银行对账、报销审核、工资核算、财务报表生成五大日常做账场景。上传发票图片即可自动 OCR 识别并生成借贷记账凭证,上传银行流水即自动完成对账。适合没有专职会计的个体户、小微企业主,以及代账公司批量处理客户账目。
2. 使用场景
为什么想做它:
家里的小公司每个月花在财务上的时间太多了——手工录发票、手工对账、手工算工资扣个税,月底还要凑报表。这些活重复性极高,但一步都不能少。一直想用 AI 把这些流程串起来。
之前遇到的麻烦:
- 发票一张张手打录入,10 张发票就是半小时
- 银行流水和记账凭证逐笔核对,漏一笔就平不了账
- 报销审核全靠肉眼——超标、重复报销经常事后才发现
- 工资表算个税要翻税率表,累计预扣法容易算错
- 月底出报表要从头整理数据,至少折腾半天
做完之后能省掉的步骤:
- 发票拍照 → OCR 识别 → 自动匹配会计科目 → 生成凭证,全程自动化
- 上传银行流水 → 自动对账 → 输出差异报告
- 上传报销单 → 自动检测超标/重复/拆分报销
- 上传工资表 → 自动算社保公积金个税 → 输出实发工资
- 一键生成利润表 + 资产负债表 + 税负风险检测
3. 创作过程
整体思路:
把财务工作的五个核心环节拆成五个独立脚本,每个脚本专注一个任务。底层共用一个凭证数据库(data/vouchers.xlsx),各模块互相独立又能联动——比如发票录入生成的凭证会作为银行对账的依据,工资核算的结果也会进入凭证库供报表使用。
设计上遵循"零手工录入"原则:能 OCR 的不手打,能自动匹配的不手动选,能批量处理的不逐条过。
关键模块及核心逻辑:
发票 OCR 记账(ocr_invoice.py):
核心挑战是 OCR 识别后怎么准确提取发票上的关键字段。做法是用 tesseract 做文字识别,然后按发票号码、日期、金额、税额、货物名称的顺序做正则匹配和字段解析。OCR 结果不够清晰时回退到手动录入模式(--manual),保证生产可用。
货物名称和会计科目的映射放在 config/accounting_subjects.json 里,支持关键词模糊匹配,比如"办公用品"自动匹配到管理费用科目。
银行对账(bank_reconciliation.py):
对账逻辑的核心是双向匹配:以金额和日期为匹配依据,先精确匹配,再模糊匹配(金额相同、日期在 3 天内),都匹配不上的分别归入"未对账银行流水"和"未对账记账凭证"。
报销审核(expense_audit.py):
三个检测逻辑——超标检测(对比 config/expense_standards.json 中的限额)、重复报销(同一人同一天同一金额)、疑似拆分报销(同一人同一天多笔相同类型且总金额超限)。最后生成审核报告,每笔标记通过/超标/重复。
工资核算(payroll.py):
社保、公积金按比例自动拆分个人和公司部分。个税采用累计预扣法:累计应纳税所得额 = 累计收入 - 累计免征额 - 累计三险一金 - 累计专项附加扣除,再查七级超额累进税率表。这个算法在 Excel 里很容易出错,写成脚本后一次调通就不用再担心。
财务报表(financial_reports.py):
基于凭证数据库自动汇总,生成简易的利润表和资产负债表。同时做税负率计算和异常检测(增值税税负率、企业所得税贡献率等指标)。
配置驱动设计:
所有可变参数——税率、社保比例、报销标准、会计科目映射——都放在 config/ 目录的 JSON 文件中,不硬编码在脚本里。不同企业只需要改配置文件,脚本代码不用动。
4. 使用步骤
-
安装依赖:
pip install openpyxl pytesseract Pillow(如需 OCR 中文支持,还需安装 tesseract 中文语言包) -
修改配置:按企业实际情况编辑
config/下的税率、社保比例、报销标准、会计科目映射 -
调用方式一(对话式):在对话中使用触发词,如"录入发票"“对账”“审核报销”“算工资”“生成报表”,按要求上传文件即可
-
调用方式二(命令行):直接运行对应脚本,例如:
python scripts/ocr_invoice.py invoice.jpg # OCR 识别发票 python scripts/bank_reconciliation.py bank.xlsx # 银行对账 python scripts/expense_audit.py expenses.xlsx # 报销审核 python scripts/payroll.py salary.xlsx --month 5 # 工资核算 python scripts/financial_reports.py # 生成报表 -
下载模板:如需导入银行流水、工资表、报销单,可先从
templates/目录下载标准模板填写
5. 效果展示(资料有限,可以自己实操一下,有不足之处欢迎指正,我们及时修改)!
使用前(手工流程):
- 录入 10 张发票:约 30 分钟(手打 + 翻会计科目表)
- 银行对账(30 笔流水):约 40 分钟(逐笔在 Excel 里 VLOOKUP)
- 审核 20 笔报销:约 25 分钟(逐行看金额、翻制度表)
- 算 10 人工资个税:约 30 分钟(翻税率表、手算累计预扣)
- 月底出报表:约 2 小时(汇总数据、拼表格)
使用后(AI 处理):
- 录入 10 张发票:拍照上传,1 分钟内完成
- 银行对账:上传流水文件,几秒出对账结果
- 审核 20 笔报销:上传报销单,几秒出审核报告
- 算 10 人工资个税:上传工资表,几秒出核算结果
- 月底出报表:一键生成,含税负风险检测
整体效率提升:每月从 3-4 天财务工作时间压缩到 1 小时以内。
6. Skill 链接
- Skill 名称:
fintech-automation - 项目地址:fintech-automation - AtomGit | GitCode
7. 总结与思考
收获:
最大的收获是把"看起来可以自动化"的财务工作真正做成了端到端的工具链。过程比预期顺利——因为五个模块的逻辑本身是标准化的(会计准则、税法公式都是确定的),真正费时间的是做 OCR 容错和科目匹配的边界情况处理。做完后发现 AI 确实很适合这种"规则明确且重复"的场景。
最满意的地方:
- 配置驱动设计:不同企业改 JSON 配置就行,不用改代码,降低了使用门槛
- 双向对账逻辑:不是简单的金额匹配,做了精确匹配 + 模糊匹配 + 差异报告三档处理,实际对账准确率很高
- 模块独立但数据互通:每个脚本能单独跑,但数据通过统一的凭证库关联,不重复录入
后续优化方向:
- 增加更多银行流水格式的兼容(目前只支持固定模板,不同银行的导出格式差异大)
- 发票 OCR 接入云端发票识别 API(百望、票易通等),提高增值税专用发票关键字段的识别准确率
- 增加电子税务局申报表自动生成功能
- 做一个简单的 Web 界面,降低命令行门槛
希望大家的反馈:
如果你也是小微企业主或有代账经验,欢迎试试这个 Skill。特别希望你能反馈:还有哪些高频财务操作值得加进来?配置文件的格式和说明是否清晰?命令行操作的门槛是否会劝退你?
