이 가이드는 Beancount의 custom 지시문과 Fava 웹 인터페이스를 사용하여 계정별 예산을 설정, 관리 및 시각화하는 방법을 설명합니다.
작동하는 원장 예제: 각 봉투를 실제 은행 계정 위에 겹쳐진 자본 하위 계정으로 모델링하세요. 급여를 배분하면 자본 내에서 가치가 이동하고, 구매는 현금 이동과 예산 결정을 모두 기록합니다.
예산 설정 방법
예산은 Beancount 파일에서 custom "budget" 지시문을 사용하여 정의됩니다. 구문은 간단합니다:
YYYY-MM-DD custom "budget" AccountName "interval" Amount CURRENCYAccountName: 예산을 설정하려는 특정 비용 또는 수입 계정입니다.interval: 예산 기간입니다.daily,weekly,monthly,quarterly또는yearly중 하나여야 합니다.Amount: 해당 기간의 목표 금액입니다.
작동 방식:
- 예산 지시문은 해당 날짜부터 동일한 계정에 대한 다른 예산 지시문이 이를 대체할 때까지 유효합니다.
- Beancount와 Fava는 모든 예산을 일일 기준 금액으로 분해하여 모든 날짜 범위에 대한 총 예산 금액을 계산할 수 있도록 합니다.
예시:
; 커피에 대한 일일 예산 설정
2024-01-01 custom "budget" Expenses:Food:Coffee "daily" 5.00 USD
; 식료품에 대한 월간 예산 설정
2024-01-01 custom "budget" Expenses:Food:Groceries "monthly" 600.00 USD
; 휴가에 대한 연간 예산 설정
2024-01-01 custom "budget" Expenses:Travel:Vacation "yearly" 3000.00 USD예산을 조정하려면 더 늦은 날짜의 새 지시문을 추가하기만 하면 됩니다. 예를 들어, 3월부터 식료품 예산을 늘리려면:
2024-03-01 custom "budget" Expenses:Food:Groceries "monthly" 650.00 USDFava에서 예산 시각화
Beancount의 웹 인터페이스인 Fava는 여러 주요 보고서에서 예산을 자동으로 감지하고 표시하여 실제 지출과 목표를 비교할 수 있도록 합니다:
- 손익계산서: 순이익 및 비용 차트에 예산 대비 실제 값이 표시됩니다.
- 변동 (월별): 각 월별 예산 금액을 표시합니다.
- 잔액 (월별): 시간에 따른 누적 예산 금액을 표시합니다.
고급 예산 관리 기법
예산 이월
기본 예산 시스템은 각 기간마다 초기화됩니다. 사용하지 않은 자금을 이월하려면 예산 자금을 보관할 전용 자산 계정을 사용하세요.
-
기간 시작 시 예산 계정에 자금을 조달합니다:
2024-02-01 * "월간 엔터테인먼트 예산 조달" Assets:Checking -200.00 USD Assets:Budget:Entertainment 200.00 USD -
이 예산 계정에서 직접 지출합니다:
2024-02-15 * "영화 관람" Expenses:Entertainment:Movies 30.00 USD Assets:Budget:Entertainment -30.00 USDAssets:Budget:Entertainment의 남은 잔액이 이월 금액입니다.
수입 목표 추적
음수 예산 금액을 사용하여 수입 계정에 대한 목표를 설정할 수도 있습니다. 이를 통해 Fava에서 목표 대비 실제 수입을 추적할 수 있습니다.
; 월간 수입 목표 설정
2024-01-01 custom "budget" Income:Salary "monthly" -5000.00 USD
2024-01-01 custom "budget" Income:Freelance "monthly" -1000.00 USD문제 해결
Fava에 예산이 표시되지 않는 경우 다음 사항을 확인하세요:
- 날짜 형식: 날짜가
YYYY-MM-DD형식인지 확인하세요. - 계정 이름: 지시문의 계정 이름이 거래의 계정 이름과 정확히 일치하는지 확인하세요.
- 기간 철자: 기간이 다섯 가지 유효한 옵션(
daily,weekly,monthly,quarterly,yearly) 중 하나이며 소문자인지 확인하세요. - Fava 다시 시작: 지시문을 추가한 후 변경 사항을 적용하려면 Fava 서버를 다시 시작해야 할 수 있습니다.

