指南 / 工作流

收据整理成表格:双工具实测工作流(含免费记账模板)

收据照片到分类流水账:AI 提取、手工粘贴、去重清理、公式已验证的 XLSX 模板。全流程真实运行,如实记录每一步输入输出与限制。

先说结论:收据拍照 → 收据提取器读出商户、日期、合计、税额、明细行 → 把值复制进台账 → 保留一个记账文件。两个工具之间没有自动联通——中间是一步手工粘贴,而这恰恰是好事:粘贴本身就是人工复核点。下面是两张合成收据上完整跑通的流程,每一步的输入输出和最终模板文件全部公开。范围先说清楚:这只是录入辅助,不构成税务或会计核验,也不会自动记账、不涉及任何第三方。

为什么选这条工作流(而不做更花哨的)

我们比较了三条候选链路:收据→表格、问卷反馈→归类、产品事实表→商品描述。选收据链有三个实际理由:它串起两类不同的工具(AI 提取 + 本地清理),中间的复制步骤是真实的复核点;输出里有可用程序机械复核的金额(收据自身的小计/合计关系);它以交付物(台账文件)收尾,而不是一段没有标准答案的文案。后两条候选产出的是文本,没有可验证的真值,无法诚实地做端到端测试。

演示材料(合成、公开、可复用)

两张收据都是为本指南绘制的,票面上就印着演示标记——没有真实商户、真实交易。收据 A 是英文打印店收据(小计 + 8.5% 税),收据 B 是中文文具批发单(只印一个合计、无税行)。所有金额都选了两位小数精确的值,期望值在提取运行之前就登记好了。

第 1 步 —— 逐张提取字段

  1. 打开提取器,放一张照片. 进入 收据提取器,拖入照片。支持 JPG/PNG/WebP、最大 10 MB,浏览器内先压到 2000 像素——图片会送去做 AI 字段提取(本工具需要免费账号;每张收据消耗一次全站试用)。
  2. 可选:填币种提示. 填一个币种提示(例如 CNY、USD)。真实运行里,提示帮收据 B 得到了 CNY;收据 A 票面完全没有币种,工具留空并标记不确定,而不是硬套提示——这正是想要的行为。
  3. 运行提取. 点提取按钮。我们的两次运行各约 15 秒出结果。右侧出现字段:商户、日期、币种、小计、合计、税额、支付方式、单号,以及明细行。
  4. 看程序核对行. 工具在浏览器里(不是让模型)自己把明细行加总,与票面小计/合计比对。收据 A:「明细行合计 75.35——一致」;收据 B:「105.3——一致」。如果出现警告行,说明某个数字读错了——导出前先改。
  5. 修正可疑值. 所有值点击即可改。对照照片逐项看——工具自己声明这不是会计核验。
  6. 下载 CSV. Download CSV 得到 UTF-8 BOM 文件:表头一行、字段一行、然后是明细行。和照片放在一起存档。

真实运行结果与期望值逐项对照

字段收据 A:期望 → 实测收据 B:期望 → 实测
商户HARBOR PRINT & COPY → 一致 ✓青云文具批发部 → 一致 ✓
日期2026-10-28 → 一致 ✓(票面时间 14:05 被丢弃)2026-11-02 → 一致 ✓(时间被丢弃)
币种票面无 → 留空并标记不确定 ✓CNY → 一致 ✓
小计75.35 → 一致 ✓票面无 → 留空 ✓
税额6.40 → 6.4 ✓(数值相等)票面无 → 留空 ✓
合计81.75 → 一致 ✓105.30 → 105.3 ✓
支付Card **** 4417 → 一致 ✓现金(已清)→ 现金 ✓(有简化,仍准确)
单号HP-2026-10284 → 一致 ✓QX-261102-073 → 一致 ✓
明细行3/3 行,金额全对 ✓4/4 行,金额全对 ✓

一个确定性脚本把导出的每个值与预登记真值逐项比对:两张收据全部通过。两个值得注意的诚实细节:日期里的时间被丢弃(也许你想留);收据 B 的支付说明被简化(现金 而不是 现金(已清)),仍然准确但丢了「已结清」的语义——字段要读,不能盲信。

注意:我们这两张是干净清晰的打印样张。褶皱、手写、异形版式会带来更多错误——程序核对能抓住算术断裂,但商户或日期读错不会触发任何警告。务必对照照片。试用额度有限(免费账号全站 3 次),值得把照片拍好,而不是反复重试。

第 2 步 —— 粘贴成工作表并清理

提取器的 CSV 是「收据档案」(字段行 + 明细行),不是台账行。记账要的是一行一张收据。把字段值——包括币种——复制进一张简单表;提取器留空/标不确定的币种就保持这个状态(我们写 unknown,绝不代猜)——我们模拟了真实的粘贴事故:一行被粘贴了两次、多了一个空行——然后交给 CSV 清理器:勾选 trim、删除空行、去重,点 Apply,再导出。

粘贴进去清理器输出
表头 + 3 行数据 + 1 个空行(5 行)3 行——表头 + 2 行去重后的数据(日期、商户、分类、币种、支付、小计、税额、合计、单号、备注)
收据 A 那行的重复被 dedupe 删除
首尾多余空格被 trim 清掉
导出UTF-8 BOM CSV——Excel 打开中文正常

