꼭 알아야 할 필수 Beancount 내장 플러그인
Beancount의 강력함은 단순한 텍스트 형식뿐만 아니라 플러그인을 통한 확장성에도 있습니다. 기본 플러그인은 Beancount의 기능을 향상시키고, 번거로운 작업을 자동화하며, 회계 모범 사례를 준수하도록 돕는 내장 모듈입니다. 이 종합 가이드에서는 Beancount에서 제공하는 모든 기본 플러그인과 이를 효과적으로 사용하는 방법을 살펴봅니다.
Beancount 플러그인이란 무엇인가요?
Beancount 플러그인은 원장 항목을 처리하여 자동화, 검증 또는 변환 기능을 추가하는 Python 모듈입니다. 이들은 원장 파일을 로드하는 단계에서 실행되며 다음과 같은 역할을 수행할 수 있습니다:
- 반복적인 작업 자동화 (예: 계정 선언 생성)
- 데이터 무결성 검증 (예: 중복 거래 확인)
- 항목 변환 (예: 거래에서 가격 항목 생성)
- 회계 규칙 강제 (예: 계정당 하나의 통화 사용)
플러그인 사용 방법
Beancount 파일에서 플러그인을 활성화하려면 원장 상단에 plugin 지시어를 추가하세요:
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.implicit_prices"
일부 플러그인은 설정 옵션을 허용합니다:
plugin "beancount.plugins.check_commodity" "USD,EUR,CAD"
기본 플러그인 카테고리
Beancount의 기본 플러그인은 크게 네 가지 카테고리로 나뉩니다:
1. 자동화 플러그인 (Automation Plugins)
2. 검증 플러그인 (Validation Plugins)
3. 변환 플러그인 (Transformation Plugins)
4. 메타 플러그인 (Meta-Plugins)
1. 자동화 플러그인
이 플러그인들은 반복적인 장부 정리 작업을 자동화하여 시간을 절약하고 수동 실수를 줄여줍니다.
auto_accounts - 자동 계정 선언
기능: 거래에는 나타나지만 명시적으로 선언되지 않은 계정에 대해 Open 지시어를 자동으로 삽입합니다.
사용 이유: 모든 계정을 사용하기 전에 수동으로 선언할 필요가 없습니다. 빠르게 시작하고 싶거나 보일러플레이트 코드를 최소화하려는 사용자에게 적합합니다.
예시:
plugin "beancount.plugins.auto_accounts"
2026-01-01 * "커피숍"
Expenses:Food:Coffee 4.50 USD
Assets:Cash -4.50 USD
플러그인이 없다면 다음과 같이 수동으로 추가해야 합니다:
2025-12-01 open Expenses:Food:Coffee
2025-12-01 open Assets:Cash
사용 시기: 초보자나 덜 장황한 원장을 원하는 사용자에게 이상적입니다. 하지만 명시적인 계정 선언은 오타를 잡아내는 데 도움이 될 수 있습니다.
close_tree - 자동 계정 계층 구조 닫기
기능: 상위 계정을 닫을 때 해당 계정의 모든 하위 계정을 자동으로 닫습니다.
사용 이유: 계정 계층 구조의 일관성을 유지합니다. Assets:Investments를 닫으면 Assets:Investments:Stocks 및 Assets:Investments:Bonds와 같은 모든 하위 계정이 자동으로 닫힙니다.
예시:
plugin "beancount.plugins.close_tree"
2025-06-30 close Assets:Investments
; 다음 계정들은 자동으로 닫힙니다:
; Assets:Investments:Stocks
; Assets:Investments:Bonds
; Assets:Investments:RealEstate
사용 시기: 계정 계층 구조를 재구성하거나 특정 카테고리의 계정을 한꺼번에 닫을 때 사용합니다.