360 Secure SkillHub
360 安全技能中心

软件许可与云资源费用核对(免费版)

对软件许可与云资源台账执行 9 项确定性检查:年费用与月均费用复算、订阅起止与账期月数勾稽、装机或账号数超许可数、整行重复、合计逐列复核、关键字段空缺或占位符、负值或非正数量、日期倒挂;每条结论引用原文行号,材料不足时不给出结论。由 Node 在本技能内本地运行。

chenqg618
chenqg618
热度 23.14
最近更新 2026-09-20 22:04:29
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 财务 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add software-license-check-free
Metadata
slug
software-license-check-free
displayName
软件许可与云资源费用核对(免费版)
version
1.0.46
summary
软件许可与云资源台账逐项核对(年费用与月均复算、订阅起止与账期月数勾稽、装机或账号数超许可数、重复行与合计勾稽、空缺负值与日期倒挂检测),每条结论都带原文行号,不需要付款,也不需要注册。
tags
["软件许可与云资源费用核对","软件许可台账","云资源台账","许可核对","免费"]
license
Proprietary
name
software-license-check-free
display_name
软件许可与云资源费用核对(免费版)
display_name_en
Software License and Cloud Cost Check (Free)
description
软件许可与云资源台账逐项核对(许可数量乘每许可年单价乘折扣、月均等于年费用除以12、订阅起止与账期月数勾稽、装机或账号数超许可数、重复行与合计勾稽、空缺负值与日期倒挂检测),每条结论引用原文行号。本免费版执行引擎声明的免费检查项。触发词包括 软件许可核对、许可超装、闲置账号、云实例超配、订阅到期提醒、许可台账对不上。
description_zh
软件许可与云资源台账逐项核对(许可数量乘每许可年单价乘折扣、月均等于年费用除以12、订阅起止与账期月数勾稽、装机或账号数超许可数、重复行与合计勾稽、空缺负值与日期倒挂检测),每条结论引用原文行号。本免费版执行引擎声明的免费检查项。触发词包括 软件许可核对、许可超装、闲置账号、云实例超配、订阅到期提醒、许可台账对不上。
description_en
A free deterministic check for software license and cloud resource ledgers (annual cost, monthly average, subscription term months, over-installation, duplicate rows, totals, blanks and inverted dates). Every finding cites the source line. No payment, no registration, no API key, no network.
category
business-ops
author
WorkBuddy 开放平台开发者
allowed-tools
Read, Bash

软件许可与云资源费用核对(免费版)

