月底报销,最烦的是理发票:一个文件夹里几十张电子发票,要一张张打开抄号码、日期、金额,还得防着同一张票被下载了两次、报重了。
这篇讲怎么用 AI 整理发票:用 Claude Code 加上 invoice-organizer 技能,一句话把一文件夹 XML 电子发票整理成 Excel 台账,自动查重、校验金额,原始文件一个不动。我们用 6 张 XML 电子发票实测,63 秒完成:找出了一对重复发票和一张价税合计多算了 0.50 元的发票,生成了 xlsx 台账。环境接 AICodeWith 就能跑。

AI 整理发票:自动生成的发票台账
实测成品:6 张发票整理成台账,重复的两张和金额对不上的一张都标成“需复核”,“是否报销”默认都是“否”。实测用的是合成的测试发票。
先配好环境:两步接上 AICodeWith
环境只配一次,之后所有场景通用:
- 装 Claude Code:按 Claude Code 官方安装文档 安装,终端输入
claude --version能看到版本号就行。 - 创建 Key 并改全局配置:登录后进控制台「密钥管理」,点「创建密钥」。然后打开全局配置
~/.claude/settings.json,在env里填上 Base URL 和 Key:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key"
}
}
Base URL 末尾不要加/v1。改完重开终端,运行claude能正常对话就说明接通了。各字段的含义和更多报错处理见《Claude Code 如何接入第三方 API》。
另外装一次 invoice-organizer 技能:从 SkillHub 下载技能压缩包,解压到 Claude Code 的技能目录:
mkdir -p ~/.claude/skills/invoice-organize
curl -L -o /tmp/invoice-organize.zip "https://api.skillhub.cn/api/v1/download?slug=invoice-organize"
unzip -o /tmp/invoice-organize.zip -d ~/.claude/skills/invoice-organize
下载地址里的slug=invoice-organize是 SkillHub 的下载编号,不是技能名,照原样复制即可;技能名是invoice-organizer。
解压后目录里能看到 SKILL.md 就说明装好了。装好后,技能列表里显示的名字是 invoice-organizer。第一步:一句话让它整理
把 XML 电子发票放进一个 发票 文件夹,在它的上一级目录运行 claude。我们实测用的需求:
用 invoice-organizer 技能整理 ./发票 文件夹里的发票,生成报销台账(查重、校验金额),然后找出 8 月的餐饮票。不要改动原始文件。
“不要改动原始文件”这句建议一直带着。实测处理前后 6 个 XML 文件的哈希完全一致,原件没有被改动。
第二步:拿到了什么
它在 发票/发票台账/ 下生成了这些文件:
invoice_ledger.xlsx:主台账,每张发票一行,包括开票日期、发票号码、销售方、类别、不含税金额、税额、价税合计、是否需复核、是否报销,需复核的行标成浅红色。invoice_ledger.csv:同样内容的 CSV,方便导入其他系统。needs_review.csv:需要人工复核的发票清单。duplicate_candidates.csv:疑似重复的发票。
实测发现的两个问题:
| 问题 | 发现了什么 | 建议 |
|---|---|---|
| 重复发票 | 餐饮-0801.xml 和 餐饮-0801-副本.xml 内容完全一样,是同一张票 | 只报一次,两个文件都没删 |
| 金额不符 | 办公-0903.xml 不含税金额 150.00 加税额 19.50 是 169.50,票面价税合计却是 170.00,多了 0.50 元 | 找开票方确认 |
8 月的餐饮票,去重后是 2 张,合计 500.00 元。
它只整理了台账,没有把任何发票标成“已报销”,也没有自作主张生成报销包,而是先问要不要用这两张 8 月餐饮票生成报销包。涉及钱的操作,先问一句是对的。
第三步:接着说,让它继续
- “用这两张 8 月餐饮票生成报销包。”
- “按类别汇总每个月的金额。”
- “把 9 月的发票单独列一张表。”
- “报销完以后,把这几张标成已报销。”
常见错误和自查
| 现象 | 怎么办 |
|---|---|
| 同一张票出现两次 | 看 duplicate_candidates.csv,按发票号码只保留一张去报销 |
| 价税合计对不上 | 看 needs_review.csv 里的备注,找开票方确认 |
| 担心原文件被改 | 需求里写“不要改动原始文件”,整理后可以让它比对处理前后的哈希 |
| 401 或请求失败 | 检查 Key 是否完整,Base URL 是否为 https://api.aicodewith.ai(不带 /v1),改完重开终端 |
常见问题
发票台账自动生成会改动原始发票吗?
需求里写明“不要改动原始文件”即可。实测处理前后 6 个 XML 文件的哈希一致,原件没变,重复的文件也没有被删除。
支持哪些格式的发票?
我们实测的是 XML 格式的电子发票。
要多久?
实测 6 张 XML 发票从整理到出台账用了 63 秒。发票越多,用时越长。
它会自己判断哪些能报销吗?
不会替你做决定。台账里“是否报销”默认都是“否”,重复和金额不符的发票会标成需复核,由你决定怎么处理。
台账能直接给财务吗?
台账是标准的 xlsx 和 csv,可以直接打开。交给财务前,先处理掉标成“需复核”的几张。
相关阅读
- 台账还要做进一步统计,见《AI 处理 Excel:一句话清洗乱表格》。
- 用自己的报销制度做问答,见《用自己的文档做本地问答》。
- 想把报销规则写成长期规则,见《Claude Code 的 CLAUDE.md 怎么写》。
参考来源
- Claude Code Skills:code.claude.com/docs/en/skills
- Claude Code 安装:code.claude.com/docs/en/setup
同类场景
想看发票整理的完整用法和更多玩法,可以看AI 整理发票场景页。



