!\[Проверка ИНН: алгоритм валидации по контрольной цифре\](https://usetoolz.ru/article-covers/images/proverka-inn-algoritm.webp)

Документы

# Проверка ИНН: алгоритм валидации по контрольной цифре

!\[Александр Михеев\](https://api.dicebear.com/7.x/initials/svg?seed=AM&backgroundColor=3b82f6&textColor=ffffff&fontSize=42)

Александр Михеев

21 октября 2024 · 4 мин. чтения

Валидация ИНН — обязательный этап обработки данных в любой системе, работающей с российскими реквизитами. Простая проверка длины номера недостаточна: необходимо убедиться, что контрольные цифры рассчитаны верно. В этой статье разберём алгоритм проверки по шагам, покажем примеры и обсудим типичные ошибки.

## Зачем валидировать ИНН

ИНН вводится вручную в формы сотнями тысяч раз ежедневно — в бухгалтерских системах, банковских приложениях, на государственных порталах. При ручном вводе неизбежны опечатки: перестановка цифр, пропуск символа, лишний разряд. Валидация по контрольной цифре позволяет мгновенно отсеять подавляющее большинство ошибок ещё до отправки данных на сервер.

Качество данных напрямую влияет на бизнес-процессы. Некорректный ИНН может привести к ошибкам в налоговой отчётности, отказам в проведении платежей и проблемам при обмене документами с контрагентами.

## Алгоритм проверки 10-значного ИНН

ИНН юридического лица состоит из 10 цифр. Последняя цифра является контрольной. Алгоритм проверки:

- **Шаг 1.** Убедитесь, что номер содержит ровно 10 цифр.
- **Шаг 2.** Возьмите весовые коэффициенты: `\\[2, 4, 10, 3, 5, 9, 4, 6, 8\\]`.
- **Шаг 3.** Умножьте каждую из первых 9 цифр ИНН на соответствующий коэффициент.
- **Шаг 4.** Сложите все произведения.
- **Шаг 5.** Вычислите остаток от деления суммы на 11.
- **Шаг 6.** Если остаток равен 10, контрольная цифра равна 0; иначе контрольная цифра равна остатку.
- **Шаг 7.** Сравните полученное значение с 10-й цифрой ИНН. Если совпадает — номер валиден.

### Пример расчёта

Допустим, проверяем ИНН `7707083893`:

`7×2 + 7×4 + 0×10 + 7×3 + 0×5 + 8×9 + 3×4 + 8×6 + 9×8 = 14 + 28 + 0 + 21 + 0 + 72 + 12 + 48 + 72 = 267`

`267 mod 11 = 3` (поскольку 267 = 24 × 11 + 3)

Контрольная цифра — **3**, совпадает с последней цифрой ИНН. Номер валиден.

## Алгоритм проверки 12-значного ИНН

ИНН физического лица содержит 12 цифр и две контрольные цифры (11-ю и 12-ю). Проверка выполняется в два этапа:

### Проверка 11-й цифры

Весовые коэффициенты: `\\[7, 2, 4, 10, 3, 5, 9, 4, 6, 8\\]`. Умножьте первые 10 цифр на соответствующие коэффициенты, сложите результаты и возьмите остаток от деления на 11. Если остаток равен 10, контрольная цифра — 0.

### Проверка 12-й цифры

Весовые коэффициенты: `\\[3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8\\]`. Умножьте первые 11 цифр на соответствующие коэффициенты, сложите и возьмите остаток от деления на 11. Правило для остатка, равного 10, то же самое.

ИНН считается валидным, если **обе** контрольные цифры совпали с расчётными значениями.

## Частые ошибки при вводе ИНН

На практике пользователи допускают следующие типичные ошибки:

- **Перестановка соседних цифр** — самая распространённая опечатка. Контрольная сумма почти всегда ловит такие случаи.
- **Неверная длина номера** — ввод 11 или 9 цифр. Базовая проверка длины отсекает это ещё до расчёта контрольной суммы.
- **Буквы в номере** — иногда пользователи случайно переключают раскладку клавиатуры. Номер должен содержать только цифры.
- **Путаница между ИНН физлица и организации** — клиент вводит свой 12-значный ИНН в поле для 10-значного ИНН юрлица.

## Интеграция валидации в код

При реализации валидации ИНН в коде рекомендуется придерживаться следующего порядка проверок:

- Удалите пробелы и другие нечисловые символы.
- Проверьте, что строка содержит только цифры.
- Проверьте длину: 10 или 12 символов.
- Рассчитайте контрольные цифры по алгоритму.
- Верните понятное сообщение об ошибке пользователю.

Если вы разрабатываете API, предусмотрите отдельный код ошибки для невалидного ИНН — это упростит отладку на стороне клиента.

## Инструмент проверки

Для быстрой проверки ИНН без написания кода воспользуйтесь нашим \[валидатором ИНН\](https://usetoolz.ru/docs/inn-validator). Он мгновенно проверит контрольные цифры и покажет результат. Если вам нужны тестовые номера для разработки, используйте \[генератор ИНН\](https://usetoolz.ru/docs/inn-generator). Также рекомендуем ознакомиться с \[валидатором ОГРН\](https://usetoolz.ru/docs/ogrn-validator) — ещё одним важным реквизитом для работы с данными юридических лиц.

Понравилась статья?

Оцените — это помогает нам делать контент лучше

## Комментарии

Войдите, чтобы оставить комментарий

## Читайте также

!\[СНИЛС: формат, контрольное число и тестовые данные\](https://usetoolz.ru/article-covers/thumbnails/snils-struktura-i-proverka.webp) Документы

### [СНИЛС: формат, контрольное число и тестовые данные](https://usetoolz.ru/blog/snils-struktura-i-proverka)

28.10.2024 · 4 мин. чтения

!\[ОГРН: проверка и расшифровка номера организации\](https://usetoolz.ru/article-covers/thumbnails/ogrn-proverka-organizacii.webp) Документы

### [ОГРН: проверка и расшифровка номера организации](https://usetoolz.ru/blog/ogrn-proverka-organizacii)

04.11.2024 · 4 мин. чтения

!\[ИНН: структура, контрольные цифры и генерация тестовых данных\](https://usetoolz.ru/article-covers/thumbnails/inn-chto-eto-struktura-proverka.webp) Документы

### [ИНН: структура, контрольные цифры и генерация тестовых данных](https://usetoolz.ru/blog/inn-chto-eto-struktura-proverka)

14.10.2024 · 4 мин. чтения
