企业所得税纳税调整核对(免费)
完全本地运行:引擎已经打包在本技能里(
engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
什么时候用
谁会在什么时候用:财务、税务岗在每年汇算清缴(年度申报)之前, 必须把「企业所得税纳税调整表」逐项核一遍才能把申报表报出去 —— 利润总额 + 纳税调增 − 纳税调减 = 应纳税所得额,这一格错了,全年应纳税额就跟着错。
这张表会逐项核对什么:逐行复算 利润总额 + 调增合计 − 调减合计 = 应纳税所得额、
调增/调减合计 = 各明细项之和、合计行逐列复核,以及重复调整项目、空白与占位符、
调增/调减栏出现负数(口径填反)。
每条结论都带原文行号与出处,可被第三方用同一口径复算; 材料不足时不给结论,会明确列出还缺什么。
这个免费版查什么
6 项:应纳税所得额复算 · 调增/调减合计与明细之和复算 · 合计行逐列复核 ·
同一调整项目重复行 · 空白与占位符 · 调增/调减金额为负(口径异常)。
完整清单以引擎 CHECKS_GIVEN 为准,跑 --sample 会打印实际执行了哪些;
没有执行的检查项如实列在 CHECKS_WITHHELD / scope.checks_not_run 里。
常见错法
这张表上真实会填错的写法(第 1、2、4、5 条本工具都能当场报出来,附原文行号):
- 把「利润总额」填到「调增金额」栏。利润总额是这张表的起点(填「金额」列),
不是一项调增;填进调增栏会让
10,000,000变成"调增一千万",应纳税所得额直接翻倍。 - 把「调增合计」「调减合计」两行又当成明细再加一遍。这两行只能是明细之和, 不再作为一行参与相加;否则合计被算了两次,勾稽永远差一个"合计"。
- 限额类项目只填发生额、调增栏留空。业务招待费、广告费和业务宣传费、公益性捐赠支出 都有法定上限,超限部分必须调增;只写发生额不写调增,表面看表是"平"的,实际少调了。 ⚠️ 本免费版不执行限额类判断(它属于下面「本版本不包含」里的项),所以这条错法 本免费版不会报出来、也不会给出任何上限数值——请自行按税法口径复核,或用完整档。
- 在「调增金额」栏填负数来表达调减(如
-50,000)。调增/调减只填正数: 该调减的填进「调减金额」栏。用负数会让两栏方向相反、明细之和与合计一起错位。 - 同一调整事项拆成两行,项目名还不一致(一会儿「业务招待费」、一会儿「招待费」)。 名称不统一时不会被认为是同一项目,很容易漏调或重复调增;同一事项只列一行、名称写全。
怎么用
node scripts/run.mjs --sample # 先看样例
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 业务招待费超限额(发生额 60% 与营业收入 5‰ 孰低)未足额调增提示
- 广告费和业务宣传费超过营业收入 15% 未足额调增提示
- 公益性捐赠支出超过利润总额 12% 未足额调增提示
- 应纳税所得额为负却算出应纳税额检测
- 适用税率偏离法定 25%(小微 20%/5%、高新 15%)提示
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断;
材料不足时不给结论,也不会输出「未发现问题」。
