Актуальность: применимо к договорам, заключённым после (включая последние поправки 2025 г.)
Что такое пеня по ст. 330 ГК РФ?
Пеня (ст. 330 ГК РФ), это денежная сумма, которую должник обязан уплатить кредитору в случае неисполнения или ненадлежащего исполнения обязательства, в частности при просрочке исполнения. В отличие от неустойки, пеня всегда выражена в процентах от просроченной суммы за каждый день просрочки.
Ключевые признаки:
- Закрепляется в договоре или законе (например, Закон 44-ФЗ, 223-ФЗ).
- Начисляется за каждый день просрочки вплоть до фактического платежа.
- Не требует доказывания убытков (ст. 330 ч. 1).
Формула расчёта
Базовая формула договорной пени:
Пеня = С × Ст × Д
где:
- С, сумма просроченного обязательства (руб.);
- Ст — ставка пени (% за 1 день просрочки);
- Д — количество дней просрочки.
Если ставка указана «в годовых»:
Пеня = С × (Стгод / 365) × Д
Готовый калькулятор на Python (консольный)
from datetime import datetime
def calculate_penalty(amount: float,
rate_per_day: float,
start_date_str: str,
end_date_str: str = None) -> dict:
"""
Расчёт пени по ст. 330 ГК РФ.
:param amount: сумма долга (руб.)
:param rate_per_day: ставка пени в % за 1 день
:param start_date_str: дата начала просрочки 'DD.MM.YYYY'
:param end_date_str: дата фактической оплаты 'DD.MM.YYYY' (по умолчанию сегодня)
:return: словарь {'penalty': float, 'days': int}
"""
fmt = "%d.%m.%Y"
start = datetime.strptime(start_date_str, fmt).date
end = datetime.strptime(end_date_str or datetime.now.strftime(fmt), fmt).date
delta_days = (end ― start).days
if delta_days < 0:
raise ValueError("Дата окончания раньше даты начала")
penalty = round(amount * (rate_per_day / 100) * delta_days, 2)
return {"penalty": penalty, "days": delta_days}
if __name__ == "__main__":
print("=== Калькулятор пени по ст. 330 ГК РФ ===")
try:
amt = float(input("Сумма долга (руб.): "))
rate = float(input("Ставка пени (% за день): "))
d_start = input("Дата начала просрочки (ДД.ММ.ГГГГ): ")
d_end = input("Дата оплаты (ДД.ММ.ГГГГ, Enter = сегодня): ") or None
result = calculate_penalty(amt, rate, d_start, d_end)
print(f"
Просрочка: {result['days']} дн.")
print(ff"Начисленная пеня: {result['penalty']} руб.")
except ValueError as e:
print("Ошибка:", e)
Как использовать скрипт
- Сохраните код в файл calculator_penalty_330gk.py.
- Убедитесь, что установлен Python 3.7+.
- Запустите в терминале:
python calculator_penalty_330gk.py. - Следуйте подсказкам программы.
Практический пример
Условия договора:
- Сумма долга: 500 000 ₽
- Ставка пени: 0,1 % за каждый день просрочки
- Период просрочки:, (111 дн.)
Результат:
Пеня = 500 000 × 0,001 × 111 = 55 500 ₽
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Пеня по ст. 330 ГК РФ онлайн</title>
</head>
<body>
<h3>Онлайн-калькулятор пени</h3>
<form id="penaltyForm">
<label>Сумма долга: <input type="number" id="amount"></label><br>
<label>Ставка (% в день): <input type="number" step="0.001" id="rate"></label><br>
<label>Начало проср.: <input type="date" id="start"></label><br>
<label>Конец проср.: <input type="date" id="end"></label><br>
<button type="submit">Рассчитать</button>
</form>
<p id="result"></p>
<script>
document.getElementById('penaltyForm').addEventListener('submit', function (e) {
e.preventDefault;
const amount = +amountInput.value;
const rate = +rateInput.value / 100;
const days = (new Date(endInput.value) ⸺ new Date(startInput.value)) / 864e5;
const penalty = (amount * rate * days).toFixed(2);
result.textContent = `Пеня: ${penalty} ₽ за ${Math.round(days)} дн.`;
});
</script>
</body> Частые вопросы
Можно ли уменьшить пеню по ст. 333 ГК РФ?
Да, если она явно носит чрезмерный характер суд может снизить размер, но не ниже ключевой ставки ЦБ на момент нарушения.
Отличается ли расчёт для 44-ФЗ?
Для госзакупок действует особая формула: 1/300 ключевой ставки ЦБ от неисполненной суммы за каждый день просрочки.
Используйте приведённые формулы и код, чтобы быстро рассчитать пеню по ст. 330 ГК РФ. При внедрении в бизнес-процессы рекомендуется доработать скрипт: добавить экспорт в Excel, интеграцию с 1С и уведомления по e-mail/SMS.
© 2026 Юридическая справка. Все расчёты носят информативный характер; для точного определения суммы обратитесь к квалифицированному юристу.