2015년 8월 26일 수요일

최소 노력으로 유용한 가계부 만드는 방법

"적을 알고 나를 알면 백전백승이다."라는 말처럼 모든 일에 가장 중요한 시작은 현황을 객관적으로 파학하는 것이라 봅니다. 스타크래프트에서 초반 (몇 마리 없는) 드론 한마리를 보내서 상대방 진영을 파학하는 것도 현황 파학의 중요성을 보여줍니다.

우리의 생활도 현황을 먼저 알면 미래에 대한 전략을 더 잘 세울 수 있다는 가정 하에, 가계부를 만들어 봤습니다. 막연한 생각을 수치로 바라보는 순간, 걱정보다는 확신이 들었습니다. 두려움이라는 것이 불확실성에서 비롯된다는 어느 현자의 말을 다시금 떠올려 봅니다.

가계부의 중요성은 공감하지만 입/출력 마다 DB 트리거처럼 동작하는 일련의 행위는 배보다 배꼽이 더 커보였습니다. 고민을 거듭하다가 필자는 다음의 전제를 통해서 문제를 해결합니다.

모든 입금과 출금은 다양한 곳에서 이루어 질 수 있다.
BUT, 모든 입금은 하나의 통장을 거치고 다시 흩어져서 출금된다.

"하나의 통장"의 내역서 엑셀을 가지고 모든 자금을 추적 할 수 있었습니다. 하지만, 내역서에는 계정 과목을 제공하지 않습니다. 이 부분은 "송금메모"나 "보낸분/받는분" 필드의 텍스트를 이용해서 태그를 달아야 했습니다.

계정과목 "의료비"의 경우 다음과 같은 정규식을 사용해 봤습니다.
약국$|병원$|의원$|이비인후과
>> "약국"/"병원"/"의원"으로 끝나거나 "이비인후과"라는 단어가 포함된 텍스트를 의미합니다.

원하는 계정과목에 대한 정규식 패턴 추가 후에,  다음과 같은 형태의 테이블을 자동으로 만들 수 있었고, 추가된 태그/월별/요일별/시간별 컬럼으로 흥미로운 리포팅이 가능했습니다.

거래일시
적요
보낸분/받는분
송금메모
출금액
입금액
잔액
거래점
구분
태그
월별
요일별
시간별
2015-04-30 16:55:10 체크카드 아이플리테일

5000 0 15440188 KB카드

기타 201504 4 16
2015-04-30 13:02:54 체크카드 로뚜뚜커피

5000 0 15445188 KB카드

커피숍 201504 4 13
2015-04-30 12:01:34 체크카드 바이더웨이역삼포은점

2550 0 15450188 KB카드

편의점 201504 4 12
2015-04-29 12:03:48 체크카드 ()파인푸드컴퍼니

48500 0 15452738 KB카드

외식비 201504 3 12

"보낸분/받는분" 필드 값에 대한 "계정과목"의 깔끔한 매핑만 있으면 일반인을 대상으로 하는 서비스도 고려해 볼 수 있을 듯 합니다.

컨셉은 이것으로 충분해 보이고, 맛벌이 기준의 중요 포인트를 소개합니다.

  • 배우자에게 컨셉을 충분히 설명합니다.
  • "하나의 통장"에서 발급 받은 "체크카드" 사용을 기본으로 합니다.
  • 자금 사용이 투명해도 되는지? 스스로 물어 봅니다. ^^


한 달에 한번 자금 흐름을 체크하면서, "기타" 계정 과목 중에 영향력 있는 "보낸분/받는분" 또는 "송금메모"에 대한 정규식 패턴 추가만 하면, 손쉽게 가계부를 유지 할 수 있는 장점이 있습니다. 초기에 "하나의 통장"을 만드는 과정에서 통장들을 파학하고 정리하는 수고의 과정만 잘  넘기면, 자금의 흐름을 한눈에 파학 하실 수 있습니다.


참고

1. 이해를 돕기 위한 필자의 샘플 코드
https://bitbucket.org/snippets/juhoon26/doqpa

2. 국민은행 기준의 "적요" 필드 도메인 조사 내용
  • FBS출금 : 기업과 은행간의 연계를 통해 출금된 금액
  • ATM출금 : ATM 장비를 통해 출금된 금액
  • CD공동 : CD 장비를 통해 출금된 금액
  • 인터넷입금이체 : 국민은행 내부에서 일어나는 입금 이체된 금액
  • 인터넷출금이체 : 이체를 통해 출금된 금액
  • 전자금융 : 전자금융망을 통해서 입금되는 금액
  • 통신요금 : 통신사로 출금 이체되는 금액 (KT의 경우 케이블 방송 수신비)
  • 투신출금 : 투신사로 출금 이체되는 금액
  • 체크카드 : 체크카드에서 사용한 금액
  • 국민카드 : 신용카드에서 사용한 금액


0 개의 댓글:

댓글 쓰기