Q&A

  • 사업자등록번호 오류 검증방법
안녕하세요? 한가지 궁금한것이 있습니다.

사업자등록번호 오류검증을 하고 싶은데...

<사업자등록번호 체크방법>

A B C - D E - F G H I J
1 2 2 - 8 1 - 1 8 5 7 0
XY := I * 5    // 7 * 5  = 35
XY := 35
X  := 3
Y  := 5
MN  := (X + Y + A + D + G)   //   (3 + 5 + 1 + 8 + 8)
    + ((B + E + H) * 3)     // + ((2 + 1 + 5) * 3)
    + ((C + F) * 7)         // + ((2 + 1) * 7)      = 70
MN := 70
M  := 7
N  := 0
10에서 N값을 뺀후 10으로 나눈 값의 나머지가
J(사업자등록번호의 마지막자리) 와 같으면 정확한 사업자 등록번호
(IF J = ((10 - N) mod 10) THEN .....TRUE....;)

위와 같이 어느분이 알려주셨는데... 이것이 맞나요?
실제로 프로그램에서 검증해서 에러라고 해서 국세청에서 조회하니
정상으로 나오는데... 좀 가르쳐 주세요~
1  COMMENTS
  • Profile
    김진용 2004.03.11 22:44



    function  IsValidIndustryNo(IndustryNo : String) : Boolean;
    const
      Weights = '13713713';
    var
      Count,WeightValue : Integer;
    begin
      Result := False;
      if Length(IndustryNo) = 10 then
      begin
        WeightValue := (Ord(IndustryNo[9])-48) * 5;
        WeightValue := WeightValue + (WeightValue div 10);
        for Count := 1 to 8 do
          WeightValue := WeightValue + (Ord(IndustryNo[Count])-48) * (Ord(Weights[Count])-48);

        if ((WeightValue mod 10) = 0) then
           Result := (0 = (Ord(IndustryNo[10])-48))
        else Result := ((10-(WeightValue mod 10)) = (Ord(IndustryNo[10])-48));
      end;
    end;

    이함수를 사용하세요