Из чего состоит ИНН?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
ИНН (Идентификационный номер налогоплательщика)
ИНН — это уникальный идентификационный номер, выдаваемый Федеральной налоговой службой (ФНС) России каждому налогоплательщику. В своей практике я часто работал с системами, где ИНН используется как основной идентификатор организации или физического лица, поэтому важно понимать его структуру.
Общая информация об ИНН
Назначение:
- Уникальная идентификация физических лиц в налоговой системе
- Уникальная идентификация организаций
- Обязателен при регистрации в ФНС
- Требуется для открытия счетов, получения займов, участия в торгах
Формат:
- Для физических лиц: 12 цифр
- Для организаций: 10 цифр
- Общий формат: строка из арабских цифр
Структура ИНН для физического лица (12 цифр)
Пример: 5 0 2 7 5 0 0 6 2 5 0 1
ИНН физического лица имеет следующую структуру:
5 0 | 2 7 5 0 | 0 0 6 2 5 | 0 | 1
│ │ │ │ │
│ │ │ │ └─ Контрольная цифра (1 цифра)
│ │ │ └────── Последовательный номер (3 цифры)
│ │ └───────────────── Номер ЗАГСа выдачи (3 цифры)
│ └─────────────────────────── Дата рождения (4 цифры: день + месяц)
└─────────────────────────────── КОД подразделения ФНС (2 цифры)
Подробный разбор каждой части
Позиции 1-2: Код подразделения ФНС (2 цифры)
50 — примеры:
01 - ФНС по Москве
02 - ФНС по Московской области
66 - ФНС по Свердловской области
78 - ФНС по Санкт-Петербургу и Ленинградской области
99 - ФНС, выдавшие ИНН иностранцам
Код зависит от того, в каком регионе гражданин
получил ИНН (обычно - по месту рождения)
Позиции 3-6: Дата рождения (4 цифры)
2 7 5 0 — разбор:
27 — день рождения (01-31)
50 — месяц рождения (01-12, где 50+ означают XIX век)
Для дат рождения:
01-99 — люди, рожденные в XX веке (1900-1999)
Пример: 5050 = 27 мая 1950 года
Для дат рождения в XIX веке добавляется 100:
Пример: 2750 = 27 мая 1850 года (месяц 50 = 100+50-100 = май)
Позиции 7-9: Номер ЗАГСА (3 цифры)
006 — трехзначный номер ЗАГСа (Загса и Реестрации Актов Гражданского Состояния),
выдавшего свидетельство о рождении
0-999 — номер от 0 до 999
Пример: 001, 002, 999 и т.д.
Позиции 10-11: Порядковый номер (2 цифры)
25 — порядковый номер записи о рождении в реестре ЗАГСа
Это просто двузначный номер (01-99 или 00-99)
оВидимо, для рожденных с одинаковой датой в одном ЗАГСе
Позиция 12: Контрольная цифра (1 цифра)
1 — проверочная/контрольная цифра
Вычисляется по алгоритму на основе первых 11 цифр
Используется для проверки корректности ИНН
Алгоритм:
1. Каждая цифра (позиции 1-11) умножается на соответствующий коэффициент:
Коэффициенты: 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0
2. Суммируются все произведения
3. Сумма делится на 11
4. Остаток от деления = контрольная цифра (если остаток < 10)
5. Если остаток >= 10, то контрольная цифра = 0
Пример вычисления контрольной цифры:
ИНН без контрольной цифры: 5 0 2 7 5 0 0 0 6 2 5
Коэффициенты: 7 2 4 10 3 5 9 4 6 8 0
Произведения:
5×7 = 35
0×2 = 0
2×4 = 8
7×10 = 70
5×3 = 15
0×5 = 0
0×9 = 0
0×4 = 0
6×6 = 36
2×8 = 16
5×0 = 0
Сумма = 35+0+8+70+15+0+0+0+36+16+0 = 180
180 ÷ 11 = 16 (остаток 4)
Контрольная цифра = 4
Полный ИНН: 5 0 2 7 5 0 0 0 6 2 5 4
Структура ИНН для организации (10 цифр)
Пример: 7 7 0 1 0 0 5 0 9 9
7 7 | 0 1 | 0 0 5 0 9 9
│ │ │
│ │ └───────────── Серийный номер (6 цифр) + 2 контрольные
│ └─────────────────── Номер налоговой инспекции (2 цифры)
└─────────────────────── Код региона (2 цифры)
Подробный разбор
Позиции 1-2: Код региона России (2 цифры)
77 — Москва
78 — Санкт-Петербург и Ленинградская область
66 — Свердловская область
01 — Московская область
и так далее по кодам субъектов РФ
Полный список кодов:
https://www.nalog.ru/rn77/
Позиции 3-4: Номер налоговой инспекции (2 цифры)
01 — номер ИФНС в данном регионе
02, 03, и т.д.
Позиции 5-9: Серийный номер (5 цифр)
00509 — уникальный номер организации в этой налоговой инспекции
Позиция 10: Контрольная цифра (1 цифра)
9 — проверочная цифра
Вычисляется аналогично, но с другим алгоритмом:
1. Каждая цифра позиций 1-9 умножается на коэффициент:
Коэффициенты: 2, 4, 10, 3, 5, 9, 4, 6, 8
2. Суммируются произведения
3. Сумма делится на 11
4. Остаток от деления = контрольная цифра (если остаток < 10)
5. Если остаток >= 10, то контрольная цифра = 0
Практические применения в IT-системах
Валидация ИНН
def validate_inn(inn_str: str) -> bool:
"""Проверка корректности ИНН"""
# Проверка длины
if len(inn_str) not in [10, 12]:
return False
# Проверка, что только цифры
if not inn_str.isdigit():
return False
# Проверка контрольной цифры
if len(inn_str) == 12:
return validate_inn_physical(inn_str)
else:
return validate_inn_organization(inn_str)
def validate_inn_physical(inn: str) -> bool:
"""Валидация ИНН физического лица (12 цифр)"""
weights = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0]
# Вычисляем контрольную цифру для позиции 12
total = sum(int(inn[i]) * weights[i] for i in range(11))
control_digit = total % 11
control_digit = control_digit if control_digit < 10 else 0
return int(inn[11]) == control_digit
def validate_inn_organization(inn: str) -> bool:
"""Валидация ИНН организации (10 цифр)"""
weights = [2, 4, 10, 3, 5, 9, 4, 6, 8]
# Вычисляем контрольную цифру
total = sum(int(inn[i]) * weights[i] for i in range(9))
control_digit = total % 11
control_digit = control_digit if control_digit < 10 else 0
return int(inn[9]) == control_digit
Регулярные выражения
# Физическое лицо (12 цифр)
^\d{12}$
# Организация (10 цифр)
^\d{10}$
# Любое (10 или 12 цифр)
^\d{10}(?:\d{2})?$
Хранение в БД
-- Таблица организаций
CREATE TABLE organizations (
id UUID PRIMARY KEY,
name VARCHAR(255) NOT NULL,
inn VARCHAR(10) NOT NULL UNIQUE,
kpp VARCHAR(9), -- Код причины постановки на учет
ogrn VARCHAR(15), -- Основной государственный регистрационный номер
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Таблица физических лиц
CREATE TABLE persons (
id UUID PRIMARY KEY,
full_name VARCHAR(255) NOT NULL,
inn VARCHAR(12) NOT NULL UNIQUE,
birth_date DATE,
snils VARCHAR(11), -- Страховой номер индивидуального лицевого счета
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Дополнительные идентификаторы
СНИЛС (для физических лиц):
- Страховой номер индивидуального лицевого счета
- 11 цифр
- Выдается Пенсионным фондом России
КПП (для организаций):
- Код причины постановки на учет
- 9 цифр
- Используется при наличии обособленных подразделений
ОГРН (для организаций):
- Основной государственный регистрационный номер
- 15 цифр
- Выдается Минюстом при регистрации
Типичные ошибки при работе с ИНН
- Не валидируется контрольная цифра — приводит к неправильному приему данных
- Неправильное форматирование — ИНН должен быть строкой из цифр
- Неучет различных форматов — 10 или 12 цифр требуют разных алгоритмов
- Сохранение в неправильном формате — использование INT вместо VARCHAR
- Неправильная интеграция с системами — несоответствие форматов при обмене данными
Проверочный список для аналитика
- Требуется ли в системе ИНН?
- Какой тип (физическое лицо или организация)?
- Какой уровень валидации нужен?
- Как хранить и передавать ИНН?
- Какова роль ИНН в системе (основной ID или доп. реквизит)?
- Нужна ли интеграция с внешними системами ФНС?
- Какие еще идентификаторы нужны (СНИЛС, КПП, ОГРН)?
Выводы
ИНН имеет четкую структуру:
- Для физических лиц (12 цифр): код ФНС + дата рождения + номер ЗАГСА + порядковый номер + контрольная цифра
- Для организаций (10 цифр): код региона + номер ИФНС + серийный номер + контрольная цифра
Валидация ИНН через контрольную цифру — это критически важная часть любой системы, работающей с российскими организациями и физическими лицами.