完全本地运行:引擎已经打包在本技能里(engine/ 目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。

什么时候用

谁会在什么时候用:IT 资产管理员与财务在每季度做预算、以及每个许可到期前都必须把这张台账核一遍。 许可是典型的"两头都会亏":买多了(闲置账号)每月白花钱,买少了(超装)是合规风险、审计与厂商抽查都可能追责; 而订阅起止、自动续费、折扣与年费用这几列任何一处对不上,季度与年度预算表就是错的。

这张表会逐项核对什么(每条都带原文行号,可被第三方用同一份输入复算):

  • 年费用 = 许可数量 × 每许可年单价 × 折扣(折扣按百分比,100 = 不打折)
  • 月均费用 = 年费用 ÷ 12
  • 账期月数 = 订阅结束月 − 订阅开始月 + 1(含首尾自然月)
  • 装机或账号数是否超过许可数量(超装嫌疑)
  • 整行内容重复检测(同一软件同一订阅期被登记了两遍)
  • 合计行逐列复核(许可数量 / 装机或账号数 / 年费用 / 月均费用)
  • 关键字段空缺或为占位符检测
  • 明细出现负值或非正数量检测
  • 订阅起止日期倒挂检测(开始日晚于结束日)

材料不足时不给结论:会明确列出还缺哪一列、哪一行,不会输出「未发现问题」。

输入长什么样(一行一个软件或云资源,第一行是表头,Tab 分隔最稳):

软件或资源名称	供应商	许可类型	许可数量	装机或账号数	每许可年单价	折扣	年费用	月均费用	订阅开始	订阅结束	账期月数	自动续费	实例档位	平均用量占比	核对基准日
WPS Office 企业版	金山办公	订阅	200	190	320	90	57600	4800	2026-01-01	2026-12-31	12	是			2026-06-30
云数据库 RDS MySQL	阿里云	云实例	4	4	18000	100	72000	6000	2026-04-01	2027-03-31	12	否	8核16G	62	2026-06-30
合计			496	478			1136100	94675						

(后三列「自动续费」「实例档位」「平均用量占比」以及「核对基准日」是可以留空的; 留空的列会让依赖它的检查项如实记成没执行,绝不会被伪造成执行过。)

这个免费版查什么

跑 node scripts/run.mjs --sample 会把实际执行的检查项打印出来;下面这 9 项就是本版本执行的全部:

  1. 年费用复算(许可数量 × 每许可年单价 × 折扣)
  2. 月均费用复算(年费用 ÷ 12)
  3. 订阅起止与账期月数勾稽(按自然月含首尾月)
  4. 装机或账号数超过许可数量(超装嫌疑)
  5. 整行内容重复检测(同一软件同一订阅期被登记了两遍)
  6. 合计行逐列复核(许可数量 / 装机或账号数 / 年费用 / 月均费用)
  7. 关键字段空缺或为占位符检测
  8. 明细出现负值或非正数量检测
  9. 订阅起止日期倒挂检测(开始日晚于结束日)

怎么用

node scripts/run.mjs --sample                 # 先看样例(样例是一张干净的台账,跑出 0 条结论)
node scripts/run.mjs --input 你的材料.json     # 跑自己的材料

常见错法(IT 与财务在这张台账上真的会这么填)

  1. 「折扣」填成 0.9 而不是 90:这一栏填 0.9,年费用就被算成"零点九个百分点",整行金额直接缩水一百倍。折扣按百分比填:100 = 不打折、90 = 九折、85 = 八五折。
  2. 「账期月数」一律填 12:合同写着"一年"就复制 12,哪怕订阅是从 3 月 1 日到次年 2 月 28 日(那也是 12 个月,但换成 4 月 1 日到次年 3 月 31 日、或跨 18 个月时就错)。这一列要按"结束月 − 开始月 + 1"自己算,填错了摊销和到期提醒都会跟着错。
  3. 「装机或账号数」填的是申请人数,不是实际在用数:离职、转岗、试用账号没人注销,这一列就越填越大,明明在超装也看不出来。这一列要以许可管理后台的真实装机/账号数为准,每季度对一次。
  4. 「订阅结束」写成了合同签署日:把签署日当成结束日填进去,自动续费与到期提醒会整体提前或延后一大截。结束日请取合同或账单上的到期日。
  5. 同一份许可在台账里出现两行:续费时新增一行,忘了把旧行改掉,于是许可数量与年费用都被算了两遍。同一软件同一订阅期只能有一行;确实买了两批,请把数量并到一行。
  6. 云实例只填金额,「实例档位」与「平均用量占比」长期空着:这两列空着,实例是超配还是刚好永远看不出来,也没法按用量谈降配。买了云资源就顺手把档位与近 30 天平均用量占比填上。
  7. 「核对基准日」没填:到期与续费相关的判断都要有一个"以哪天为准"的基准日。整个台账填同一个核对基准日(比如季度末那一天),别一行一个日期。

需要完整档时(可选)

本免费版是完整可用的核心产出,本版本不包含下面这些项:

  • 超装合规缺口判定(超装数量 × 每许可年单价 × 折扣 = 合规缺口金额)
  • 闲置账号可退订判定(在用率低于 50% 的许可,可退订金额)
  • 自动续费但订阅已到期判定(自动续费还开着、到期日早于核对基准日)
  • 云实例超配可降配判定(实例档位与平均用量占比不匹配,按核数折算可降配金额)
  • 到期 90 天内需决策的续费清单(按年费用排序)

同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。

边界(请务必知道)

  • 本工具不判断具体软件厂商的授权条款:OEM、降级权、按用户数还是按设备数、是否允许跨区使用,都要看合同原文;
  • 本工具不判断每许可年单价与折扣本身谈得合不合理,也不查许可管理后台的登录日志;
  • 永久授权、按量计费、跨币种结算等特殊口径请单独列行,或换算成"每许可年单价"再填;
  • 读不了 .xlsx,需要你先导出成文本或 JSON 贴进来;
  • 材料不足时不给结论,也不会输出「未发现问题」。