본문으로 건너뛰기

"Assets" 태그로 연결된 4개 게시물개의 게시물이 있습니다.

모든 태그 보기

누적 감가상각 (Beancount용): 실용적인 플레인‑텍스트 가이드

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

고정자산(노트북, 카메라, 기계, 사무용 가구 등)을 회계에서 추적한다면, 장부에 자산 가치가 감소하는 것을 반영해야 합니다. 여기에는 두 가지 핵심 개념이 있습니다: 감가상각(비용)과 그 누적 합계인 누적 감가상각. 이 가이드는 두 개념을 쉬운 언어로 설명하고, Beancount에서 복사‑붙여넣기 가능한 예시와 강력한 자동화 옵션을 통해 실제 모델링 방법을 보여줍니다.


2025-08-23-accumulated-depreciation

누적 감가상각이란?

누적 감가상각은 자산이 사용 개시된 이후 기록된 감가상각 총액을 의미합니다. 일종의 진행 중인 합계라고 생각하면 됩니다. 새로운 비용 종류가 아니라, 해당 자산에 대해 지금까지 발생한 모든 감가상각 비용을 합산한 값입니다.

재무제표에서는 누적 감가상각이 자산의 원가와 함께 표시됩니다. 이를 통해 장부를 보는 사람은 역사적 원가(구매 가격)와 순장부가액(현재 장부상 가치)를 동시에 확인할 수 있습니다.

핵심 포인트는 누적 감가상각이 대변자산(contra‑asset) 계정이라는 점입니다. 복잡하게 들릴 수 있지만 개념은 간단합니다:

  • 자산 계정이므로 Assets 섹션에 위치합니다.
  • 하지만 대변(credit) 잔액을 갖습니다(Beancount의 자산 계정에서는 음수 값). 이는 관련 고정자산의 가치를 감소시키는 역할을 합니다.

대차대조표에서 어디에 표시되나요?

누적 감가상각은 일반적으로 해당 고정자산 바로 아래에 표시됩니다. 예시:

장비: 컴퓨터$3,000.00
차감: 누적 감가상각($1,000.00)
장비: 컴퓨터, 순액$2,000.00

많은 재무제표에서는 이를 “유형자산, 순액” 한 줄로 요약합니다. 이 숫자는 모든 자산의 총 원가에서 총 누적 감가상각을 차감한 값으로, 최종 순장부가액을 나타냅니다.


감가상각은 어떻게 계산하나요?

감가상각을 계산하는 방법은 여러 가지가 있습니다. 선택한 방법에 따라 매 기간 기록하는 비용이 달라지고, 이는 누적 감가상각 총액에 누적됩니다. 흔히 쓰이는 두 가지 방법은 다음과 같습니다:

  • 정액법 (Straight‑Line, SL): 가장 단순하고 일반적인 방법입니다. 자산의 내용연수 전체에 걸쳐 매 기간 동일한 금액을 비용으로 인식합니다. 예를 들어, 3,000짜리노트북을36개월(3)동안사용한다면월감가상각액은3,000짜리 노트북을 36개월(3년) 동안 사용한다면 월 감가상각액은 83.33이 됩니다.
  • 세법 전용 방법 (예: 미국의 MACRS): 세무 목적을 위해 정부가 정한 가속 감가상각 일정이 있습니다. 미국의 경우, 수정 가속 원가 회수 시스템(MACRS)을 사용하면 초기 몇 년 동안 더 큰 감가상각 비용을 차감할 수 있습니다. Beancount는 이러한 일정도 손쉽게 처리할 수 있으며, 공식 표(예: IRS Publication 946)를 참고해 금액을 계산한 뒤 해당 분개를 생성하면 됩니다.

공식 (정액법)

기간별 감가상각 = 원가잔존가치내용연수\frac{\text{원가} - \text{잔존가치}}{\text{내용연수}}

누적 감가상각(시점 t 기준) = (기간별 감가상각 up to t)\sum (\text{기간별 감가상각 up to } t)

잔존가치는 내용연수 종료 시점에 예상되는 잔여 가치를 의미합니다. 실무에서는 보통 0으로 가정합니다.


Beancount 방식: 원가와 누적 감가상각 모델링