一处需要披露的更正:2026-11-11 的真实运行清理的是 9 列工作表(没有币种列);按第 3 步的币种修正后,公开的 ledger-cleaned.csv 现为 10 列——币种值来自提取字段(收据 A:unknown,收据 B:CNY),收据 A 的备注保留"票面未印币种"的提醒。原始 9 列输出在私有运行记录中原样保留。

清理后的文件就是你的主数据;上方可下载的 ledger-cleaned.csv 就是这次的完整输出。

第 3 步 —— 把行放进记账模板

模板是一个普通 XLSX,两个工作部分:Ledger 工作表(日期、商户、分类、币种、支付、小计、税额、合计、单号、备注;预格式化 40 行)和 Summary 工作表——它把币种分开:用 SUMIFS/COUNTIFS 按币种计数求和,把币种为空或 unknown 的行单列一行——不计入任何币种总额,直到你确认币种——只对已确认币种给总额。另一块在单一选定币种内按分类汇总(黄色输入格,默认 CNY),并显示多少行落在该币种之外。把清理后的行粘到表头下面,每行填币种、选分类,汇总自动更新。

填入两行演示数据后,修正版模板给出:CNY 1 笔 / 105.30,其余币种 0 笔,unknown/空白 1 笔 / 81.75 列为未确认——不并入任何币种总额;CNY 口径下办公文具 105.30,另有 1 行在选定币种之外。桌面 Excel 经自动化重算,数值与预登记期望完全一致。公式都是普通函数,不是宏;文件里没有任何代码。

关于本模板第一版的诚实说明:它的 Summary 把收据 A 的 81.75——币种未知、提取器如实留空——与收据 B 的 CNY 105.30 相加,输出了 187.05 的"总计"。算术没错,币种口径错了:在确认收据 A 的币种之前,这两个金额不可比。上方按币种的布局是 2026-11-12 的更正;如果你下载过旧文件,请换新。

说明:小计/税额两列故意做成可选:很多真实收据(如演示收据 B)只印合计。票面有什么填什么,其余留空。币种是另一类列:保持 unknown 可以,但没有确认币种的行永远不会进入币种总额——先确认,再求和。Summary 汇总的是合计列,那才是记账真正要的数字。

依赖某行数据之前的检查清单

  1. 程序核对行显示一致——或者你已手工修正不一致
  2. 商户和日期对照过照片(核对线抓不到这两项)
  3. 合计与票面逐字符一致
  4. 币种已确认(或有意识地保持 unknown——该行将不进入币种总额)
  5. 分类已从列表中选择,Summary 能统计到该行
  6. 清理后的表作为主数据保存;原始导出与照片放一起
  7. 工具标记的不确定字段全部处理或在备注中说明

这条工作流的限制

  • 每次提取一张收据;三张收据就是三次任务(三次试用)。
  • AI 提取可能读错——算术核对是安全网不是保证(商户读错不会触发任何检查)。
  • 工具之间的粘贴是设计如此的手工步骤;没有自动串联,不自动接入记账软件,本指南也不做这种自动化。
  • 收据 vs 发票:中文记账语境下,发票是税务系统开具的凭证,收据是普通收款凭条。提取器读的是票面印刷内容,两者都能读;但发票的代码/号码等官方字段可能要手工补录,发票合规查验不在本指南范围内。
  • 演示数据全部合成;上传真实收据前先想清楚——提取需要把图片交给服务处理,不愿交给服务的图片就不要上传。

相关:清理步骤的细节——CSV 打开中文乱码排查;如果是表格照片而不是收据——图片表格转 Excel 实测;自动化时 JSON 配置坏了——JSON 报错排查。

来源与核查

来源核查日期 Every step in this walkthrough was actually performed on 2026-11-11: two original synthetic receipt images were run through the live YYSI receipt extractor with a standard test account (2 of its 3 free trials; no other accounts touched), the downloaded CSV exports were checked field-by-field against pre-registered truth values with a deterministic script (outputs/verify-extraction.json in the private run log), the pasted sheet was cleaned in the real csv-cleaner, and the XLSX template's SUMIF/COUNTIF formulas were recalculated in desktop Excel via automation and matched pre-computed values. The receipts are synthetic originals made for this guide — no real business, no real amounts. The receipt extractor is data-entry assistance, not tax or accounting verification. Correction of 2026-11-12 (raw AI outputs and the pre-registered truth untouched): the first template's Summary summed receipt A's 81.75 — whose currency the extractor had honestly left empty/uncertain — together with receipt B's CNY 105.30 into a single 187.05 total; the arithmetic was right but the currency scope was not. The published template and cleaned ledger now carry a Currency column, the Summary sums per currency (SUMIFS/COUNTIFS), rows with blank or unknown currency are listed separately and excluded from every currency total, and the category table is scoped to one confirmed currency. The corrected formulas were recalculated in desktop Excel via COM against a new known-answer case that includes the unknown-currency row (b-excel-com-verify in the 2026-11-12 remediation run directory).

阅读编辑标准(EN),或发送纠错到 [email protected]。