【场景】财务:AI 做账/对账/报表
摘要:把财务最耗时的记账、对账、报表交给 AI 当助手,OCR 识别发票、批量对账、自然语言出三大表草稿,效率翻倍但绝不替代会计。
一、痛点引入
咱们做财务的同事,每月总有几天是"渡劫"——月底那几个晚上。
打开 Excel 那一刻,三件事一起压过来:
- 贴发票归类:一堆增值税专票、电子发票、出租车票混在邮箱附件里,你要一张张打开、看金额、看抬头、归到"管理费用-办公费"还是"差旅费-交通费",手酸眼酸;
- 银企对账:银行流水的 Excel 和公司账本的 Excel 字段都不一样,金额一样日期差两天、有的一模一样却备注不一样,未达账项(一方已经入账、另一方因为凭证在途还没入账的那部分,比如银行已扣款企业还没记账)要靠人眼一行一行对;
- 出报表:领导要利润表、资产负债表、现金流量表(这三个就是会计圈说的三大表),你从总账里把数字一个一个抓出来,公式连来连去,错一个小数点全盘重算。
这三件事在国内中小企业里几乎占用财务 40%–60% 的工时——但其中至少一半是"机械劳动"(就是把数字搬来搬去、字段对一对),不是真正的会计判断。
这篇文章就帮你把这"机械劳动"那一半外包给 AI:AI 做初稿,你做审核。注意——是初稿,不是终稿,会计的法定职责 AI 替代不了(这点在第五章红线部分会反复强调)。
二、目标产出
照着这篇做完,你能拿到 3 样东西:
- 一份"AI 记账助手"工作流:发票照片自动 OCR(OCR 就是把图片里的文字识别成可编辑文本)成结构化字段、批量分类入账到金蝶/用友/管家婆,原来 1 天的贴票活压到 1 小时;
- 一份"AI 银企对账"工作流:银行流水和公司账本两张表交给 AI,自动找出未达账项并标注差异原因,原来半天的核对活压到 10 分钟;
- 一份"AI 三大表草稿":用大白话告诉 AI "给我出 2024 年 11 月的利润表",AI 直接给一张可调的 Excel 草稿,初稿从零搭表压到 5 分钟。
前置条件:
- 你公司用的是 金蝶 KIS/云星辰、用友 U8/NC Cloud、管家婆 任一版本——三家都开放了 API(API 就是软件对外的"小窗口",让别的程序能跟它说话)或 RPA 接口(让软件替人点鼠标的自动化),AI 能喊它们干活;
- 你电脑能上 通义千问 / Kimi / ChatGPT,有网就行;
- 金数据或简道云账号至少一个(用来搭发票收集的入口);
- 你的会计科目表(科目表就是公司账上所有"桶"——"现金""银行存款""管理费用"这种)已经稳定,跑业务满 1 个完整会计期间以上。
重要边界(先讲再写案例):财务涉及《会计法》《发票管理办法》《会计档案管理办法》等法规——AI 只能做"草稿/初稿",不能替代会计的审核、签字、记账、归档职责。具体来说:
- 生成记账凭证 ≠ 完成记账——AI 给的是"建议分录",必须由会计审核后手工(或通过金蝶/用友的"凭证审核"流程)入账;
- AI 识别发票 ≠ 发票合规校验——增值税专用发票的真伪、抵扣合规性、抬头税号一致性,必须通过税控系统/电子发票服务平台核验,AI 不能背书;
- AI 出报表 ≠ 报表对外报送——三大表对外报送(工商、税务、银行)必须由会计手工复核并签字盖章,AI 草稿仅供内部讨论与勾稽核对(就是表与表之间数字互相印证,不打架)。
这条边界,后面案例里每次踩到合规点都会再提一次。别把 AI 当会计用,它是会计的实习生。
三、案例实战
下面 3 个案例按顺序来,案例一(记账)最常用、案例二(对账)最能见效益、案例三(报表)最考验提示词。每一步都给了具体提示词和工具按钮,复制粘贴就能跑。
案例一:AI 记账助手——发票照片自动归类入账
案例背景:某贸易公司,财务小李,每月收到 200+ 张发票(增值税专票、电子发票、出租车票、滴滴电子发票),原来 1 天贴票分类,现在要压到 1 小时。
第 1 步:用通义 OCR 把发票照片变成结构化数据(5 分钟)
通义 OCR 是阿里云提供的识别服务,专门优化了中文票据。
操作:
- 打开 通义 OCR 在线 demo(不需要写代码);
- 把发票照片/扫描件批量上传(一次最多 20 张);
- 在"识别类型"里选 "票据凭证 - 增值税发票" 或 "通用文字"(出租车票/火车票选通用);
- 点"开始识别",下载结果为
.xlsx,字段已经自动填好:发票代码、发票号码、开票日期、购买方信息、销售方信息、金额、税额、价税合计、备注。
进阶玩法(量大的公司用):写一个 VBA 宏(macro,就是录下来能反复跑的脚本)批量调阿里云 OCR 的 API,一次性处理 1000+ 张图片,识别结果直接落到 Excel 一行一张。代码片段本节末尾给。
第 2 步:把 OCR 结果 + 公司科目表喂给 AI,让它分类(10 分钟)
打开通义千问/Kimi/智谱清言(GLM)任一对话框,把 OCR 结果贴进去,附上公司科目表 + 提示词。
提示词模板(复制粘贴,替换 [ ] 里的内容):
你是我的记账助手。我公司是一般纳税人,主营业务是 [服装零售]。
下面是我的《科目表》(摘选):
| 科目编码 | 科目名称 |
|----------|----------------|
| 6601 | 销售费用 |
| 6601.01 | 销售费用-广告费 |
| 6602 | 管理费用 |
| 6602.01 | 管理费用-办公费 |
| 6602.02 | 管理费用-差旅费 |
| 6602.02.01| 管理费用-差旅费-交通费 |
| 6602.02.02| 管理费用-差旅费-住宿费 |
| ...(这里填你公司完整科目表)|
下面是我用 OCR 识别出来的本月发票清单(每行一张):
| 发票号码 | 开票日期 | 销售方 | 金额 | 税额 | 摘要/备注 |
|----------|----------|--------|------|------|-----------|
| 12345678 | 2024-11-03 | 北京滴滴出行 | 127.00 | 7.62 | 11月2日用车(6% 税率示例) |
| 23456789 | 2024-11-05 | 锦江之星酒店 | 484.00 | 29.04 | 上海出差住宿(6% 税率示例) |
| ...(把你 OCR 出来的 xlsx 转成这个表格贴进去)|
请帮我做两件事:
1. 每张发票归到最合适的科目("滴滴"→管理费用-差旅费-交通费,"酒店"→管理费用-差旅费-住宿费,"办公用品"→管理费用-办公费,"广告投放"→销售费用-广告费,等等);
2. 按"摘要规范"补全摘要:格式"YYYY-MM-DD + 销售方简称 + 业务内容",比如"2024-11-03 北京滴滴 用车"。
输出三列:发票号码 / 借方科目(精确到末级)/ 完整摘要。
不要输出贷方科目,贷方统一是"银行存款/库存现金",我自己补。AI 给你三列结果——这就是"建议分录"。
第 3 步:审核 + 入账(20 分钟)
这一步不能省,前面说过 AI 给的是初稿:
- 抽检 10%-20%:随机抽 20 张发票对照原件,看科目归得对不对。常见错误:把"广告费"归到"办公费"、把"招待客户餐饮"归到"差旅费-餐费"(实际是"业务招待费",税务处理完全不同);
- 手工在金蝶/用友/管家婆里录凭证:借贷都填好,金额按"不含税金额 + 税额"分两行(专票)或"价税合计"一行(普票);
- 凭证审核:录入后走金蝶/用友系统内的"审核人"流程(一般是你或你主管),这一步必须有真人签字——AI 不能签;
- 记账/过账:审核通过后点"过账",凭证正式进总账。
OCR + VBA 批量调用代码片段(可选,进阶):
vbaSub BatchOCR_Aliyun() Dim filePath As String, apiKey As String apiKey = "你的阿里云 AccessKey" filePath = "C:\Invoices\" Dim f As String, row As Long row = 2 f = Dir(filePath & "*.jpg") Do While f <> "" ' 调用阿里云 OCR API,把识别结果写进 ActiveSheet ' (具体 HTTP 请求部分用 MSXML2.XMLHTTP,这里不展开) row = row + 1 f = Dir() Loop End Sub没写过 VBA 没关系——先把前 2 步手工跑通,第三步批量再用代码。先跑通再自动化,是新人的稳妥路径。
案例二:AI 银企对账——两张表自动找未达账项
案例背景:某制造企业,财务王姐,每月 5 号要把上月的银行流水(招行导出
.xlsx)和公司账本(金蝶导出的.xlsx)对一遍,找出未达账项。原来半天,现在 10 分钟。
第 1 步:把两张表统一字段格式(3 分钟)
两张表原始字段不一样,AI 看不一致字段会乱,所以先在 Excel 里各加几列:
银行流水表(招行导出)追加两列:
| 原日期 | 原摘要 | 原收入 | 原支出 | 原余额 | 统一日期 | 统一金额 | 统一摘要 |
|---|---|---|---|---|---|---|---|
| 20241103 | 货款 | 50000 | 150000 | 2024-11-03 | 50000.00 | 20241103 货款 |
公司账本表(金蝶导出)追加同样三列,逻辑一致。
第 2 步:两张表 + 对账规则喂给 AI(5 分钟)
提示词模板:
你是我的对账助手。下面有两张表:
【银行流水】(节选)
| 统一日期 | 统一金额 | 统一摘要 |
|----------|----------|----------|
| 2024-11-03 | 50000.00 | 20241103 货款 |
| 2024-11-05 | 1280.00 | 滴滴出行批量 |
| 2024-11-08 | -30000.00| 付供应商A |
| ... |
【公司账本】(节选)
| 统一日期 | 统一金额 | 统一摘要 |
|----------|----------|----------|
| 2024-11-03 | 50000.00 | 收客户甲货款 |
| 2024-11-05 | 1280.00 | 报销-滴滴 |
| 2024-11-09 | -30000.00| 付供应商A 货款 |
| ... |
【对账规则】
1. 同一笔交易:金额相等(±0.01 容差)+ 日期相差 ≤3 天 → 视为已对平,不输出;
2. 金额相等但日期相差 >3 天 → 标注为"时间差",可能是银行延迟到账或记账时点问题;
3. 金额不等 → 标注为"金额差",保留两边的金额以便人工核对;
4. 仅出现在一边 → 标注为"单向未达"。
请输出【未达账项清单】,按规则 2/3/4 分类,每条说明两边各自的日期、金额、摘要。
另外帮我统计:已对平多少笔、可能时间差多少笔、金额差多少笔、单向未达多少笔。AI 会直接给你一张分类好的清单,比你自己 VLOOKUP 快 10 倍不止(VLOOKUP 是 Excel 里按一个字段去另一张表里找对应值的函数,对账场景里公式要写一大坨)。
第 3 步:人工复核 + 写余额调节表(10 分钟)
AI 给的是"建议匹配",未达账项的最终认定权在会计:
- 看"时间差":常见原因是银行结息日在月末、记账日是次月 1 号,这种按规则调一下入账期间即可;
- 看"金额差":一般是手续费(如银行扣 5 元手续费但公司账上按整笔金额记)、或一方有红字冲销(红字就是负数,用来冲销之前的错账);
- 看"单向未达":银行有公司没有 = 公司漏记账;公司有银行没有 = 在途款项(比如 11 月底开的支票对方 12 月才去兑);
- 出具余额调节表(银行对账单余额 + 公司已收银行未收 - 公司已付银行未付 = 公司账上余额),这是会计的法定动作,AI 不能代出。
进阶玩法:用 Power Query(Power Query 是 Excel 自带的数据清洗工具,能自动从多个 Excel/数据库取数、合并、转换)做"全自动对账"——把两张表设成查询,每次打开就自动刷新匹配,AI 提示词只在"差异项"上人工介入。会 Power Query 的同事这一步能再压一半时间。
案例三:AI 三大表——大白话出报表草稿
案例背景:某服务型企业,财务总监张总,每月 8 号要给老板出三大表(利润表、资产负债表、现金流量表),原来从总账抓数要 2 小时,现在 5 分钟出草稿。
第 1 步:从金蝶/用友/管家婆导出当月总账(5 分钟)
总账导出 .xlsx,字段一般是:日期 / 凭证号 / 摘要 / 借方科目 / 借方金额 / 贷方科目 / 贷方金额。
第 2 步:把总账 + 报表模板 + 提示词喂给 AI(5 分钟)
提示词模板(利润表为例):
你是我的报表助手。我公司是一般纳税人,适用《企业会计准则》。
下面是我 2024 年 11 月的总账数据(节选):
| 日期 | 凭证号 | 摘要 | 借方科目 | 借方金额 | 贷方科目 | 贷方金额 |
|------|--------|------|----------|----------|----------|----------|
| 2024-11-30 | 记-1101 | 结转收入 | 主营业务收入 | 500000 | 本年利润 | 500000 |
| ...(贴你的总账)|
请帮我生成 2024 年 11 月的【利润表草稿】,格式按财政部《企业会计准则》应用指南的标准格式:
- 一、营业收入
- 减:营业成本
- 减:税金及附加
- 减:销售费用
- 减:管理费用
- 减:研发费用
- 减:财务费用
- 加:其他收益
- 加:投资收益
- 加:公允价值变动收益
- 加:信用减值损失(损失以"-"号填列)
- 加:资产减值损失
- 加:资产处置收益
- 二、营业利润
- 加:营业外收入
- 减:营业外支出
- 三、利润总额
- 减:所得税费用
- 四、净利润
每行给我一个数字 + 计算来源("主营业务收入 50 万 = 收入类科目结转本年利润合计")。
数字有疑问的地方标"⚠️待核"。AI 会给你一张带备注的报表草稿——这才是"草稿"的正确姿势:数字有出处、疑问有标注。
第 3 步:人工勾稽 + 调整(30 分钟)
"勾稽"是会计术语,意思是表与表之间数字互相印证、不打架。这一步是 AI 替代不了的:
- 利润表净利润 = 资产负债表未分配利润期末-期初变动额——不一致就回去查总账;
- 资产负债表资产总计 = 负债 + 所有者权益总计——这个等式是会计恒等式,永远成立;
- 现金流量表期末现金 = 资产负债表货币资金期末——一般会有差额,差额等于"现金等价物"(比如 3 个月内到期的短期理财);
- 异常波动项目:比如某个月管理费用突然翻倍,AI 可能识别不出,会计必须人工看一遍——可能漏记了、也可能真的有大额支出。
勾稽通过后,再把报表粘贴回金蝶/用友/管家婆的报表模块,由会计手工"过账"或"出具"。
进阶玩法:如果你们已经在用 Power BI(PivotTable 是基础版,Power BI 是进阶版,能做交互式看板),把金蝶/用友数据接入 Power BI 模型,用 DAX 写度量值自动算三大表(DAX 是 Power BI 和 Power Pivot 里专用的公式语言,类似 Excel 函数但更强大)。这样每月刷新一次数据,报表自动出,AI 只负责"差异解读"和"异常解释"。这一套搭好之后,月报从 2 小时压到 15 分钟,但前期投入大,适合每月报表工作量大的公司。
四、原理小结
三个案例看似不一样,背后套路是同一个——OCR + LLM + 业务系统 API 的"三件套":
| 环节 | AI 做什么 | 为什么它能做 | 边界在哪 |
|---|---|---|---|
| OCR(通义、百度 OCR、PaddleOCR) | 把图片/PDF 里的数字、字段、表格识别成文本 | 深度学习在印刷体汉字识别上准确率 99%+,增值税发票是标准化版式,效果更好 | 手写体、模糊扫描、阴阳章识别率会下降,重要单据必须人工复核 |
| LLM(通义千问、ChatGPT、Kimi、Claude) | 把非结构化文本/表格理解、归类、生成新文本 | 大模型擅长模式匹配和语言理解,能把"滴滴出行"映射到"差旅费-交通费"是它在海量数据里学到的关联 | LLM 会"一本正经地胡说"(业内叫 hallucination),数字字段必须人工核对,AI 给的科目也要人工抽检 |
| 业务系统 API/宏(金蝶/用友的 API、VBA 宏、Power Query) | 把 AI 处理好的结果写入真实的财务系统 | API 是软件对外的小窗口,VBA 能录脚本,Power Query 能自动取数 | 写入操作必须有授权和审计日志(就是谁改了什么要留痕)——财务系统的写入权限要严管 |
原理一句话:AI 干"搬运+分类+生成初稿",会计干"审核+判断+签字"。这两件事不能合并,合并就有合规风险。
五、避坑指南
财务场景的"坑"比别的场景多,每一条都要认真看。
坑 1:把 AI 给的"建议分录"直接入账——这是合规红线
踩坑后果:违反《会计法》第十四条"会计机构、会计人员必须按照国家统一的会计制度的规定对原始凭证进行审核",轻则账务错乱、重则被认定为虚假记账。
正确做法:
- AI 输出 → 会计逐张抽检(≥20%) → 手工录入系统 → 凭证审核流程 → 过账;
- 绝不能让 AI 自动过账。哪怕你写 VBA 也好、用 RPA 也罢,"过账"按钮必须由真人点;
- 在金蝶/用友里给 AI 工具开"查询权限"而非"修改权限",AI 只读不写,最后写入动作由人完成。
坑 2:把发票照片传到公网 AI——这是数据安全红线
踩坑后果:客户发票、银行流水都是敏感数据,发到第三方 AI 平台有数据泄露风险,违反《数据安全法》《个人信息保护法》。
正确做法:
- 优先用私有化部署的 OCR/LLM(比如阿里云专有云、华为云 Stack、Azure 私有部署),数据不出企业内网;
- 必须用公网 AI 时:① 脱敏(把公司名、税号、银行账号打码);② 选支持"数据不参与训练"的版本(ChatGPT 企业版、Claude for Work、通义千问 API 付费版都支持);③ 与 AI 服务商签数据处理协议(DPA);
- 金蝶/用友自带的 AI 模块优先用——厂商已经按合规要求处理了数据。
坑 3:AI 识别错了专票抬头或税号——这是入账合规问题
踩坑后果:增值税进项税不能抵扣、发票被认定为不合规,甚至影响纳税信用等级。
正确做法:
- AI 识别结果里的购买方信息(公司名、税号、地址、电话、开户行)必须与税控系统或电子发票服务平台核对;
- 建议每月固定跑一次"发票合规校验":把所有入账发票通过"增值税发票综合服务平台"验真,AI 只能做"初筛"。
坑 4:AI 把"业务招待费"归成"差旅费-餐费"——这是税务处理雷区
踩坑后果:业务招待费有"按发生额 60% 扣除且不超过营业收入 5‰"的限制,差旅费没有;归错科目导致汇算清缴时大额纳税调整。
正确做法:
- 在提示词里显式列出"易混淆科目对照表"(招待费 vs 差旅费、广告费 vs 宣传费、研发费用 vs 管理费用);
- 大额支出(单笔 >1 万)必须人工核对科目;
- 提示词里加一条:"不确定的科目不要猜,标'⚠️待人工判定'"——比硬猜一个错的好。
坑 5:AI 报表数字"看着对"但勾稽不上——这是会计常识缺失
踩坑后果:报表数字之间打架、领导质疑、返工。
正确做法:
- 永远做三步勾稽:① 资产=负债+权益;② 净利润=利润分配变动;③ 现金=资产负债表货币资金;
- AI 出的报表没有勾稽校验——它不知道"会计恒等式",它只生成结构;
- 在金蝶/用友报表模块里设"报表勾稽公式"自动检查,是更稳妥的兜底。
坑 6:盲目相信 AI 提示词里给的"通用科目表"——这是业务理解错位
踩坑后果:每家公司科目体系不一样,AI 用通用知识给的科目表可能跟你公司实际科目对不上。
正确做法:
- 每次喂数据前都附上你公司真实的科目表(哪怕截图表格图也行,让 AI 看见);
- 提示词里加一句:"如果发票信息不足以判定科目,请输出'需补充信息:xxxx',不要硬猜。
六、进阶延展
三个案例跑通之后,可以往下面三个方向继续延伸,也是 vba.net 这个系列后面文章会详细讲的:
1. VBA 宏自动对账(搭配案例二)
如果你每天/每周都要对账,把对账规则写进 VBA 宏,让 Excel 自动跑:
- 用
Workbooks.Open打开银行流水 + 公司账本; - 用
Range.Find或Scripting.Dictionary做高速匹配(VBA 内置的高速键值对数据结构,比 VLOOKUP 快 50 倍以上); - 把差异项输出到第三个 Sheet,人工只看差异项;
- 这一套搭好之后,1 万笔交易的对账从 2 小时压到 5 分钟。
这一块可以参考本系列的 B 套文章(B14 写 SQL、B18 批量脚本、B26 M 查询)。
2. Power Query 自动取数(搭配案例一、案例三)
Power Query 是 Excel 自带的数据 ETL 工具(ETL 就是"抽取-转换-加载",把数据从一个地方搬到另一个地方并整理好):
- 把金蝶/用友导出的
.xlsx设成数据源; - 每次打开自动刷新,AI 只在"归类/生成"环节介入;
- 配合 PivotTable(数据透视表,能快速按维度汇总数字)做动态分析,DAX 写度量值算同比环比;
- 这一套适合报表需求稳定、月月重复的公司。
3. AI Agent + 金数据/简道云做发票收集前置(搭配案例一)
让员工报销时直接在金数据/简道云填表、上传发票照片,触发自动化流程:
- 员工提交 → 金数据/简道云触发 webhook(就是"事件通知",填完自动喊一声);
- webhook 调通义 OCR API 识别 → 调 LLM 归类科目 → 写入金蝶/用友的"待审核凭证"池;
- 会计在金蝶/用友里看到"AI 待审"标签的凭证,审核通过即过账。
这是端到端自动化,从员工贴票到记账入账全自动跑,会计只在最后审核一步介入。这是 AI Agent(智能体)系列的典型场景,参考本系列 C6_AI Agent。
写在最后:财务场景是 AI 落地最有价值、也最有风险的领域。价值在于——AI 真能把财务从"贴票机器"解放出来,让会计做更有价值的工作(税务筹划、预算分析、经营决策支持)。风险在于——合规边界模糊、AI 误判、签字责任不清。守住"AI 做初稿、会计做审核"这条线,你就是用 AI 最好的财务人员;越过这条线,你就是把公司和自己的职业风险一起搭进去。这条线,比任何提示词技巧都重要。
本文要点回顾:
- AI 记账:OCR 识别发票 → AI 分类科目 → 会计审核入账;
- AI 对账:两张表统一字段 → AI 找未达账项 → 会计出余额调节表;
- AI 报表:总账喂给 AI → 生成三大表草稿 → 会计勾稽后出具;
- 铁律:AI 是初稿,会计是终审,签字权绝不外让。