제안이 확정되면 계약서를 송부합니다. 노션에 적어 둔 고객 정보를 보면서 예전 계약서 파일을 복사하고, 회사명과 금액과 기간을 손으로 바꿔 넣고, 구글독스 링크를 만들어 고객에게 검토해 달라고 보냈어요. 확인을 받으면 그 파일을 다시 내려받아 전자서명 사이트에 올리고, 서명이 끝났는지는 그 사이트에 직접 들어가 확인했습니다.
문제는 단계별로 노션부터 구글독스, 비대면 계약툴까지 따로 접속해야 하는거죠. 구글독스, 메일함, 전자서명 사이트를 왔다 갔다 하는게 일입니다. 고객사에서 수정요청온 내용도 실제 발송본에 반영됐는지 다시 확인하는 것도 매번 신경 쓰이는 일이었고요.
이번에 대시보드 고객 상세 화면에 계약서 탭을 하나 만들고, Google Docs 검토, 고객 확인, 전자서명 발송 하는 과정을 자동화했습니다. 정확히는 반자동화인데요, 대시보드 버튼과 슬랙 명령이 같은 트리거로 계약서 초안부터 발송까지 하도록 만들었어요.
계약서 탭 하나에 진행 상태가 다 보여요!
고객 상세 화면을 열면 문의, 제안서, 메일, 문자, 견적서, 계약서, 거래명세서, 세금계산서, 후기 요청 탭이 순서대로 있는데요, 이번에 넣은 계약서 탭을 열면 회사명, 서명자, 대표자, 사업자등록번호, 주소, 이메일, 휴대전화, 계약일, 용역 시작·종료일, 공급가액·부가가치세·합계, 지급 조건, 업무 범위, 발송 수단, 서명 공급자를 한 화면에서 입력합니다.
오른쪽에는 연결 상태 패널이 있어서 Google Docs OAuth가 설정됐는지, 이폼사인 실발송이 가능한지, 슬랙 초안·발송이 가능한지를 계약별로 바로 확인할 수 있어요. 서명이 끝나면 같은 화면 아래쪽 다음 단계 영역에 서명 완료 PDF 내려받기, 감사추적증명서 내려받기, Google Docs 검토본 열기 버튼이 뜹니다. 아래 화면은 실제로 서명까지 끝난 계약(연동 시연용 데모)을 열어 본 화면이에요.

Google Docs 검토본부터 자동으로 만들어요!
계약 내용을 채우고 검토본 만들기를 누르면, 미리 준비해 둔 범용 계약서 원본을 복사해 23개 항목을 그 고객 데이터로 채우는데요, 이 원본은 이전에 실제로 쓰던 계약서에서 고객사 이름과 이전 단가를 다 지우고 자리표시자만 남긴 버전이에요.

{{customer_company}}, {{contract_date}}, {{contract_supply_amount}} 같은 자리마다 값이 채워지고, 계약 목적, 용역 기간과 대금 지급, 외부 서비스 비용 부담, 용역 내용과 범위, 계약 해지, 환불, 계약 해석, 준거법과 관할, 전자문서·전자서명 효력까지 10개 조항이 들어 있습니다. 검토본은 고객 폴더가 아니라 제한 공유로만 열리고, 문서 revision과 계약 내용의 해시를 그 순간 함께 고정해 둡니다.
고객 확인은 왜 사람이 직접 눌러야 하나요?
고객이 검토본을 보고 메일이나 메시지로 확인하면 고객 확인 완료 버튼을 직접 눌러야만 계약이 다음 단계로 넘어가요.
그 이유는 AI나 자동화 설정의 오류가 있을 수도 있기 때문에 직접 확인 후 진행합니다. 확인 버튼을 누르는 순간 그 revision의 해시가 고정되고, 이후에 계약 내용을 한 글자라도 고치면 검토본과 고객 확인 기록, 아직 쓰지 않은 발송 승인이 전부 무효화됩니다. 고객이 실제로 본 문서와 서명 발송본이 달라지는 사고를 막기 위해 이렇게 세팅해줬어요.
전자서명은 이폼사인으로 연결했어요!
발송은 이폼사인 API로 붙였는데요, 네버슬립 회사 계정을 만들고 범용 계약서를 템플릿으로 배포했습니다. 네버슬립 쪽 입력 필드 23개는 저희가 채우고 고객은 서명 필드 하나만 채우도록 워크플로우를 짰어요. 데모 공급자로 저장부터 서명 대기까지 먼저 확인한 뒤에 실제 이폼사인 발송으로 넘어갔어요.
아래 화면은 내부 테스트로 제 개인 Gmail에 보낸 시연용 계약입니다. 계약 상대 회사명은 네버슬립 이폼사인 시연용, 금액은 1원으로 채워서 실제 청구가 없다는 것도 계약서 안에 적었어요. 이폼사인 완료 문서함을 열어 보면 네버슬립, 고객 서명자, 완료 세 단계가 실제로 끝난 게 보입니다.

