360 Secure SkillHub
360 安全技能中心

货运破损理赔与扣款核对(免费版)

本 Skill 以本地 Node 脚本核对含表头的货运破损理赔与承运商扣款明细表,逐行复算理赔金额,检测扣款超过理赔、重复运单、赔付比例超上限及关键字段缺失或负数,并按原文行号与运单号输出结构化结论;材料不齐时不给结论。

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

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add freight-loss-claim-check-free
Metadata
slug
freight-loss-claim-check-free
displayName
货运破损理赔与扣款核对(免费版)
version
1.0.4
summary
货运破损理赔与承运商扣款明细表逐项核对,复算理赔金额、查多扣与重复运单、赔付比例超上限、关键字段缺失或负数,每条结论都带原文行号与运单号,不需要付款,也不需要注册。
tags
["货运破损理赔与扣款核对","货运破损理赔与承运商扣款明细表","承运商扣款","理赔金额复算","免费"]
license
Proprietary
name
freight-loss-claim-check-free
display_name
货运破损理赔与扣款核对(免费版)
display_name_en
Freight Loss Claim Check (Free)
description
货运破损理赔与承运商扣款明细表逐项核对(理赔金额复算、扣款不得超过理赔金额、重复运单与赔付比例超上限、关键字段缺失或负数),每条结论引用原文行号与运单号。本免费版执行引擎声明的 5 项免费检查。触发词包括 货运破损理赔、承运商扣款核对、破损理赔对账、理赔扣款明细表。
description_zh
货运破损理赔与承运商扣款明细表逐项核对(理赔金额复算、扣款不得超过理赔金额、重复运单与赔付比例超上限、关键字段缺失或负数),每条结论引用原文行号与运单号。本免费版执行引擎声明的 5 项免费检查。触发词包括 货运破损理赔、承运商扣款核对、破损理赔对账、理赔扣款明细表。
description_en
A free deterministic checker for freight loss claim and carrier deduction sheets. Recomputes the claim amount (goods value x compensation rate - deductible) row by row, flags deductions above the claim, duplicate waybills, rates over the contract cap, and blank or negative key fields. Every finding cites the source line and waybill. No payment, no registration, no API key, no network.
category
business-ops
author
WorkBuddy 开放平台开发者
allowed-tools
Read, Bash

货运破损理赔与扣款核对(免费版)

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

什么时候用

谁会在什么时候用:发货方(货主)的财务 / 物流成本岗 / 应付会计, 在每月与承运商对账、承运商从应付运费里直接扣掉破损理赔款之后, 把这张《货运破损理赔与承运商扣款明细表》核一遍才能确认本期运费结算。 理赔金额算错一档、扣款多扣一笔、同一票重复录两行,正是每月都要和承运商吵的几件事。

这张表会逐项核对什么:

  • 理赔金额 = 货值 × 赔付比例 − 免赔额(逐行复算,差额带金额)
  • 扣款金额 ≤ 理赔金额(承运商从运费里扣走的钱不能超过核定赔款)
  • 同一承运商同一期间不得出现同一运单号两行
  • 赔付比例不得高于运输合同约定的赔付上限
  • 货值 / 赔付比例 / 免赔额 / 理赔金额 / 扣款金额等关键格不得留空、写占位符或写成负数

每条结论都带原文行号与运单号 / 理赔单号,可被第三方用同一口径复算; 材料不齐时不给结论,会明确列出还缺什么。

这个免费版查什么

  1. 理赔金额复算(货值 × 赔付比例 − 免赔额 = 理赔金额)
  2. 扣款金额不得超过理赔金额(多扣检测)
  3. 同一承运商同一期间同一运单号重复行检测
  4. 赔付比例超过合同赔付上限检测
  5. 关键字段缺失、为占位符或为负数检测

(检查项由引擎的 CHECKS_GIVEN 导出,跑 --sample 会打印实际执行了哪些; 本版本不执行的 5 项列在 CHECKS_WITHHELD 里,不做也不假装做。)

数字会做归一化:12,000.00、千分位、带货币符号的写法、(12000)(会计负数)、60% 都被认成同一个口径 (60% 折成 0.60;比例列写 0.6 或 60% 都行,写 60 表示 6000%,本工具不会替你猜)。 表头里的空格与括号会被忽略,所以「货值(元)」和「货值」都认。

怎么用

node scripts/run.mjs --sample                 # 先看样例
node scripts/run.mjs --input 你的材料.json     # 跑自己的材料
node scripts/run.mjs --input 你的材料.json --json

入参就是含表头的一张表({"text": "理赔期间\t承运商编码\t运单号\t…"}): 从 Excel 或 TMS 导出的对账表里直接复制成文本(Tab 分隔最稳)贴进去即可。 表头缺列会明确告诉你缺了哪一列;缺一列就不给结论,不会拿 0 替你假设"这一票不赔"。

非破损理赔的承运商 / 期间请把「货值 / 理赔金额 / 扣款金额 / 免赔额」都填 0: 填 0 表示"确实没有",留空表示"不知道",这两者不能混。

退出码

码 含义
0 已执行检查
1 没给入参
3 材料不齐 —— 此时不给结论(既不说"对",也不说"错")
4 入参文件读不到或无法解析
9 未预期错误

出参

run.mjs --json(以及引擎 run() 返回值里的 result)的形状:

