Перейти к содержимому
Tutorial

API проверки номера НДС: проверьте налоговые идентификаторы ЕС за один POST

| 5 min read

Подтвердите номера НДС для всех 27 стран-членов ЕС с помощью одного вызова API. Возвращает срок действия, код страны и форматированный номер. Уровень бесплатного пользования, без SOAP XML.

EU flags in front of the European Parliament
Photo by Olga Subach on Unsplash

Вы продаете программное обеспечение предприятиям в Европе. Налоговое законодательство ЕС требует, чтобы вы подтвердили НДС покупателя. Идентификатор до применения обратного платежа (НДС 0%). Официальный сервис VIES имеет нестабильную работоспособность и возвращает SOAP XML. Вам нужна более быстрая альтернатива RESTful.

Ботой /v1/validate/vat конечная точка проверяет номера НДС для всех 27 членов ЕС штатов и Великобритании. Отправьте POST, получите ответ JSON с указанием срока действия, кода страны и форматированное число. Нет синтаксического анализа XML. Нет файлов WSDL. Никаких тайм-аутов от перегруженного правительства серверы.

API-вызов

Отправьте номер плательщика НДС с двухбуквенным префиксом страны:

Ответ:

The valid поле true когда число соответствует ожидаемому формату для своей страны. country_code и country поля расскажут вам к какой юрисдикции относится номер.

Когда номер не проходит проверку

Если число не соответствует ожидаемому шаблону, valid возвращается false. Ответ по-прежнему включает обнаруженную страну:

Немецкие номера НДС требуют ровно 9 цифр после DE префикс. У этого 5. Ваш интерфейс может отображать название страны и ожидаемый формат, чтобы помочь пользователю исправить свои ошибки. вход.

Интеграция кассы Stripe

Прежде чем создавать сеанс оформления заказа Stripe, подтвердите идентификатор плательщика НДС покупателя. Если это действительно, установите клиент, чтобы tax_exempt: "reverse" поэтому Stripe взимает 0% НДС. Если это недействителен, отклоните форму и попросите покупателя исправить ее.

Это предотвращает две распространенные проблемы: взимание НДС с бизнеса, который должен быть освобожден от уплаты НДС. (создавая головную боль при возврате средств) и предоставляя освобождение от налогов лицу с поддельным номером плательщика НДС. (создание проблемы аудита).

Формирование счета-фактуры с условным НДС

При формировании счета-фактуры вам необходимо определиться со ставкой НДС. Правила:

  • Продажа B2B в одной стране: взимайте внутреннюю ставку НДС.
  • Трансграничная продажа B2B с действительным идентификатором плательщика НДС: применяется обратный сбор (0%).
  • Неверный или отсутствующий идентификатор плательщика НДС: взимайте плату по местному тарифу покупателя.

The country_code из ответа API приводится следующая логика:

Проверка формы регистрации SaaS B2B

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

Это предотвращает попадание неверных данных в вашу платежную систему. Это также избавит вашу финансовую команду от необходимости вручную проверка номеров НДС после того, как клиент уже зарегистрировался и начал использовать продукт.

Формат НДС по стране

Каждая страна ЕС имеет свой формат идентификационных номеров плательщика НДС. API проверяет против всех этих шаблонов:

Полный список охватывает все 27 стран-членов ЕС, а также Великобританию. Форматы варьируются от 8 цифр (Дания, Люксембург) до 12 цифр (Швеция). Некоторые страны включают буквы в тело номер (Франция, Испания, Ирландия).

Проверка формата и поиск VIES

Этот API проверяет структура номера НДС. Он подтверждает префикс, длину, и образец символов соответствуют правилам этой страны. Он не подвергает сомнению мнение Комиссии ЕС. База данных VIES для подтверждения того, что номер активно зарегистрирован.

Для большинства процессов оформления заказа проверка формата является правильным первым шагом. Он выявляет опечатки, пропущенные префиксы и вымышленные номера мгновенно, независимо от внешнего сервиса, который часто вниз. Если вам также нужен статус регистрации, позвоните в VIES после прохождения проверки формата. Этот двухэтапный подход сокращает количество вызовов VIES на 15–30 % (все недопустимые форматы никогда не попадают в систему). медленное обслуживание).

Ключевые моменты

Уровень бесплатного пользования охватывает разработку и мелкосерийное производство. Для касс с большим трафиком потоки, добавьте свой ключ API в Authorization: Bearer заголовок. Проверьте Документация по API для полной ссылки на конечную точку и интерактивная игровая площадка чтобы проверить номера НДС в вашем браузере.

FAQ

Какие страны поддерживает API проверки НДС?
Все 27 стран-членов ЕС, а также Великобритания (префикс GB). Каждая страна имеет свой собственный шаблон формата. API определяет страну по двухбуквенному префиксу и проверяет правильность регулярного выражения для этой юрисдикции.
Заменяет ли это службу VIES SOAP?
Он заменяет часть проверки формата. VIES подтверждает, зарегистрирован ли конкретный номер в национальном налоговом органе. Этот API мгновенно проверяет структуру и формат, независимо от времени безотказной работы VIES. Используйте оба вместе: сначала проверка формата, затем поиск статуса регистрации в VIES.
Сохраняется ли номер НДС после проверки?
Нет. Число обрабатывается в памяти и отбрасывается после ответа. Ничего не записывается на диск или любую внешнюю систему.
Могу ли я подтвердить номера НДС в Великобритании после Брексита?
Номера НДС в Великобритании (префикс GB) следуют известному шаблону и могут быть структурно проверены. Они больше не являются частью системы ЕС VIES, но проверка формата все еще работает.
Что произойдет, если я опущу префикс страны?
Для API требуется двухбуквенный префикс страны (например, «DE», «FR», «NL»). Без него конечная точка возвращает ошибку, объясняющую, что код страны отсутствует или не поддерживается.

Начните разработку с botoi

150+ API-эндпоинтов для поиска, обработки текста, генерации изображений и утилит для разработчиков. Бесплатный тариф, без банковской карты.