Beancount에서 고정자산을 원가와 함께 추적하려면 각 카테고리마다 두 개의 자산 계정과 하나의 비용 계정을 사용합니다.

  • Assets:Equipment:Computers:Cost – 원가를 보관
  • Assets:Equipment:Computers:AccumDep – 대변자산, 시간이 지남에 따라 대변 처리
  • Expenses:Depreciation:Computers – 기간별 감가상각 비용 기록

이 구조는 표준 회계 관행을 그대로 반영하며, Beancount에서 고정자산 감가상각을 관리하는 권장 방법입니다.


옵션 A: 수동 정액법 입력

가장 직접적인 방법으로, 모든 분개를 직접 입력합니다. 메커니즘을 이해하는 데 유용합니다.

1. 필요한 계정 열기

2025-01-01 open Assets:Bank:Checking
2025-01-01 open Assets:Equipment:Computers:Cost
2025-01-01 open Assets:Equipment:Computers:AccumDep
2025-01-01 open Expenses:Depreciation:Computers

2. 구매 기록 (원가 기준)

자산을 구입하면 Cost 계정에 차변을 잡습니다.

2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

3. 월별 감가상각 기록

3,000자산을36개월에걸쳐감가상각하면월감가상각액은3,000 자산을 36개월에 걸쳐 감가상각하면 월 감가상각액은 83.33입니다.

2025-02-28 * "Monthly depreciation - MacBook Pro (SL 36mo)"
Expenses:Depreciation:Computers 83.33 USD
Assets:Equipment:Computers:AccumDep -83.33 USD ; 대변자산에 크레딧

이 항목을 36개월 동안 매월 반복하면 Assets:Equipment:Computers:AccumDep 잔액이 점점 더 음수로 누적되어 자산의 순장부가액을 감소시킵니다.

빠른 확인: Fava의 대차대조표나 아래와 같은 간단한 쿼리로 순장부가액을 확인할 수 있습니다.

bean-query myledger.bean "SELECT account, SUM(position) WHERE account   'Assets:Equipment:Computers:(Cost|AccumDep)' GROUP BY account"

두 계정의 합계가 바로 순장부가액입니다.


옵션 B: Fava amortize 플러그인으로 자동화

Fava(Beancount 웹 인터페이스)를 사용하고 매월 일정 금액을 감가상각한다면 자동화가 가능합니다.

먼저 파일 상단에 플러그인을 활성화합니다.

plugin "fava.plugins.amortize_over"

그 다음 전체 감가상각 일정을 한 번에 정의합니다.

; 1. 일반적인 구매 기록
2025-01-20 * "Purchase MacBook Pro"
Assets:Equipment:Computers:Cost 3000.00 USD
Assets:Bank:Checking -3000.00 USD

; 2. 감가상각 일정 설정
2025-01-20 * "Depreciation schedule - MacBook Pro"
amortize_months: 36
Expenses:Depreciation:Computers 3000.00 USD
Assets:Equipment:Computers:AccumDep -3000.00 USD

플러그인은 이 거래를 감지해 매월 $83.33씩 가상 포스팅을 자동 생성합니다. 파일에 실제 기록은 남지 않지만 모든 보고서에 표시됩니다. 정액법에 적합하지만 MACRS와 같은 비정형 일정에는 사용할 수 없습니다.


옵션 C: 서드파티 플러그인으로 실제 거래 자동 생성

실제 파일에 비가상 거래를 기록하고 싶다면 beancount-periodic 같은 플러그인을 사용할 수 있습니다. 이 플러그인은 지정된 주기에 따라 자동으로 분개를 생성해 주어, 수동 입력의 정확성과 자동화의 편리함을 동시에 제공합니다.


결과 확인: 원가, 누적 감가상각, 순장부가액

어떤 방법을 선택하든 대차대조표에는 CostAccumDep 두 계정이 모두 표시됩니다. 두 계정의 합계가 바로 순장부가액이며, 이는 회계사와 재무 분석가가 기대하는 “총 원가 – 누적 감가상각” 형태와 동일합니다.


자산 처분 (판매, 폐기, 은퇴)

자산이 수명 종료 시점에 판매, 폐기, 은퇴 등으로 장부에서 제거해야 합니다. 이때 다음 네 가지 작업이 필요합니다:

  1. 원가 계정 삭제
  2. 누적 감가상각 계정 삭제
  3. 현금 수령 기록
  4. 손익(이익 또는 손실) 기록

