sgkstudio.
거래명세서 대사 자동화

받은 명세서와 우리 장부를 기계가 먼저 맞춥니다.

정답을 심은 케이스 12건 판정이 전부 예상대로, 파일을 넣고 분류표까지 6행도 전부 예상대로, 고칠 때마다 다시 돌리는 점검 16건 통과. 전부 합성 데이터로 잰 값이며, 12건 중 6건을 상호·날짜 표기 문제에 썼습니다.

담당자는 전수를 확인하지 않습니다. 어긋난 건만 사유와 차액이 붙어서 올라옵니다 — 금액이 다른 건, 두 번 청구된 건, 명세서는 왔는데 장부에 없는 건, 반대로 지급할 건인데 명세서가 안 온 건, 거래처 목록에 없는 상호.

명세서에서 값을 뽑아 표로 만들어 주는 도구는 이미 시중에 있습니다. 저희가 만드는 것은 그 다음 부분 — 그 표를 귀사 장부와 맞춰 어긋난 것만 골라내는 곳입니다.

Measured

돌려서 나온 숫자

12 / 12

정답을 심은 케이스 12건 — 판정 전부 예상대로

6 / 6

파일을 넣고 분류표까지 6행 — 판정이 전부 예상대로

16 / 16

고칠 때마다 다시 돌리는 점검 16건 — 전부 통과

검증에 쓴 자료는 합성 데이터입니다. 정답을 심어 만든 세트로 잰 값이며, 고객사 실물 명세서로 잰 숫자가 아닙니다.

12건 중 6건을 상호·날짜 표기 문제에 썼습니다. 이 업무를 실제로 깨는 것이 금액 계산이 아니라 같은 거래처가 매번 다른 이름으로 오는 것이기 때문입니다.

Verdicts

모든 건을 여섯 가지 중 하나로 분류합니다

담당자가 보는 것은 목록이 아니라 판정입니다. 무엇을 왜 봐야 하는지가 판정 이름에 들어 있습니다.

일치

금액까지 맞음. 담당자가 볼 필요 없음

금액 불일치

건은 찾았는데 금액이 다름. 차액과 방향을 함께 표시

중복 청구

같은 건이 명세서에 두 번 이상 올라옴

지불예정에 없음

명세서는 왔는데 장부에 등록되지 않음

명세서 미도착

지급할 건인데 명세서가 오지 않음

미등록 거래처

거래처 목록에 없는 상호. 금액 비교 전에 멈춤

양쪽을 다 봅니다. 명세서 기준으로만 보면 「지급할 건인데 명세서가 안 온 것」은 영원히 안 보입니다. 반대 방향도 같이 보고합니다.

The hard part

이 업무를 깨는 것은 계산이 아니라 표기입니다

같은 거래처, 네 가지 표기

  • (주)한국물류
  • 한국물류(주)
  • 주식회사 한국물류
  • ㈜ 한국물류

그냥 비교하면 서로 다른 회사 넷이 됩니다.

같은 날짜, 세 가지 표기

  • 2026-08-25
  • 2026.08.25
  • 20260825

거래처마다, 심지어 담당자마다 다르게 옵니다.

여기가 정리되지 않으면 멀쩡한 건이 전부 불일치로 쏟아집니다. 확인할 게 줄어들기는커녕 늘어납니다 — 저희가 검증 사례의 절반을 여기에 쓴 이유이고, 자동화가 실패했던 경험이 있으시다면 그 지점이 여기였는지부터 보시는 편이 빠릅니다.

맞추는 기준을 순서대로 내려갑니다

  1. 01명세서 번호
  2. 02거래처와 일자와 품목
  3. 03거래처와 일자

그리고 어느 단계에서 붙었는지를 결과에 남깁니다. 담당자가 그 판정을 얼마나 믿을지 스스로 판단할 수 있어야 하기 때문입니다.

Output

명세서 파일을 넣고 분류표가 나오는 데까지

전체 6건 · 자동 확인 3건 · 사람이 볼 건 3건 · 확인이 걸린 금액 합 1,043,000원 (금액 불일치 차액 13,000원 + 지불예정에 없음 330,000원 + 명세서 미도착 700,000원)

일치(주)한국물류2026-08-01인천-김포 운송1,650,000원
일치한국물류(주)2026.08.02보세창고 보관료480,000원
일치주식회사 대양통상2026-08-05수입통관 수수료220,000원
금액 불일치대양통상2026-08-06검수 수수료+13,000원
지불예정에 없음(주)한국물류2026-08-08긴급 배차 할증330,000원
명세서 미도착대양통상2026-08-09월 정산 보관료700,000원

둘째 줄이 이 화면의 핵심입니다. 상호 표기와 날짜 형식이 서로 다른데도 같은 건으로 붙어서 일치 처리됐습니다. 다만 이렇게 붙은 건은 명세서 번호로 붙은 건보다 느슨한 등급이고, 결과에 그 등급이 함께 남아 나중에 따로 뽑아 볼 수 있습니다.

장부 쪽 파일은 열 이름도 달랐습니다 — 공급자, 작성일자, 적요, 지급예정액. 그래도 매핑됐습니다.

