完全本地运行:批量壳与 14 项涉税检查规则都打包在本技能里(scripts/engine/)。 不对外发材料、不写任何文件(结果只打到 stdout)、没有次数上限。
谁会在什么时候用:企业税务会计 / 代账公司的涉税岗,在每次申报之前。申报要核的不是一个数,
而是十几张互相关联的底稿;一张张手核既慢,又说不清哪一项这次到底核没核。
这个工具做什么:--input 对象目录 时,目录里每个子目录就是一个对象(一个客户 / 一套申报材料);
本工具逐对象跑 14 项涉税检查(每一项内部还有若干子检查),最后每个对象输出一行结论:
对象名 / 14 项各自「通过 / 有问题(几条) / 未执行」/ 问题条数与 P0、P1 计数。
每条问题都带对象名 + 原文文件与行号(例如 申报材料.txt:5),可被第三方用同一份材料复算;
某个对象没交材料时,那个对象单独标「未执行」,不会拖累其他对象,也不会被算成"没问题";
只交了一部分材料时(只覆盖了部分检查项),会额外报一条 P2 检查项未执行(材料只覆盖了一部分),
把"没核的那几项"点名列出——绝不能因为跑了几项就当成 14 项都跑过了。
免费版是完整可用的核心产出——"一次跑完所有对象"这件事本身就在免费版里做完了:
(材料只覆盖一部分时明确报一条,见上)。
CHECKS_WITHHELD 如实列出,跑 --sample 会打印):跨对象汇总台账、跨对象风险排序处理清单、跨对象共性问题归类、申报台账导出(Markdown / CSV)。
抵扣核对」的"扣除率与政策参考口径不一致提示")。它们在那 14 个上游免费包里就没实现,本包只是复用
它们的规则,绝不会因为"另有完整档"就假装跑过。这些项在结果里叫 scope.sub_checks_not_run,
每一项各自列出,一条都不藏。
node scripts/run.mjs --sample # 单对象样例(内置,14 项全跑)
node scripts/run.mjs --sample-batch # 3 个对象样例(干净 / 有一处硬伤 / 没交材料)
node scripts/run.mjs --input 对象目录 # 批量:每个子目录 = 一个对象
node scripts/run.mjs --input 对象目录 --json # 机器可读
对象目录这样放(每个对象的一套材料里,每张表用 === 检查名 === 分段,Tab 分隔最稳):
对象目录/
豫州商贸有限公司(2026-02 申报)/申报材料.txt
中岳建材有限公司(2026-02 申报)/申报材料.txt
一个文件里放全部 14 张表、或者拆成 14 个文件放进同一个子目录,都可以——引擎按表头认表。
目录里没有子目录时,直接把每个文件当一个对象;.json 文件里若写 {"text":"…"} 就按 JSON 取正文。
那 14 项涉税检查(含各自的子检查逻辑)是逐字节拷贝进本技能包 scripts/engine/parts/ 的,
本包只做"对象目录 → 逐对象跑 14 项 → 每个对象一行结论"的编排与汇总,没有改写任何一条核对规则。
--input 指到了"某个对象的文件",却以为在跑批量:--input 指向的应当是对象目录(里面每个子目录才是一个对象)。直接指一个对象的文件,就只会出 1 个对象的结果。
=== 检查名 === 分段行删掉了:引擎按表头找表,分段行不是必需的,但**分段行没了就容易把两张表的行粘在一起**,表头后面跟着别人的明细行。分段名本身就是给"这个对象到底核了哪几项"用的。
对象名与问题明细里的 文件:行号。
把「未执行」当通过,是这类批量工具最常见的翻车方式。
1 000.00)会被拆成两列,凭空多出"关键字段缺失"。从 Excel 复制时用 Tab。
写到别的列上不会被当成合计行,而是当成一条明细,于是"合计与明细之和不符"这种误报就出来了。
一个对象一个子目录,是本工具的基本假设。
本免费版每次运行结束后会向服务端做一次匿名次数统计:只发送本包标识和一个不含任何材料的匿名安装标识(由主机名与用户名做短哈希得到),不发送你的材料、不写任何文件。
· 前 3 次:服务端不返回任何内容,输出与现在完全一样;
· 第 4 次起:服务端会返回一段完整档说明(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届时才会打印这一行;
· 统计不可用(离线/超时/被拦截)时什么都不做,核对结果与退出码不受任何影响。
本版本不包含的检查项见上一节;需要完整档时按服务端返回的官方口令执行,付款由用户本人确认。
本免费版是完整可用的核心产出,本版本不包含下面这些项:
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断(判断某项支出能不能抵扣、适用哪档税率、
代替纳税申报、出鉴证意见与税务意见、核对发票真伪、读电子税务局/开票系统导出文件);材料不足时
不给结论(认不出表头就不出结论,绝不套用默认值)。**它只核表内与表间的算术和勾稽关系,
不替代你的专业判断。**
装到本地或在线用
· SkillHub(免费版):https://www.skillhub.cn/skills/user_ef162806/tax-filing-pack-free
· 全部免费工具:https://chenqg618.github.io/compliance-skills/
完整档(离线、无次数上限):SkillPay 买断 ¥9.9,跑多少次都不再收费;免费档与完整档的检查项差别见上面的说明。
怎么装:
https://chenqg618.github.io/compliance-skills/
免费版会明确列出哪些检查没有执行,不会让你以为已经全查过。