예시: 이익이 발생한 판매

2027‑06‑15에 MacBook Pro를 판매한다고 가정합니다.

  • 원가: $3,000
  • 누적 감가상각: -$2,500
  • 순장부가액: $500
  • 판매 금액: $800
  • 이익: $300
2027-06-15 * "Sell MacBook Pro"
Assets:Bank:Checking 800.00 USD ; 현금 수령
Assets:Equipment:Computers:AccumDep 2500.00 USD ; 대변자산 차감
Assets:Equipment:Computers:Cost -3000.00 USD ; 원가 차감
Income:Gains:AssetDisposals -300.00 USD ; 이익 기록

손실이 발생한 경우Income:Gains:AssetDisposals 대신 Expenses:Losses:AssetDisposals 계정을 사용하면 됩니다.


누적 감가상각에 대한 핵심 요약

  • 누적 감가상각은 고정자산에 대해 지금까지 차감된 모든 감가상각 비용의 합계입니다.
  • 대변자산 계정(Assets:…:AccumDep)은 원가와 같은 Assets 섹션에 존재하지만, 대변(credit) 잔액을 가짐으로써 자산 가치를 감소시킵니다.
  • Beancount에서는 Cost, AccumDep, Expenses:Depreciation 세 계정을 조합해 원가와 감가상각을 명확히 구분합니다.
  • 수동 입력, Fava 플러그인, 혹은 서드파티 자동화 플러그인 중 필요와 상황에 맞는 방식을 선택하면 됩니다.

참고 문서 및 추가 자료

  • Beancount 공식 문서 – 기본적인 파일 구조와 계정 관리 방법을 다룹니다.
  • Fava 사용자 가이드 – 플러그인 설정 및 보고서 커스터마이징 방법을 제공합니다.
  • 세법 전용 감가상각 표 – 미국 MACRS, 독일 AfA 등 국가별 표준 일정을 확인할 수 있습니다.
  • 재무 미니멀리즘 – 최소한의 계정 구조로 복잡성을 낮추고 투명성을 높이는 접근법을 소개합니다.

마무리

누적 감가상각은 고정자산의 실제 가치를 장부에 정확히 반영하기 위한 핵심 메커니즘입니다. Beancount의 유연한 계정 구조와 다양한 자동화 옵션을 활용하면, 복잡한 감가상각 일정을 손쉽게 구현하고, 재무 보고서를 깔끔하게 유지할 수 있습니다. 이 가이드가 여러분의 회계 워크플로우에 도움이 되길 바랍니다.

Beancount에서 부동산 거래 모델링

· 약 4분
Mike Thrift
Mike Thrift
Marketing Manager

부동산 거래는 한 가정의 평생 동안 가장 큰 재무 활동이 될 수 있습니다. 이 글에서는 Beancount에서 부동산을 모델링하는 방법을 설명합니다. 저는 부동산을 자산으로 보고, 주택의 가치 상승을 실현되지 않은 이익으로 처리합니다. 또한 모기지는 부채로 모델링하고, 이자를 비용으로 간주합니다.

예를 들어, A씨가 2020년 1월 1일에 캘리포니아 주 XYZ 시 123 ABC 스트리트에 위치한 고급 주택을 100만 달러에 구매했다고 가정해 보겠습니다. 금리는 3.0%, 계약금은 20%, 대출금액은 800,000 달러입니다.

항목금액
대출 금액800,000
금리3%
대출 기간30년
대출 총 비용1,478,219.62
월 상환액4,106.17
주택 보험연 1,300 달러 (총 39,000)
재산세연 7,500 달러 (총 225,000)
대출 상환 완료 시점2049년 12월
총 이자 지급액414,219.62

2023-06-09-tracking-real-estate

모기지 상세 스크린샷

계정 생성

먼저 주택을 자산(Asset)으로 취급합니다. 자산으로 등록되므로 단위를 지정해야 합니다. 여기서는 단위 수량을 1로 두며, 여러 채가 있을 경우 각각 별도의 자산 계정을 만들게 됩니다. 즉, 한 채는 하나의 자산이며, 이 자산의 특별한 단위는 값이 1일 수밖에 없습니다.

2019-12-31 commodity HOUSE.ABC
name: "123 ABC Street, XYZ City, CA, 12345"

