수작업 EDI 정산의 한계와 OCR 자동화 도입 시 고려해야 할 5가지

매월 반복되는 엑셀 수작업 마감에서 벗어나 데이터 정합성을 99.9%로 끌어올리는 실무 가이드

이지웍스랩 정산솔루션팀 · 2026-08-10 · EDI 정산 실무 · 읽는 데 9분

의약품 도매업체와 병의원, 약국 간의 거래는 매월 수천에서 수만 건에 달하는 EDI(전자문서교환) 정산 데이터를 발생시킵니다. 수작업 정산의 치명적인 한계와 OCR 기반 자동화 도입 시 반드시 점검해야 할 5가지 핵심 요소를 살펴봅니다.

1. 수작업 EDI 정산이 초래하는 3대 경영 리스크

수작업으로 엑셀 정산을 진행할 때 가장 흔하게 발생하는 문제는 사람의 실수(Human Error)로 인한 단가 오입력 및 누락입니다. 수천 행에 달하는 품목 코드와 수량, 공급단가, 부가세를 일일이 대조하는 과정에서 통계적으로 1~3% 수준의 입력 오류가 필연적으로 발생합니다.

두 번째는 마감 기간의 병목 현상입니다. 월말 및 월초 3~4일 동안 정산 담당자 전원이 야근을 반복하게 되며, 이 기간에는 신규 거래처 대응이나 미수금 관리 같은 본래 업무가 전면 중단됩니다.

세 번째는 거래처 신뢰 저하입니다. 청구 금액이 한 번이라도 틀리면 거래처는 이후 모든 청구서를 의심하고 재검증을 요구하게 되며, 이 과정에서 발생하는 세금계산서 수정발행은 부가세 신고 일정에까지 영향을 줍니다.

리스크구체적 증상누적 시 결과
단가 오입력계약 단가와 다른 금액으로 청구수정세금계산서 발행, 신고 일정 지연
마감 병목월초 3~4일 전원 야근미수금 관리 등 본업 중단, 담당자 이탈
대차 불일치거래처 장부와 금액 상이재검증 요구 반복, 정산 주기 장기화

2. OCR 및 데이터 파싱 자동화 도입 시 필수 체크포인트 5가지

최신 인공지능 기반 정산 솔루션을 도입할 때는 단순한 텍스트 인식률을 넘어 비즈니스 로직과의 유기적 결합을 반드시 검증해야 합니다. 글자를 잘 읽는 것과 정산을 정확히 계산하는 것은 완전히 다른 문제입니다.

첫째는 표 구조 복원력입니다. 병의원과 도매상마다 명세서 양식이 다르고 열 순서도 제각각이므로, 좌표 기반 추출이 아니라 헤더를 이해해 열을 매핑하는 능력이 있어야 실무에 쓸 수 있습니다. 둘째는 마스터 코드 매핑으로, 거래처가 쓰는 품목명을 자사 표준 코드로 연결하는 사전 관리 기능이 필수입니다.

셋째는 계약 단가 대조, 넷째는 예외 건의 사람 검토 경로, 다섯째는 ERP 연동 방식입니다. 특히 다섯째는 도입 후 가장 오래 걸리는 작업이므로, 검토 단계에서 자사 ERP의 전표 등록 인터페이스를 먼저 확인하십시오.

from decimal import Decimal

def validate_rows(rows, contract_prices):
    """파싱된 명세서 행을 계약 단가와 대조해 이상치를 분리한다."""
    ok, anomalies = [], []

    for r in rows:
        code = r["item_code"]
        qty = Decimal(str(r["qty"]))
        unit = Decimal(str(r["unit_price"]))
        amount = Decimal(str(r["amount"]))

        # 1) 금액 검산: 수량 x 단가 = 금액
        if qty * unit != amount:
            anomalies.append({**r, "reason": "금액 검산 불일치"})
            continue

        # 2) 계약 단가 대조 (미등록 품목은 사람 검토로)
        contracted = contract_prices.get(code)
        if contracted is None:
            anomalies.append({**r, "reason": "계약 단가 미등록 품목"})
            continue

        if unit != Decimal(str(contracted)):
            anomalies.append({
                **r,
                "reason": f"단가 불일치 (계약 {contracted} / 청구 {unit})",
            })
            continue

        ok.append(r)

    return ok, anomalies

