텍스트 기반 회계 시스템, 개인 재정 관리의 새로운 지평을 열다!
개인 재정 관리를 위한 plain-text accounting 시스템 구축 방법을 제시하며, Beancount를 핵심 도구로 활용함.
이중 엔트리 부기 방식을 통해 자산, 부채, 수입, 지출을 정확하게 기록하고, 자동화된 임포터를 활용하여 효율성을 높임.
커뮤니티는 수동 입력의 번거로움과 학습 곡선에 대한 우려를 표명하지만, 데이터의 투명성과 유연성에 높은 가치를 부여함.
이중 엔트리 부기의 핵심 원리
이중 엔트리 부기는 모든 거래를 최소 두 개의 계정으로 기록하여 거래의 완전성을 보장한다. 구체적으로, 자산, 부채, 자본, 수입, 지출의 5가지 계정 유형을 정의하고, 각 거래는 반드시 차변과 대변으로 나뉘어 기록된다. 따라서, 자산 계정과 부채 계정의 정확한 관리를 통해 재정 상태를 투명하게 파악하고, 오류 발생 가능성을 최소화한다.
PDF 기반 자동 임포터 구축
PDF 기반 자동 임포터는 은행 명세서의 고정 폭 텍스트를 분석하여 거래 내역을 추출한다. 구체적으로, `pdftotext`를 사용하여 PDF를 텍스트로 변환하고, Pandas의 `read_fwf` 함수를 활용하여 열을 파싱한다. 반면, 텍스트 정렬이 불규칙한 경우 Tabula를 사용하여 테이블 데이터를 추출하고, Beangulp 프레임워크를 통해 Beancount 거래로 변환한다. 따라서, 자동화된 데이터 추출을 통해 수동 입력의 번거로움을 줄이고, 데이터 정확성을 확보한다.
Beancount 플러그인 활용 및 시스템 확장
Beancount 플러그인을 활용하여 계정 관리 및 데이터 검증을 자동화한다. 구체적으로, `beancount_reds_plugins.zerosum` 플러그인을 사용하여 미결제 거래를 관리하고, `beancount.plugins.close_tree` 플러그인을 통해 계정 폐쇄를 자동화한다. 따라서, 데이터 무결성을 유지하고, 시스템의 확장성을 확보한다. 결과적으로, 개인 재정 관리 시스템의 유지 보수성을 향상시킨다.