首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >我做的"财报自动录入 Excel"AI Skill 翻车了,根因就一个:PDF 里的数据根本读不准

我做的"财报自动录入 Excel"AI Skill 翻车了,根因就一个:PDF 里的数据根本读不准

原创
作者头像
用户12616518
发布2026-07-11 00:25:56
发布2026-07-11 00:25:56
60
举报

一个银行对公业务员的自动化血泪史。流程、校验、脚本我都设计得挺漂亮,但最底层的一关——把 PDF 里的数字读出来——从一开始就没解决。

---

一、痛点:每天在和财报 PDF 搏斗

我是某银行对公业务条线的一名客户经理。日常最枯燥、最易错、又最不能错的一件事,就是把企业送来的财报 PDF 手动录入到银行固定的 Excel 授信模板里

企业给的材料通常是年报、季报、审计报告,格式千奇百怪:有的能复制文本,有的是扫描件,有的把三大报表拆成二十多页。一旦录错一个数字,授信决策就可能误判,所以这件事必须零差错

于是我用一个叫 WorkBuddy 的 AI 平台做了个 Skill,起名 「财务报表录入(financial-statement-entry)」,愿景很美好:上传 PDF,自动吐出填好数据的银行模板。

图1:理想中的 6 步零容错工作流

---

二、理想很丰满:流程、脚本、校验一应俱全

我花了一整轮对话把 Skill 从 YAML 到脚本一行行搭起来,结构堪称"教科书级别":

  • 6 步工作流:输入预检 → PDF 表格提取 → 数据清洗 → 科目映射录入 → 三重校验 → 归档交付。
  • 8 个参考文档:模板映射、科目映射、PDF 提取技巧、单位换算、校验规则……写了 3200 多行。
  • 4+ 个 Python 脚本:提取、清洗、表内校验、表间勾稽校验,外加内置的银行财务报表模板。
  • 零容错校验体系:P0/P1/P2 三级,白纸黑字写着"校验不通过禁止进入下一步"。

我当时觉得:这玩意儿稳了。

结果首测,一步都没走通——卡在了最不起眼、我以为"pdfplumber 一行搞定"的第一步:从 PDF 里把数据读出来

图2:理想 vs 现实,首测达成度对比

---

三、真正的杀手:PDF 数据根本读不准

我没意识到,整个 Skill 的地基是"PDF 能准确读出结构化表格"。可真实财报 PDF 偏偏在这一关给了我以下四记闷棍:

3.1 文本型 PDF 也脆弱

能复制文字的 PDF,用 pdfplumber 确实能提。但财报不是干净表格:多栏并排、合并单元格、表头跨行,提取出来经常科目名和数字错位——左边资产类的科目,莫名其妙填到了右边负债类的列里。这种错位肉眼难辨,却足以让后续校验全盘报错。

3.2 图片型 / 扫描件 PDF:直接读空

年份较近的审计报告是图片层 PDF,文本层几乎为空。pdfplumber 在它身上提取到的内容趋近于零。后果很具体:连续多个历史年度的数据全部缺失,流水线只能录进最近两期(期初数 + 期末数),前面的年份一片空白。

图3:多个历史年度数据缺失缺口

3.3 多栏、合并单元格、跨页:结构断裂

资产负债表天然左右分栏(资产 | 负债及权益),审计报告还常把一张表拆成两页。通用提取器不会"按栏归位"、也不会"跨页拼接",结果是半张表、错位的列、丢失的小计行。而这些小计行恰恰是校验勾稽关系的命门。

3.4 读出来了,科目名却对不上

即便数字侥幸读出来了,科目名称也是千变万化:"应收票据及应收账款" vs "应收账款"、新旧准则差异、重分类调整(一年内到期的非流动资产)……模糊匹配根本兜不住。读是读到了,却填不进模板对应的格子里。

一句话总结翻车根因:我把 90% 的精力花在了"读出来之后怎么办",却假设了"读出来"这件最难的事天然成立。真实世界狠狠打脸。

---

四、为什么 PDF 读取这么难?

复盘下来,这不是我一个人的坑,是真实业务的复杂度 vs "通用自动化"假设之间的结构性冲突

第一,真实财报 PDF 远比想象复杂。 扫描件、图片层、多栏布局、合并单元格、跨页表格——教科书里的 pdfplumber 示例,在真实审计报告的扫描件面前基本失效。没有 OCR、没有版面分析,"读取"二字就是空中楼阁。

第二,表格结构恢复是独立的 hard 问题。 即使 OCR 出了文字,把零散文字块还原成"哪行哪列"仍需版面分析:按坐标聚类行、按栏切分列、识别合并单元格。这不是简单字符串匹配能解决的。

第三,"通用 Skill" 与 "具体公司报表" 天然矛盾。 每家公司的科目命名、列顺序、报表结构都不同。想一个 Skill 通吃所有企业财报,等于想用一把钥匙开所有锁。

更讽刺的是,我设计的零容错校验反而放大了挫败感——底层读不准,上层再严的校验也只是更快地告诉你"错了"。

---

五、踩坑后的 5 条反思(先把"读准"这关过了)

1. 先验证最底层的假设,再谈上层架构。 我花大力气设计完美流程,却没先拿真实 PDF 实测"能不能读出来"。地基没验证,楼盖得再漂亮也白搭。

2. PDF 解析必须兜底 OCR + 版面分析。 文本层为空时自动切换 OCR,并对 OCR 结果做表格结构恢复;否则图片型 PDF 永远是死穴。

3. OCR 结果必须标注置信度、强制人工复核。 财务零容错意味着 AI 只能做"辅助提取 + 可疑项提示",最终确认权必须在人手里。读得准不准,人得拍板。

4. 通用映射不如先打标。 与其追求全自动匹配,不如先用一家真实客户把科目映射"打标"到位,跑通后再谈泛化。

5. 校验要分级、要可读。 报告要让业务人员看得懂——哪里不平、差多少、建议怎么改,比一句"校验失败"有用一百倍。

---

六、结语

这个 Skill 现在不能用,根因不在流程、不在脚本、不在校验,而在最底层那一步:PDF 里的数据,压根没被准确地读出来

AI 自动化的价值,不在于一次性替你干完所有活,而在于把重复的、低风险的脏活先干了。但"读准数据"这件事,恰恰是那个不能跳过的、最该先啃下来的硬骨头。 啃不下来,后面全是空中楼阁。

翻车不可怕,可怕的是翻完车还以为自己只是"细节没打磨好"。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一个银行对公业务员的自动化血泪史。流程、校验、脚本我都设计得挺漂亮,但最底层的一关——把 PDF 里的数字读出来——从一开始就没解决。
    • 一、痛点:每天在和财报 PDF 搏斗
    • 二、理想很丰满:流程、脚本、校验一应俱全
    • 三、真正的杀手:PDF 数据根本读不准
      • 3.1 文本型 PDF 也脆弱
      • 3.2 图片型 / 扫描件 PDF:直接读空
      • 3.3 多栏、合并单元格、跨页:结构断裂
      • 3.4 读出来了,科目名却对不上
    • 四、为什么 PDF 读取这么难?
    • 五、踩坑后的 5 条反思(先把"读准"这关过了)
    • 六、结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档