본문 바로가기

Office 365

#회계장부 시스템 Ver 2.0 #3 - 지출결의서 접수자동화

2020/07/04 - [분류 전체보기] - #회계장부 시스템 Ver 2.0 #2 - 지출결의서 신청하기

지난 글에서 이메일로 지출결의서 신청을 받았는데 MS Power Automate 는 특정 조건이 발생했을 때 (Trigger) 정해진 명령을 수행 (Task) 을 하는 방식입니다.

 

재무부의 비용처리 업무는 지출결의서가 이메일로 접수되면 그 이후에는 재무 국장의 승인이 필요하고 승인의 결과에 따라서 자금 송금을 담당한 재무부장이 돈을 송금하는 식으로 업무가 이뤄집니다. 

 

처음에 Power Automation 작성시 이메일로 접수된 지출결의서를 MS클라우드 저장소인 Onedrive에 저장하고 재무부원들에서 접수알람 및 국장에서 승인요청을 하는 Power Automate 흐름과 재무국장의 승인결과에 대해서 재무부원들에게 공유해주는  2개의 흐름으로 만들어 주었는데 지출결의신청서가 여러게 신청되는 경우 MS클라우드에 저장하는 시간이 걸려 잘못된 알람이 발생하는 경우가 발생하여 Onedrive 로 저장하는 1단계, 지출결의서 저장후 메세지보내는 2단계, 결제승인에 대한 메세지 3단계로 3개의 흐름으로 나눠서 만들었습니다.

 

참고로 Power Automation 및 MS Office 365 계정은 학교에서 제공해주는 계정을 이용하였는데 무료 계정을 이용하더라도 사용가능합니다.

 

1단계 이메일 접수시 첨부된 지출결의서 파일 Onedrive로 저장하기 흐름

 

 

1단계 이메일 접수시 첨부된 지출결의서 파일 Onedrive 로 저장하기 흐름은 1개의 트리거와 5개의 작업으로 이뤄집니다. 가장 위에 보이는 트리거 "On new email" 는 Email 이 접수되었을 때 자동으로 이 흐름을 실행하는 역활을 해주는데 해당 이메일은 지출결의를 위해 만든 email 이 기 때문에 받은 편지함에 메일이 도착했을때 흐름을 실행하는데 여러 용도로 사용하는 이메일이라면 메일박스에 따라서 실행해줄수 있습니다.

 

"Send me a mobile notification" 작업은 이메일이 접수가 되었으나 여러가지 이유(첨부파일누락, 잘못된첨부파일) 로 처리가 안되는 경우를 위해 처리가 되고 있음을 휴대폰(Power Automation 앱)으로 알람을 받기 위해 사용한 작업입니다.

 

"표준시간대 변환" 작업은 Power automation 은 전세계에서 사용하는 시스템이다 보니 별다른 시간설정 없으면 기본적으로 MS 본사가 있는 시애틀을 시간을 기준으로 보여주기 때문에 한국시간으로 변경하기위해서 사용하였습니다.

 

" Apply to each Attachment on the email" 작업은 Create file 에서 첨부파일 콘텐츠를 이용했을 때 자동 생성되는데 이메일에 첨부되어 있는 첨부파일이 한개가 아니고 n 개가 가능하기 때문에 해당된 첨부파일 모두를 저장하기위한 Loop 문입니다.

 

"작성2" 작업은 MS클라우드 저장소 Onedrive에 지출결의서를 저장할 때 언제접수된 파일인지 좀더 구분을 쉽게 하기 위해서 "표준 시간대 변환" 에서 변경된 접수된 시점의 한국날짜 시간을 Power Automation 에서 제공하는 문자열 합칠때 사용하는 concat함수를 이용하여 파일명 앞에 붙여 주는 작업을 수행합니다.

 

concat 함수를 이용하여 문자열 합치기

"Condition" 작업은 지출결의서를 Onedrive 에 파일로 저장하다 에러 발생시(Errorcode 409)에는 30초 대기후 다시 저장하는 작업을 수행합니다.

 

Power Automation 1단계 흐름인 파일 저장하기 이후에는 2단계 흐름인 지출결의 접수후 텔레그램으로 공지하는 흐름이 2단계로 수행됩니다.

 

2단계 Onedirve 에 지출결의서 저장시 텔레그램으로 관련 공지메세지 보내기

트리거는 "파일이 만들어진 경우" 트리거를 사용하였습니다. 1단계에서 지출결의 저장하는 폴더를 Onedrive 의 "/지출결의시스템/요청" 폴더로 저장합니다. 이폴더에 파일이 생성되었을 때 2단계의 흐름이 자동으로 실행되게 됩니다.

 

"Send me a mobile notification" 은 혹시 모를 에러를 위해서 휴대폰으로 알람 받는 작업을 수행합니다.

 

"공유 링크 만들기"는 접수된 지출결의서에 대해서 재무부원들이 확인을 할수 있어야 할수 있어야하는데 재무부 인원 모두 Office 365계정을 만들지 않았기 때문에 여기서는 링크를 가지고 있는 인원은 모두 볼수 있도록 하였는데 보안에 민감하다면 특정 인원들만으로도 제한할 수 있습니다.

 

"행 가져오기" 는 접수된 엑셀 파일에서 텔레그램 알람 공지를 위해서 지출결의서 엑셀 양식의 알람메세지 시트에서 요청메세지 테이블값을 가져오기 위함인데 현재는 테이블 명이 {00000000-000C-0000-FFFF-FFFF01000000} 로 표시되어 있지만 파일 속성에서 실제 지출결의서 파일을 선택하면 가져올수 있는 테이블 명들을 볼수 있습니다. 하지만 지출결의서 파일명은 항상 달라지기 때문에 고정값을 쓸수 없고 파일이 만들어진경우에서 제공받은 파일 식별자를 이용해서 파일명을 가져왔습니다. 가져와야하는 행 번호도 입력을 해야하는데 미리 지출결의서 엑셀 파일에서 자동으로 생성해놓았습니다.

 

"HTTP" 는 텔레그램으로 메세지를 보내기 위해서 텔레그램에서 제공하는 REST API를 이용하여 메세지를 보내는 작업을 수행합니다. "HTTP" 작업은 프리미엄 계정 (유료계정 중 등급에 따라)에서만 사용가능한데 무료 계정에서도 초기 계정 생성후 30일간은 무료로 사용할수 있으며 만들어진 작업에 대해서는 무료기간이 끝내도 계속 사용할수는 있지만 편집이나 새롭게 생성은 불가합니다.

 

텔레그램 REST API 와 Power Automate HTTP 작업을 이용하여 메세지 보내기
텔레그램으로 접수 메세지 전송

참고로 재무부 인원중에 이미 텔레그램으로 설치한사람도 있고 Office365 계정을 만들지 않을사람도 있어 텔레그램 메세져를 이용했지만 MS Teams 메신져를 이용하게 되면 훨씬 쉽게 메신져 알람을 만들어 줄수 있습니다.

 

텔레그램 REST API 를 활용하여 BOT 만들기

https://junesker.tistory.com/7

 

나만의 텔레그램 봇(TELEGRAM BOT) 만들기 - 2. 웹 상에서 메세지 보내기

텔레그램 BotFather 봇을 통해 만든 @StudyJ001Bot을 통해 텔레그램 봇 API 공식 홈페이지에서 제공해주는 API를 가지고 웹 환경에서 메세지를 보내보고자 한다. 텔레그램 봇 API 공식 홈페이지에서 친절�

junesker.tistory.com