Перейти к основному содержимому

Коды расходов

Описание​

Расходный КБК — это 20-значный код из бюджетной классификации, которым в законе о бюджете, росписи, лимитах бюджетных обязательств, отчётности об исполнении и во многих открытых наборах маркируют расходы бюджета. Он отличен от доходного и ИФД-кода того же формата: тип строки задаётся документом, формой или метаданными набора, а не одной только длиной поля (см. общий разбор в карточке КБК и контраст с кодами доходов).

В одной строке соединены три оси: административная (главный администратор расходов), функциональная (раздел, подраздел и целевая статья) и экономическая (вид расходов — КВР). Поэтому «агрегация по коду» без предварительного разрезания смешивает программный и экономический разрезы: для анализа нужно сначала выделить поля, а затем выбрать уровень группировки. КОСГУ в саму строку расходного КБК не входит: это классификатор операций в бюджетном учёте; связку КВР и КОСГУ для сверки даёт таблица соответствия Минфина.

Структура по позициям​

Состав полей на конкретный финансовый год и расшифровку каждой позиции нужно брать из приказов Минфина России на этот год (ориентир — «Приказы Минфина по бюджетной классификации»). На практике расходный код укладывают в схему:

Позиции (знаки)Смысл (типовой каркас)
1–3Код главного администратора расходов; сопоставляйте с ролью ГРБС только по методике набора и справочнику года.
4–5Раздел функциональной классификации расходов (на федеральном уровне в открытых материалах часто встречаются разделы 01–14).
6–7Подраздел внутри раздела.
8–17Целевая статья (связка с госпрограммами, нацпроектами и непрограммными направлениями — см. целевые статьи расходов).
18–20КВР — вид расходов по экономическому содержанию (оплата труда, закупки, трансферты и т.д.).

Итого: 3 + 2 + 2 + 10 + 3 = 20 знаков. При смене редакции классификации могут меняться не только наименования, но и привязка показателей; для рядов по нескольким годам используйте официальные таблицы соответствия между редакциями.

Поле расходного КБК — string фиксированной длины 20, а не число. Ведущие нули обязательны: перед джойном удалите пробелы, дополните строку слева до 20 позиций (zfill(20)) и требуйте ровно 20 цифр. Расшифровку и допустимость значения подтверждает справочник Минфина именно для года данных, а не разрезание строки.

Ниже — компактная схема для машинного разбора. Пример 07104010201081000110 взят из открытого справочника кодов бюджетной классификации по расходам (20 символов) в каталоге «Электронного бюджета»; его применимость всё равно сверяют со справочником и редакцией классификации нужного года.

{
"code_type": "string",
"fixed_length": 20,
"normalization": "remove whitespace; left-pad with zeros to 20; require exactly 20 digits before join",
"example_code": "07104010201081000110",
"fields": [
{"name": "gar_admin", "start": 0, "end": 3, "length": 3, "semantic": "код главного администратора расходов", "example": "071", "reference": "/glossary/grbs", "notes": "Не считайте его кодом ГРБС по умолчанию: роль и методику сверяют по справочнику года."},
{"name": "section", "start": 3, "end": 5, "length": 2, "semantic": "раздел функциональной классификации", "example": "04", "reference": "/budget-classification/overview", "notes": "Вместе с подразделом задаёт функциональный разрез."},
{"name": "subsection", "start": 5, "end": 7, "length": 2, "semantic": "подраздел функциональной классификации", "example": "01", "reference": "/budget-classification/overview", "notes": "Детализация раздела; значение подтверждают справочником года."},
{"name": "target_article", "start": 7, "end": 17, "length": 10, "semantic": "целевая статья расходов", "example": "0201081000", "reference": "/budget-classification/target-articles", "notes": "Программный или непрограммный разрез расходов."},
{"name": "kvr", "start": 17, "end": 20, "length": 3, "semantic": "код вида расходов", "example": "110", "reference": "/glossary/kvr", "notes": "Экономический вид расходов; не заменяется кодом КОСГУ."}
],
"notes": "Границы заданы в нотации Python: 0-based, правая граница не включается. Смысл и допустимость комбинации подтверждаются справочником Минфина на год, а не самим разрезанием строки."
}

