본문으로 건너뛰기

"복식 회계" 태그로 연결된 1개 게시물개의 게시물이 있습니다.

모든 태그 보기

Beancount에서 분개 이해하기

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

분개는 복식 회계의 핵심이며, Beancount에서는 작성하는 모든 * 거래가 바로 분개입니다. 이 가이드는 차변과 대변, 조정 분개, 역분개의 핵심 개념을 설명하고, 이를 Beancount의 평문 구문에 어떻게 깔끔하게 매핑하는지 보여줍니다. 최소한의 절차로 정확한 장부를 유지하는 방법을 배울 수 있습니다.


2025-09-02-journal-entries-in-beancount

빠른 복습: 분개란 무엇인가?

분개는 재무 거래를 날짜와 함께 공식적으로 기록한 것입니다. 차변대변으로 표현되며, 기본 회계 방정식을 균형 있게 유지합니다:

Assets=Liabilities+EquityAssets = Liabilities + Equity

복식 시스템에서는 모든 거래가 최소 두 개의 계정에 영향을 미치며, 차변 총액은 대변 총액과 반드시 일치해야 합니다. 이 간단한 규칙 덕분에 손익계산서와 대차대조표 같은 하위 재무 보고서가 신뢰할 수 있고 정확합니다.


1분 안에 이해하는 차변과 대변

차변과 대변 개념은 처음에 혼란스러울 수 있지만, 몇 가지 간단한 규칙으로 정리됩니다. “가치는 어디서 왔는가?” (대변)와 “가치는 어디로 갔는가?” (차변)라고 생각하면 됩니다.

다음은 다섯 가지 핵심 계정 유형을 어떻게 증가시키는지 보여주는 요약표입니다:

계정 유형증가 방식
자산차변
비용차변
부채대변
자본대변
수익대변

Beancount에서 분개는 어떻게 보이는가

Beancount는 간단하고 사람이 읽기 쉬운 텍스트 지시문으로 거래를 기록합니다. 각 거래는 모든 통화(예: USD, EUR, AAPL 주식)마다 합계가 0이 되어야 합니다. 균형이 맞지 않으면 Beancount가 오류를 발생시킵니다.

다음은 커피를 구매하는 기본 거래 예시입니다:

2025-09-10 * "Coffee Bar" "팀 커피"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD

두 개의 포스팅(계정이 적힌 줄)이 합쳐서 0이 되는 것을 확인하세요: $18.00 + (-$18.00) = 0.

