콘텐츠로 건너뛰기
Home » Blog » 채권 RPA 시스템 구축기 (1)

채권 RPA 시스템 구축기 (1)

  • work

회사에서는 매달 서비스 이용료 관련 정산을 진행한다.
이 때, 요금을 제때 납부하지 않은 ‘미납 업체’가 존재하는데, 이 업체들에게 미납 대금 관련 안내를 제공해야 한다.
이는 크게 ‘메일’과 카카오톡의 ‘알림톡’으로 고지가 나가는데 대표적인 형태는 다음과 같다.

왼쪽부터 순서대로 메일, 알림톡

배경

이러한 정산 및 고지 작업은 매달 운영팀이 수기로 진행했어야 했다.
전체적인 업무 플로우는 다음과 같았다.

  1. 미납 업체를 사내 시스템에서 조회하고
  2. 미납금 및 메일, 담당자 번호 등을 확보하여 엑셀로 정리한 뒤 팀 내에서 공유하고,
  3. 해당 업체에 맞게 엑셀 템플릿 내의 셀 값들을 수정해서 pdf로 추출한 뒤,
  4. 메일 템플릿에 해당 업체명, 납부기간 등을 작성하며 pdf를 첨부하여 전송한다.
  5. 알림톡 또한 직접 업체명과 미납액 등을 작성하여 전송한다.

그러나 매달 미납 고객사는 거의 100개가 넘었고, 이를 운영팀에서 매번 수기로 처리하기에는 상당한 시간이 소요되었다.
그래서 이와 관련된 자동화 시스템을 작년 말에 외주로 맡기려 했는데 여러 사정으로 보류 되었다고 한다.
(그래서 내가 하게 됐다)


음..

프로젝트를 착수하면서 우려했던 부분들이 몇 가지 존재했다.

  1. 혼자서 진행해야 하는 프로젝트였다.
    • 회사 규모 상 각자 맡은 일이 많아서, 서로가 맡은 부분들을 파악하고 피드백해주기 어려운 구조다.
  2. 기획서가 부실했다.
    • 사내 문서라 공유는 못하겠지만, 요구사항들이 구체적이지 않았다.
      • ex) 납부 기한은 디폴트로 어느정도로 두어야 할지, 운영 및 요금 담당자의 연락처가 겹치면 어디로 먼저 보내야하는지 등..
    • 기획서가 명확하지 않아서일까? 개발을 하면서도 계속 요구사항이 바뀌는 이슈가 생겼다.
    • (덕분에 요구사항을 스스로 파악해 나가며, 해당 업무가 운영팀에서 정확하게 어떻게 흘러가는지 상세하게 파악할 수 있었다)
  3. 화면 설계가 목업 형태로 있었지만, 중복 컬럼 및 중복 기능들이 많았고, 이를 내 선에서 필터링한 다음 다시 컨펌을 받았어야 했다.
    • ex) a컬럼은 b컬럼과 내용상 겹치는데 빼도 될까요?
    • ex) 목업에는 메일 전송 버튼이 4종류나 존재하는데 체크 형식으로 해서 버튼 개수를 줄여도 될까요?
    • ex) 데이터 수정을 엑셀 업로드 방식으로 요구하셨는데 그냥 화면상에서 수정하는게 좀 더 효율적이지 않을까요?
  4. 디자인이 없어서 직접 했어야 했다.
    • 결국 DB 설계, 백엔드, 프론트엔드, 배포, 디자인, 기획까지.. 사실상 모두 혼자 하게 됐다. (내가 곧 외주업체다)
  5. 기한이 짧았다.

전체적인 플로우 설계

크게 ‘청구서 관리’와 ‘채권 관리’ 로 기능을 나누어 보았다.
쉽게 말하면, 청구서 관리 탭은 ‘쇼핑몰’이고, 채권 관리 탭은 ‘장바구니’라고 생각하면 된다.

청구서 관리 탭에서는 ‘청구를 했지만, 미납 상태인 업체’만을 리스트로 보여주고, 이를 채권으로 등록시킬 수 있도록 했다.
이렇게 등록된 채권들은 ‘채권 관리’ 탭에서 조회할 수 있고,
여기서 납부기한이나 미납금액 등 수정 가능한 컬럼만을 수정할 수 있도록 했다.
(모든 컬럼을 뽑아 수정해서 엑셀로 업로드하는 방식보다, 휴먼 에러를 쉽게 예방할 수 있을 것이다)

추가로 제안했던 ‘타겟 발송’ 기능도 추가했다.
사내 시스템에는 고객사가 가입할 때 작성하는 ‘번호’나 ‘메일’이 형식을 벗어나는 경우가 많았다.

  • ex) 이메일이 ‘[email protected]@gmail.com’ 인 경우 (메일 두개를 왜 점으로 이어 붙여놓은거지?)
  • ex) 번호가 ‘010-1234-1234’인 경우도 있고, ‘01012341234’인 경우도 있고, 숫자 길이가 부족한 미완성 번호인 경우도 있었다.
    • 심지어 한글로 오기입된 번호도 있었다. (왜 예방을 안해놓은 것인가)
  • ex) 추가로, 메일이나 번호가 존재하지 않는 업체들도 많았다.

1차적으로는 정규표현식으로 모두 걸러내도록 했지만, 연락처가 없는 업체들도 있기에
이러한 업체들은 운영팀에서 직접 연락처를 파악해서 발송할 수 있도록, ‘타겟 연락처’로 발송할 수 있는 기능을 추가로 제안했다.
(뭔가 나중에 추가해달라 할 것 같아서, 미리 제안했다)

다음 글은 메일 전송 기능을 어떻게 구현했는지 다뤄보고자 한다.