Skill: coolalam/private-lending-interest-calculator (version 1.0.0)

--- name: private-lending-interest-calculator description: | 当用户需要计算中国民间借贷案件中的借期内利息、逾期利息、违约金合并审查、砍头息、复利、还款冲抵、LPR四倍上限或生成正式利息计算书时使用。适用于 1991 年旧民间借贷意见、2015 年《民间借贷规定》的 24%/36% 规则，以及 2020 年后合同成立时 1 年期 LPR 四倍规则。典型触发词包括：民间借贷利息计算、借条利息、借款利率、LPR四倍、逾期利息、砍头息、复利计算、还款冲抵、借贷利率上限、借款利息怎么算、职业放贷、private lending interest、loan interest calculation。 --- # 民间借贷利息计算 ## 定位 依据中国民间借贷相关司法解释和《民法典》，计算借期内利息、逾期利息、违约金合并上限、砍头息、结息转本和还款冲抵，并输出结构化《民间借贷利息计算书》。 优先使用 `scripts/calculate_interest.py`。脚本只依赖 Python 标准库，适合本地命令行直接运行。 ## 适用场景 - 计算民间借贷借期内利息 - 计算逾期利息与违约金合并后的受保护金额 - 判断约定利率是否超过 24% / 36% / LPR 四倍 - 分析砍头息、复利、职业放贷等风险 - 处理多笔还款的费用、利息、本金冲抵 - 生成正式利息计算书或庭审提交前的测算底稿 ## 工作流程 ### 第一步：采集案件事实 优先向用户确认以下信息： | 要素 | 说明 | |------|------| | 实际到账本金 | 利息按实际出借金额计算 | | 合同载明本金 | 如与实际到账金额不同，用于识别砍头息 | | 借款日期 | `YYYY-MM-DD` | | 借款到期日 | 如有约定则提供 | | 截止计算日期 | 不提供时默认当天 | | 借期内约定利率 | 年化百分比 | | 逾期起算日 | 不提供时可按到期日处理 | | 约定逾期利率 | 年化百分比，可留空 | | 违约金/其他费用 | 可折算成年化百分比 | | 还款记录 | JSON 列表或明细 | 还需确认是否存在： - 砍头息 - 复利 / 结息转本 - 职业放贷 - 债权实现费用 > 信息不完整时，可先按现有信息测算，但必须在结果中标明假设条件。 ### 第二步：确定法律时段 按借款成立时间自动判断适用规则： ```text 借款日期 < 2015-09-01 → 旧民间借贷意见（银行同期贷款利率四倍） 2015-09-01 ≤ 借款日期 < 2020-08-20 → 2015年《民间借贷规定》（24% / 36%） 借款日期 ≥ 2020-08-20 → 合同成立时1年期LPR四倍 ``` 注意： - 如果区间跨越 `2020-08-20`，必须分段计算。 - `2015-09-01` 前时段的上限依赖银行同期贷款利率。由于本 skill 未内置历史基准利率表，脚本要求显式传入 `--legacy-base-rate`。 ### 第三步：调用计算脚本 基础示例： ```bash python3 scripts/calculate_interest.py \ --principal 100000 \ --loan-date 2024-06-15 \ --rate 12 \ --loan-end 2025-06-15 \ --as-of 2025-04-20 ``` 带逾期利息、违约金与还款记录： ```bash python3 scripts/calculate_interest.py \ --principal 100000 \ --contract-principal 110000 \ --loan-date 2024-01-01 \ --rate 12 \ --loan-end 2024-07-01 \ --overdue-date 2024-07-01 \ --overdue-rate 18 \ --penalty-rate 3 \ --repayments @repayments.json \ --as-of 2025-04-20 ``` 旧规时段示例： ```bash python3 scripts/calculate_interest.py \ --principal 100000 \ --loan-date 2014-06-01 \ --rate 18 \ --legacy-base-rate 6.0 \ --as-of 2015-06-01 ``` 支持参数： | 参数 | 说明 | |------|------| | `--principal` | 实际到账本金，必填 | | `--contract-principal` | 合同载明本金，用于识别砍头息 | | `--loan-date` | 借款日期，必填 | | `--loan-end` | 借款到期日 | | `--as-of` | 计算截止日，默认当天 | | `--rate` | 借期内年化利率 | | `--overdue-date` | 逾期起算日 | | `--overdue-rate` | 约定逾期年化利率 | | `--penalty-rate` | 违约金或其他费用折算成年化利率 | | `--fees` | 实现债权的有关费用余额 | | `--repayments` | 还款记录 JSON 字符串或 `@文件路径` | | `--compound-date` | 一次性结息转本日期 | | `--legacy-base-rate` | 2015-09-01 前银行同期贷款年利率 | | `--professional-lender` | 标记职业放贷风险 | 还款记录 JSON 示例： ```json [ {"date": "2024-08-01", "amount": 20000, "note": "第一次还款"}, {"date": "2024-12-15", "amount": 30000, "note": "第二次还款"} ] ``` ### 第四步：核对脚本输出 脚本会输出以下内容： 1. 基础信息 2. 法律适用 3. 分段计算明细表 4. 还款冲抵明细 5. 截至某日的本金、利息、违约金、费用合计 6. 风险提示与假设 重点核对： - 是否正确跨 `2020-08-20` 分段 - 是否按法定上限截断利率 - 是否将违约金与逾期利息合并审查 - 是否按 费用 → 利息 → 本金 顺序冲抵 - 是否将砍头息按实际到账金额处理 ### 第五步：向用户解释风险点 输出结果时，优先解释以下问题： - 约定利率超出法定保护上限的部分是否被截断 - 已付高息中是否存在超额部分可抵扣本金 - 违约金与逾期利息是否被合并压缩 - 是否存在职业放贷或复利效力风险 - 对 2015 年前案件是否使用了用户提供的银行同期贷款利率作为前提 ## 核心规则速查 ### 利率保护上限 | 时段 | 借期内上限 | 逾期与违约金合计上限 | |------|-----------|--------------------| | 2015-09-01前 | 银行同期贷款利率四倍 | 同左 | | 2015-09-01 至 2020-08-19 | 年利率 24% | 年利率 24% | | 2020-08-20起 | 合同成立时1年期LPR四倍 | 同左 | ### 无逾期利率约定时 | 场景 | 处理方式 | |------|---------| | 2015-09-01 至 2020-08-19，借期和逾期利率均未约定 | 按年利率 6% | | 2020-08-20后，借期和逾期利率均未约定 | 按逾期当时 1 年期 LPR | | 仅约定借期内利率 | 逾期后通常按借期内利率，但不得超过法定上限 | ### 还款冲抵顺序 依据《民法典》第 561 条： 1. 实现债权的有关费用 2. 利息 3. 本金 ## 参考文件 | 文件 | 用途 | |------|------| | `references/legal_basis.md` | 法律条文全文与核心规则摘要 | | `references/lpr_data.md` | 1年期 LPR 数据表 | | `references/calculation_rules.md` | 详细算法、边界情况和伪代码 | ## 脚本说明 | 脚本 | 用途 | |------|------| | `scripts/calculate_interest.py` | 核心利息计算脚本，输出正式计算书 | ## 使用注意 1. 对 `2015-09-01` 前案件，没有银行同期贷款利率数据就不要直接给出确定结论，需补 `--legacy-base-rate`。 2. 复利、展期、职业放贷等场景存在合同效力问题，脚本只做机械测算，仍需法律判断。 3. 如果用户只给“合同本金”而未给“实际到账本金”，要主动追问是否存在砍头息。 4. 对于自然人之间“利息约定不明”的情形，应优先按无息处理。 5. 当脚本输出中包含“风险提示与假设”时，回答用户时必须同步说明，不要只报最终数字。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)