2019-12-31 open Assets:Property:US:CA:123ABC HOUSE.ABC
2019-12-31 open Liabilities:Bank:US:SomeBank:Mortgage:Loan USD

첫 번째 줄에서 주택을 나타내는 상품 단위를 정의했습니다. 네 번째 줄에서는 앞서 정의한 상품 단위를 보유하는 자산 계정을 만들었고, 다섯 번째 줄에서는 대출 은행을 위한 부채 계정을 정의했습니다. 부채이므로 Liabilities 카테고리에 속합니다.

구매

위와 같이 계정을 만든 뒤 주택을 구매하는 행위는 다음과 같습니다.

borrowing money (debt) + spending money (down payment) = 1 house in asset

부동산을 구매할 때 가장 중요한 참고 자료는 구매자 정산서(Buyer’s Settlement Statement)이며, 여기에는 자금 흐름이 명확히 표시됩니다.

2020-01-01 * "Buying the house"
Assets:Property:US:CA:123ABC 1 HOUSE.ABC {1,000,000 USD}
Assets:Bank:US:SomeBankA -100,000 USD
Assets:Bank:US:SomeBankB -101,000 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan -800,000.00 USD
Expenses:Home:Insurance 1,000 USD
Expenses:Home:Mortgage:Loan:ClosingCost

위 거래는 주택을 구매하면서 은행에서 돈을 인출(계약금 및 기타 비용)하고, 대출을 받아 부채를 증가시키며, 주택을 자산으로 추가하는 과정을 보여줍니다.

모기지 상환

위 구매 기록에 따르면 현재 800,000 달러를 빚지고 있습니다. 이자는 매월 상환액에 포함되며, 초기에는 이자 비중이 높습니다.

대출 상환을 기록하려면 은행 명세서에서 매월 원금 상환액을 확인하고, 나머지는 이자로 처리하면 됩니다.

2020-02-01 * "Mortgage payment"
Assets:Bank:US:SomeBank:Saving:Joint -3,372.83 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan 1,376.26 USD
Expenses:Home:Mortgage:Loan:Interest

이 항목은 공동 저축 계좌에서 월 상환액을 차감하고, 원금 상환은 부채를 감소시키며, 이자 부분은 비용으로 기록합니다.

가치 상승

부동산의 가치 상승을 기록하고 싶다면 별도의 계정을 만들 수도 있습니다. 하지만 저는 다음과 같은 이유로 이 방법을 사용하지 않습니다.

  1. 현재 주택 가치는 추정치에 불과하며, Redfin이나 Zillow와 같은 사이트에서 얻는 평가액은 실질적인 가치를 반영하지 못합니다. 따라서 실시간으로 총 자산에 반영하는 것은 의미가 적습니다.
  2. 모기지를 모두 상환하기 전까지 현금 흐름이 마이너스라면, 주택은 여전히 부채 성격을 가지고 있습니다. 따라서 자산에 미리 포함시키면 실제보다 부가된 것처럼 보일 수 있어 이를 피하고자 합니다.

제가 사용하는 방법은 가상 통화 단위(virtual currency)인 USD.UNVEST를 활용하는 것입니다. 기본 통화가 USD라면, USD.UNVEST는 새로운 Commodity을 만들 필요 없이 특별 통화로 자산 가치를 표시합니다. 이렇게 하면 주택 가치 상승은 별도 통화에 기록되어 재무제표에는 반영되지 않습니다.

2020-01-01 price HOUSE.ABC                          1,000,000 USD
2025-01-01 price HOUSE.ABC 1,400,000 USD.UNVEST

정기적으로 USD.UNVEST 가격을 업데이트하면 Fava의 Commodity 페이지에서 주택 가격 추이를 확인할 수 있습니다. 하지만 대차대조표에서는 여전히 최초 거래 시점의 가격이 표시됩니다. 즉, 총 자산은 계약금과 현재까지 상환한 원금만을 포함하며, 주택을 실제로 매입했을 때만 변동됩니다.

Property price chart screenshot

판매

아직 실제 매각 사례가 없고 중간에 발생하는 다양한 비용이 명확하지 않으므로 가상의 시나리오를 제시합니다.

2025년 1월 1일에 주택 가치가 1,400,000 달러로 상승했고, 다음과 같은 참고 데이터가 있다고 가정합니다.

