벨기에 VAT 검증 5줄 (기업명 조회 포함)

발행: (2026년 6월 5일 PM 03:14 GMT+9)
6 분 소요
원문: Dev.to

출처: Dev.to

벨기에 VAT 번호를 코드로 검증해 본 적이 있다면, 그 과정이 얼마나 번거로운지 알 겁니다:

  • 공백과 BE 접두사를 제거한다
  • 모듈로‑97 체크섬을 수행한다 (벨기에는 좀 까다롭거든요)
  • VIES SOAP 엔드포인트에 호출해 실제 존재하는 번호인지 확인한다
  • XML 응답을 파싱해 회사 이름을 얻는다 (VIES가 그 날 정보를 제공한다면)

이 모든 작업을 위해서는 80줄 이상의 코드와 XML 파서, 그리고 수많은 오류 처리 로직이 필요합니다. 한 줄이면 충분할 일을 위해서 말이죠.

직접 구현하는 게 지겨워서, 단일 GET 요청만으로 모든 작업을 처리해 주는 작은 API를 만들었습니다.

const res = await fetch(
  "https://belgian-vat-validator.p.rapidapi.com/api/validate?number=BE0417497106",
  { headers: { "X-RapidAPI-Key": "YOUR_KEY",
               "X-RapidAPI-Host": "belgian-vat-validator.p.rapidapi.com" } }
);
const data = await res.json();
console.log(data.valid, data.vies.name);
// → true "NV Anheuser-Busch InBev"

그게 전부입니다. 형식 검사, 모듈로‑97 체크섬, VIES 조회, 그리고 회사 이름까지— 모두 200 ms 이하에 처리됩니다.

반환 예시

{
  "input": "BE0417497106",
  "number": "BE0417497106",
  "formatted": "BE 0417 497 106",
  "valid": true,
  "checks": {
    "format": true,
    "checksum": true,
    "vies": true
  },
  "vies": {
    "available": true,
    "isValid": true,
    "name": "NV Anheuser-Busch InBev",
    "address": "Brouwerijplein 1\n3000 Leuven"
  }
}

강조하고 싶은 두 가지

  • checks는 단계별 검증 결과를 상세히 보여줍니다. 번호가 실패하면 오타인지, 체크섬 오류인지, 아니면 VIES에서 존재하지 않는다고 판단했는지를 바로 알 수 있어 사용자에게 무엇이 잘못됐는지 알려주기에 유용합니다.
  • vies.namevies.address는 무료로 제공됩니다. 많은 개발자가 VIES가 기업 정보를 차단한다고 생각하지만, 실제로는 공식적으로 제공되고 있습니다.

왜 VIES를 직접 호출하지 않나요?

가능합니다. 하지만 다음과 같은 문제가 있습니다:

  1. VIES는 SOAP 기반입니다. XML 라이브러리 혹은 fast-xml-parser 같은 래퍼가 필요합니다.
  2. VIES는 신뢰성이 떨어집니다. 특히 회계 마감 시기에 몇 시간씩 다운될 때가 많습니다.
  3. VIES는 형식·체크섬 오류를 구분해 주지 않습니다. 형식이 잘못된 번호도 “invalid”라는 동일한 응답을 반환하므로, 사전 검증 로직이 반드시 필요합니다.
  4. 모듈로‑97 체크를 직접 구현해야 합니다. 구현 자체는 어렵지 않지만, 슬라이스 오류나 8자리 접두사의 정수 오버플로우 같은 실수를 하기 쉽습니다.

이 모든 것을 직접 감싸면, 실제 기능을 배포하기 전에 이미 반쯤은 라이브러리를 만든 셈이 됩니다.

언제 사용하고 언제 사용하지 않을까

사용하면 좋은 경우

  • 고객 VAT 번호를 저장하기 전에 검증이 필요한 인보이스·견적서 생성 시스템
  • 오타가 downstream 문제를 일으키는 B2B 온보딩 흐름
  • 영업·재무·회계용 내부 툴
  • “나중에 직접 구현한다”는 선택이 합리적인 MVP

사용하면 안 되는 경우

  • 하루에 10만 건 이상 VAT 조회가 필요할 경우 – 이 정도 규모라면 자체 VIES 프록시를 운영하는 것이 좋습니다.
  • 현재 EU 전역을 지원해야 할 경우 (이 API는 현재 BE 전용이며, NL/FR/DE 등은 아직 포함되지 않음)
  • 고객이 외부 의존성을 전혀 허용하지 않는 경우 (규제 산업 등)

직접 써보기

무료 티어가 제공됩니다(RapidAPI 무료 티어). 신용카드 없이도 MVP를 바로 시작할 수 있습니다.

피드백이나 추가하고 싶은 국가가 있다면 언제든 메시지를 남겨 주세요. 모든 의견을 읽습니다.

Built by miel1 (RapidAPI 프로필) on RapidAPI (RapidAPI 홈페이지).

0 조회
Back to Blog

관련 글

더 보기 »

모바일 한여름 열풍

!Cover image for Mobile Midsommer Madnesshttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploa...