AI核对型 AI 工具

发票作废与红冲核对(免费版)

完全本地运行:引擎已经打包在本技能里(engine/ 目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。

什么时候用

谁会在什么时候用:财务、出纳等岗位在每月结账 / 对账 / 盘点这类固定节点上,

必须把这张表核一遍才能往下走。

这张表会逐项核对什么:发票作废与红冲台账的逐行算术、合计勾稽、重复与空缺检测。

每条结论都带原文行号与出处,可被第三方用同一口径复算;

材料不足时不给结论,会明确列出还缺什么。

这个免费版查什么(6 项)

#检查项判据(可手算复现)
1净开票金额勾稽净开票金额 = 开票金额 − 作废金额 − 红冲金额
2红冲金额勾稽红冲金额 = 原发票金额 − 折让金额(有红冲的行)
3合计行逐列复核合计行每一列 = 明细行该列之和
4同一发票号码重复行同一票号出现两行 ⇒ 作废份数/红冲金额会被重复计算
5空白与占位符期间、发票号码、原发票金额、开票金额、作废金额、红冲金额、净开票金额缺一不可
6金额为负本表按正数登记发生额;红冲填「红冲金额」列,不用负号

本版本不包含(由完整版追加):红冲金额超过原发票金额检测、作废发票已跨月提示、

作废率超过参考上限提示、作废或红冲无原因说明提示、净开票金额与申报表口径不一致提示。

怎么用

node scripts/run.mjs --sample                 # 先看样例
node scripts/run.mjs --input 你的材料.json     # 跑自己的材料

入参就是台账本身(表头 + 明细行一起贴,Tab 分隔最稳):

期间	发票号码	开票日期	作废日期	原发票金额	开票金额	作废金额	红冲金额	折让金额	净开票金额	作废份数	是否作废	作废或红冲原因	申报表收入
2026-01	A0003	2026-01-12	2026-01-26	50000.00	50000.00	0.00	40000.00	10000.00	10000.00	0	否	部分退货,按折让后金额红冲	10000.00

常见错法(这张表里真的会有人这么填)

  1. 跨月的那张票也填成"作废":月份已过只能开红字发票冲减,写成作废会让「作废份数」与「红冲金额」两边都对不上申报口径。
  2. 红冲金额用负号填在原金额列里:本表按正数登记发生额,红冲请填在「红冲金额」列;用负号会让"金额为负"整列报警,净额方向也会反过来。
  3. 折让金额只在备注里写一句:红冲金额 = 原发票金额 − 折让金额,折让金额不填这一列,部分退货的红冲就核不出对不对。
  4. 同一张发票拆两行(一行作废、一行重开)却不换发票号码:会报"同一发票号码出现多行",作废份数被重复计算,重开的那张也认不出来。
  5. 合计行是手填的,改了明细忘了改合计:合计行必须逐列等于明细之和;漏改一处,整张表的勾稽结论就全错。

使用次数与完整档

本免费版每次运行结束后会向服务端做一次匿名次数统计:只发送本包标识和一个不含任何材料的匿名安装标识(由主机名与用户名做短哈希得到),不发送你的材料、不写任何文件。

· 前 3 次:服务端不返回任何内容,输出与现在完全一样;

· 第 4 次起:服务端会返回一段完整档说明(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届时才会打印这一行;

· 统计不可用(离线/超时/被拦截)时什么都不做,核对结果与退出码不受任何影响。

本版本不包含的检查项见上一节;需要完整档时按服务端返回的官方口令执行,付款由用户本人确认。

需要完整档时(可选)

本免费版是完整可用的核心产出,本版本不包含下面这些项:

同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。

边界(请务必知道)

本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断;

材料不足时不给结论,也不会输出「未发现问题」。

装到本地或在线用

· SkillHub(免费版):https://www.skillhub.cn/skills/user_ef162806/tax-invoice-void-check-free

· 全部免费工具:https://chenqg618.github.io/compliance-skills/

完整档(离线、无次数上限):SkillPay 买断 ¥9.9,跑多少次都不再收费;免费档与完整档的检查项差别见上面的说明。

怎么装:
https://chenqg618.github.io/compliance-skills/

免费版会明确列出哪些检查没有执行,不会让你以为已经全查过。