피드로 돌아가기
# How to Validate UK VAT Numbers, NINO, Company Numbers and UTR in Any Language (2026)
Dev.toDev.to
Backend

UK 식별자 검증의 복잡도 해결을 위한 DIY vs API 전략 분석

# How to Validate UK VAT Numbers, NINO, Company Numbers and UTR in Any Language (2026)

ValidatorAPI2026년 5월 20일5beginner

Context

영국 시장 대상 소프트웨어 개발 시 VAT, NINO, Company Number, UTR 등 다양한 식별자의 정밀 검증 필요성 대두. 각 문서별로 서로 다른 Checksum 알고리즘과 예외 규칙이 존재하여 단순 정규표현식만으로는 데이터 무결성 보장이 어려움.

Technical Solution

  • VAT 검증을 위한 HMRC Mod-97 Checksum 알고리즘 기반의 가중치 합산 및 잔여값 비교 로직 설계
  • NINO 검증 시 특정 알파벳 제외 규칙 및 15가지 이상의 Edge Case를 처리하는 필터링 레이어 구축
  • Company Number의 지역별(Scottish 등) 15가지 이상 Prefix 타입을 처리하는 매핑 구조 적용
  • 복잡한 검증 로직의 유지보수 비용 제거를 위한 External API 기반의 추상화 계층 도입
  • 입력 값의 타입 자동 판별(Auto-detect)을 통한 단일 엔드포인트 통합 검증 구조 채택
  • API 도입을 통한 비즈니스 로직 내 검증 코드 최소화 및 데이터 포맷팅 자동화 구현

- 검증 규칙이 15개 이상인 복잡한 식별자 처리 시 직접 구현보다 Managed API 도입 검토 - Mod-97과 같은 Checksum 알고리즘 적용 시 가중치 배열(Weights)과 모듈로 연산의 정확성 확인 - 국가별 식별자 검증 시 정규표현식 외에 Forbidden Characters 리스트를 통한 2차 필터링 적용 - 다국어 환경에서 식별자 처리 시 UpperCase 변환 및 공백 제거 전처리 과정 필수 포함

원문 읽기