Beancount 언어 구문
이 문서는 실용적인 구조, 규칙 및 예제를 결합하여 Beancount 언어 구문에 대한 간결하면서도 포괄적인 참조를 제공합니다. 자세한 내용은 치트 시트를 참조하십시오.
개요
Beancount는 일반 텍스트 복식 부기 회계 시스템입니다. 이 언어는 세 가지 주요 구성 요소를 중심으로 구성됩니다.
- 상품 (통화, 주식, 포인트 등)
- 계정 (계층적, 분류된 원장)
- 지시어 (이벤트 또는 구성을 기록하는 날짜가 있는 항목)
상품
상품은 항상 대문자로 작성됩니다 (예: USD
, EUR
, AAPL
, BTC
, MILES
, HOURS
).
계정
계정은 콜론으로 구분된 대문자 계층적 이름입니다. 다음 다섯 가지 루트 계정 유형 중 하나로 시작해야 합니다.
이름 | 유형 | 일반적인 내용 | 예시 |
---|---|---|---|
Assets | + | 현금, 은행, 투자 | Assets:Checking |
Liabilities | - | 신용 카드, 대출 | Liabilities:CreditCard |
Income | - | 급여, 이자 | Income:EmployerA |
Expenses | + | 구매, 청구서 | Expenses:Food:Dining |
Equity | - | 기초/기말 잔액 | Equity:Opening-Balances |
- 구성 요소는 대문자로 표시되어야 하며 콜론 (
:
)으로 구분되고 공백이 없어야 합니다. - 숫자와 대시는 구성 요소에 사용할 수 있습니다.
- 루트 계정 이름은 옵션을 통해 사용자 정의할 수 있습니다 (아래 참조).
지시어
지시어는 Beancount 파일의 핵심 구문입니다. 대부분은 날짜로 시작하고 그 뒤에 지시어 유형 및 인수가 옵니다. 지시어는 파일 순서가 아닌 연대순 (날짜별)으로 처리됩니다.
일반적인 형식:
YYYY-MM-DD <지시어> <인수...>
일반적인 지시어 및 예제
계정 열기 및 닫기
2023-01-01 open Assets:Checking USD,EUR ; 선택적으로 허 용되는 통화 지정
2023-12-31 close Assets:Checking
상품 선언
2020-07-22 commodity AAPL
name: "Apple Inc."
가격 선언
2022-04-30 price AAPL 150.00 USD
메모 및 문서
2022-03-20 note Assets:Checking "환불 문의"
2022-03-20 document Assets:Checking "statements/2022-03.pdf"
거래
2024-01-05 * "커피숍" "아침 커피"
Expenses:Food 4.50 USD
Assets:Cash -4.50 USD
2024-01-06 ! "전화 요금" "월별 결제" #유틸리티 ^phone
id: "INV12345" ; 메타데이터
Expenses:Utilities 60.00 USD
Assets:Checking
포스팅 기능
; 취득원가 기준
Assets:Stocks 1 AAPL {150.00 USD}
; 가격 주석 포함
Assets:Cash -100 USD @ 1.25 CAD
; 총 가격 포함
Assets:Cash -100 USD @@ 125.00 CAD
; 암시적 잔액
Assets:Cash -100 USD
Assets:Bank
잔액 확인 및 채우기
2024-06-01 balance Assets:Checking 1000.00 USD
2024-06-01 pad Assets:Checking Equity:Opening-Balances
이벤트
2024-06-01 event "location" "샌프란시스코, CA"
옵션
파일 전체 구성 설정:
option "title" "내 원장"
option "operating_currency" "USD"
option "documents" "docs/"
option "name_assets" "Vermoegen"
자세한 내용은 옵션 참조를 참조하십시오.
플러그인 및 파일 구성
plugin "beancount.plugins.module_name"
plugin "beancount.plugins.module_name" "config-string"
include "other/file.beancount"
pushtag #project
; ...
poptag #project
중요 규칙
- 모든 거래의 균형이 맞아야 합니다 (모든 포스팅의 합계는 0이어야 함, 취득원가 기준이 있는 경우 사용).
- 계정은 사용하기 전에 열어야 합니다. 닫힌 계정은 포스팅을 수락할 수 없습니다.
- 잔액 확인은 지정된 통화만 확인하며 상위 계정에서 사용할 수 있습니다.
- 가격 주석 (
@
)은 정보 제공용이며 잔액 조정에 영향을 미치지 않습니다.
일반적인 패턴
초기 잔액으로 계정 열기
2024-01-01 open Assets:Checking USD
2024-01-01 pad Assets:Checking Equity:Opening-Balances
2024-01-01 balance Assets:Checking 1000.00 USD
투자 거 래
2024-01-01 * "주식 매수"
Assets:Broker:Stock 10 AAPL {150.00 USD}
Assets:Broker:Cash -1500.00 USD
다중 통화 거래
2024-01-01 * "통화 교환"
Assets:USD -100.00 USD @ 1.25 CAD
Assets:CAD 125.00 CAD
주석
poptag #trip-to-peru
; 인라인 주석은 세미콜론으로 시작합니다.
* 유효한 지시어로 시작하지 않는 모든 줄은 자동으로 무시됩니다.