会员卡预收与履约负债核对(免费版)
完全本地运行:引擎已经打包在本技能里(
scripts/engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限,你的材料不出本机。
什么时候用
谁会在什么时候用:财务、门店会计、内审在月末结账 / 门店盘点 / 会员卡专项审计之前, 必须把这张表核一遍才能往下走 —— 卖卡收到的钱先记成预收负债,会员每核销一次才把一部分负债 结转为收入;这张表错一处会同时错三处(预收负债错、收入错、门店业绩错)。
什么时候不用:材料只有汇总数、没有逐卡明细时不用(本工具从"每张卡一行"算起); 要判断会员章程本身是否合规时也不用(见文末边界)。
这个免费版查什么
引擎会把这 6 项逐条跑完(CHECKS_GIVEN,跑 --sample 会打印实际执行了哪些):
- 本期核销金额逐行复算:核销金额 = 核销次数 × 单次确认价,逐行对不上就报。
- 期末负债勾稽:期初负债 + 本期销售 − 本期核销 − 过期作废 = 期末负债,逐行 + 合计行。
- 核销金额超过卡内可用余额:核销掉卡里没有的钱,预收负债就一定是错的。
- 同一会员卡号重复销售:同一张卡出现两行且都带销售金额 ⇒ 负债被重复确认。
- 过期作废金额与政策一致性:作废金额不得为负、不得超过作废前的可用余额。
- 关键字段缺失/占位符与负数:卡号、金额、次数缺一列,相关复算只能跳过。
每条结论都带原文行号与出处(findings[].line),可被第三方用同一口径复算。
怎么用
node scripts/run.mjs --sample # 先看样例(内置样例是一张干净表,应当 0 条发现)
node scripts/run.mjs --input 你的明细表.json # 跑自己的材料
node scripts/run.mjs --input 你的明细表.json --json # 机读输出(stdout 是纯 JSON)
入参写成 {"text": "(含表头的明细表,Tab 分隔最稳)"};直接把 Excel 里含表头的那几行
复制成文本贴进来也可以。退出码:0 已执行检查 / 1 没给入参 / 3 材料不足 / 4 入参读不到 / 9 未预期错误。
出参
result.scope.checks:本次实际执行的检查项;result.scope.checks_not_run:本次没有执行的检查项。result.findings[]:每条含line(原文行号)、level(P0/P1/P2)、category、message(含复算过程)。result.summary:total/p0/p1/p2/verdict(NO_ISSUE_FOUND/NEEDS_REVIEW/ERROR_FOUND)。- 材料不足时返回
status: "insufficient_input"并列出missing(缺哪一列),不给任何结论。
常见错法(本产品专属)
- 把核销金额当成收入:核销是"负债结转",不是"新收入";口径混用会让负债与收入同时错。
- 赠送卡/折扣卡按面值入账:应按实收金额确认预收负债,按面值记会虚增负债。
- 期初负债直接抄上月期末:跨期的调卡、退款、赠送没调整,滚存从第一个月就错了。
- 过期作废记成收入:作废是冲减负债,记成收入会让收入与负债同时虚增。
- 同一会员多张卡(卡号带 -1/-2 后缀):重复销售识别不到,需要先合并卡号。
- 门店间调卡/转卡:同一张卡出现在两个门店,跨门店汇总时会虚增负债(这正是完整档要归并的)。
- 从 Excel 粘贴时把"合计"行也当成明细行:合计行会被单独识别(
totals),不要重复计入。
不包含什么
下面这些不在本免费版里,它们属于完整档能力(CHECKS_WITHHELD,本工具会如实列出"未执行",
不会用默认值编造结论):
- 跨门店/跨卡种汇总台账(门店负债合计与卡种核销率);
- 负债差异归因(核销口径 / 作废政策 / 跨期归属 / 重复销售);
- 按负债差异金额排序的处理清单;
- 跨期归属:期初有余额但本期无任何变动检测;
- 卡种归集完整性(卡种缺失时无法按卡种汇总)。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 跨门店/跨卡种汇总台账(门店负债合计与卡种核销率)
- 负债差异归因(核销口径 / 作废政策 / 跨期归属 / 重复销售)
- 按负债差异金额排序的处理清单
- 跨期归属:期初有余额但本期无任何变动检测
- 卡种归集完整性(卡种缺失时无法按卡种汇总)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
本工具只核这张台账的内部勾稽(核销复算、负债滚存、重复与作废口径)。 它不判断会员章程/卡政策本身是否合规(有效期多长、作废比例上限由你的章程决定)、 不判断收入确认时点与履约进度(那属于会计准则判断)、不处理含税/不含税口径与赠送卡拆分, 也不读会员系统或 ERP(需要你先导出成文本)。
材料不足(空、只有表头、缺必需列、只有合计行)时不给结论:既不做"一致"的认定, 也不做"不一致"的认定,更不会输出"未发现问题"。
