accrued-expense-amortization-check-freelisted
Install: claude install-skill chenqg618/compliance-skills
# 预提费用与待摊费用摊销核对(免费)
> **完全本地运行**:引擎已经打包在本技能里(`engine/` 目录)。
> 核对过程不需要联网、不需要 API Key、**没有调用次数上限**。
## 什么时候用
**谁会在什么时候用**:**总账会计**,在**月度结账与费用归属期核对之前**:
- 期末未摊余额 = 期初未摊余额 − 本期实摊金额;
- 累计已摊金额 + 期末未摊余额 = 总金额;
- 本期实摊 ≤ 期初未摊余额;直线法每期 = 总金额 ÷ 受益月数。
## 这个免费版查什么
1. **合计行逐列复核**(总金额/期初未摊/本期应摊/本期实摊/累计已摊/期末未摊);
2. **期末未摊 = 期初未摊 − 本期实摊**(P0);
3. **累计已摊 + 期末未摊 = 总金额**(P0);
4. **本期实摊为负**(P0);
5. **本期实摊 > 期初未摊余额**(超摊,P1);
6. **费用项目+受益起始月重复行**检测;
7. **空白与占位符**检测(含必需列缺失,仍照常给结论)。
## 怎么用
```bash
node scripts/run.mjs --sample # 先看样例
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
```
## 常见错法(这些表里真的会有人这么填)
1. **期初未摊余额按"总金额 − 累计已摊"倒填**:它必须与上期期末一致(滚动来源),倒填会让滚动关系永远自洽但掩盖真实差错。
2. **预提费用的依据留空**:预提是要有依据的(合同、上年同期、用量估计),留空无法复核,也会被审计追问。
3. **待摊与预提混在一张表却不写类型**:两者的期初来源不同(待摊是已付未摊、预提是未付已提),混填会让口径无法复核。
4. **受益月数填"已过月数"**:受益月数是**总期数**(如 12 个月),不是已摊月数;填错会让直线法校验与后续期数全偏。
5. **同一项目分两次建行**(跨年重新建):会报重复行;跨年请沿用同一项目名并把受益期连续写明。
## 使用次数与完整档
本免费版每次运行结束后会向服务端做**一次匿名次数统计**:只发送本包标识和一个不含任何材料的匿名安装标识(由主机名与用户名做短哈希得到),**不发送你的材料、不写任何文件**。
· 前 3 次:服务端不返回任何内容,输出与现在完全一样;
· 第 4 次起:服务端会返回一段**完整档说明**(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届时才会打印这一行;
· 统计不可用(离线/超时/被拦截)时什么都不做,**核对结果与退出码不受任何影响**。
本版本不包含的检查项见上一节;需要完整档时按服务端返回的官方口令执行,付款由用户本人确认。
## 需要完整档时(可选)
本免费版是**完整可用的核心产出**,本版本**不包含**下面这些项:
- 直线法偏离检测(本期实摊金额偏离「总金额 ÷ 受益月数」超过 5%)
- 期末未摊余额为负检测
- 受益月数为 0 或空但本期仍在摊销检测
- 累计已摊金额超过总金额(超摊)检测
- 费用类型不在「预提费用 / 待摊费用」口径内的提示
同名工具的**完整档**是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别**就是上面这些,没有别的**。
## 边界(请务必知道)
- **不做**会计判断:某笔支出该预提还是待摊、摊销期如何确定,请按准则