底座 P2 已上线 L0

贷款还款计划

出逐期还款计划表,各期本金之和=贷款额、期末剩余本金=0 双重守恒,参数≤0直接拒

技能 slugloan-schedule
所属栏目底座 计算工具 / 归档 / 合规
交付阶段P2 P2 长尾 · 长尾与进阶分析,按 P0/P1 数据裁剪
版权© 2026 律令科技(深圳)有限公司开发 · 财友云(caiyouyun.cn)发布
这个包已上线。复制到本地即可离线运行;正文与用法以下方随包 SKILL.md 为准。

技能正文(随包 SKILL.md)

> **本地运行,零网络、免 API Key、数据不出电脑。**
> 四项诚实承诺:① 算不出就说算不出,绝不编造数字;② 高危动作强制人工确认;③ 幂等断点,绝不重复副作用;④ 全程留痕可审计。

# 贷款还款计划

还款计划表看着简单,最容易出事的地方是"看起来平了":
利息少算一期、本金尾部凑不平、最后一期倒挤到天上去了,
表看着顺眼,实际跟银行对不上。

本包的原则:**先做守恒断言,再出表**。各期本金之和必须等于贷款总额,
各期利息之和必须等于总利息,期末剩余本金必须归零——
差一分钱就直接报「算不出」,不会给你一张能对上的假表。

## 输入

一个明细表,一笔贷款一行。列名自动识别(下列顺序即识别优先级):

| 用途 | 可识别列名 |
|---|---|
| 贷款编号 | 贷款编号 / 合同号 / 单号 / 编号 / 贷款序号 |
| 贷款银行 | 贷款银行 / 银行 / 放款方 / 金融机构 / 出借方 |
| 贷款金额 | 贷款金额 / 贷款总额 / 本金 / 放款金额 / 借款金额 / 金额 |
| 年利率 | 年利率 / 利率 / 年利率% / 贷款利率 |
| 期数 | 期数 / 还款期数 / 总期数 / 期数(月) / 贷款期数 |
| 贷款年限 | 贷款年限 / 年限 / 贷款期限(无期数列时按 年限 × 每年期数 换算) |
| 还款方式 | 还款方式 / 还款方法 / 计息方式 / 贷款方式 |
| 首次还款日 | 首次还款日 / 首次还款日期 / 首期还款日 / 起租日 / 放款日 / 首次还款月份 |
| 还款频率 | 还款频率 / 还款周期 / 频率 |

必须给出「贷款金额」「年利率」「期数」。金额、利率、期数任一 ≤ 0,
本包**直接拒绝**,绝不按 0 排期——按 0 算出来的表毫无意义,还容易被人当真。

`还款方式` 认得:等额本息(默认)、等额本金。
`还款频率` 认得:月(默认,12 期/年)、季(4 期/年)、年(1 期/年)。

## 输出四件套

| 文件 | 内容 |
|---|---|
| `ls_主表.csv` | 期次明细:编号 / 银行 / 期次 / 还款日期 / 还款额 / 本金 / 利息 / 剩余本金 |
| `ls_异常表.csv` | 不可计算项 + 需人工复核项(带原始行号、风险等级) |
| `ls_校验表.csv` | 公式口径、利率换算、期次口径、守恒断言、尾差处理、拒绝项 |
| `fin-log.jsonl` | 处理日志(追加) |

另有 `ls_贷款汇总.csv`,按笔汇总:贷款额 / 期数 / 还款方式 / 还款总额 / 本金合计 / 利息合计 / 利息占比 / 尾差。

## 用法

```bash
PY="<python 3.8+ 路径>"   # 纯标准库
"$PY" <skill目录>/scripts/loan_sched.py 贷款明细.xlsx --execute
```

单笔 / 覆盖默认还款方式:

```bash
"$PY" loan_sched.py 明细.xlsx --method 等额本金 --execute
"$PY" loan_sched.py 明细.xlsx --operator 张三 --out-dir _out --execute
```

**默认不写盘**——不加 `--execute` 只打印预览,确认无误再真跑。

## 真实输出

