Ошибка контрольного числа в 1С: как найти неверную цифру в ИНН, СНИЛС, ОГРН и счёте
Содержание
Сообщение «контрольное число не совпадает с рассчитанным» значит одно: в реквизите (чаще всего ИНН, реже СНИЛС, ОГРН или номер счёта) последняя цифра не сходится с той, что 1С вычислила по остальным цифрам. Значит, в номере есть опечатка, перестановка соседних цифр или потерянный ноль. Ошибка программы тут почти никогда ни при чём: исправлять нужно сам номер.
Типичная ситуация: бухгалтер заводит нового поставщика по счёту из почты, вбивает ИНН вручную, и под полем загорается красная надпись. Или при проверке выгрузки отчёта в ФНС 1С находит такой ИНН у контрагента, которого завели три года назад и с тех пор не трогали.
Что такое контрольное число и где 1С его проверяет
Контрольное число — это последняя цифра (или две) номера, которая рассчитывается по формуле из остальных цифр. Такая защита ловит случайные опечатки: одну неверную цифру и, как правило, перестановку двух соседних.
1С ничего не сверяет с базами ФНС или ПФР в момент проверки. Она просто пересчитывает формулу локально. Поэтому проверка срабатывает мгновенно, без интернета, но и не гарантирует, что номер реально выдан: формуле удовлетворяет и выдуманный ИНН.
Где встречается проверка:
| Реквизит | Длина | Сколько контрольных цифр | Где проверяется в 1С |
|---|---|---|---|
| ИНН организации | 10 | 1 (последняя) | карточки контрагентов, организации, отчёты |
| ИНН физлица и ИП | 12 | 2 (11-я и 12-я) | физлица, сотрудники, ИП-контрагенты |
| СНИЛС | 11 | 2 (последние) | сотрудники, физлица, кадровые отчёты |
| ОГРН | 13 | 1 | организация, контрагенты |
| ОГРНИП | 15 | 1 | ИП |
| Расчётный счёт | 20 | 1 (9-я цифра, ключ) | банковские счета, платёжки |
📌 КПП контрольного числа не содержит. Если 1С ругается на КПП, речь идёт о длине (9 цифр) или формате, а не о контрольной сумме.
Опечатки при ручном вводе: как найти неверную цифру в ИНН
Девять из десяти случаев — ручной ввод. Самые частые варианты:
- ✍️ одна цифра набрана неправильно (6 вместо 8, 1 вместо 7);
- 🔄 две соседние цифры переставлены местами;
- ➕ лишняя цифра или пропуск, и номер «съехал»;
- 🔤 вместо нуля набрана буква «О» (кириллица или латиница), вместо тройки — «З»;
- 📋 скопирован пробел или неразрывный пробел из PDF-счёта.
Буквы и пробелы на глаз не видны. Если ИНН на вид правильный, сотрите поле полностью и наберите цифры заново с клавиатуры, не вставляя из буфера.
Как 1С считает контрольное число ИНН из 10 цифр
Первые 9 цифр умножаются на веса 2, 4, 10, 3, 5, 9, 4, 6, 8, произведения складываются. Сумму делят на 11, берут остаток, а от него — остаток от деления на 10. Результат должен совпасть с 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 : 11 = 24, остаток 3; 3 : 10 — остаток 3;
- 10-я цифра — 3. Совпало ✅.
Теперь переставим две предпоследние цифры: 7707083983. Сумма станет 265, остаток от деления на 11 — 1. Контрольное число 1 не равно 3, и 1С покажет ошибку.
ИНН физлица и ИП из 12 цифр
Здесь две контрольные цифры, и каждая считается отдельно:
- 11-я цифра: первые 10 цифр умножаются на
7, 2, 4, 10, 3, 5, 9, 4, 6, 8, сумма делится на 11, остаток — ещё на 10. - 12-я цифра: первые 11 цифр (уже с 11-й) умножаются на
3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, дальше так же.
Пример: у ИНН 500100732259 первая проверка даёт 5, вторая — 9. Обе совпадают с 11-й и 12-й цифрами.
Частая путаница: в поле ИНН организации вводят 12-значный ИНН её директора или ИП. 1С тогда сообщит про длину или про контрольное число, в зависимости от того, какая проверка сработает первой. Сначала убедитесь, что тип контрагента (юрлицо или ИП) выбран правильно.
СНИЛС, ОГРН и расчётный счёт: другие формулы
Сообщение одинаковое, но алгоритм у каждого реквизита свой.
СНИЛС. Первые 9 цифр умножаются на веса от 9 до 1 (первая — на 9, девятая — на 1), произведения складываются:
- сумма меньше 100 — она и есть контрольное число;
- сумма 100 или 101 — контрольное число
00; - сумма больше 101 — берётся остаток от деления на 101; если он равен 100, контрольное число
00.
Пример: 112-233-445 95. Сумма 1×9 + 1×8 + 2×7 + 2×6 + 3×5 + 3×4 + 4×3 + 4×2 + 5×1 = 95. Контрольное число 95 — совпало.
Для очень старых номеров, не больше 001-001-998, контрольное число по формуле не проверяется.
ОГРН. Число из первых 12 цифр делят на 11, остаток делят на 10. Результат — 13-я цифра. Для ОГРНИП из 15 цифр берут первые 14 и делят на 13, затем остаток на 10.
Расчётный счёт. Контрольный ключ — 9-я цифра 20-значного счёта. Он проверяется не сам по себе, а в паре с БИК: к счёту спереди приписываются последние три цифры БИК, 23 цифры умножаются на веса 7, 1, 3, повторяющиеся по кругу. Младший разряд суммы должен быть нулём.
Ошибка ключа счёта часто означает неправильный БИК, а не неправильный счёт. Если клиент сменил банк или банк присоединили к другому, старый БИК в карточке не сойдётся с новым счётом. Сверьте БИК со свежими реквизитами из договора или выписки.
Неверные реквизиты из файлов загрузки и обменов
Если ошибка всплыла сразу у десятков контрагентов, ищите не опечатку, а источник загрузки.
Где реквизиты портятся по дороге:
- 📊 Загрузка из Excel . Excel считает ИНН числом и отбрасывает ведущий ноль. ИНН из регионов с кодами 01–09 теряет первую цифру: из 10 цифр остаётся 9. Перед загрузкой задайте столбцу текстовый формат.
- 🏦 Выписки из банк-клиента. Банк присылает ИНН плательщика как есть. Если у контрагента он указан с ошибкой в самом платёжном поручении, при загрузке выписки 1С создаст нового контрагента с тем же неверным номером.
- 🔁 Обмен между базами. При синхронизации данных УТ и Бухгалтерии ошибка, сделанная в одной базе, переезжает в другую. Исправлять надо в базе-источнике, иначе следующий обмен вернёт старое значение.
- 📨 Входящие документы ЭДО. Реквизиты берутся из документа контрагента. Если они разошлись с карточкой, 1С может предложить сопоставить или создать нового контрагента.
Если ИНН стал на одну цифру короче, но остальные цифры совпадают с оригиналом, это почти наверняка потерянный ноль из Excel. Допишите 0 в начало и проверьте, что ошибка исчезла.
Почему ошибка контрольного числа появилась после обновления
Бывает, что данные годами лежали в базе, а после обновления конфигурации 1С вдруг начала ругаться. Причин две.
- Ужесточили проверки. В новых релизах проверка контрольного числа добавляется в формы и обработки, где её раньше не было. Неверный ИНН был в базе всегда, просто его никто не проверял.
- Проверка выгрузки отчётности. Перед отправкой декларации или кадрового отчёта 1С прогоняет все реквизиты через формулы. Ошибочный СНИЛС одного сотрудника или ИНН одного покупателя в книге продаж не даст отправить файл: контролирующий орган отклонит его на входном контроле.
Откатывать обновление бессмысленно. Проверка не врёт: она нашла реальную проблему в данных. Её нужно исправить, иначе отчёт вернётся с отказом уже из ФНС или СФР (бывший ПФР).
Дубли контрагентов и сбои базы: когда виновата не цифра
Иногда пользователь уверен, что номер правильный, и он действительно правильный. Тогда стоит проверить, тот ли это элемент.
Дубль контрагента
В справочнике лежат два «Ромашка ООО»: один с верным ИНН, другой со старой опечаткой. Документ ссылается на второй. Вы открываете первую карточку, видите правильный номер и не понимаете, откуда ошибка.
Как найти:
- Откройте ошибочный документ и перейдите в контрагента прямо из поля документа, а не через справочник.
- В списке контрагентов включите поиск по наименованию и посмотрите все совпадения.
- Для объединения дублей используйте стандартную обработку поиска и удаления дублей: в Бухгалтерии 3.0 она есть в разделе
Администрирование, найти её проще всего через поиск по слову «дубли» в меню «Все функции» или в разделе обслуживания.
Перед объединением дублей сделайте резервную копию базы . Замена ссылок затрагивает все документы, и отменить её кнопкой нельзя.
Технический сбой
Реже значение испорчено на уровне базы: после аварийного выключения или неудачной сверки обмена в поле оказываются мусорные символы. Признак — в ИНН видно что-то, кроме цифр, или поле заполнено частично. Помогает исправление значения вручную; если повреждено много записей, администратор запускает тестирование и исправление базы. Это делается в монопольном режиме, когда все пользователи вышли из 1С.
Алгоритм: что делать, если 1С пишет «контрольное число не совпадает»
- Определите реквизит. В тексте ошибки или в протоколе проверки отчёта указано, о чём речь: ИНН, СНИЛС, ОГРН, счёт. Запишите, у какого контрагента или сотрудника.
- Откройте элемент из документа, а не из справочника, чтобы не попасть на дубль.
- Наберите номер заново вручную, без вставки из буфера. Это убирает невидимые пробелы и буквы.
- Сверьте с первоисточником. Для юрлиц и ИП — выписка с сайта ФНС
egrul.nalog.ru; для ИНН физлица — сервис «Узнать ИНН» наservice.nalog.ru; для СНИЛС — копия документа сотрудника или его данные из личного кабинета на Госуслугах. - Если подключена интернет-поддержка, в карточке контрагента в Бухгалтерии 3.0 можно заполнить реквизиты по ИНН сервисом 1С:Контрагент. Правильный ИНН подтянет и наименование, и КПП, и адрес.
- Проверьте связанные данные. Исправили ИНН — убедитесь, что не осталось второго контрагента со старым номером; исправили счёт — сверьте БИК.
- Повторите проверку отчёта или документа.
Не подбирайте последнюю цифру, чтобы «пройти» проверку. Формулу можно обмануть, но номер станет чужим или несуществующим. Счёт-фактура с таким ИНН не даст покупателю вычет НДС, а отчёт с выдуманным СНИЛС не примет СФР.
Массовая проверка ИНН в базе
Если подозреваете много ошибок, администратор может проверить весь справочник кодом. Ниже функция для ИНН из 10 и 12 цифр, её можно выполнить во внешней обработке.
Функция КонтрольнаяЦифра(ИНН, Веса)
Сумма = 0;
Для Индекс = 0 По Веса.Количество() - 1 Цикл
Сумма = Сумма + Число(Сред(ИНН, Индекс + 1, 1)) * Веса[Индекс];
КонецЦикла;
Возврат Сумма % 11 % 10;
КонецФункции
Функция ИННКорректен(Знач ИНН)
ИНН = СокрЛП(ИНН);
Если Не СтрДлина(ИНН) = 10 И Не СтрДлина(ИНН) = 12 Тогда
Возврат Ложь;
КонецЕсли;
Для Индекс = 1 По СтрДлина(ИНН) Цикл
Если СтрНайти("0123456789", Сред(ИНН, Индекс, 1)) = 0 Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Если СтрДлина(ИНН) = 10 Тогда
Веса = СтрРазделить("2,4,10,3,5,9,4,6,8", ",");
Возврат КонтрольнаяЦифра(ИНН, ЧислаИзСтрок(Веса)) = Число(Сред(ИНН, 10, 1));
КонецЕсли;
Веса11 = ЧислаИзСтрок(СтрРазделить("7,2,4,10,3,5,9,4,6,8", ","));
Веса12 = ЧислаИзСтрок(СтрРазделить("3,7,2,4,10,3,5,9,4,6,8", ","));
Возврат КонтрольнаяЦифра(ИНН, Веса11) = Число(Сред(ИНН, 11, 1))
И КонтрольнаяЦифра(ИНН, Веса12) = Число(Сред(ИНН, 12, 1));
КонецФункции
Функция ЧислаИзСтрок(Строки)
Результат = Новый Массив;
Для Каждого Элемент Из Строки Цикл
Результат.Добавить(Число(Элемент));
КонецЦикла;
Возврат Результат;
КонецФункции
Пройдитесь выборкой по справочнику контрагентов и выведите тех, у кого функция вернула Ложь. Список ошибок отдайте бухгалтеру на сверку, а не исправляйте программно: правильный номер всё равно берётся из документов.