制造费用分摊与吸收核对(免费版)
完全本地运行:引擎已经打包在本技能里(
engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限、材料不出本机。
什么时候用
谁在什么时候用:成本会计 / 车间核算员 / 财务主管在每月结账、成本核算、月度经营分析这类固定节点上, 必须先把「制造费用归集与分摊表」核一遍,才能结转产品成本、才能拿它算存货与毛利。 这张表错的方向只有两个 —— 费用摊少了(有车间或费用项目漏摊,未分摊虚高)或 摊重了 / 摊多了(同一行被算两次,分摊合计超过本期归集的费用), 两个方向都会在成本结转和审计抽样上暴露,而且结完账就看不出来了。
这张表会逐项核对什么(免费版执行 6 类,逐条都带原文行号):
- 分摊率复算 —— 分摊金额 ÷ 分摊基数 = 分摊率,差 0.01 也会报。
- 分摊金额逐行复算 —— 分摊基数 × 分摊率 = 分摊金额,逐行复算,不看合计。
- 分摊合计勾稽 —— 费用总额 − 未分摊金额 = 分摊合计(已分摊 + 未分摊必须正好等于本期归集的制造费用)。
- 吸收率与吸收差异 —— 分摊合计 ÷ 费用总额 = 吸收率;同时给出吸收差异(费用总额 − 分摊合计)的金额。
- 重复行检测 —— 同一期间 + 同一车间 + 同一费用项目出现两次以上。
- 空缺与占位符检测 —— 必需列为空或写着「待填 / 待补 / —」这类占位符。
每条结论都带原文行号与算式,可被第三方用同一份输入复算; 材料不足时不给结论,会明确列出还缺什么,也不会用默认值编出结论。
这个免费版查什么
上面 6 类就是本版本执行的全部检查项。跑 --sample 会在 scope.checks 里打印本次实际执行了哪些,
scope.checks_not_run 会如实列出本版本没有执行的检查项(只列出,不会伪造结论)。
怎么用
node scripts/run.mjs --sample # 先看样例(样例本身就是一张自洽的分摊表)
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
node scripts/run.mjs --input 你的材料.json --json # 机器可读输出
入参两种写法都行:
{"text": "(把表的**表头**和若干行一起复制进来,Tab 分隔最稳)"}- 直接把「制造费用归集与分摊表」(含表头)从 Excel 复制成文本贴进
.json里; 文件不是合法 JSON 时整体按纯文本材料处理。
必需列(缺一列就不给结论):期间、车间、费用项目、分摊基数、分摊率、分摊金额、费用总额、未分摊金额、分摊合计、吸收率。
出参
status:success才有结论;insufficient_input表示材料不足,此时没有result、没有findings, 只有missing(缺什么)与advice(怎么补)。result.findings[]:每条含level(P0/P1)、category、line(原文行号)、message(含算式与差额)。result.summary:rows / periods / workshops / total / p0 / p1 / p2 / verdict(NO_ISSUE_FOUND|NEEDS_REVIEW|ERROR_FOUND)。result.scope:本次执行的checks、未执行的checks_not_run、base_total、allocated_total、tolerance、executed_locally: true、network_used: false。result.checks_out_of_scope:本工具根本不做的判断清单(边界诚实)。- CLI 退出码:
0已执行检查 /1没给入参 /3材料不足 /4入参读不到或无法解析 /9未预期错误。
常见错法(本产品专属)
- 分摊率列填的是"分摊金额 ÷ 车间费用合计":分摊率的分子是这一行的分摊金额,不是整个车间的费用合计; 用车间合计去算,每一行都会得到同一个费率,而金额又是按行给的 ⇒ 费率与金额当场对不上。
- 期间级口径列只在其中一行改数:费用总额 / 未分摊金额 / 分摊合计 / 吸收率是整期口径, 同一期间里每一行必须填同一个数;只改了某一行,勾稽与吸收率会立刻报出来。
- 未分摊金额与分摊合计两列填反:把"还没分摊的"填进分摊合计、把"已分摊的"填进未分摊, 「费用总额 − 未分摊金额 = 分摊合计」必然不成立 —— 报出来先看这两列是不是互换了。
- 吸收率填成小数比率:这一列按百分数填(95.83)。填 0.9583 也能认(不超过 1.5 视为比率、自动换算成 95.83); 但填 0.96 会被当成 96%,与算出来的 95.83% 差 0.17 个百分点,会被报出来。
- 同一期间同一车间的同一个费用项目拆成多行:水电费拆成"动力 + 照明"两行却都写「水电费」, 会被判重复行(分摊基数与分摊金额被重复计入);要么合并成一行,要么把费用项目写细(动力费 / 照明费)。
- 拿「未分摊金额」当兜底平衡项:为了凑平把差额塞进未分摊,账面上勾稽是通过了, 但"到底哪个车间哪一项没摊出去"就永远查不出来 —— 未分摊应当是确实没摊出去的那部分。
这个免费版不包含
本免费版是完整可用的核心产出,本版本不包含下面这些项(它们会如实列在输出的 checks_not_run 里,绝不会伪造):
- 跨车间 / 跨期间汇总台账(同一期间的费用总额、未分摊金额、分摊合计在各车间行之间不一致;合计行与明细加总不符);
- 吸收差异超阈值处理清单(按差异金额排序:|费用总额 − 分摊合计| ÷ 费用总额 超过 10%);
- 差异归因 · 产量 / 效率 / 价格三因素(需要表里给「预算产量、实际产量、单位标准工时、预算分摊率」四列)。
同名工具的完整档是另一个独立商品(条款以它自己的商品页为准);两档的差别就是上面这些,没有别的。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 跨车间 / 跨期间汇总台账(同一期间的费用总额、未分摊金额、分摊合计在各车间行之间不一致;合计行与明细加总不符)
- 吸收差异超阈值处理清单(按差异金额排序:|费用总额 − 分摊合计| ÷ 费用总额 超过 10%)
- 差异归因 · 产量 / 效率 / 价格三因素(需要表里给「预算产量、实际产量、单位标准工时、预算分摊率」四列)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
本工具不做引擎 checks_out_of_scope 里列的那些判断,其中最容易误解的三条:
- 不规定分摊率该定多少(工时 / 机时口径、费用归集范围、车间划分,以本单位成本核算办法为准);
- 不判断分摊基数是否真实(工时统计、机器运转记录、抄表数据、产量记录);
- 不做在产品 / 完工产品的约当产量与成本结转(那是成本分配表的范围,不是分摊表)。
材料不足时不给结论,也不会输出「未发现问题」。
