Меню

Номер VAT: формат, реестр и типичные ошибки

Номер VAT нужен для международных счетов и возврата налога. Разбираем, как устроен формат, чем он отличается от регистрационного номера и почему формат не доказывает наличие в реестре.

Опубликовано

  • VAT
  • налоги
  • международные счета

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

Что такое номер VAT

Номер VAT — это регистрационный номер организации в системе налога на добавленную стоимость. Его выдаёт налоговый орган страны, в которой организация обязана отчитываться по этому налогу.

Ключевое отличие от регистрационного номера в том, что он привязан к налоговому статусу, а не к факту существования организации. Компания существует с момента регистрации, но плательщиком налога на добавленную стоимость может стать позже, раньше или не стать вовсе — в зависимости от страны и масштаба деятельности.

Из этого следует практическое правило: отсутствие номера VAT не означает, что организация не существует. Оно означает лишь, что в этой системе она не зарегистрирована.

Для трансграничных операций номер VAT — обязательный реквизит. Именно по нему определяется, применяется ли нулевая ставка при вывозе товаров или услуг, и именно он попадает в счёт раньше, чем стороны успевают обменяться документами.

Почему формат не равен наличию в реестре?

Это самое важное различие во всей теме, и именно на нём чаще всего ошибаются.

Проверка формата отвечает на вопрос, похожа ли строка на номер VAT этой страны. Она ничего не говорит о том, существует ли такая регистрация на самом деле. Строка может быть безупречной по структуре и при этом не принадлежать никому.

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

Между этими двумя проверками лежит целый класс ошибок. Форма пропускает строку, потому что та выглядит правильно, а на этапе выставления счёта выясняется, что регистрации нет. Или наоборот: система отвергает корректный номер, потому что в неё зашито устаревшее правило.

Отсюда вывод: формат — это фильтр для опечаток, а не доказательство. Подтверждение всегда приходит из реестра.

Из чего складывается формат

Единого мирового стандарта нет, но несколько общих черт встречается почти везде.

Элемент Что означает Замечание
Код страны Две буквы, указывающие на юрисдикцию Почти всегда стоит в начале
Тело номера Цифры, иногда с буквами Длина определяется страной
Разделители Точки, дефисы, пробелы Часто необязательны
Проверочный знак Дополнительный символ в конце Есть не во всех странах

Две буквы в начале — самая устойчивая часть. Они позволяют сразу понять, в какой реестр обращаться, и именно по ним строят маршрутизацию проверки.

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

Чем он отличается от регистрационного номера

Эти два номера часто стоят рядом в одной форме, и их легко перепутать.

Регистрационный номер указывает на запись в торговом или корпоративном реестре. Он есть у каждой зарегистрированной организации и не зависит от налогов.

Номер VAT указывает на запись в налоговой системе. Он появляется только тогда, когда организация обязана или решила стать плательщиком налога на добавленную стоимость.

У организации может быть оба номера, только регистрационный или только налоговый — в зависимости от страны, вида деятельности и объёма оборотов. Форма, которая требует оба поля безусловно, будет отвергать корректные случаи и раздражать пользователей, которым второе поле просто нечего заполнять.

Как проверить его на практике

Порядок действий почти всегда одинаковый.

Сначала уберите лишнее: пробелы, точки, дефисы и разный регистр. Приведите строку к одному виду, иначе одна и та же запись будет выглядеть как две разные, и вы получите ложное несовпадение.

Затем проверьте структуру: начинается ли строка с двухбуквенного кода страны, есть ли в справочнике правило для этой страны и соответствует ли тело номера этому правилу.

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

Что чаще всего путают?

Первая путаница — между форматом и существованием. О ней сказано выше, но повторение здесь уместно: это самая дорогая ошибка.

Вторая — между номером VAT и налоговым номером вообще. В некоторых странах это один и тот же идентификатор, в других — два разных. Считать, что правило одной страны действует везде, нельзя.

Третья — между проверкой и гарантией. Даже успешная проверка в реестре говорит только о факте регистрации. Она не заменяет проверку контрагента и не снимает коммерческий риск.

Четвёртая — между обновлением и кэшем. Реестр меняется, а сохранённое значение остаётся. Без срока годности у кэша система будет уверенно отвечать устаревшими данными.

Для разработчиков: два слоя проверки

Разделите проверку на два независимых слоя и не смешивайте их результаты в одном сообщении об ошибке.

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

Второй слой — внешний. Он обращается к официальной службе и возвращает один из трёх ответов: подтверждено, не найдено, неизвестно. Третий ответ обязателен: сеть может отказать, служба может быть недоступна, и «не удалось проверить» — это не то же самое, что «не существует».

Не реализуйте национальные правила собственными силами. Они меняются, а поддержка десятков схем в собственном коде обходится дороже, чем таблица справочных данных плюс честное сообщение о том, что страна не поддержана.

Кэшируйте результаты с ограниченным сроком. Бессрочный кэш экономит запросы и создаёт ложную уверенность. Храните вместе с результатом время проверки, чтобы интерфейс мог показать, насколько свежая информация перед пользователем.

Обрабатывайте таймауты явно. Пользователь должен видеть, что проверка не завершилась, а не получать молчаливое подтверждение, которое на самом деле означает, что ответ просто не пришёл.

Что делать дальше

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

О том, как устроены соседние реквизиты, рассказано в статьях о регистрационном номере компании и о правилах проверки налогового номера. Если тестовые данные нужны для счёта, полезна статья про тестирование формы счёта.

Все примеры в материале вымышлены и приведены только для проверки программных форм; они не являются налоговой консультацией и не описывают реквизиты реальных плательщиков.

Читать дальше

Статьи: Генератор тестовых данных компании