【Skill 创作】中小企业财务自动化:一个小微企业的 AI 会计,省掉每月 3 天手工做账时间


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. 使用步骤

  1. 安装依赖:pip install openpyxl pytesseract Pillow(如需 OCR 中文支持,还需安装 tesseract 中文语言包)

  2. 修改配置:按企业实际情况编辑 config/ 下的税率、社保比例、报销标准、会计科目映射

  3. 调用方式一(对话式):在对话中使用触发词,如"录入发票"“对账”“审核报销”“算工资”“生成报表”,按要求上传文件即可

  4. 调用方式二(命令行):直接运行对应脚本,例如:

    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                 # 生成报表
    
  5. 下载模板:如需导入银行流水、工资表、报销单,可先从 templates/ 目录下载标准模板填写


5. 效果展示(资料有限,可以自己实操一下,有不足之处欢迎指正,我们及时修改)!

使用前(手工流程):

  • 录入 10 张发票:约 30 分钟(手打 + 翻会计科目表)
  • 银行对账(30 笔流水):约 40 分钟(逐笔在 Excel 里 VLOOKUP)
  • 审核 20 笔报销:约 25 分钟(逐行看金额、翻制度表)
  • 算 10 人工资个税:约 30 分钟(翻税率表、手算累计预扣)
  • 月底出报表:约 2 小时(汇总数据、拼表格)

使用后(AI 处理):

  • 录入 10 张发票:拍照上传,1 分钟内完成
  • 银行对账:上传流水文件,几秒出对账结果
  • 审核 20 笔报销:上传报销单,几秒出审核报告
  • 算 10 人工资个税:上传工资表,几秒出核算结果
  • 月底出报表:一键生成,含税负风险检测

整体效率提升:每月从 3-4 天财务工作时间压缩到 1 小时以内。


6. Skill 链接


7. 总结与思考

收获:

最大的收获是把"看起来可以自动化"的财务工作真正做成了端到端的工具链。过程比预期顺利——因为五个模块的逻辑本身是标准化的(会计准则、税法公式都是确定的),真正费时间的是做 OCR 容错和科目匹配的边界情况处理。做完后发现 AI 确实很适合这种"规则明确且重复"的场景。

最满意的地方:

  • 配置驱动设计:不同企业改 JSON 配置就行,不用改代码,降低了使用门槛
  • 双向对账逻辑:不是简单的金额匹配,做了精确匹配 + 模糊匹配 + 差异报告三档处理,实际对账准确率很高
  • 模块独立但数据互通:每个脚本能单独跑,但数据通过统一的凭证库关联,不重复录入

后续优化方向:

  • 增加更多银行流水格式的兼容(目前只支持固定模板,不同银行的导出格式差异大)
  • 发票 OCR 接入云端发票识别 API(百望、票易通等),提高增值税专用发票关键字段的识别准确率
  • 增加电子税务局申报表自动生成功能
  • 做一个简单的 Web 界面,降低命令行门槛

希望大家的反馈:

如果你也是小微企业主或有代账经验,欢迎试试这个 Skill。特别希望你能反馈:还有哪些高频财务操作值得加进来?配置文件的格式和说明是否清晰?命令行操作的门槛是否会劝退你?

1 个赞

我觉得很有用,特别是对于新手而言

2 个赞