Back to skills
extension
Category: OtherNo API key required

民间借贷利息计算

当用户需要计算中国民间借贷案件中的借期内利息、逾期利息、违约金合并审查、砍头息、复利、还款冲抵、LPR四倍上限或生成正式利息计算书时使用。适用于 1991 年旧民间借贷意见、2015 年《民间借贷规定》的 24%/36% 规则,以及 2020 年后合同成立时 1 年期 LPR 四倍规则。典型触发词包括:民间借贷利息计算、借条利息、借款利率、LPR四倍、逾期利息、砍头息、复利计算、还款冲抵、借贷利率上限、借款利息怎么算、职业放贷、private lending interest、loan interest calculation。

personAuthor: user_f26b93e2hubcommunity

民间借贷利息计算

定位

依据中国民间借贷相关司法解释和《民法典》,计算借期内利息、逾期利息、违约金合并上限、砍头息、结息转本和还款冲抵,并输出结构化《民间借贷利息计算书》。

优先使用 scripts/calculate_interest.py。脚本只依赖 Python 标准库,适合本地命令行直接运行。

适用场景

  • 计算民间借贷借期内利息
  • 计算逾期利息与违约金合并后的受保护金额
  • 判断约定利率是否超过 24% / 36% / LPR 四倍
  • 分析砍头息、复利、职业放贷等风险
  • 处理多笔还款的费用、利息、本金冲抵
  • 生成正式利息计算书或庭审提交前的测算底稿

工作流程

第一步:采集案件事实

优先向用户确认以下信息:

| 要素 | 说明 | |------|------| | 实际到账本金 | 利息按实际出借金额计算 | | 合同载明本金 | 如与实际到账金额不同,用于识别砍头息 | | 借款日期 | YYYY-MM-DD | | 借款到期日 | 如有约定则提供 | | 截止计算日期 | 不提供时默认当天 | | 借期内约定利率 | 年化百分比 | | 逾期起算日 | 不提供时可按到期日处理 | | 约定逾期利率 | 年化百分比,可留空 | | 违约金/其他费用 | 可折算成年化百分比 | | 还款记录 | JSON 列表或明细 |

还需确认是否存在:

  • 砍头息
  • 复利 / 结息转本
  • 职业放贷
  • 债权实现费用

信息不完整时,可先按现有信息测算,但必须在结果中标明假设条件。

第二步:确定法律时段

按借款成立时间自动判断适用规则:

借款日期 < 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

第三步:调用计算脚本

基础示例:

python3 scripts/calculate_interest.py \
  --principal 100000 \
  --loan-date 2024-06-15 \
  --rate 12 \
  --loan-end 2025-06-15 \
  --as-of 2025-04-20

带逾期利息、违约金与还款记录:

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

旧规时段示例:

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 示例:

[
  {"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. 当脚本输出中包含“风险提示与假设”时,回答用户时必须同步说明,不要只报最终数字。