出逐期还款计划表,各期本金之和=贷款额、期末剩余本金=0 双重守恒,参数≤0直接拒
loan-scheduleSKILL.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`。
增值税/附加/个税/印花税/所得税预缴,附公式与政策依据
金额大写、含税不含税互算、价税分离、尾差分摊、百分比反算
五险一金 + 个税累计预扣预缴 + 实发,支持多地参数表
直线/双倍余额/年数总和/工作量法,生成折旧明细表
期间生成、周旬季年切换、工作日调整、账期与自然日换算
按年度-凭证号-附件组织,生成目录清单与完整性校验
按人拆成独立文件,可加密打包,不留明文
无形资产与长期待摊费用摊销明细表
新增/折旧/处置/盘点全生命周期台账
多币种折算、期末汇兑损益计算,汇率走内置表或导入
合并查询所有财税技能的运行日志,按时间/技能/级别过滤
银行卡/身份证/税号/账套口令扫描与脱敏报告
SKILL.md 为准。