거래처 관리나 세금계산서 프로그램을 만들 때 사업자등록번호 칸은 보통 "000-00-00000" 10자리 형식으로 검증을 걸어 둡니다. 그런데 해외 거래처, 특히 미국 업체를 등록하려고 하면 이 형식이 그대로 맞지 않아서 입력 자체가 막히는 일이 생깁니다. 미국에도 사업자 등록번호에 해당하는 번호는 있지만, 우리처럼 번호 하나로 통일된 구조가 아니라서 어떤 번호를 받아야 하는지부터 알아야 합니다.
개인사업자는 SSN 이 대신한다
미국에서 개인이 혼자 사업을 하는 경우(sole proprietor)에는 따로 사업자 번호를 받지 않고, 그 사람의 사회보장번호인 SSN(Social Security Number)이 사업자 등록번호 역할을 합니다. 우리로 치면 주민등록번호로 사업자 식별을 하는 셈입니다.
그래서 미국 개인사업자 거래처의 "사업자번호"를 그대로 받아 DB 에 저장한다는 건 사실상 개인 식별번호를 저장한다는 뜻이 됩니다. 꼭 필요한 업무가 아니라면 받지 않는 게 낫고, 받아야 한다면 암호화해서 저장하고 화면에는 마스킹해서 보여주는 식으로 다루는 게 맞습니다.
법인은 연방 번호와 주 번호 두 가지
법인의 경우에는 번호가 두 종류입니다.
- 연방정부 사업자 등록 번호: Federal ID Number
- 주정부 사업자 등록 번호: State ID Number
미국은 연방 세금과 주 세금이 따로 있어서, 연방 차원의 식별번호와 사업을 하는 주에서 받는 번호가 별개로 존재합니다. 연방 번호는 미국 국세청(IRS)이 발급하는 EIN(Employer Identification Number)을 가리키는 경우가 일반적이고, 9자리 숫자를 12-3456789 처럼 두 자리 뒤에 하이픈을 넣어 표기합니다. 이름에 Employer 가 들어 있지만 직원 고용 여부와 상관없이 법인이라면 받는 번호라서, Tax ID 나 FEIN 이라고 부르기도 합니다. 주 번호는 주마다 발급 기관과 형식이 다르고, 여러 주에서 사업을 하면 주마다 따로 가지고 있을 수도 있습니다.
프로그램에 반영할 때
실무에서 미국 거래처의 "사업자번호"를 하나만 받아야 한다면 연방 번호(EIN)를 받는 게 일반적입니다. 인보이스나 W-9 같은 세무 서류에도 대부분 이 번호가 기재되니까요. 주 번호까지 관리해야 하는 업무라면 칸을 따로 두는 편이 깔끔합니다.
DB 설계 쪽에서 보면, 사업자번호 컬럼을 국내 형식 10자리로 고정하고 하이픈 위치까지 체크하는 검증 로직은 해외 거래처가 들어오는 순간 문제가 됩니다. 저는 이런 경우 국가 코드 컬럼을 하나 두고, 국가별로 검증 규칙을 다르게 적용하거나(한국이면 10자리 + 검증번호 계산, 미국이면 9자리 숫자 정도), 아예 해외 거래처는 형식 검사 없이 문자열로 받도록 분기합니다. 처음부터 컬럼 길이를 넉넉히 잡아 두는 것만으로도 나중에 고생을 꽤 덜 수 있습니다.