Beancount에서 발생비용: 실전 가이드 (복사-붙여넣기 원장 예시 포함)
발생비용은 월말 마감이 쌓이기 시작할 때까지는 추상적으로 들릴 수 있습니다. 이는 적절한 발생주의 회계의 초석으로, 현금이 실제로 이동하는 시점이 아니라 경제적 실체를 재무보고에 반영하도록 합니다. 여기서는 발생비용이 무엇인지, 왜 중요한지, 그리고 평문 원장에 어떻게 기록·반전·보고하는지 Beancount 중심으로 명확히 안내합니다.
TL;DR ⚡
- 발생비용은 이번 기간에 발생했지만 아직 지급되지 않은 비용입니다. 현금이 나갈 때까지 부채로 기록됩니다.
- Beancount에서는 간단합니다:
Expenses:
계정을 차변에,Liabilities:Accrued:
계정을 대변에 기록합니다. 이후 지급 시 부채를 정산합니다.- 보고하려면,
CLOSE ON
과CLEAR
옵션을 사용한bean-query
를 실행하면 특정 날짜 기준으로 미지급 금액을 확인하고 깔끔한 대차대조표 스냅샷을 얻을 수 있습니다.
발생비용이란?
발생비용은 기업이 이미 발생했지만 아직 지 급하지 않은 비용을 말합니다. 서비스가 제공되었거나 비용이 발생한 시점에 청구서가 아직 도착하지 않았거나 지급 기한이 오지 않았더라도 기록합니다. 이는 발생주의 회계의 매칭 원칙에 따라 비용을 해당 비용이 기여한 수익과 동일한 기간에 기록하도록 합니다.
- 월말에 발생했지만 다음 달에 지급되는 직원 급여
- 12월에 사용했지만 1월에 청구되는 전기·수도 등 공과금
- 한 달 동안 누적됐지만 아직 계좌에서 인출되지 않은 대출 이자
이러한 비용을 발생 시점에 기록함으로써 해당 기간에 대한 기업의 재무성과를 보다 정확히 파악할 수 있습니다.
Beancount가 생각하는 방식 (30초 안에)
Beancount는 평문 기반의 복식부기 회계 시스템입니다. 모든 항목은 텍스트 파일에 날짜가 지정된 지시문이나 거래로 기록됩니다. 시스템은 다섯 가지 핵심 계정 유형인 자산(Assets), 부채(Liabilities), 자본(Equity), 수익(Income), 비용(Expenses) 위에 구축됩니다.
거래는 항상 날짜 순으로 정렬됩니다. 중요한 점은 balance
어설션이 같은 날의 거래가 처리되기 전에 검증된다는 것입니다. 이는 체크와 반전 항목을 배치할 때 기억해야 합니다.
마지막으로 bean-query
언어는 강력한 SQL 유사 방식으로 보고서를 생성합니다. OPEN ON
, CLOSE ON
, CLEAR
같은 연산자를 사용하면 재무제표에 대한 정확한 '시점' 뷰를 만들 수 있습니다.
권장 계정표 (Chart of Accounts)
깨끗하고 계층적인 계정표는 최고의 파트너입니다. 발생비용의 경우 구조가 간단합니다. 다음과 같은 계정이 필요합니다:
- 비용 계정: 예)
Expenses:Utilities
,Expenses:Payroll:Wages
- 해당 부채 계정: 예)
Liabilities:Accrued:Utilities
,Liabilities:Accrued:Payroll
- 현금 계정: 예)
Assets:Bank:Checking
Beancount는 다섯 가지 최상위 계정 유형을 강제합니다. 계정명을 체계적으로 정리하면 향후 쿼리와 보고서 작성이 훨씬 쉬워집니다.
핵심 패턴 (플러그인·매직 없이)
Beancount에서 발생비용을 처리하는 가장 직접적인 방법입니다. 두 단계로 구성됩니다: 월말에 비용을 발생시키고, 지급 시 부채를 정산합니다.