```
方案:ls_贷款明细.xlsx | 贷款 4 笔
--- 还款计划(4 笔贷款,共 77 期)---
  LK-01    工商银行       贷款 1,200,000.00  36 期  annuity 总还款 1,282,173.16 总利息   82,173.16 利息占比 6.4089%
  LK-02    建设银行       贷款   600,000.00  24 期  equal_principal 总还款   625,937.52 总利息   25,937.52 利息占比 4.1438%
  LK-03    农业银行       贷款 2,400,000.00   5 期  annuity 总还款 2,684,176.95 总利息  284,176.95 利息占比 10.5871%
  LK-04    中国银行       贷款   360,000.00  12 期  equal_principal 总还款   392,760.00 总利息   32,760.00 利息占比 8.341%

已生成贷款汇总:ls_贷款汇总.csv(4 笔)
--- 校验表 ---
  主表行数 | 77
  异常行数 | 0
  输入行数 | 4
  主表金额合计 | 4560000.0
  异常表金额合计 | 0.0
  守恒差异(入-主-异) | 0.0
```

## 拒绝权(什么情况下算不出)

| 情况 | 处理 |
|---|---|
| 年利率 = 0 或负数 | **直接拒绝**:「本包不许按 0 或负数算利息」 |
| 期数 = 0 或负数 | **直接拒绝**:「本包不许按 0 或负数排期」 |
| 贷款额 = 0 或负数 | **直接拒绝**:「本包不许按 0 或负数算还款计划」 |
| 找不到「贷款金额」列 | **直接拒绝**,出表的本金基数不存在 |
| 贷款金额非数字 | 进异常表(高) |
| 年利率非数字 | 进异常表(高,算不出利息) |
| 期数缺失 / 非数字 | 进异常表(高,算不出还款计划) |
| 还款方式认不出来(如"气球贷") | 进异常表(高,列出可选项) |
| 首次还款日坏了(如"下个月") | 进异常表(高,期次日期缺失) |

被拒绝的贷款**不产生任何期次行**,本金计入异常表金额,守恒关系照样成立。

## 关键设计(容易踩的坑)

1. **三重守恒断言**:
   - 各期本金之和 = 贷款总额
   - 各期利息之和 = 总利息
   - 期末剩余本金 = 0
   任一不成立直接 `refuse`,不允许"差不多就行"。
2. **尾差单列**:最后一期本金倒挤,误差调在最后一期,
   并在汇总表「尾差」列给出具体金额(实测 4 笔均为 0.0),
   免得对账时被问"最后一期为什么多还了 3 毛"。
3. **利率换算**:月利率 = 年利率 ÷ 12,季利率 = ÷ 4,年利率 ÷ 1。
   年利率按**百分数**填(4.35 表示 4.35%)。
4. **期次日期**:首期还款日 + 每期按频率递增(月/季/年),
   跨月跨年用日历天数校正(2 月按实际天数)。首次还款日缺失不猜,
   直接进异常表。
5. **等额本息**:M = P·i·(1+i)^n / ((1+i)^n − 1)
6. **等额本金**:每期本金 = P/n,利息 = 剩余本金 × i(每期递减)
7. **本包是计划表,不是实际还款记录**:的实际还款若有提前还款、
   利率调整、罚息,本表不适用——请提供实际放款与还款数据另行核对。
8. **LOAN 贷等 exotic 产品不适用**:气球贷、先息后本、不规则还款
   本包都认不出来,会进异常表而不是硬套一个公式。

## 人工复核(必读)

- 实际贷款利率可能与合同不同(LPR 调整、首贷优惠),请核对合同年利率
- 等额本息的月供在还款期内**保持不变**,但本金占比逐期上升
- 提前还款会改变整张表,重算而不是在原表上改
- 本表未计罚息、复利、保险费等附加成本,只有本息
- 银行的实际计息口径(如按实际天数 / 按月计息)可能与本表有细微差异,
   以银行账单为准
- 期末剩余本金不为 0 说明表不自洽,请回头核对贷款额与期数

## 相邻路线转交