태그(예: #clientX)와 링크(예: ^INV-2025-001)를 사용해 내러티브에 직접 컨텍스트를 추가하고, 보고서에서 쉽게 필터링하거나 관련 항목을 연결할 수 있습니다.

예를 들어, 청구서와 결제를 연결하는 방법은 다음과 같습니다:

; 먼저, 고객에게 보낸 청구서를 기록합니다
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD

; 나중에, 결제를 기록하고 원래 청구서와 연결합니다
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD

#clientX 태그를 사용하면 해당 고객의 모든 거래를 쉽게 필터링할 수 있고, ^INV-2025-001 링크는 두 항목 사이에 연결 고리를 만들어 보고서에서 추적할 수 있습니다.


바로 사용할 수 있는 일반적인 분개 예시

다음은 Beancount 형식으로 정리한 여러 일반 비즈니스 거래 예시입니다.

소유주 현금 투자

소유주가 개인 자금을 사업에 투입합니다.

2025-01-01 * "Owner" "초기 자본 투자"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD

현금 판매와 부가세

고객이 현금으로 제품을 구매하고, 8% 부가세를 포함합니다. 부가세는 나중에 정부에 납부해야 합니다.

2025-01-05 * "Walk-in Customer" "현금 판매 (8% 세금 포함)"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD

외상 매출(청구서) 및 회수

서비스를 제공하고 청구서를 발행한 뒤, 나중에 결제를 받습니다.

2025-01-10 * "Acme Corp" "Consulting invoice ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD

2025-01-30 * "Acme Corp" "Payment on ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD

신용카드 사용 비용

회사 신용카드로 사무용품을 구매합니다.

2025-01-12 * "OfficeMax" "신용카드 사용 사무용품"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD

급여 (단순 모델)

급여를 지급하면서 총 급여 비용, 직원 세금 원천징수, 은행에서의 순지급액을 기록합니다.

2025-01-31 * "Payroll" "1월 급여 및 원천징수"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD

월별 감가상각

노트북 같은 자산에 대한 월별 감가상각 비용을 기록합니다.

2025-01-31 * "Depreciation" "노트북, 직선법"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD

선불 비용 및 월별 상각

연간 보험료를 한 번에 선불로 지불하고, 매월 비용을 인식합니다.

; 1. 연간 보험료 선불 결제
2025-01-01 * "InsureCo" "연간 보험료"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD

; 2. 1월 말에 한 달분 비용 인식
2025-01-31 * "InsureCo" "보험료 1/12 상각"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD

이연 수익 및 월별 인식

고객이 3개월 구독 서비스를 선불로 결제합니다. 현금을 기록한 뒤, 매월 수익을 인식합니다.

; 1. 서비스 선불 결제
2025-02-01 * "Subscriber" "3개월 구독 선불"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD

; 2. 1개월분 수익 인식
2025-02-28 * "Recognition" "1개월 구독 수익 인식"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD

대손충당금 설정 및 차감

채권 회수 가능성이 낮은 청구서에 대한 충당금을 설정하고, 실제로 회수 불가능한 청구서를 차감합니다.

; 1. 매출채권의 2%에 해당하는 충당금 설정
2025-03-31 * "Provision" "매출채권 2% 충당금"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD

; 2. 회수 불가능한 청구서 차감
2025-04-15 * "Write-off" "고객 XYZ 청구서 차감"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD

주기적 재고 및 매출원가 조정

기간 말에 재고조사를 통해 매출원가(COGS)를 조정합니다.

2025-03-31 * "COGS adjustment" "주기적 재고 방법"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD

조정 분개 vs. 역분개

조정 분개는 회계 기간(월말·분기말 등) 말에 매출·비용을 실제 발생 시점에 맞추기 위해 기록합니다. 여기에는 발생액, 이연액, 감가상각 등 추정치가 포함됩니다.

역분개는 선택 사항으로, 다음 기간 첫 날에 이전 기간의 특정 조정 분개를 정확히 반대로 기록합니다. 이렇게 하면 이후 현금 거래를 표준 방식으로 기록할 때 별도의 부채 계정을 생각할 필요가 없어 장부 관리가 간편해집니다.

예시: 공과금 발생액과 역분개

1월에 공과금 비용을 발생시키지만 청구서는 2월에 도착한다고 가정합니다.

; 1. 1월 말에 추정 비용 발생액 기록
2025-01-31 * "Accrual" "1월 공과금 추정 비용"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD

; 2. (선택) 다음 기간 첫 날에 역분개
2025-02-01 * "Reversal" "1월 공과금 역분개"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD

; 3. 실제 청구서가 2월에 도착했을 때 결제 기록
; 실제 청구액은 $520입니다. 역분개 덕분에 전체 금액을 비용 계정에 바로 기록할 수 있습니다.
; 2월 순 비용은 $520 - $500 = $20이 됩니다.
2025-02-10 * "City Utilities" "1월 청구서 결제"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD

Note: 위 예시는 최종 결제 시 금액을 나누어 기록하는 방법을 보여줍니다. 역분개 방식은 결제 기록을 단순화하는 대안입니다.


Beancount 분개 체크리스트

다음 절차를 따라 입력이 깔끔하고 정확한지 확인하세요:

  1. 날짜(YYYY-MM-DD)와 거래 플래그(*)를 입력합니다.
  2. 거래 상대와 설명을 적습니다. 검색을 위해 #tags^links를 활용합니다.
  3. 각 통화마다 두 개 이상의 포스팅 라인을 넣어 합계가 0이 되도록 합니다.
  4. Assets, Liabilities, Equity, Income, Expenses 다섯 가지 유형에 맞는 계정명을 사용합니다.
  5. 필요에 따라 document: "invoices/INV-2025-001.pdf"와 같은 메타데이터를 추가해 추적성을 높입니다.

흔히 저지르는 실수 (Beancount가 도와주는 부분)

  • 불균형 포스팅: 차변·대변 합계가 0이 아니면 Beancount가 입력을 거부합니다. 이는 오류를 사전에 방지하는 핵심 기능입니다. 금액을 비워두면 Beancount가 자동으로 계산해 줍니다.
  • 계정 부호 오류: Income, Equity, Liabilities는 대변(보통 음수)으로 증가한다는 점을 놓치기 쉽습니다. 잘못 입력하면 보고서가 이상하게 보이지만, 균형 규칙이 안전망 역할을 합니다.
  • 링크 누락: 청구서와 결제를 연결하지 않으면 미수금 파악이 어려워집니다. ^links를 일관되게 사용하면 감사 가능한 흐름을 만들 수 있습니다.

다음 단계

  • Beancount 언어 및 균형 규칙: 공식 문서를 깊이 있게 살펴보세요.
  • 구문 요약표: 모든 Beancount 지시문을 한눈에 볼 수 있는 참고 자료.
  • 차변·대변 입문: 회계 규칙이 처음이라면 좋은 시작점.
  • 조정·역분개: 회계 이론에 대한 자세한 기사.

부록: 회계 용어 → Beancount 매핑

이 간단한 변환표를 활용하면 회계 지시를 Beancount 구문으로 바로 옮길 수 있습니다.

회계 지시Beancount 동작
비용 차변Expenses: 계정에 양수 금액
부채 대변Liabilities: 계정에 음수 금액
매출 발생액Assets:AccountsReceivable +
Income:* -
매출 이연Assets:Bank:* +
Liabilities:Unearned:* -
이연 매출 인식Liabilities:Unearned:* +
Income:* -

이러한 패턴과 예시를 통해 거의 모든 비즈니스 이벤트를 Beancount에 깔끔하게 모델링할 수 있으며, 재무 보고서가 예상치 못한 오류 없이 정확히 맞춰집니다.