Типичные ошибки в данных​

  • Импорт в Excel или числовую колонку. Ведущие нули теряются, а длинный код может стать научной записью или числом с потерей точности. Читайте и передавайте КБК строкой.
  • Длина не равна 20. Артефакт .0, пробелы или укороченный ключ после нормализации отправляйте в контроль ошибок, а не в джойн. Не обрезайте и не дополняйте значение, если нулевой префикс не подтверждён источником или справочником.
  • Смешение типов КБК. Доходный, расходный и ИФД-коды имеют одинаковую длину, но разную разметку. Тип определяют по метаданным набора и смыслу формы, а не по 20 цифрам.
  • Подмена главного администратора справочником ГРБС. Первые три позиции расходного кода обозначают главного администратора расходов; совпадение с ролью ГРБС нельзя предполагать без методики и справочника года.
  • Агрегация по полному КБК. Полный ключ скрывает отдельные программный и экономический разрезы — целевую статью и КВР. Сначала извлеките поля, затем группируйте по вопросу анализа.
  • Одна редакция классификации на несколько лет. Фиксируйте год и версию справочника; для временного ряда используйте официальные таблицы соответствия между редакциями, если они опубликованы.
  • Подстановка КОСГУ вместо КВР. Это разные классификаторы: КОСГУ не является частью 20 знаков расходного КБК. Сопоставлять их можно только по таблице соответствия КВР и КОСГУ на нужный год.

Где встречается в данных​

Связанные источники​

Пример доступа/парсинга​

Минимальный пример читает колонку как строку, нормализует её и выделяет поля из схемы. Границы в bounds даны в нотации Python: начало с нуля, правая граница не включается.

import pandas as pd

df = pd.read_csv("expenses.csv", dtype={"kbk": "string"})
kbk = df["kbk"].str.replace(r"\s+", "", regex=True).str.zfill(20)
if not kbk.str.fullmatch(r"\d{20}", na=False).all():
raise ValueError("Расходный КБК должен содержать ровно 20 цифр после нормализации")

bounds = {
"gar_admin": (0, 3),
"section": (3, 5),
"subsection": (5, 7),
"target_article": (7, 17),
"kvr": (17, 20),
}
df = df.assign(
kbk=kbk,
**{name: kbk.str.slice(start, end) for name, (start, end) in bounds.items()},
)

Этот код не определяет тип КБК и не подставляет наименования. До запуска отфильтруйте именно расходный набор, а после разборки присоедините справочник Минфина того же года. Полный рецепт очистки Excel-артефактов, проверок строк и merge приведён в how-to по pandas.

См. также​

Связанные термины​

  • КБК — единый 20-значный реквизит для доходов, расходов и ИФД; здесь раскрыт только расходный вариант.
  • КВР — последние три знака расходного КБК; экономический «вид» расхода.
  • ГРБС — главный распорядитель; связь его роли с префиксом расходного кода подтверждают методикой и годовым справочником.
  • КОСГУ — операции в учёте рядом с КБК, без подстановки в 20 знаков расходного кода бюджета.
  • Госпрограммы и национальные проекты — программный контекст целевых статей в середине расходного КБК.

Частые вопросы​

Чем расходный КБК отличается от доходного при равной длине? Оба кода состоят из 20 цифр, но у расходного кода позиции задают главного администратора, раздел и подраздел, целевую статью и КВР. У доходного — главного администратора доходов, группы, статьи и подвид дохода. Схему срезов выбирают по типу строки, установленному метаданными набора или формой.

Где взять справочник расходных КБК на конкретный год? Начните с открытого справочника расходных КБК и открытых данных Минфина, затем сохраните паспорт и версию файла вместе с выгрузкой. При спорной позиции сверьте редакцию приказов по бюджетной классификации, действующую для этого года.

Почему первые три цифры — не всегда «код ГРБС»? В расходной схеме это код главного администратора расходов. Роль ГРБС, состав справочника и способ его использования зависят от методики и года, поэтому совпадение нельзя принимать как правило без проверки источника.

Чем КВР отличается от КОСГУ и почему их нельзя подставлять друг вместо друга? КВР — последние три позиции расходного КБК и группировка бюджетных расходов по виду. КОСГУ — отдельный классификатор операций в учёте, не подстрока КБК. Для сопоставления применяют официальную таблицу КВР и КОСГУ на нужный год.

Как связать расходную строку бюджета с госпрограммой? Извлеките позиции 8–17 как целевую статью, сохраните вместе с ней год, главным администратором, разделом и подразделом, затем присоедините годовой справочник. Не ищите универсальный идентификатор программы только по десяти знакам: для конкретной строки важен контекст классификации и редакция года.