문서를 열면 자리표시자 대신 실제 값이 들어간 계약서 화면이 그대로 나옵니다.

서명이 끝나면 완료 PDF와 감사추적증명서를 이폼사인에서 내려받아 대시보드에 함께 보관해요.
발송 전에는 5분짜리 승인 코드를 한 번 더 확인해요!
계약 내용과 검토본, 고객 확인까지 끝났어도 발송 버튼을 누르면 바로 나가지 않습니다. 유효기간 5분짜리 1회용 승인 코드를 발급하고, 계약 내용과 수신자의 해시가 지금 화면과 정확히 같을 때만 실제 발송이 실행돼요. 승인 코드는 원문으로 저장하지 않고 해시로만 남깁니다.
발송 중 네트워크가 끊겨서 이폼사인이 문서를 실제로 만들었는지 알 수 없는 상황이 있을 수 있는데요, 그럴 땐 상태를 상태 확인 필요로 멈추고 같은 계약을 바로 다시 보내지 않습니다. 결제나 서명 발송처럼 되돌리기 어려운 일은 항상 사람이 한 번 더 확인하게 만들어 뒀어요.
슬랙에서도 같은 방식으로 계약 초안, 발송 자동화를 해요!
내부 전용 채널과 사용자에 한해 슬랙 명령으로도 계약 초안을 만들고 고치고 목록·상태를 확인할 수 있습니다. 다만 고객 정보를 입력하거나 고객 확인 완료 버튼을 누르는 일은 슬랙에서 할 수 없고 항상 대시보드에서만 처리해요.
슬랙에서 발송을 요청해도 같은 사용자, 같은 채널에서 5분 안에 계약 ID를 다시 확인해야만 실제로 나갑니다. 대시보드 발송 승인 코드와 같은 원칙을 슬랙 쪽에도 그대로 넣은 거예요.
지금까지 나온 다섯 단계를 표로 정리하면 이렇습니다.
| 단계 | 하는 일 |
|---|---|
| 계약 초안 작성 | 대시보드 또는 슬랙 명령으로 고객 데이터 채우기 |
| 검토본 생성 | 범용 템플릿에 값 치환, Google Docs 제한 공유로 고객에게 전달 |
| 고객 확인 | 대시보드 고객 확인 완료 버튼 (사람이 직접 확인 후 진행) |
| 전자서명 발송 | 5분짜리 승인 코드로 한 번 더 확인 후 이폼사인 API 호출 (발송은 검수 후 직접 진행) |
| 완료 보관 | 서명 완료 PDF와 감사추적증명서를 이폼사인에서 내려받아 대시보드에 저장 |
이 자동화 덕분에 고객과의 커뮤니케이션에 집중하고 부수적인 일은 자동화로 덜 수 있게 되었습니다!