본문으로 건너뛰기

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
; 인라인 주석은 세미콜론으로 시작합니다.
* 유효한 지시어로 시작하지 않는 모든 줄은 자동으로 무시됩니다.