AI 사무 자동화로 계약서 목록과 갱신일 정리하기
계약서의 거래처·기간·갱신일을 정리하는 AI 사무 자동화 구현 방법입니다. Tesseract, Claude Citations, Celery beat를 연결해 원문 근거와 수정이력을 보존하는 문서 자동화를 설명합니다.
핵심 요약
1. 계약서에서 거래처·계약기간·갱신일을 추출해 담당자가 확인할 관리대장을 만듭니다. 2. 문자 인식, 원문 근거 연결, 정기 점검 기술을 계약서 확인 화면과 연결합니다. 3. 날짜 확정, 원문 위치 보존, 수정이력 기록, 중복 알림 방지는 별도로 개발합니다.
계약서가 폴더에 쌓이면 목록을 옮겨 적는 일보다 날짜의 의미를 다시 확인하는 일이 번거롭습니다. AI 사무 자동화의 개발 목표는 필요한 항목을 모으고, 담당자가 원문을 확인해 확정할 수 있는 관리 화면을 만드는 것입니다. 이 문서 자동화는 계약의 법적 효력 판단이 아니라 관리대장 작성과 갱신일 누락 확인에 집중합니다.
Tesseract로 스캔 계약서 읽기
입력 자료의 첫 번째 예시는 거래처명과 계약기간이 적힌 시설 유지보수 계약서의 스캔 PDF입니다. Tesseract (https://tesseract-ocr.github.io/tessdoc/)는 이미지 속 글자를 인식하는 오픈소스 OCR 엔진입니다. OCR은 종이에 인쇄된 글자를 컴퓨터가 처리할 수 있는 문자로 읽는 기술입니다.
스캔 PDF를 페이지별 이미지로 바꾸고 인식 결과를 원본 페이지와 묶어 저장하는 처리는 직접 개발합니다. 화면에는 원본과 읽어낸 글자를 나란히 보여주며, 잘린 페이지나 흐린 숫자는 담당자가 다시 확인하도록 합니다. 검수할 때는 페이지 누락 여부와 거래처명·날짜가 원문대로 읽혔는지 확인합니다.

거래처와 계약 날짜를 관리대장 항목으로 나누기
두 번째 요청 자료는 거래처명·시작일·종료일·갱신일 열이 있는 기존 관리대장 엑셀 파일입니다. 이 열을 기준으로 추출할 항목을 정하고, 인식된 문장에서 해당 값을 찾아 넣는 로직을 개발합니다. 계약 당사자가 여럿이면 어느 이름을 거래처로 관리할지도 업무 기준에 포함합니다.
날짜는 원문 표기와 관리대장에 넣을 값을 함께 보관합니다. ‘서명일로부터 1년’처럼 기준일 확인이 필요한 표현이나 갱신일이 없는 문서는 담당자 확인 목록에 올립니다. 추출값을 곧바로 확정하지 않고 ‘항목 확인’ 화면에서 승인하도록 하며, 빈 갱신일을 종료일로 자동 대체하지 않는지 검수합니다.
Claude Citations로 추출값의 원문 근거 연결하기
Claude Citations (https://platform.claude.com/docs/en/build-with-claude/citations)는 제공 문서의 근거 구간을 답변에 연결하지만 정확성이나 문서 최신성을 보장하지는 않습니다. 인식된 텍스트를 문서로 제공하고, 거래처나 날짜를 추출할 때 근거 문장도 함께 확인하는 흐름에 활용합니다. 어떤 파일과 버전에서 나온 값인지 연결하는 처리는 별도로 개발합니다.

관리대장의 ‘원문 보기’를 누르면 해당 항목의 근거 문장과 계약서 페이지가 함께 열리도록 만듭니다. 이를 위해 문자 인식 단계에서 저장한 페이지 위치를 근거 구간과 연결해야 합니다. 검수 기준은 인용 표시의 유무뿐 아니라, 열린 문장이 해당 값을 뒷받침하는지와 원본 페이지가 일치하는지입니다.
원본을 보존하며 수정이력 비교하기
담당자가 추출값을 고치거나 변경 계약서를 추가하면 이전 값과 파일을 함께 남겨야 합니다. 문서별 고유 번호와 버전 번호를 부여하고, 새 파일이 어느 계약의 후속 문서인지 담당자가 연결하도록 개발합니다. 파일명만 같다는 이유로 기존 계약서를 덮어쓰지 않도록 합니다.
‘수정 내역’ 화면에는 변경 전후 값, 수정자, 수정 시각, 수정 이유를 보여줍니다. 관리대장에 적용할 버전은 담당자가 확인해 선택하며, 이전 버전의 근거도 다시 열 수 있게 합니다. 수정 후 목록의 값이 바뀌었는지와 과거 값의 원문 연결이 유지되는지를 함께 검수합니다.

Celery beat로 갱신일 점검과 알림 실행하기
Celery beat (https://docs.celeryq.dev/en/stable/userguide/periodic-tasks.html)는 정해진 주기로 작업을 보내고 워커라는 실행 프로그램이 이를 처리합니다. 확인이 끝난 날짜와 담당자를 입력으로 받아, 정해둔 시점에 갱신 점검 알림을 만드는 로직을 개발합니다. 날짜가 미확정인 계약은 확인 목록에 남기고, 스케줄러 중복 실행과 작업 겹침을 막는 제어도 추가합니다.
알림을 보낸 기록은 계약 번호·기준일·알림 종류로 구분해 같은 알림이 반복되지 않게 합니다. 실패 사례 검수에는 원문의 ‘2027.01.31’이 ‘2027.07.31’로 잘못 읽힌 계약서를 사용합니다. 담당자 확인 전에는 그 날짜로 갱신 알림이 생성되지 않고, 수정·확정한 뒤에는 올바른 날짜로 점검되는지 확인합니다.
계약서 관리대장 개발을 문의하실 때 시설 유지보수 계약서 샘플과 기존 관리대장 양식, 갱신일 확인 담당자 및 알림 기준을 알려주시면 구현 범위를 구체화할 수 있습니다. 트램스 AI 제작 문의 (https://trams.co.kr/ai-si/contact/#inquiry)
참고 자료
비슷한 AI 서비스를
사업에 적용하고 싶으신가요?
아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.