차액의 부호는 명세서에서 장부를 뺀 값입니다 — 「+13,000원」은 거래처가 그만큼 더 청구했다는 뜻입니다. 실제 분류표에는 차액만이 아니라 명세서 금액과 장부 금액이 양쪽 다 실리고, 각 판정이 원본의 어느 파일 몇 번째 줄에서 나왔는지도 함께 붙습니다.

위 화면은 합성 명세서를 PDF 로 만들어 다시 읽고 대사한 실행 결과 그대로입니다. 고객사 자료가 아닙니다.

Scope

세 단계 중 가운데 하나만 합니다

1단계

추출

문서에서 값 꺼내기

엑셀·PDF·스캔본에서 거래처·일자·품목·금액을 표로 만듭니다. 이미 좋은 제품이 여럿 있어 저희가 새로 만들지 않고 그중 하나를 골라 씁니다. 엑셀과 글자가 살아 있는 PDF 는 추가 제품 없이 읽으므로 이 비용이 0 이고, 종이를 스캔·촬영한 파일만 인식 제품이 따로 필요합니다 — 어느 제품을 쓸지는 귀사 명세서가 어느 쪽인지 보고 정하며, 그때 비용을 견적에 숫자로 적습니다.

직접 만들지 않는 구간 — 기성 제품을 골라 씁니다

2단계

판정

우리 숫자와 맞추기

무엇과 무엇을 어떤 기준으로 맞출지, 안 맞으면 어떻게 나눌지, 그 결과를 담당자가 어떤 순서로 볼지. 이 셋이 회사마다 달라서, 그대로 집어 쓰기보다 귀사 규칙에 맞춰 짜는 편이 맞는 구간입니다.

저희가 만드는 구간

3단계

처리

결재와 지급

확인된 건을 결재로 넘기고 지급합니다. 이미 쓰시는 업무프로그램의 영역입니다. 건드리지 않습니다. 저희가 내는 분류표는 엑셀로 나가고, 그것을 업무프로그램에 다시 넣는 경로가 있는지는 그 프로그램의 가져오기 기능에 달려 있어 착수 전에 함께 확인합니다.

귀사 프로그램에 손대지 않는 구간

2단계를 대기업 구축 프로젝트로 만드는 사례가 있습니다. 다만 「중간 규모가 그대로 집어 쓸 상품이 국내에 없다」고 단정할 만큼 저희가 시장을 전수 확인한 것은 아닙니다 — 이미 쓰시는 업무프로그램에 대사 기능이 있다면 그것부터 확인하시는 편이 빠릅니다.

By design

돈이 걸린 일이라, 기계를 믿지 않게 만들었습니다

자동으로 넘어간 건은 담당자가 다시 보지 않습니다. 그래서 이 업무의 진짜 위험은 못 잡은 건이 아니라 「잘못 붙은 일치」입니다. 앞의 세 숫자는 판정이 설계대로 나오는지를 잰 것이고, 그 위험 자체는 귀사 자료로만 잴 수 있습니다 — 그래서 재기 전까지는 잘못 붙을 여지를 설계에서 줄여 둡니다.

허용 오차 기본 0원

1원이 달라도 사람에게 올립니다. 부가세 절사 방식 때문에 몇 원씩 늘 어긋나는 거래처가 있으면, 그때 그 폭을 명시적으로 정합니다. 기본값으로 삼키면 진짜 오차가 조용히 사라집니다.

어느 단계에서 붙었는지 남깁니다

명세서 번호로 붙은 건과 거래처·일자만으로 붙은 건은 신뢰도가 다릅니다. 결과에 그 단계가 적혀 있어, 느슨하게 붙은 일치만 따로 뽑아 볼 수 있습니다.

모르면 멈춥니다

금액 열을 못 찾으면 그 자리에서 멈추고 알립니다. 빈 값을 0 으로 채워 그대로 진행하면 전부 불일치로 쏟아져 담당자가 원인을 찾지 못합니다.

자동으로 승인하지 않습니다

결과물은 지급 지시가 아니라 분류표입니다. 판정마다 원본의 어느 파일 몇 번째 줄에서 나왔는지를 달아, 담당자가 즉시 되짚을 수 있게 합니다.

Not yet measured

여기서부터는 귀사 자료를 봐야 답합니다

귀사 물량에서 도는지, 얼마나 걸리는지

지금까지 돌린 것은 6행짜리 예시입니다. 한 달에 수백~수천 건이 들어올 때 같은 결과가 나오는지, 한 번 도는 데 얼마나 걸리는지는 재지 않았습니다. 상호를 흐리게 맞추는 일은 건수에 단순 비례하지 않아서 지금 짐작으로 말씀드릴 수 없습니다 — 귀사 한 달치로 재서 기계가 도는 시간과 사람이 봐야 하는 건수를 함께 내드립니다.

규칙이 바뀔 때 누가 고치는지

