제목 : 후잉과 국민은행

 

 2004년부터 가계부 아니 금전출납부를 써왔다. 그때 당시 MS Money를 썼는데.. 나름 잘 적응해서 2014년까지 무려 10년을 써왔다.

 

 다른 것 보다 수많은 계좌를 이체할 때 이쪽 저쪽으로 바로바로 연동되는 것이 너무 좋았었다... Transfer로 계좌를 입력하면 되었으니까.

 

 그런데... 어느 정도 시간이 지나니.. 카드 사용 현황을 입력하고 은행 계좌의 Activity를 정리하는 것이 너무 귀찮아 졌다..

 내 시간이 예전만큼 그리 많지 않았고, 그것 외에도 수많은 것들에 신경을 써야하는 그런 나이가 되었단 말이겠지....

 

 그래서.. 생각했다.. 은행 및 카드하고 연동되는 가계부는 없을까?

 

 있었다..네이버 가계부 등등.. 근데 이것도 우리나라 실정에는 안 맞는듯 사라져 갔다. 짜증..  결국 많은 가계부들이 대안으로 은행 입출금 내역이나 카드 승인시 받는 문자를 가계부와 동기화시키 방법으로 문제점을 해결하고자 한다... 근데 이것도 귀찮은 일이다...

 

 Category가 어떻게 되던 말던 그냥 다 입력을 해주면 내가 가끔씩 정리하듯 이름과 Category 바꿔주면 안되나????  다음의 프로젝트는 이런 생각에서 시작했다.

 

    Task#1    주력 카드인 BC카드의 모든 승인 내역을 자동으로 Database화 하라.

    Task#2    주력 은행인 국민은행의 Main 계좌의 모든 입출금 내역을 자동으로 Databae화 하라.

    Task#3    주력 가계부인 후잉에 Task#1과 Task#2로 수집된 정보를 자동으로 입력하라.

 

 Active-X로 도배질된 BC카드 승인내역과 선불카드 잔고, 사용내역등에 대해서 모두 Database에 성공을 했다.

 BC카드에 비하면 정말 양반인 KB국민은행의 Main 계좌에 대하여 거래내역을 모두 Database화 했다.

 

 BC카드의 승인 내역을 매일 1회 수집하고 자동으로 후잉가계부에 입력하도록 프로그램을 완성하였다.

 하지만, 국민은행 거래내역을 후잉에 입력하면서 다음의 문제에 봉착했다.

 

  후잉의 입력 날짜는 Date기준인데.. 승인이나 입출금 내역은 시간 기준이다.

 

 즉, 후잉에서 어떤 거래 정보를 얻고 그것을 은행 거래내역과 비교해서 빠진 것이 있으면 추가로 입력하는 프로세스 인데.. 날짜와 금액으로 구별하여 하루에 한번 있는 것이면 그냥 그게 그거다 하겠는데, 같은 날짜에 여러번 있는 것들은 그게 그건지 구별이 안되는 거다.

 

 예를 들어 100만원을 A 계좌로 3번 이체하였다면.. KB수집데이터에 3번이 있고 이것이 후잉의 3번과 각각 매칭이 되어 야 하는데 어느게 어느건지 확인하기게 어렵다는 거다. 물론, 이것은 KB에서 수집된 거래내역 테이블과 후잉에서 수집된 거래내역 테이블을 Join하여 검색하는 알고리즘에 바탕을 둔 것이다. 

 

 어떤 방법을 사용해아 KB의 거래내역이 모두 후잉에 입력되었음을 확인할 수 있을까? 생각을 해보자....

 

 가장 큰 문제점은 후잉의 입력이 날짜 Base로 들어간다는 것이다 그래서 날자와 금액으로는 동일 날짜에 같은 금액으로 여러번 이루어진 거래내역을 구별할 수 없다. 


각각의 거래내역을 구별하기위해서 메모에다가 KB거래내역에서 얻어진 날짜를 맨앞에 삽입하는 것은 어떨까? 다음과 같은 알고리즘이 되겠다. 


  KB에서 수집된 거래내역에서 거래 날짜와 시간을 추출하고 이것을 후잉에 KB Account에 입력된 거래내역의 메모날짜와 비교하여 

  거리 내역이 있는지 없는기 구별한다. 다시 말하면 후잉과 KB의 Table의 Join시 사용하는 키를 날짜와 금액이 아닌 메모에서 추출된 시간을 쓴다는 것이다. 


 생길 수 있는 문제점은 KB의 거래내역을 수동으로 입력할 경우 반드시 메모에 은행 홈페이지에서 얻을 수 있는 시간을 넣어야 한다는 것이다. 이 문제는 그냥 손으로 입력을 안하면 해결될 것 같다. 


 나름 괜찮은데? 해보자!




 

 

 

 

 

Posted by 4D 트랙백 0 : 댓글 0

댓글을 달아 주세요


Connected by DNS server, DNS service