항목금액
잔액709,656.20
중개 수수료 (6%)72,000
기타 마감 비용10,000

A씨가 주택을 1,300,000 달러에 매각한다고 하면 다음과 같이 기록합니다.

2025-01-01 * "Selling the house"
Assets:Property:US:CA:123ABC -1 HOUSE.ABC {1,300,000 USD}
Liabilities:Bank:US:SomeBank:Mortgage:Loan 709,656.20 USD
Expenses:Home:Agent:Fee 72,000 USD
Expenses:Home:ClosingCost 10,000 USD
Expenses:Home:Tax 90,000 USD
Assets:Bank:US:SomeBankA

여기서는 5년 중 2년을 자가 거주했으므로 500,000 달러의 가치 상승에 대해 세금을 부과하지 않았다고 가정했습니다. 최종적으로 A씨의 계좌에 입금되는 금액은 418,343.8 달러이며, 이 중 200,000 달러는 계약금, 약 100,000 달러는 이미 지급한 이자입니다. 따라서 순수익은 약 100,000 달러 정도가 됩니다. 실제로는 임대료 절감, 유지보수 비용 등 다양한 요소가 추가로 고려되어야 합니다.

대차대조표에 이를 반영하려면 다음과 같이 가격을 업데이트합니다.

2025-01-01 price HOUSE.ABC                          1,300,000 USD

Beancount에서 감가상각 이해하기

· 약 2분
Mike Thrift
Mike Thrift
Marketing Manager

감가상각은 지급액을 시간에 걸쳐 여러 할부로 나눕니다. beancount.io에서는 플러그인 fava.plugins.amortize_over를 사용하여 이를 구현할 수 있습니다.

2021-01-09-amortize

감가상각을 사용하지 않으면, 차량 보험을 6개월 동안 $600 비용으로 가입하고자 할 경우, 해당 비용을 특정 날짜에 일회성 비용으로 기록해야 합니다.

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto


2017-06-01 * "Pay car insurance"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

하지만 감가상각을 사용하면 파일 상단에 plugin "fava.plugins.amortize_over"를 추가하고 거래에 amortize_months: 6을 지정하여 비용을 6개월에 걸쳐 배분할 수 있습니다.

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortize car insurance over six months"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

그 후 저널에서 해당 거래가 6개의 포스팅으로 분할된 것을 확인할 수 있습니다.

2020-11-01 * Amortize car insurance over six months (6/6) am
2020-10-01 * Amortize car insurance over six months (5/6) am
2020-09-01 * Amortize car insurance over six months (4/6) am
2020-08-01 * Amortize car insurance over six months (3/6) am
2020-07-01 * Amortize car insurance over six months (2/6) am
2020-06-01 * Amortize car insurance over six months (1/6) am

감가상각 거래 스크린샷

Beancount.io 소개

· 약 4분
Mike Thrift
Mike Thrift
Marketing Manager

현대 부기의 중요성

여전히 스프레드시트로 투자를 관리하고 계신가요? 스프레드시트는 다재다능하지만, 포트폴리오가 커질수록 번거롭고 오류가 발생하기 쉽습니다. 여기 Beancount.io가 있습니다 – 주식 및 암호화폐 포트폴리오 관리를 위해 특별히 설계된, 정교하면서도 사용하기 쉬운 투자 추적 플랫폼입니다. 엔지니어와 금융 미니멀리스트를 염두에 두고 만든 Beancount.io는 강력한 기능과 직관적인 인터페이스를 결합해 투자 추적 경험을 간소화합니다.

2019-09-07-introduction-to-beancount

비용

손익계산서

대차대조표

복식부기: 정확성의 기반

Beancount.io는 전 세계 금융 기관이 오랫동안 사용해 온 복식부기 원칙 위에 구축되었습니다. 이 시스템은 간단하면서도 강력한 개념을 통해 수학적 정확성을 보장합니다: 모든 금융 거래는 완벽히 균형을 이루어야 합니다.

복식부기에서는 각 거래에 최소 두 개의 항목이 필요합니다 – 차변(+)과 대변(-) – 서로 다른 계정에 기록됩니다. 이 내장 검증 시스템 덕분에 불균형 거래를 기록하는 것이 사실상 불가능해지며, 재무 기록이 정확하고 신뢰할 수 있게 유지됩니다.

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