장부 열 이름이 바뀌거나 거래처가 늘면 맞추는 규칙도 손봐야 합니다. 지금은 1인 사업자라 그 손질을 저희가 직접 하고, 그래서 응답이 늦어질 수 있는 구조입니다. 유지보수 범위와 응답 기준을 착수 전에 서면으로 정하고, 규칙 파일은 귀사가 열어볼 수 있는 형태로 남깁니다.

잘못 붙은 일치가 얼마나 되는지

설계로 줄여 두었을 뿐, 귀사 자료에서 실제로 몇 건이 잘못 붙는지는 재지 않았습니다. 정답이 있는 합성 세트로는 이 값이 0 으로 나와서 의미가 없습니다 — 귀사 명세서로 대사한 뒤, 자동으로 넘어간 건 중 일부를 표본으로 다시 확인해 그 비율을 함께 봅니다.

스캔본 인식률

종이를 찍거나 스캔한 명세서는 글자를 읽어내는 정확도가 파일 상태에 따라 달라집니다. 그 읽어내는 일은 저희가 골라 쓰는 기성 제품이 하는데, 어느 제품이 귀사 스캔본에서 얼마나 읽는지는 아직 재보지 않았습니다. 귀사 자료로 먼저 재고 말씀드립니다.

업무프로그램에서 꺼내는 길

지불 예정 내역을 엑셀로 내려받을 수 있는지, 다른 경로가 있는지에 따라 작업 범위가 달라집니다. 이것이 확인되기 전에는 기간과 금액을 확정하지 않습니다.

귀사 데이터 정확률

앞의 숫자는 저희가 만든 자료로 잰 것입니다. 귀사 명세서로 잰 숫자가 아닙니다.

이것들을 모르는 채로 기간과 금액을 말씀드리면 그 숫자는 지킬 수 없는 숫자가 됩니다. 먼저 재고, 그 다음에 말씀드립니다. 분류표가 틀렸을 때 어디까지 저희 책임인지도 그 자리에서 서면으로 정합니다 — 재보기 전에 책임 범위를 말하는 쪽이 오히려 못 지킬 약속입니다.

Next

명세서와 지불예정 내역을 한 달치만 주시면, 귀사 숫자를 재서 드립니다

일반적인 설명을 듣는 자리보다, 귀사 실제 자료가 어떻게 걸러지는지 보시는 편이 판단에 도움이 되실 것입니다.

주실 것

  • · 실제 거래명세서 — 한 달치가 가장 좋고, 어려우면 1~2장이라도
  • · 같은 기간의 지불 예정 내역 — 대사는 두 쪽을 맞추는 일이라 장부 쪽이 없으면 판정이 나오지 않습니다. 엑셀 내려받기가 안 되면 화면 캡처라도 괜찮습니다
  • · 가능하면 거래처 목록(마스터)도 — 「미등록 거래처」 판정은 이것이 있어야 나옵니다. 없으면 그 판정만 빼고 나머지를 내드립니다
  • · 받으시는 형태 — 이메일 엑셀, PDF, 종이 스캔 중 무엇인지
  • · 업무프로그램 이름과, 한 달에 처리하시는 명세서가 대략 몇 건인지

드릴 것

  • · 그 파일을 실제로 처리한 분류 결과 — 명세서만 주시면 표기 정규화가 되는지까지만 보여드리고, 판정 비율은 장부가 함께 있어야 나옵니다
  • · 자동으로 걸러지는 비율과 사람이 봐야 하는 건수
  • · 자동화되는 구간과 사람이 남아야 하는 구간의 경계
  • · 그 위에서 잡은 작업 범위와 기간

가리고 보내실 때

  • · 거래처명은 가리셔도 됩니다. 다만 표기 형태는 남기고 이름만 바꿔 주십시오 — 「(주)한국물류」는 「(주)거래처A」로, 「한국물류(주)」는 「거래처A(주)」로. 전부 「거래처A」로 통일해 버리면 저희가 검증하려는 표기 차이 자체가 사라져, 가장 어려운 부분을 뺀 결과가 나옵니다.
  • · 금액과 날짜는 그대로 두셔야 합니다. 금액을 가리면 「금액 불일치」 판정과 자동으로 걸러지는 비율이 나오지 않습니다.

보내주신 파일은 이렇게 다룹니다

엑셀과 글자가 살아 있는 PDF 는 저희 기기에서만 처리하며, 대사 프로그램이 외부로 아무것도 보내지 않습니다. 다만 종이를 스캔·촬영한 파일과 장부 화면을 캡처한 이미지는 글자를 읽어내는 제품이 따로 필요하고 그중에는 클라우드로 올려 처리하는 것도 있습니다 — 어느 제품을 쓸지는 아직 정하지 않았으므로, 그런 파일을 보내시는 경우에는 어디로 올라가는지 먼저 알려드리고 동의를 받은 뒤에 처리합니다. 결과를 회신드린 뒤 원본과 중간 산출물은 파기하며, 원하시면 파기 시점을 먼저 정해 알려드립니다.

명세서 보내고 결과 받기

도입 의무 없음 · 요청하시면 비밀유지 약정을 먼저 맺고 받습니다 · 자료를 받은 뒤 언제까지 회신드릴지 먼저 알려드립니다