피드로 돌아가기
Dev.toBackend
원문 읽기
UK 식별자 검증의 복잡도 해결을 위한 DIY vs API 전략 분석
# How to Validate UK VAT Numbers, NINO, Company Numbers and UTR in Any Language (2026)
AI 요약
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 변환 및 공백 제거 전처리 과정 필수 포함