完全本地运行:引擎已经打包在本技能里(engine/ 目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限,材料不出本机。
谁会在什么时候用:电商卖家、跨境电商运营与财务,在每月结账时必须按 SKU 复算一遍真实毛利,
找出"看着赚钱、实际亏"的链接 —— 平台后台的「毛利」常常只扣了成本和平台佣金,
漏掉头程运费、广告费与退货损失。
sku_profit,每个 SKU 一行):折算后售价、平台佣金、单件广告费、退货损失、真实毛利、毛利率逐项写清,每一格都能手算复现;
margin_band: "LOW" ——只逐行标注,不做亏损排序、不给调价建议(那些属于完整档,见下)。
免费档执行的 6 项检查(也可以直接跑 --sample 看引擎实际执行了哪些):
| # | 检查项 | 判据 |
|---|---|---|
| 1 | 真实毛利复算 | 售价×汇率 − 成本 − 头程运费 − 折算后售价×平台佣金率 − 广告费÷销量 − 折算后售价×退货率 |
| 2 | 毛利率复算 | 真实毛利 ÷ 折算后售价 |
| 3 | 合计行逐列复核 | 广告费、销量(这张表里只有这两列是可加列;单件价与比率相加没有意义) |
| 4 | 同一 SKU 编号重复行检测 | 同编号列了两行 ⇒ 广告费/销量/毛利会被重复汇总 |
| 5 | 空白与占位符检测 | 任一必需列空着,或写着 待填 / - / N/A |
| 6 | 金额或比率为负检测 | 售价/成本/头程运费/广告费/销量/汇率与各比率 |
每条结论都带原文行号,可被第三方用同一份输入复算;材料不足时不给结论,会明确列出还缺什么。
node scripts/run.mjs --sample # 先看样例(一张干净的 SKU 利润表)
node scripts/run.mjs --input 你的利润表.json # 跑自己的表
node scripts/run.mjs --input 你的利润表.json --json
入参写法(必须含表头,从 Excel 复制成文本时 Tab 分隔最稳):
{"text":"SKU编号\t商品名称\t售价\t成本\t头程运费\t平台佣金率\t广告费\t退货率\t汇率\t销量\nSKU-1001\t无线耳机\t39.90\t62.00\t8.50\t15%\t2600.00\t3%\t7.20\t400"}
表里可以再带 真实毛利 / 毛利率 两列(平台后台或你自己的口径)——带了就逐行比对,不带就只交付复算值。
售价 按原币填(如美元),汇率 = 1 原币兑多少人民币(境内电商填 1.00);成本 / 头程运费 / 广告费 按人民币填;广告费 是本期总额,会按销量摊到单件。
但它常常记在"物流费"科目里,做 SKU 毛利时就漏了 —— 一件头程 8.5 元、月销 400 件就是 3400 元,
漏掉它,一个本来微亏的链接会显示成"赚 8%"。
必须 ÷ 该 SKU 的销量才是单件广告成本;直接拿总额当单件成本(或干脆不摊)会让单件利润错几十倍。
本工具按 广告费 ÷ 销量 摊,所以这两列必须填同一个期间的数。
不含推广服务费、支付手续费、达人佣金、联盟佣金。把"含推广"的综合费率填进 平台佣金率 会重复扣一次;
反过来,只填佣金率又以为它含推广,就会漏扣 —— 这一列到底含什么,必须与你的对账口径写一致。
回程运费、被平台扣走的佣金、二次销售的折价都要算进去。
本工具按 售价×退货率 计退货损失(退回一件 ≈ 损失一件的折算后售价),这是保守且可复算的口径;
如果你的退货还能部分二次销售,请在表外另作说明,不要偷偷把退货率改小。
汇率 必须写成 1 原币 = X 人民币(美元 7.20 就填 7.20),填成 0.1389(1 人民币 = 多少美元)会让毛利直接算反;另外分子分母要用同一个汇率 ——
拿人民币毛利除以原币售价,会得到一个偏大的假毛利率。境内电商这一列填 1.00。
本免费版每次运行结束后会向服务端做一次匿名次数统计:只发送本包标识和一个不含任何材料的匿名安装标识(由主机名与用户名做短哈希得到),不发送你的材料、不写任何文件。
· 前 3 次:服务端不返回任何内容,输出与现在完全一样;
· 第 4 次起:服务端会返回一段完整档说明(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届时才会打印这一行;
· 统计不可用(离线/超时/被拦截)时什么都不做,核对结果与退出码不受任何影响。
本版本不包含的检查项见上一节;需要完整档时按服务端返回的官方口令执行,付款由用户本人确认。
本免费版是完整可用的核心产出,本版本不包含下面这些项:
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
本工具不做引擎 OUT_OF_SCOPE(也导出为 CHECKS_OUT_OF_SCOPE)里列的那些判断:
材料不足时不给结论:text 为空、只有表头、缺必需列或入参类型不对时,
返回 insufficient_input 并列出缺什么,既不认定"算错了"也不认定"没问题",
更不会输出「未发现问题」。每条结论都可由第三方用同一份输入复算。
装到本地或在线用
· SkillHub(免费版):https://www.skillhub.cn/skills/user_ef162806/sku-profit-check-free
· 全部免费工具:https://chenqg618.github.io/compliance-skills/
完整档(离线、无次数上限):SkillPay 买断 ¥9.9,跑多少次都不再收费;免费档与完整档的检查项差别见上面的说明。
怎么装:
https://chenqg618.github.io/compliance-skills/
免费版会明确列出哪些检查没有执行,不会让你以为已经全查过。