保险佣金与手续费结算核对(免费版)
完全本地运行:引擎已经打包在本技能里(
engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限、材料不出本机。
什么时候用
谁在什么时候用:保险中介 / 代理公司 / 银保渠道的财务与出纳,在每月(或每季)保司结算单到手之后 必须先把「保险佣金与手续费结算明细表」核一遍,才能确认这一期该收多少佣金、多少手续费、 退保冲回了多少、扣了多少税。这张表出错的后果是双向的:少结(白干)和 多结 / 重复计佣(保司对账时被追回)。两者都会传导到开票与增值税申报上, 而且结完账就很难倒查。
这个免费版查什么(6 类,逐条都带原文行号)
- 应收佣金逐行复算 —— 应收佣金 = 保费金额 × 佣金率,差 1 分钱也报。
- 手续费与佣金合计勾稽 —— 实收净额 = 应收佣金 + 手续费 + 退保冲回 − 代扣税费 (退保冲回按负数填列,即红字冲回)。
- 合计行逐列复核 —— 合计行的保费 / 应收佣金 / 手续费 / 退保冲回 / 代扣税费 / 实收净额 必须等于明细行相加,对不上说明有一边错。
- 首期 / 续期佣金口径与保单年度一致 —— 首期佣金只对应保单年度第 1 年, 续期佣金从第 2 年起;两档费率本来就不一样,标识与年度不一致就是费率混用的入口。
- 同一保单号同一期间重复结算 —— 同一保单号 + 同一所属期间 + 同一佣金类型出现两次以上即报 (重复结算会把应收佣金与实收净额重复统计一遍)。
- 退保冲回符号与关键字段空缺 —— 退保冲回填成正数即报; 所属期间 / 保险公司 / 险种 / 分支机构 / 保单号 / 佣金类型 / 保单年度 / 保费金额 / 佣金率 / 应收佣金 / 代扣税费 / 实收净额 为空或写占位符(待填、无、-)即报。
每条结论都带原文行号与原文片段,可被第三方用同一口径复算; 材料不足时不给结论,会明确列出还缺什么,也不会用默认值编出结论。
不包含什么
免费版不执行下面这几类(引擎的 CHECKS_WITHHELD 会如实列出,跑 --sample 也能看到):
- 跨机构 / 跨险种汇总台账(按机构与险种汇总笔数、保费、应收佣金与实收净额,并与全表明细对平);
- 按差异金额排序的处理清单(把需要处理的差异按金额降序排列,≥2 条才出清单);
- 差异归因(把差异归到佣金率档位、保费口径、退保冲回、跨期归属四类)。
怎么用
node scripts/run.mjs --sample # 先看样例(样例本身就是一张自洽的表)
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
node scripts/run.mjs --input 你的材料.json --json # 机器可读输出
入参两种写法都行:
{"text": "(把表的**表头**和若干行一起复制进来,Tab 分隔最稳)"}- 直接把「保险佣金与手续费结算明细表」(含表头)从 Excel 复制成文本粘进
.json里; 文件不是合法 JSON 时会整体按纯文本材料处理。
必需列(缺任何一列就不给结论):所属期间、保险公司、险种、分支机构、保单号、佣金类型、 保单年度、保费金额、佣金率、应收佣金、手续费、退保冲回、代扣税费、实收净额。 备注是选填。手续费与退保冲回这两列在具体行里可以为空(空按 0 参与勾稽,红字冲回请填负数); 其余必需列为空或写占位符时会直接报「关键字段空缺」,不会被悄悄当成 0。
出参
status:success才有结论;insufficient_input表示材料不足,此时没有result、没有findings。result.findings[]:每条含level(P0/P1/P2)、category、line(原文行号)、message(含算式与差额)、advice、evidence(原文片段)。result.summary:rows / total / p0 / p1 / p2 / omitted / by_category / verdict(NO_ISSUE_FOUND|NEEDS_REVIEW|ERROR_FOUND)。result.scope:本次执行的checks、未执行的checks_not_run、executed_locally: true、network_used: false。result.sums:按明细行算出来的各列合计(可以和合计行对照)。result.checks_out_of_scope:本工具根本不做的判断清单(边界诚实)。- CLI 退出码:
0已执行检查 /1没给入参 /3材料不足 /4入参读不到或无法解析 /9未预期错误。
常见错法(本产品专属)
- 退保冲回填成正数:这一列按约定要填负数(红字冲回),因为它是从应收佣金里减掉的。 填成正数时实收净额会被反向加上这笔钱,越核越乱 —— 本工具会直接报「退保冲回符号与口径不符」。
- 首期与续期费率混用:同一张保单第 2 年填了 15% 的首期费率(或者第 1 年填了 5% 的续期费率), 应收佣金整列都会偏。先把「佣金类型」和「保单年度」对齐,再看费率档位。
- 保费口径一边含税一边不含税:保费金额取的是含税保费,应收佣金却按不含税保费算过 —— 差额会呈现成「应收佣金复算不符」,而且差额能被佣金率整除。 先定死口径(保费金额是含税还是不含税),然后全表统一。
- 跨期那笔佣金重复计到了本期:上一期已经结过的佣金,本期又按同一保单整笔计了一次。 免费版会报「同一保单号同一期间重复结算」(同期间才算);跨期间的那笔要点开完整档看归因。
- 手续费与佣金挤在同一列:手续费被并进「应收佣金」里一起填, 于是「保费 × 佣金率」永远对不上。手续费必须单独占一列(本表就是这么设计的)。
- 空着的列不填 0.00:保费 / 佣金率 / 应收佣金 / 代扣税费 / 实收净额 留空白, 对应的复算会没有前提,本工具会报「关键字段空缺」而不是替你当成 0。 确实没有金额的列请填 0.00。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 跨机构/跨险种汇总台账(按机构与险种汇总笔数、保费、应收佣金与实收净额,并与全表明细对平)
- 按差异金额排序的处理清单(把需要处理的差异按金额降序排列,≥2 条才出清单)
- 差异归因(把差异归到佣金率档位、保费口径、退保冲回、跨期归属四类)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
本工具不判断佣金率 / 手续费率该定多少、是否符合监管对保险中介佣金上限与手续费口径的规定, 也不判断退保冲回该不该跨期分摊、该冲减哪一期的佣金收入,更不核对开票金额、发票税率与 佣金是否已经到账 —— 表里填多少就以多少为准,只核表内勾稽; 也不读保司结算系统 / 核心业务系统 / 银行流水(需要你先导出成文本贴进来)。
完整清单见引擎的 CHECKS_OUT_OF_SCOPE;材料不足时不给结论,也不会输出「未发现问题」。
