Номер VAT — это идентификатор, под которым организация зарегистрирована для целей налога на добавленную стоимость. В международной торговле он определяет, по каким правилам выставляется счёт и кто перечисляет налог. Ниже разберём, как он устроен, чем отличается от регистрационного номера и что можно, а что нельзя проверить своими силами.
Что такое номер VAT
Номер VAT — это регистрационный номер организации в системе налога на добавленную стоимость. Его выдаёт налоговый орган страны, в которой организация обязана отчитываться по этому налогу.
Ключевое отличие от регистрационного номера в том, что он привязан к налоговому статусу, а не к факту существования организации. Компания существует с момента регистрации, но плательщиком налога на добавленную стоимость может стать позже, раньше или не стать вовсе — в зависимости от страны и масштаба деятельности.
Из этого следует практическое правило: отсутствие номера VAT не означает, что организация не существует. Оно означает лишь, что в этой системе она не зарегистрирована.
Для трансграничных операций номер VAT — обязательный реквизит. Именно по нему определяется, применяется ли нулевая ставка при вывозе товаров или услуг, и именно он попадает в счёт раньше, чем стороны успевают обменяться документами.
Почему формат не равен наличию в реестре?
Это самое важное различие во всей теме, и именно на нём чаще всего ошибаются.
Проверка формата отвечает на вопрос, похожа ли строка на номер VAT этой страны. Она ничего не говорит о том, существует ли такая регистрация на самом деле. Строка может быть безупречной по структуре и при этом не принадлежать никому.
Проверка в реестре отвечает на другой вопрос: зарегистрирован ли этот номер в официальной базе прямо сейчас. Только она даёт содержательный ответ, и только она требует обращения к внешнему источнику.
Между этими двумя проверками лежит целый класс ошибок. Форма пропускает строку, потому что та выглядит правильно, а на этапе выставления счёта выясняется, что регистрации нет. Или наоборот: система отвергает корректный номер, потому что в неё зашито устаревшее правило.
Отсюда вывод: формат — это фильтр для опечаток, а не доказательство. Подтверждение всегда приходит из реестра.
Из чего складывается формат
Единого мирового стандарта нет, но несколько общих черт встречается почти везде.
| Элемент | Что означает | Замечание |
|---|---|---|
| Код страны | Две буквы, указывающие на юрисдикцию | Почти всегда стоит в начале |
| Тело номера | Цифры, иногда с буквами | Длина определяется страной |
| Разделители | Точки, дефисы, пробелы | Часто необязательны |
| Проверочный знак | Дополнительный символ в конце | Есть не во всех странах |
Две буквы в начале — самая устойчивая часть. Они позволяют сразу понять, в какой реестр обращаться, и именно по ним строят маршрутизацию проверки.
Всё остальное — предмет национального регулирования. В одной стране тело номера цифровое, в другой допускает буквы, в третьей содержит код подразделения. Поэтому описание формата всегда привязано к конкретной стране, и переносить правило из одной юрисдикции в другую нельзя.
Чем он отличается от регистрационного номера
Эти два номера часто стоят рядом в одной форме, и их легко перепутать.
Регистрационный номер указывает на запись в торговом или корпоративном реестре. Он есть у каждой зарегистрированной организации и не зависит от налогов.
Номер VAT указывает на запись в налоговой системе. Он появляется только тогда, когда организация обязана или решила стать плательщиком налога на добавленную стоимость.
У организации может быть оба номера, только регистрационный или только налоговый — в зависимости от страны, вида деятельности и объёма оборотов. Форма, которая требует оба поля безусловно, будет отвергать корректные случаи и раздражать пользователей, которым второе поле просто нечего заполнять.
Как проверить его на практике
Порядок действий почти всегда одинаковый.
Сначала уберите лишнее: пробелы, точки, дефисы и разный регистр. Приведите строку к одному виду, иначе одна и та же запись будет выглядеть как две разные, и вы получите ложное несовпадение.
Затем проверьте структуру: начинается ли строка с двухбуквенного кода страны, есть ли в справочнике правило для этой страны и соответствует ли тело номера этому правилу.
И только после этого обращайтесь к официальному источнику. В Европейском союзе для этого существует публичная служба проверки, позволяющая подтвердить регистрацию номера в базе. Важно, что и она отвечает лишь на вопрос о наличии записи: она не подтверждает, что организация надёжна, что счёт будет оплачен или что сделка законна.
Что чаще всего путают?
Первая путаница — между форматом и существованием. О ней сказано выше, но повторение здесь уместно: это самая дорогая ошибка.
Вторая — между номером VAT и налоговым номером вообще. В некоторых странах это один и тот же идентификатор, в других — два разных. Считать, что правило одной страны действует везде, нельзя.
Третья — между проверкой и гарантией. Даже успешная проверка в реестре говорит только о факте регистрации. Она не заменяет проверку контрагента и не снимает коммерческий риск.
Четвёртая — между обновлением и кэшем. Реестр меняется, а сохранённое значение остаётся. Без срока годности у кэша система будет уверенно отвечать устаревшими данными.
Для разработчиков: два слоя проверки
Разделите проверку на два независимых слоя и не смешивайте их результаты в одном сообщении об ошибке.
Первый слой — локальный. Он работает мгновенно и офлайн: нормализация строки, проверка длины, набора символов и кода страны. Его задача — отсечь опечатки и мусор до обращения наружу, чтобы не тратить сетевой запрос на заведомо испорченную строку.
Второй слой — внешний. Он обращается к официальной службе и возвращает один из трёх ответов: подтверждено, не найдено, неизвестно. Третий ответ обязателен: сеть может отказать, служба может быть недоступна, и «не удалось проверить» — это не то же самое, что «не существует».
Не реализуйте национальные правила собственными силами. Они меняются, а поддержка десятков схем в собственном коде обходится дороже, чем таблица справочных данных плюс честное сообщение о том, что страна не поддержана.
Кэшируйте результаты с ограниченным сроком. Бессрочный кэш экономит запросы и создаёт ложную уверенность. Храните вместе с результатом время проверки, чтобы интерфейс мог показать, насколько свежая информация перед пользователем.
Обрабатывайте таймауты явно. Пользователь должен видеть, что проверка не завершилась, а не получать молчаливое подтверждение, которое на самом деле означает, что ответ просто не пришёл.
Что делать дальше
Возьмите один номер VAT из тестовой записи и прогоните его через свою форму в трёх вариантах: с пробелами, в нижнем регистре и с лишней точкой. Если результаты различаются, проблема в нормализации, а не в данных. Сгенерировать образцы номеров для разных стран можно в разделе генератора тестовых данных компании.
О том, как устроены соседние реквизиты, рассказано в статьях о регистрационном номере компании и о правилах проверки налогового номера. Если тестовые данные нужны для счёта, полезна статья про тестирование формы счёта.
Все примеры в материале вымышлены и приведены только для проверки программных форм; они не являются налоговой консультацией и не описывают реквизиты реальных плательщиков.