甲供材料与分包领用核对(免费版)
完全本地运行:引擎已经打包在本技能里(engine/ 目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
什么时候用
谁会在什么时候用:项目成本员与分包结算员,在每月计量报量与竣工结算这两个节点上, 必须把甲供材台账核一遍才能往下走 —— 领了多少、退了多少、该从分包结算款里抵扣多少, 直接决定这一期付分包多少钱。甲供材对不上就是甲方扣款、分包扯皮,谁也说服不了谁。
这张台账会逐项核对什么(免费版执行的 7 项):
- 领用数量 = 进场数量 − 退库数量
- 领用金额 = 领用数量 × 单价
- 结算抵扣金额 = 领用金额(甲方抵扣要与分包领用金额对得上)
- 合计行逐列复核(进场 / 退库 / 领用数量、领用金额、结算抵扣金额五列)
- 重复材料行检测(同一分包单位 + 同一材料出现多行)
- 关键字段缺失与占位符检测
- 数量或金额为负检测
每条结论都带台账原文行号(形如「第 3 行 分包单位「华建劳务」的材料「电缆 YJV-4x95」」), 可由第三方用同一份输入和同一口径复算;材料不足时不给结论,会明确列出还缺什么。
这个免费版查什么
检查项以引擎导出的 CHECKS_GIVEN 为准,跑一次 --sample 就能看到实际执行了哪些。
怎么用
node scripts/run.mjs --sample # 先看样例
node scripts/run.mjs --input 你的台账.json # 跑自己的材料({"text": "含表头的台账文本"})
台账最少要有这些列:材料名称、分包单位、进场数量、退库数量、领用数量、单价、领用金额、结算抵扣金额。 单位、领用单号、合同单价这几列有就一起带上(免费版不核这三列)。从 Excel 复制成文本、Tab 分隔最稳。
常见错法(这张台账里真的会有人这么填)
- 退库那格留空而不是写 0:没退库的行干脆空着,看起来"没这回事",实际是数据缺一格 —— 本工具会把这一格按"缺失"报出来,而不是替你当 0 算。
- 领用数量直接抄进场数量、忘了扣退库:退库了 4 吨钢材,领用数量还写 120, 多出来的 4 吨会一路带进领用金额和结算抵扣,分包要按 120 吨被扣钱。
- 结算抵扣按"进场数量 × 单价"填:退库部分已经还给甲方了,抵扣仍按进场数量算, 等于把退库那部分又从分包结算款里扣了一遍。
- 同一材料分批进场却合成一行、或复制粘贴成两行:合成一行时领用单号对不上批次; 粘贴成两行时抵扣与领用一起翻倍,而且合计行看起来还挺"对"。
- 合计行手工改过:明细后来加了行(补了一种材料),合计行没跟着更新, 抵扣金额又是按合计走的 —— 差多少,结算时就少扣/多扣多少。
- 单价口径混用:同一张表里有的行填含税单价、有的行填不含税单价, 领用金额列却是按另一种口径算出来的,逐行复算就会报出对不上的行。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 超领判定(领用数量 > 进场数量 − 退库数量)与超领金额(超领数量 × 单价)
- 无领用单的领用检测(领用数量 > 0 但领用单号空缺)
- 退库未冲减检测(有退库数量,结算抵扣仍按进场数量多扣)
- 单价与合同单价不一致检测(含差额金额)
- 甲供材抵扣漏扣检测(有领用金额,但结算抵扣金额为 0 或空缺)
- 结算前处理清单(按涉及金额排序、逐条带原文行号与建议动作)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断:不判断材料单价是否合理(合同约定优先)、 不处理甲供材的增值税与发票口径、不处理损耗率与材料节约分成的商务条款、不给法律意见或造价鉴定结论、 不读 .xlsx(需要你先导出成文本)。材料不足时不给结论,也不会输出「未发现问题」。