{
  "status": "success",
  "service_type": "FREIGHT_LOSS_CLAIM_CHECK",
  "scope": {
    "checks": [...],              // 本次实际执行的检查项
    "checks_not_run": [...],      // 本版本未执行的检查项(= CHECKS_WITHHELD)
    "rows": 6, "carriers": 2, "periods": 2,
    "totals_row": true, "totals_rows": 1,
    "goods_value_total": 65000, "claim_amount_total": 36300,
    "deduct_amount_total": 32300, "damaged_qty_total": 17,
    "paid_in_total": 32300, "outstanding_total": 4000,
    "statement_claim_total": 36300,
    "tolerance": 0.01, "executed_locally": true, "network_used": false
  },
  "findings": [
    { "level": "P0", "category": "理赔金额复算不符", "line": 2, "amount": 1200,
      "message": "承运商「SH-A 华东承运商」运单 YD2026050002 / 理赔单 LP2026050002 的理赔金额是 7000.00,按 货值 12000.00 × 赔付比例 50% − 免赔额 200.00 = 5800.00,相差 1200.00。",
      "advice": "…" }
  ],
  "summary": { "rows": 6, "carriers": 2, "periods": 2, "total": 0, "p0": 0, "p1": 0, "p2": 0,
               "verdict": "NO_ISSUE_FOUND", "omitted": 0 },
  "checks_executed": [...], "checks_withheld": [...],
  "checks_given": [...], "checks_out_of_scope": [...],
  "note": "…", "disclaimer": "…"
}
  • findings[].line 是原文行号(含表头,从 1 起),level 是 P0(金额算错 / 缺关键格)或 P1(口径可疑);
  • amount 是这条结论涉及的金额(元),0 表示这条不是金额差;
  • paid_in_total 是本期承运商已从运费里扣走的赔款合计,outstanding_total 是核定赔款中还没扣回来的部分;
  • 材料不齐时返回的是 {"status": "insufficient_input", "missing": [...], "advice": "…"}, 没有 result,因此不会有任何"未发现问题"的结论。

常见错法(本产品专属)

  1. 货值口径混用:同一张表里一部分行按销售价、一部分行按成本价或申报价算 —— 货值差一截,赔款就跟着差一截。本工具逐行复算并报出差额,但不会替你认定该用哪个口径 (那要以运输合同为准),请先把口径列填清楚再复算。
  2. 赔付比例写成 60 而不是 0.6 或 60%:比例列写 0.6 或 60% 都认;写成 60 意思是 6000%, 赔款会被算成货值的 60 倍,整行当场离谱。本工具不会替你猜你的意思。
  3. 免赔额只扣了一部分或根本没扣:免赔额是合同约定由货主自担的部分, 常见错法是"算赔款时忘了减免赔额",或者"同一票扣了两次免赔额"。这一行内部就对不上 (货值 × 赔付比例 − 免赔额 ≠ 理赔金额)。
  4. 赔付比例超过合同上限还照算:上限是这一票赔款的天花板(按票 / 按货值档 / 按品类), 调价或换合同档之后直接套用旧比例,就会算出高于上限的赔款;本工具按超出部分折算金额点出来。
  5. 扣款金额大于理赔金额:承运商从应付运费里扣走的钱超过了核定赔款,属于多扣; 常见错法是按报损金额扣、而不是按核定理赔金额扣,或者免赔额没有在扣款里体现。
  6. 同一张运单在同一个承运商同一个期间录了两行:重复粘贴 / 重复导单时, 赔款与扣款一起算了两遍。确属同一票分两段定损的,请拆成两行并各写清扣款事由与不同理赔单号。
  7. 该填 0 的格子留空:本期没有破损理赔的承运商把金额列留空,会让整行复算不出来。 留空就是"不知道",本工具宁可报缺格,也不用 0 替你假设。

这个免费版不包含

以下检查项不在本版本范围内,调用时也不会执行(列在引擎的 CHECKS_WITHHELD 里):

  • 合计行勾稽(合计行各列 = 各明细行逐列相加,不符时报出差异金额并定位差异行)
  • 同一运单号对应多个理赔单号检测(同一票货重复报案 / 单号张冠李戴)
  • 理赔金额差异归因(按 货值口径 / 赔付比例 / 免赔额 / 重复扣款 逐因子回代,指出差异出在哪一个口径)
  • 同一承运商同一期间同一理赔单号重复计扣判定
  • 跨承运商 × 跨期汇总台账与差异处理清单(按承运商 × 期间汇总货值 / 理赔 / 扣款 / 未收回金额与争议金额,按金额排序,逐条带原文行号)

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

需要完整档时(可选)

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

  • 合计行勾稽(合计行各列 = 各明细行逐列相加,不符时报出差异金额并定位差异行)
  • 同一运单号对应多个理赔单号检测(同一票货重复报案 / 单号张冠李戴)
  • 理赔金额差异归因(按 货值口径 / 赔付比例 / 免赔额 / 重复扣款 逐因子回代,指出差异出在哪一个口径)
  • 同一承运商同一期间同一理赔单号重复计扣判定
  • 跨承运商 × 跨期汇总台账与差异处理清单(按承运商 × 期间汇总货值 / 理赔 / 扣款 / 未收回金额与争议金额,按金额排序,逐条带原文行号)

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

边界(请务必知道)

本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断:货值该按销售价还是成本价、赔付比例与免赔额 是否符合运输合同、破损是否真实发生、承运商扣款是否真的已经从运费里扣到、往来对账与税额怎么处理 (那些以运输合同、现场凭证、运费结算单与银行流水为准)。

  • 只核表内勾稽:表里的货值、赔付比例、免赔额、理赔金额、扣款金额一律以你填的为准;
  • 「没报问题」不等于「没有问题」:超出上述 5 项的检查,本版本不执行;
  • 材料不齐时不给结论,也不会用默认值编一个「本期没问题」出来;
  • 每条结论都带原文行号与运单号 / 理赔单号,可由第三方用同一份输入复算。