위 두 예시에서 보듯이, 모든 거래는 회계 방정식을 만족해야 합니다.

자산 = 부채 + 자본(또는 순자산)

우리는 Martin Blais의 Beancount 구문과 Jakob Schnitzer의 웹 프로젝트 Fava를 사용해 이 웹사이트를 구축했습니다. 그리고 거래의 어느 한쪽이라도 0이 되지 않으면 경고를 표시합니다.

오류 알림

이제 원장을 어떻게 정확히 유지하는지 이해하셨을 것입니다. 그런데 “계정”이란 무엇일까요?

계정 이해하기: 물통 비유

재무 계정을 서로 연결된 물통 시스템이라고 생각해 보세요. 돈은 물처럼 한 통에서 다른 통으로 흐릅니다. 이 비유는 복식부기를 직관적으로 만들어 줍니다: 한 계정에서 다른 계정으로 돈을 옮길 때, 물을 한 물통에서 다른 물통으로 부어 넣는 것과 같으며, 시스템 전체의 물(돈) 양은 변하지 않습니다.

Beancount.io는 다섯 종류의 계정을 제공합니다.

  1. 수익(Income) — 금액은 항상 음수 또는 차변입니다. 이는 수익을 얻을 때 “수익” 계정에서 차변으로 기록되고, 자산 계정으로 대변이 되기 때문입니다.
  2. 비용(Expenses) — 금액은 항상 양수 또는 대변입니다. 이는 비용을 지출할 때 “비용” 계정으로 대변이 되고, 자산 또는 부채에서 차변이 되기 때문입니다.
  3. 부채(Liabilities) — 금액은 양수 또는 0입니다. 신용카드 부채가 좋은 예이며, 주기적으로 증가·감소합니다.
  4. 자산(Assets) — 금액은 양수 또는 0입니다. 현금이나 부동산 등은 언제나 일정 가치를 가집니다.
  5. 자본(Equity) — 순자산을 의미합니다. 시스템이 자동으로 계산합니다. Equity = Assets - Liabilities 로 표시되며, 여러분의 부를 나타냅니다.

이제 위 키워드들을 사용해 맞춤형 계정을 열 수 있습니다:

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

상품을 포함한 고급 투자 추적

Beancount.io는 주식부터 암호화폐까지 다양한 투자를 추적하는 데 뛰어납니다. 복잡한 투자 시나리오를 어떻게 다루는지 살펴보겠습니다. 예를 들어, 2014년에 비트코인 10개를 개당 100달러에 매수한 경우는 다음과 같이 기록합니다:

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

그리고 3년 뒤, 동일한 비트코인을 개당 10,000달러에 매도하면 다음과 같이 기록합니다 (@ 10,000.00 USD 로 표시).

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

같은 거래를 @@ 20,000.00 USD 로 표시하면 총 20,000달러에 매도한 의미가 됩니다.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

거래의 모든 항목, 즉 -2 BTC {100.00 USD} 를 포함한 합계는 언제나 0이 됩니다.

{100.00 USD} 라는 비용 태그는 동일한 상품을 서로 다른 가격에 여러 번 매수했을 때 중요합니다.

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

프로세스를 단순화하고 싶다면 계정을 FIFO 또는 LIFO 로 설정할 수 있습니다. FIFO는 “먼저 들어온 것이 먼저 나간다”, LIFO는 “마지막에 들어온 것이 먼저 나간다”는 의미이며, 미국 IRS는 PnL과 세금을 계산할 때 FIFO 방식을 사용합니다.

1970-01-01 open Assets:Trade:Positions "FIFO"

그 후 -2 BTC {} 와 같이 간단히 매도하면 Beancount가 자동으로 FIFO 전략을 적용해 가장 오래된 상품을 판매합니다.

Beancount.io 시작하기

Beancount.io는 현대적인 클라우드 기반 재무 관리 플랫폼으로, 텍스트 기반 거래 기록을 손익계산서, 대차대조표, 시산표 등 포괄적인 재무 보고서로 변환합니다. 평문 파일의 신뢰성과 강력한 시각화 도구를 결합해 재무 생활을 정확히 통제하면서 투자 성과에 대한 귀중한 인사이트를 제공합니다.

Beancount.io와 함께 재무 여정을 시작하세요 – 프로모션 기간 동안 무료!