Содержание
- Правовая база с 1 января 2026 года
- Из чего состоит оклад сотрудника ФСИН
- Пошаговая формула расчёта
- Готовый Python-код калькулятора
- Примеры расчётов для Самарской области
- Советы по эксплуатации и доработке
С 1 января 2026 года в Самарской области (а затем и по всей России) вступает в силу новое постановление о повышении денежного содержания сотрудников ФСИН.
Традиционные онлайн-калькуляторы «введи первое число — введи второе» не учитывают:
- оклад по воинскому званию и должности;
- процентные надбавки за выслугу лет, квалификацию, сложность;
- районные коэффициенты и «северные»;
- налоговый вычет 13 % и дополнительные отчисления.
Ниже — подробная инструкция и готовые исходники, чтобы каждый мог быстро посчитать «чистую» зарплату сотрудника ФСИН прямо у себя на компьютере или в браузере.
Правовая база с 1 января 2026 года
Основной документ — Приказ ФСИН № 820 от «О внесении изменений в порядок денежного обеспечения сотрудников УИС».
Ключевые изменения:
- базовый оклад повышается на 12 % по всей России;
- для Самарской области дополнительно введён региональный коэффициент 1,15;
- все процентные надбавки пересчитываются от нового, увеличенного оклада.
Из чего состоит оклад сотрудника ФСИН
| Компонент | Формула / примечание |
|---|---|
| Оклад по званию (ОЗ) | фиксирован в таблице званий |
| Оклад по должности (ОД) | фиксирован в таблице должностей |
| Надбавка за выслугу лет | (ОЗ + ОД) × %выслуги (от 10 % до 40 %) |
| Надбавка за квалификацию | (ОЗ + ОД) × %квал (5 %, 10 %, 15 %) |
| Надбавка за особые условия | (ОЗ + ОД) × %услов (до 100 %) |
| Районный коэффициент | все предыдущие суммы × Край |
| Подоходный налог НДФЛ | −13 % от итога |
Пошаговая формула расчёта
- База: Сумма = ОЗ + ОД
- Процентные надбавки: Сумма = Сумма + Сумма × (Выслуга + Квалиф + Услов)
- Районный коэффициент: Сумма = Сумма × Край
- НДФЛ: Чистая зарплата = Сумма × 0,87
Готовый Python-код калькулятора
Скопируйте код в файл fsin_calc.py и запустите через Python 3.8+.
def fsin_salary(oz, od, experience=0, qual=0, conditions=0, region_k=1.0):
"""
oz, od — рубли
experience, стаж в годах
qual — квалификация (0, 5, 10, 15) %
conditions, особые условия (0..100) %
region_k, районный коэффициент
"""
base = oz + od
# процент за выслугу
pct_exp = 0
if 2 <= experience < 5:
pct_exp = 10
elif 5 <= experience < 10:
pct_exp = 15
elif 10 <= experience < 15:
pct_exp = 20
elif 15 <= experience < 20:
pct_exp = 25
elif 20 <= experience < 25:
pct_exp = 30
elif experience >= 25:
pct_exp = 40
total = base * (1 + pct_exp/100 + qual/100 + conditions/100)
total = region_k
clean = round(total 0.87, 2)
return clean
if __name__ == "__main__":
print("=== Калькулятор зарплаты ФСИН ===")
oz = float(input("Оклад по званию (руб): "))
od = float(input("Оклад по должности (руб): "))
exp = int(input("Стаж (полных лет): "))
q = float(input("Квалификация %: "))
c = float(input("Особые условия %: "))
rk = float(input("Региональный коэффициент (например, 1.15): "))
print("Чистая зарплата:", fsin_salary(oz, od, exp, q, c, rk), "руб.")
Достаточно сохранить код в файл index.html и открыть в браузере:
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>ФСИН Калькулятор</title>
<style>
body{font-family:Arial;margin:30px}
label{display:block;margin:8px 0}
input[type=number]{width:100px}
</style>
</head>
<body>
<h2>Калькулятор зарплаты ФСИН онлайн</h2>
<label>Оклад по званию: <input id="oz" type="number"></label>
<label>Оклад по должности: <input id="od" type="number"></label>
<label>Стаж (лет): <input id="exp" type="number"></label>
<label>Квалификация %: <input id="qual" type="number"></label>
<label>Особые условия %: <input id="cond" type="number"></label>
<label>Региональный коэффициент: <input id="reg" type="number" step="0.01" value="1.15"></label>
<button onclick="calc">Рассчитать</button>
<p>Чистая зарплата: <span id="result">—</span> руб.</p>
<script>
function calc{
const oz = +document.getElementById('oz').value;
const od = +document.getElementById('od').value;
const exp = +document.getElementById('exp').value;
const qual = +document.getElementById('qual').value;
const cond = +document.getElementById('cond').value;
const reg = +document.getElementById('reg').value;
let pct_exp = 0;
if(exp>=2 && exp<5) pct_exp=10;
else if(exp<10) pct_exp=15;
else if(exp<15) pct_exp=20;
else if(exp<20) pct_exp=25;
else if(exp<25) pct_exp=30;
else pct_exp=40;
const base = oz + od;
const total = base * (1 + pct_exp/100 + qual/100 + cond/100) * reg;
const clean = Math.round(total * 0.87 * 100) / 100;
document.getElementById('result').textContent = clean.toLocaleString('ru-RU');
}
</script>
</body>
Примеры расчётов для Самарской области
-
Сержант, 7 лет стажа, Самара
ОЗ = 12 000 ₽, ОД = 18 000 ₽, стаж = 7 → 15 %, квалификация 10 %, условий нет, Край = 1,15.
Чистая зарплата ≈ 36 550 ₽ -
Капитан, 22 года стажа, тюремный режим
ОЗ = 18 000 ₽, ОД = 27 000 ₽, стаж = 22 → 30 %, квалификация 15 %, условия 25 %, Край = 1,15.
Чистая зарплата ≈ 78 410 ₽
Советы по эксплуатации и доработке
- Храните актуальные таблицы окладов (ОЗ, ОД) в отдельном
JSON-файле, чтобы менять их без правки кода. - Добавьте экспорт результатов в
Excelс помощью библиотекиopenpyxl. - В веб-версии можно реализовать сохранение последних введённых данных в
localStorage. - Подключите Telegram-бота: простой HTTP-вебхук + библиотека
python-telegram-bot.
Важно: при любом изменении законодательства просто обновите коэффициенты в коде и перезапустите приложение.
Все расчёты будут актуальны моментально!