본문으로 건너뛰기

Beancount 분개: 사용법, 정의 및 예시

게시됨 마지막 업데이트 약 4분Mike ThriftMike Thrift
Beancount 분개: 사용법, 정의 및 예시

귀사의 모든 재무 거래는 기록되어야 하며, 플레인텍스트 회계의 세계에서 이는 **분개(journal entries)**에서 시작됩니다. Beancount를 사용하고 있다면, 분개에 대한 이해는 정확하고 감사 가능하며 깔끔한 재무 기록을 구축하는 데 핵심입니다.

이 가이드는 다음 내용을 안내합니다:

  • 분개란 무엇인가
  • 분개가 중요한 이유
  • Beancount 구문으로 작성하는 방법
  • 효과적으로 사용하는 방법
  • 실생활 거래 예시 (클라이언트 결제, 구매, 대출 등)

🧾 Beancount에서 분개란 무엇인가?

Beancount에서 분개는 사람이 읽을 수 있는 플레인텍스트 형식으로 작성된 날짜가 있는 거래입니다. 각 항목은 복식부기(double-entry accounting) 원칙을 따릅니다—돈이 어디에서 오는지(대변)와 어디로 가는지(차변)를 기록하여 장부가 항상 균형을 이루도록 보장합니다.

예시:

2024-06-01 * "송장 #123에 대한 클라이언트 결제"
  Assets:Bank:Checking     600.00 USD
  Income:Sales
  • *는 완료된 거래를 나타냅니다.
  • 설명은 항목에 대한 맥락을 제공합니다.
  • Assets:Bank:Checking은 차변 처리됩니다.
  • Income:Sales는 대변 처리됩니다(금액은 암시됨).

모든 항목은 .beancount 파일 안에 있으며, 버전 관리하고 백업할 수 있으며 Vim이나 VSCode에서도 편집 가능한 단순한 텍스트 파일입니다.

📒 분개가 중요한 이유

분개는 원장의 최소 단위입니다.

이는 다음과 같이 활용됩니다:

  • 총계정원장(General Ledger)계정 잔액에 데이터를 제공
  • 모든 보고서를 구동: 손익계산서, 재무상태표, 현금흐름표
  • 모든 달러를 한 줄씩 출처까지 추적 가능

올바른 도구를 사용하면 이러한 거래가 UI에 렌더링되어 분류되고, 검색 가능하며, 필터링 가능합니다. 하지만 모든 것은 단순한 플레인텍스트 항목에서 시작됩니다.

📚 Beancount에서 복식부기의 작동 방식

Beancount는 복식부기를 강제합니다. 모든 거래는 균형을 이루어야 합니다: 차변 합계 = 대변 합계.

빠른 규칙:

  • 차변: 자산과 비용 (현금을 얻거나 비용을 발생시킴)
  • 대변: 수익과 부채 (돈을 벌거나 부채를 발생시킴)

예시 – 사무용품 구매:

2024-06-02 * "프린터 잉크 구매"
  Expenses:OfficeSupplies   100.00 USD
  Assets:Bank:Checking

🧠 항목 시각화

파일을 저장하면, https://beancount.io/ledger/0/income_statement/ 의 왼쪽 네비게이션에서 다음을 볼 수 있습니다...

  • Journal View: 검색, 태그, 필터링 기능이 있는 거래 보기
  • Account Filter Dropdown: 누적 잔액 및 계정별 항목 보기
  • 손익계산서: Income:*Expenses:* 계정의 합계
  • 재무상태표: 자산에서 부채를 뺀 값

Fava는 원시 Beancount 항목을 데이터베이스 설정 없이 실행 가능한 보고서로 변환해줍니다.

💡 일반적인 분개 예시

✅ 클라이언트로부터 결제를 받음

2024-06-05 * "송장 #456 결제"
  Assets:Bank:Checking     1,200.00 USD
  Income:Consulting

선택사항: 미수금을 사용하는 경우:

2024-05-20 * "송장 #456 발송"
  Assets:AccountsReceivable   1,200.00 USD
  Income:Consulting
 
2024-06-05 * "송장 #456 결제"
  Assets:Bank:Checking        1,200.00 USD
  Assets:AccountsReceivable  -1,200.00 USD

🖨️ 사무용품을 구매함

2024-06-07 * "문구점 구매"
  Expenses:OfficeSupplies     85.00 USD
  Assets:Bank:Checking

🏦 대출금을 상환함

이자 200달러, 원금 800달러로 총 1,000달러를 상환한다고 가정해 보겠습니다:

2024-06-10 * "대출 상환"
  Liabilities:Loan           -800.00 USD
  Expenses:LoanInterest       200.00 USD
  Assets:Bank:Checking      -1,000.00 USD

🔒 연말 결산 항목

"장부를 마감"하려면 일반적으로 모든 IncomeExpenses 계정을 Equity로 이전합니다.

2024-12-31 close Income:*
2024-12-31 close Expenses:*

또는 수동으로:

2024-12-31 * "장부 마감"
  Equity:RetainedEarnings     45,000.00 USD
  Income:Consulting          -45,000.00 USD

🛠️ 조정 항목

발생주의 회계를 수행하는 경우, 조정 항목을 추가해야 합니다—선급비용, 미수 수익 등.

예시: 월 100달러의 소프트웨어 구독료를 연간으로 결제

2024-01-01 * "연간 소프트웨어 결제"
  Assets:Prepaid             1,200.00 USD
  Assets:Bank:Checking      -1,200.00 USD
 
2024-01-31 * "월별 상각"
  Expenses:Software           100.00 USD
  Assets:Prepaid             -100.00 USD

스크립트나 사용 가능한 Beancount 도구로 자동화하세요.

🧰 Beancount: 가볍고, 감사 가능하며, 강력함

Beancount는 단순한 회계 도구가 아니라 하나의 아이디어입니다: 투명하고 플레인텍스트로 표현된 재무적 진실. 다음과 같은 현대적인 원장 시스템입니다:

  • 버전 관리 용이 (Git!)
  • 완전한 이식성 (독점적인 데이터베이스 없음)
  • 개발자, 프리랜서, 소규모 비즈니스에 최적

시작할 준비가 되셨나요?

다음과 같이 Beancount 파일을 시작하세요:

option "title" "내 비즈니스 원장"
option "operating_currency" "USD"
 
2024-01-01 open Assets:Bank:Checking USD
2024-01-01 open Income:Sales USD
2024-01-01 open Expenses:OfficeSupplies USD
2024-01-01 open Equity:OpeningBalances USD
 
2024-01-01 * "초기 잔액"
  Assets:Bank:Checking     10,000.00 USD
  Equity:OpeningBalances

그런 다음 선호하는 시각화 도구로 파일을 불러와 마법을 확인하세요.

더 쉬운 시작을 원하시나요? 템플릿, 임포터, 또는 bean-extract와 같은 커뮤니티 도구를 활용해보세요.

Beancount를 사용하면 장부가 드디어 _본인만의 것_이 됩니다—간단하고, 스크립트 가능하며, 감사 가능한 형태로.

다운로드 가능한 PDF 버전이나 소상공업에 특화된 예시 변형이 필요하시면 알려주세요.

이 글 공유하기