| 用户要做的事 | 转交给 |
|---|---|
| 贷款利息进账 / 融资成本核算 | `cost-allocation` |
| 还款计划与银行对账 | `bank-recon` |
| 资金计划 / 未来现金流预测 | `cashflow-forecast` |
| 月度还款凭证生成 | `voucher-batch-generate` |
| 应付账款付款排期 | `ap-payment-schedule` |

## 可直接复制的说法

```text
按等额本息 / 等额本金把这几笔贷款的逐期还款计划算出来,
期次、还款日、还款额、本金、利息、剩余本金都要有。
各期本金加总必须等于贷款总额,期末剩余本金必须归零,
对不上的话直接说算不出,不要给我一张凑得平的表。
年利率如果是 0 或者负数、期数是 0、贷款额是 0,直接拒,
不要按 0 算一遍糊弄我。
尾差调在最后一期,并把尾差金额单列出来。
```

## 做完怎么算完成

- [ ] 每笔贷款的「年利率」「期数」「还款方式」已与贷款合同核对
- [ ] 三重守恒断言全部通过(本金之和 = 贷款额、利息之和 = 总利息、期末余额 = 0)
- [ ] 「尾差」列已逐笔确认为 0 或已查明来源
- [ ] 首次还款日与合同一致;跨年的期次日期已抽查
- [ ] 异常表逐条已追查,无"未说明原因的缺失"
- [ ] 若存在提前还款或利率调整,本表不适用,已改走实际数据核对

---

本 Skill 采用 BUSL-1.1 许可(源码可见,可自由使用)。

版权所有 © 2026 律令科技(深圳)有限公司(@lexord-technology)。
本技能由律令科技(深圳)有限公司开发,**财友云(caiyouyun.cn)**发布与展示。

允许个人及企业内部免费使用、复制、修改,包括内部生产环境。
未经书面许可,不得将本 Skill 或其修改版作为商业服务对外销售、转售或提供托管服务。
各版本发布之日起 4 年后自动转为 Apache License 2.0。详见随包 `LICENSE.md`。

相邻技能

底座 规划中P0 计划 已上线

税费计算

增值税/附加/个税/印花税/所得税预缴,附公式与政策依据

L1 · 计算工具 / 归档 / 合规
底座 规划中P0 计划 已上线

财税数值工具

金额大写、含税不含税互算、价税分离、尾差分摊、百分比反算

L0 · 计算工具 / 归档 / 合规
底座 规划中P1 在建 已上线

工资表计算

五险一金 + 个税累计预扣预缴 + 实发,支持多地参数表

L1 · 计算工具 / 归档 / 合规
底座 规划中P1 在建 已上线

固定资产折旧

直线/双倍余额/年数总和/工作量法,生成折旧明细表

L1 · 计算工具 / 归档 / 合规
底座 规划中P1 在建 已上线

会计期间工具

期间生成、周旬季年切换、工作日调整、账期与自然日换算

L0 · 计算工具 / 归档 / 合规
底座 规划中P1 在建 已上线

会计档案归档

按年度-凭证号-附件组织,生成目录清单与完整性校验

L0 · 计算工具 / 归档 / 合规
底座 规划中P2 长尾 已上线

工资条拆分生成

按人拆成独立文件,可加密打包,不留明文

L0 · 计算工具 / 归档 / 合规
底座 规划中P2 长尾 已上线

摊销计算

无形资产与长期待摊费用摊销明细表

L0 · 计算工具 / 归档 / 合规
底座 规划中P2 长尾 已上线

固定资产卡片台账

新增/折旧/处置/盘点全生命周期台账

L0 · 计算工具 / 归档 / 合规
底座 规划中P2 长尾 已上线

外币折算与汇兑损益

多币种折算、期末汇兑损益计算,汇率走内置表或导入

L1 · 计算工具 / 归档 / 合规
底座 规划中P2 长尾 已上线

操作留痕查询

合并查询所有财税技能的运行日志,按时间/技能/级别过滤

L0 · 计算工具 / 归档 / 合规
底座 规划中P2 长尾 已上线

财务敏感信息扫描

银行卡/身份证/税号/账套口令扫描与脱敏报告

L0 · 计算工具 / 归档 / 合规
本页内容由本地构建生成于 2026-09-27。技能正文以随包 SKILL.md 为准。