设备维保与备件领用费用核对(免费版)
完全本地运行:引擎已经打包在本技能里(
engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
什么时候用
谁会在什么时候用:制造业 / 物业 / 物流的设备科(或工程部)每月结账前。 这个月做了多少保养、修了多少台、领了多少备件、外委花掉多少,都要在关账前跟预算对一遍 —— 而这张台账通常是设备员手工维护的:工时费按包干价填、备件数量照抄领料申请、 外委结算只填了总额,等费用科拿到手时,已经没人能说清哪一行不对。
这张表会逐项核对什么(每条都带原文行号,可被第三方用同一份输入复算):
- 工时费 = 维修工时 × 工时单价
- 备件金额 = 领用数量 × 备件单价
- 月度维保费用归集(工时费 + 备件金额 + 外委实际结算)与「月度维保预算」对比
- 合计行逐列复核(工时费 / 备件金额 / 外委实际结算)
- 整行内容重复检测(同一设备同一备件的行被复制了一遍)
- 同一行既有自修费用又有外委结算(重复计费嫌疑)
- 关键字段空缺或占位符检测(费用归属月份 / 设备编号 / 维保类型 / 月度维保预算)
- 明细出现负值检测(冲销、退库需要单独列行)
材料不足时不给结论:会明确列出还缺哪一列、哪一行,不会输出「未发现问题」。
输入长什么样(一行一台设备的一次维保/领用,第一行是表头,Tab 分隔最稳):
费用归属月份 设备编号 设备名称 维保类型 维修工时 工时单价 工时费 备件编号 备件名称 领用数量 出库数量 备件单价 备件金额 外委报价 实际结算 保修状态 月度维保预算
2026-03 EQ-001 注塑机 保养 6 80 480 SP-1001 液压油滤芯 2 2 120 240 已过保 6000
2026-03 EQ-003 电动叉车 外委 3000 2900 已过保 6000
合计 1880 800 7900
这个免费版查什么
跑 node scripts/run.mjs --sample 会把实际执行的检查项打印出来;下面这 8 项就是本版本执行的全部:
- 工时费复算(维修工时 × 工时单价)
- 备件金额复算(领用数量 × 备件单价)
- 月度维保费用归集与预算对比(工时费 + 备件金额 + 外委实际结算)
- 合计行逐列复核(工时费 / 备件金额 / 外委实际结算)
- 整行内容重复检测
- 同一行既有自修费用又有外委结算(重复计费嫌疑)
- 关键字段空缺或占位符检测
- 明细出现负值检测
怎么用
node scripts/run.mjs --sample # 先看样例(样例是一张干净的表,跑出 0 条结论)
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
常见错法(设备科的维保台账里真的会这么填)
- 「工时单价」填成了包干价:保养一次包干 500 元,就写 工时单价 500、维修工时 1。本工具按 工时 × 单价 复算,这一次碰巧对得上,下个月工时变成 4 就凭空多出 1500 元。工时单价只能是元/小时;包干价请拆成工时与单价,或在备注里写明。
- 外委行又填了工时费和备件金额:外委维修的工时与备件由服务商承担,这两列该留空(只填外委报价与实际结算)。两边都填,一次维修在月度归集里就被算了两遍 —— 本工具会单独把这种行拎出来。
- 备件「领用数量」照抄领料申请,没跟出库数量对:领用是"想领",出库才是"真出库"。两列不一样时差额才是要追问的地方;只填一列等于少一道拦网。
- 「保修状态」半年不更新:设备 3 月还在保、8 月就过保了,状态列一直写着"保修期内"。这一列写错,要么漏掉本该免费却被收的钱,要么冤枉厂家。请按采购合同里的质保起止日逐台更新,认不出的写法本工具不会替你猜。
- 同一月份的「月度维保预算」一行一个样:有人填本月预算、有人填全年预算,还有人只在第一行填。本工具会把"同一月份出现多个预算值"单独提示出来 —— 预算要么同口径,要么留空。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 保修期内应免费却计费判定(在保设备被收了工时费 / 备件费 / 外委结算)
- 外委维修实际结算超报价判定(超支金额与超支比例)
- 备件领用超领判定(领用数量 > 出库数量,差额按备件单价折成金额)
- 按金额排序的处理清单(该找谁、要回多少钱,逐条带原文行号)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
- 本工具不判断一台设备到底在不在保修期内:只认你填的「保修状态」列,不读合同、不查厂家系统;
- 本工具不判断外委超报价有没有正当理由、备件单价与工时单价是否合理;
- 备件退库、质保返修、跨月费用分摊等特殊口径,请单独列行;本工具按你写的行逐行复算;
- 读不了
.xlsx,需要你先导出成文本或 JSON 贴进来; - 材料不足时不给结论,也不会输出「未发现问题」。
