chenqg618

expense-compliance-free

把一沓发票和一张报销单放在一起核一遍,每条结论都带原文行号,不需要付款,也不需要注册。本免费版执行 重复发票号(重复报销线索)、发票要素完整性(发票号 / 开票日期 / 销售方 / 金额)、模板占位符残留。触发词包括 报销合规、重复报销、发票重复、报销单检查、发票要素不全、报销预检、贴票核对、费用报销自查。

chenqg618 0 Updated 1mo ago

Resources

2
GitHub

Install

npx skillscat add chenqg618/compliance-skills/expense-compliance-free

Install via the SkillsCat registry.

SKILL.md

报销单合规预检(免费)

一句话:把一沓发票 + 一张报销单放在一起核一遍 —— 不需要付款,也不需要注册。

完全免费:不需要付款、不需要注册、不需要配置任何 API Key,直接调用即可。

不想安装也能用:同一个检查有网页版,免注册、免付款 —— https://www.tokendidi.cn/check

什么时候用

  • 报销前想确认:这一沓发票里有没有同一张被贴了两次(重复报销)
  • 担心某张发票要素不齐(缺发票号 / 开票日期 / 销售方 / 金额),到财务那里被打回
  • 报销单模板里还留着 【填写…】、XXX、TBD 没替换

这个免费版查什么

# 检查项
1 重复发票号(重复报销线索)
2 发票要素完整性:发票号 / 开票日期 / 销售方 / 金额
3 模板占位符残留

只出现在一张单据里的字段不会报 —— 无从比对的事情我们不猜。

怎么用

node scripts/run.mjs --sample
node scripts/run.mjs --input my-expense.json
node scripts/run.mjs --input my-expense.json --json

入参两种写法,任选:

{ "documents": [
  { "type": "报销单", "text": "报销单号: BX-1\n报销金额: 1326.00\n住宿费 1240.00\n市内交通 86.00" },
  { "type": "发票",   "text": "发票号: INV-1\n开票日期: 2026-05-08\n销售方: 某某酒店\n价税合计: 1240.00" },
  { "type": "发票",   "text": "发票号: INV-2\n开票日期: 2026-05-07\n销售方: 某某出租车\n价税合计: 86.00" }
] }

或者直接给纯文本,单据之间空一行。

退出码

码 含义
0 已执行检查
1 没给入参
3 材料不足 —— 此时不给结论(既不说合规,也不说不合规)
4 入参文件读不到或无法解析
9 未预期错误

这个免费版不包含

以下检查项不在本版本范围内,调用时也不会执行:

  • 报销明细加总是否等于申请金额
  • 申请金额大小写是否一致
  • 发票合计与申请金额是否匹配
  • 日期逻辑(发票日期 ≤ 报销日期;发票日期在出差区间内)
  • 同一张发票的金额与报销明细是否对得上
  • 报销单要素完整性(单号 / 报销人 / 部门 / 日期)
  • 差旅标准超标提示(可配置标准)
  • 发票税率与税额自洽

边界(请务必知道)

  • 本工具只做AI核对,不判断这笔费用该不该报 —— 那是公司制度与审批流程的事;
  • 不做发票真伪查验,不做发票代码号码规则校验;
  • 「没报问题」不等于「没有问题」:超出上述三类的检查,本版本不执行;
  • 材料不足时不给结论,也不会用默认值编一个「没问题」出来;
  • 不联网、不外发材料、不调用任何模型。

输出示例

[P0] 重复发票号
发票号「04412026-0088」在同一份报销材料里出现了 2 次(增值税电子普通发票)。
建议:同一张发票只能报销一次;请确认是不是重复粘贴或重复提交。