3. 도입 단계별 실행 로드맵

1단계는 현행 양식 수집입니다. 실제로 들어오는 명세서를 거래처별로 최소 3개월치 모아 양식 편차를 파악하십시오. 이 작업을 건너뛰면 도입 후에 '우리 거래처 양식은 안 된다'는 문제가 반복됩니다.

2단계는 병행 운영입니다. 최소 한 번의 마감 주기 동안 기존 수작업과 자동화 결과를 나란히 비교하며 차이 원인을 정리하십시오. 이 기간에 발견되는 차이의 대부분은 시스템 오류가 아니라 그동안 몰랐던 업무 규칙입니다.

3단계는 전환과 예외 관리 체계 정착입니다. 자동 처리율 100%를 목표로 삼기보다, 예외 건이 담당자에게 명확히 전달되고 빠르게 처리되는 흐름을 만드는 데 집중하는 편이 실무 만족도가 훨씬 높습니다.

4. 도입 이후 운영: 마스터 데이터가 전부입니다

자동화 시스템의 정확도는 시간이 지나면서 서서히 떨어집니다. 원인은 대부분 모델이 아니라 마스터 데이터입니다. 신규 품목이 등록되지 않았거나, 단가가 개정됐는데 반영되지 않은 경우가 압도적으로 많습니다.

따라서 계약 단가 개정 프로세스와 시스템 반영을 하나의 절차로 묶으십시오. 계약서 갱신 시 단가 테이블 업데이트가 자동으로 요구되는 체크리스트를 두면 대부분의 불일치가 사라집니다.

월 단위로 '예외 건 원인 분포'를 집계하는 것도 권장합니다. 미등록 품목이 많으면 마스터 관리 문제, 단가 불일치가 많으면 계약 관리 문제, 파싱 실패가 많으면 양식 변경 문제로 원인이 명확히 갈립니다.

예외 유형실제 원인대응 부서
미등록 품목신규 품목 마스터 미반영구매·마스터 관리 담당
단가 불일치계약 개정분 시스템 미반영영업·계약 담당
파싱 실패거래처 명세서 양식 변경정산 담당 + 솔루션 지원
금액 검산 오류명세서 자체의 오기거래처 확인 필요

자주 막히는 지점

자동 집계 합계가 거래처 장부와 몇 원씩 차이납니다.

원인: 금액 계산에 부동소수점 연산을 사용해 반올림 오차가 누적되었습니다.

해결: 모든 금액 필드를 Decimal 또는 정수(원 단위)로 처리하고, 부가세 계산의 절사·반올림 기준을 거래처와 동일하게 맞추십시오. 계산 기준은 계약서에 명시되어 있는지 반드시 확인해야 합니다.

특정 거래처 명세서만 갑자기 파싱에 실패합니다.

원인: 거래처가 ERP를 교체하거나 양식을 변경해 열 구성이 달라졌습니다.

해결: 양식 변경 감지 시 실패로 처리하지 말고 '검토 필요' 상태로 보류한 뒤 담당자에게 알리십시오. 새 양식 샘플을 확보해 매핑을 추가하면 되며, 이 과정을 자동화 실패가 아닌 정상 운영 절차로 설계해야 합니다.

핵심 요약

자주 묻는 질문

도입까지 보통 얼마나 걸리나요?

거래처 양식 수집과 마스터 정비에 대부분의 시간이 소요되며, 일반적으로 준비 2~4주 + 병행 운영 1개 마감 주기를 잡으면 무리가 없습니다. 시스템 연동 자체는 상대적으로 짧습니다.

자동 처리율은 어느 정도까지 올라가나요?

양식이 안정된 주요 거래처 기준으로는 대부분의 행이 무인 처리됩니다. 다만 신규 품목이나 계약 개정이 있는 달에는 예외 건이 늘어나므로, 예외를 빠르게 처리하는 흐름이 자동 처리율보다 중요합니다.

기존 ERP를 바꿔야 하나요?

대부분 교체 없이 연동만으로 해결됩니다. ERP에 전표 등록 API가 없다면 지정 양식의 파일 업로드 방식으로도 연결 가능하므로, 도입 검토 시 현재 ERP의 연동 수단을 먼저 확인하십시오.

전체 아티클 목록