그린 파인애플님의 블로그
[ERP 구축기 #10] 경력증명서 입력만 몇 시간? PDF 파싱으로 DB 입력 자동화하기 본문
현 시스템 구축전 사전 인터뷰당시 얘기가 나왔던 경력사항 자동 입력에 대해서 시스템 구현을 한걸 풀어보려 한다
[ERP 구축기 #02] "경력사항 입력만 하다 퇴근합니다" - 현업 인터뷰에서 시작된 업무 자동화
ERP 시스템을 구축하면서 가장 중요하다고 느끼는 것은 업무에 대한 이해와 데이터다.최신 기술을 잘 활용하는 것도 중요하지만, 기술은 결국 실제 업무에서 발생하는 문제를 해결하기 위한 도
utlee0.tistory.com
PQ업무를 위해서는 사전심사 자료 작성을 위해 건설기술협회 홈페이지에서 공식적으로 신고가 된 이력을 기반으로
경력증명서를 발급받아서 기술인들의 경력증명 데이터 입력을 하고 있다
이렇게 입력해야할 사람들이 1~2명이 아니기도 하고 입력해야할 항목들이 자격사항, 학력, 기술등급, 인적사항, 상훈 , 근무처,
프로젝트 이력등 많기도 하며, 경력이 쌓일수록 그만큼 경력증명서에 담긴 내용이 많기에 입력해야할 항목들도 비례해서 많아지게 된다
사람손으로 일일히 복사 붙여넣기, 검증을 하다보니 실수가 있을수 있고, 꼭 필요한 업무이지만 단순 반복업무이다보니 자동화 할수 있는 방법이 없을까 싶어 개발을 하게 되었다
현재 건설기술인 경력증명서를 발급받으면 아래와 같이 어느정도 정형화된 양식 위에 데이터들이 바인딩되어 출력되고 있다
데이터 추출후 추출된 데이터가 정말 맞는것인지 검증을 할수 있도록 화면 구성을 했고, 이미 인사이력에 등록된 사람이라면 추가적으로 자동입력이 되도록 개발을 진행했다


인사이력 정보이기에 인사정보를 관리하는 업무 화면에서 아래 사진과 같이 PDF 업로드 버튼을 클릭후 업로드하면 백엔드에서 자동 파싱하여 화면에서 파싱된 데이터를 볼수있게 하였다
개발 초기에는 PDF 전체 텍스트를 순차적으로 추출하여 데이터를 구분하려고 했다.
하지만 경력증명서는 단순한 문장 형태의 문서가 아니라. 여러 개의 표와 반복되는 프로젝트 이력으로 구성되어 있어
텍스트의 위치나 순서만으로 데이터를 구분하기 어려웠다.
그래서 PDF 전체를 하나의 텍스트로 처리하는 방식 대신 문서의 표(Table) 영역을 기준으로 데이터를 분리하고,
각 표별로 필요한 데이터를 구조화하는 방식으로 변경하였다.
이 방식으로 변경하면서 기술인 인적사항, 프로젝트(명, 기간, 발주처) 등의 데이터를 훨씬 정확하게 추출할 수 있었다.


PDF 데이터 파싱후 업무담당자가 직접 데이터 검증 후
총 3단계에 걸쳐서 자동 입력되게 구성하였다
1.기술인 기초정보 입력
2.회사 실적 입력
3.입력된 회사 실적에 프로젝트를 참가한 사람으로 입력


PDF에서 추출한 프로젝트명은 DB에 등록된 사업명과 완전히 동일하지 않고 띄어쓰기나 일부 글자가 다른 경우가 많았다
예) DB: 김해 일반산업단지 진입도로 개설공사 전면책임감리용역
PDF: 김해일반산업단지 진입도로 개설공사 전면 책임감리용역
단순 일치(=) 검색 대신 문자열내 띄어쓰기를 없애고 pdf에서 추출된 사업명과 유사도를 비교하도록 구성하였다.
일정 수준(80%) 이상의 유사도를 가진 사업이 있는지, 없다면 신규 입력해야하고, 80%이상의 유사도라면 이미 입력된 회사 실적을 검증후, 최종 매핑 여부는 담당자가 직접 판단하도록 하였다.


자동 입력보다 중요한 것은 검증
PQ 입찰에 사용되는 경력정보는 잘못 입력될 경우 실제 심사 결과에도 영향을 줄 수 있는 중요한 데이터다
따라서 사람이 하던 업무를 완전히 없애는 것이 아니고 데이터 입력 시점부터 정확한 데이터 검증이 더 중요하다고 판단 했고
정확한 데이터를 재사용한다면 추후 동일 기술인의 이력 입력 업무가 많이 줄어들것으로 보였다
기존(AS-IS)
PDF 확인 → 데이터 입력 → 담당자 검증 검증
*한글문서로 작성했기에 매번 처음부터 입력
개선(TO-BE)
PDF 업로드 → 자동 추출 → 담당자 검증 → 저장
* DB에 입력을 했기에 추후 이력사항 재사용 가능
사람이 직접 데이터를 입력하는 시간을 줄이고, 재사용성을 높였으며
시스템이 추출한 결과가 정확한지를 확인하는 업무에 집중하도록 했다
앞으로도 실제 업무에서 발생하는 불편함과 반복 작업을 하나씩 찾아 더 효율적인 시스템으로 개선해 나가려고 한다
'개발 > [ERP] 풀스택 AI개발' 카테고리의 다른 글
| [ERP 구축기 #11] Git Push에서 Kubernetes 배포까지 — GitOps 파이프라인 구축기 (0) | 2026.09.22 |
|---|---|
| [ERP 구축기 #09] Redis 캐싱 대체용으로 적용한 Valkey (0) | 2026.09.14 |
| [ERP 구축기 #08] 엑셀과 전화로 관리하던 기술인 교육관리를 알림 발송으로 자동화하기 (0) | 2026.09.04 |
| [ERP 구축기 #07] 양식이 제각각인 HWPX 문서를 자동 생성해 비용 절감하기 (0) | 2026.09.04 |
| [ERP 구축기 #06] 반복되는 API 호출 줄이기 - Redis와 React Query 캐싱 (0) | 2026.08.28 |