본문으로 건너뛰기

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

모든 태그 보기

Beancount에서 다중 파일 지원 도입

· 약 2분
Mike Thrift
Mike Thrift
Marketing Manager

우리 고객 중 많은 분들이 2월부터 하나의 원장에 여러 파일을 추가하는 방법을 문의해 왔습니다. 파일 구조를 통해 거래를 보관하거나 분류하고자 했습니다. 그래서 몇 달간의 작업 끝에, 이 기능을 무료로 출시하게 되어 기쁩니다.

사용 방법은 다음과 같습니다:

파일 > 새 파일 만들기

2021-09-24-multi-file-one-ledger

왼쪽 탐색 사이드바의 파일 편집기 탭으로 이동합니다. 그런 다음 “파일” 드롭다운을 따라 “새 파일 만들기”를 클릭합니다.

File > create a new file

새 파일 이름 지정

유효한 파일명을 입력하고 저장합니다. 모든 파일명은 “.bean”으로 끝나야 합니다.

Name your new file

파일 포함하기

여기서 중요한 단계입니다. 새로 만든 파일을 main.bean에 포함시켜야 합니다.

예를 들어 stock.bean을 추가했다면, main.beaninclude "stock.bean" 를 지정합니다.

Include the file

새로 고침 후 파일 이동

페이지를 새로 고침하면 “파일” 드롭다운에 파일이 나타납니다.

Refresh and go to file

파일 이름 바꾸기 또는 삭제하기

파일로 이동한 뒤 “편집” 드롭다운에서 파일 이름을 바꾸거나 삭제할 수 있습니다.

Rename or delete the file

문제가 있나요?

https://t.me/beancount 에서 질문해 주세요.

Fava 버전 1.19 업그레이드: 주요 변경 사항 및 개선점

· 약 1분
Mike Thrift
Mike Thrift
Marketing Manager

우리는 MIT 라이선스 오픈소스 소프트웨어인 Fava를 버전 1.19로 업그레이드했습니다. 지난 업데이트 이후 변경 사항은 다음과 같습니다:

  • v1.19 (2021-05-18)
    • conversioninterval 옵션에서 default-page 옵션으로 마이그레이션
    • invert-income-liabilities-equity 옵션 추가
    • CodeMirror 6으로 업그레이드
    • 불가리아어 번역 추가
    • 기타 작은 개선 및 버그 수정
  • v1.18 (2021-01-16)
    • 몇 가지 작은 개선 및 다양한 버그 수정.

흥분되시나요? 지금 바로 https://beancount.io/ledger/에서 사용해 보세요

2021-07-16-upgrade-fava-to-1-19

질문이 있으신가요? https://t.me/beancount 에서 언제든 도와드리겠습니다 :)

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

감가상각 거래 스크린샷

iOS 및 Android용 Beancount 모바일 앱 소개

· 약 2분
Mike Thrift
Mike Thrift
Marketing Manager

Beancount의 진화에서 중요한 이정표를 발표하게 되어 기쁩니다: iOS와 Android 플랫폼 모두를 위한 전용 모바일 앱 출시! 이 릴리스는 커뮤니티에서 가장 많이 요청한 기능 중 하나인 모바일 기기에서 원장을 효율적으로 관리할 수 있는 기능을 직접 해결합니다.

Beancount iOS 앱

주요 기능

  • 빠른 거래 입력: 이동 중에도 새로운 거래를 원활하게 추가
  • 모바일 재무 보고: 언제 어디서나 재무 인사이트에 접근
  • 직접 원장 편집: 최적화된 웹 뷰를 통해 원장 파일에 전체 접근
  • 크로스 플랫폼 동기화: 모든 기기에서 재무 데이터를 일관되게 유지

2020-08-19-beancount-mobile-app

커뮤니티 주도 개발

이번 릴리스는 모바일 여정의 시작에 불과합니다. 여러분의 필요와 피드백을 반영해 앱을 지속적으로 발전시킬 예정입니다. 텔레그램 커뮤니티(https://t.me/beancount)에 참여해 Beancount에 대해 논의하고 경험을 공유하며 향후 기능을 함께 설계해 주세요.

우리의 비전

Beancount는 모든 사람이 더 나은 재무 통제와 이해를 얻도록 돕는 것을 사명으로 합니다. 이 모바일 앱은 그 목표를 향한 중요한 단계이며, 앞으로도 많은 흥미로운 기능과 도구가 로드맵에 포함되어 있습니다.

App Store에서 다운로드Play Store에서 다운로드

순이익 101 — 그리고 Beancount에서 추적하는 방법

· 약 4분
Mike Thrift
Mike Thrift
Marketing Manager

비즈니스를 설명하는 수많은 숫자 중에서 가장 중요한 것은 바로 순이익입니다. 이것이 바로 궁극적인 수익성 지표, 흔히 “바텀 라인”이라고 불리는 값이죠. 하지만 이것이 정확히 무엇을 의미하며, 평문 회계 시스템인 Beancount를 사용해 어떻게 정밀하게 추적할 수 있을까요?

한 번 살펴보겠습니다.

2020-03-12-net-income-101-how-to-track-it-in-beancount

순이익이 실제 의미하는 바

핵심적으로 순이익은 비즈니스를 운영하는 데 필요한 모든 비용을 지불한 뒤 남는 금액입니다. 여기에는 매출원가(COGS), 모든 운영비, 부채 이자, 세금이 포함됩니다.

기업 재무 건전성을 가장 명확히 보여주는 단일 지표이며, 모든 이해관계자에게 중요한 수치입니다.

  • 대출기관은 이를 통해 귀사의 대출 상환 능력을 평가합니다.
  • 투자자는 순이익을 배당 가능성 혹은 성장 자본의 원천으로 봅니다.
  • 창업자는 이를 기반으로 재무 여유를 파악하고 전략적 재투자 계획을 수립합니다.

양의 순이익은 수익이 난다는 뜻이고, 음의 순이익은 손실을 의미합니다. 간단하죠.

핵심 공식 (필요한 상세 수준 선택)

순이익을 계산하는 방법은 상세도에 따라 달라집니다. 필요에 맞는 공식을 선택하면 됩니다.

  • 전체 공식: Revenue – COGS – Operating Expenses – Interest – Taxes = Net Income
  • 표준 공식: Revenue – COGS – Expenses = Net Income
  • 간단 공식: Total Revenues – Total Expenses = Net Income

비용에 대한 빠른 팁: COGS와 운영비의 차이는? **COGS(매출원가)**는 제품·서비스 생산에 직접 들어가는 비용(예: 원자재, 직접 인건비)이며, 운영비는 급여, 임대료, 소프트웨어 구독, 보험 등 사업을 유지하는 모든 기타 비용을 포함합니다.

간단 예시

실제 상황을 가정해 보겠습니다. 작은 커피 로스팅 사업체가 지난 달에 다음과 같은 결과를 냈다고 가정합니다.

항목금액예시 원장 계정
매출$60,000Income:Sales
매출원가(그린 커피 원두)$20,000Expenses:COGS
운영비$18,000Expenses:Ops:*
이자(장비 대출)$1,000Expenses:Interest
세금$1,000Expenses:Taxes

전체 공식을 적용하면 계산은 다음과 같습니다.

Net;Income=Net;Income = 60,000 - 20,00020,000 - 18,000 - 1,0001,000 - 1,000 = 20,00020,000

이 사업체는 해당 월에 실제 순이익 $20,000을 기록했습니다.

Beancount에 기록하는 방법

Beancount 구조는 이를 위해 최적화되어 있습니다. 계정을 논리적으로 정리하면 순이익 계산이 자동으로 이루어집니다.

  • 수익Income 상위 계정 아래에 태그를 달아 정리합니다. 예: Income:Sales, Income:Services.
  • 비용은 직접비와 간접비를 구분해 기록합니다. 직접비는 Expenses:COGS, 나머지는 Expenses:Ops:Salaries, Expenses:Ops:Software 등 하위 계정으로 나눕니다.
  • 이자와 세금은 각각 별도 계정(Expenses:Interest, Expenses:Taxes)에 기록합니다. 이렇게 하면 특히 세무 준비 시 분석이 훨씬 쉬워집니다.
  • 정기적으로 잔액을 맞춥니다. 기본 회계 방정식 Assets = Liabilities + Equity가 항상 성립해야 합니다.

기간 말(예: 월말)에는 balance 어설션을 사용해 계정 상태를 확인할 수 있습니다. 이 엔트리는 실제 금액 이동을 일으키지 않으며, 잔액이 이렇게 되어야 함을 선언합니다. bean-check은 일치하지 않을 경우 오류를 보고합니다.

; 2025-07-31 Coffee Roaster Enterprises — July close
2025-07-31 balance Assets:Bank:Operating 42000.00 USD
2025-07-31 balance Expenses:COGS 20000.00 USD
2025-07-31 balance Expenses:Ops 18000.00 USD
2025-07-31 balance Expenses:Interest 1000.00 USD
2025-07-31 balance Expenses:Taxes 1000.00 USD
2025-07-31 balance Income:Sales -60000.00 USD

한 줄 순이익 조회

여기가 바로 마법이 일어나는 부분입니다. 구조화된 원장을 갖추면 단일 명령어로 원하는 기간의 순이익을 계산할 수 있습니다.

bean-query books.beancount \
"SELECT period, sum(number) WHERE account = '^(Income|Expenses)' \
AND year = 2025 GROUP BY month"

이 쿼리는 2025년 IncomeExpenses 계정의 모든 값을 합산하고 월별로 그룹화합니다. Beancount에서는 수익이 음수, 비용이 양수로 표시되므로 결과는 순이익의 음수가 됩니다.

더 나아가, Beancount 웹 인터페이스인 Fava는 Reports → Income Statement 화면에서 이를 자동으로 시각화해 줍니다.

자동화 가능한 빠른 인사이트

원장이 단순 텍스트 파일이기 때문에 강력한 자동화 워크플로우를 구축할 수 있습니다.

  • 월간 이메일 요약: bean-report books.beancount income_statement > net-income.txt 명령을 cron 작업으로 설정하고 매월 1일에 결과 파일을 자신에게 이메일로 전송합니다.
  • 수익성 알림: Git pre‑commit 훅을 만들어 월 누적 수익성을 검사하도록 합니다. 순이익이 음수이면 커밋을 차단해 손실을 인지하도록 강제합니다.
  • 시나리오 모델링: 비즈니스를 스트레스 테스트하고 싶나요? books.beancountscenarios/recession.bean으로 복사하고 Income 항목을 20% 감소시킨 뒤 순이익 쿼리를 다시 실행하면 즉시 영향을 확인할 수 있습니다.

핵심 정리

  • 순이익은 진정한 바텀 라인입니다. 목표는 이를 양수로 유지하고 시간에 따른 추세를 파악하는 것입니다.
  • Beancount는 수식을 명시적으로 보여주고, 검색 가능하며, 버전 관리가 가능합니다. 숨겨진 공식이 없습니다.
  • 체계적인 계정 구조와 단일 쿼리만 있으면 언제든지 비즈니스가 실제로 돈을 벌고 있는지 알 수 있습니다.

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와 함께 재무 여정을 시작하세요 – 프로모션 기간 동안 무료!

Beancount와 함께하는 장부 기초: 깔끔한 장부를 위한 플레인 텍스트 경로

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

돈이 어디로 가는지 모르면 비즈니스를 조정할 수 없습니다. 정확한 장부는 추측을 통찰로 바꿔줍니다. (Investopedia)

모든 사업주, 프리랜서, 스타트업 창업자는 결국 같은 현실에 직면합니다: 재무 혼란은 성장의 적입니다. 현금 흐름에 대한 명확한 그림이 없으면 눈을 가리고 날아다니는 겁니다. 하지만 코드에 적용하는 것과 같은 정밀함과 통제력으로 재무를 관리할 수 있다면 어떨까요? 바로 Beancount, 플레인 텍스트 파일로 동작하는 강력한 오픈소스 회계 시스템이 그 해답입니다.

2019-03-24-bookkeeping-basics

이 가이드는 장부 관리의 기본을 단계별로 안내하고, Beancount를 사용해 견고하고 가벼우며 투명한 재무 워크플로우를 구축하는 방법을 보여줍니다.

장부 관리란 무엇인가?

장부 관리의 핵심은 비즈니스가 수행하는 모든 재무 거래를 체계적이고 지속적으로 기록하는 것입니다. 이는 수익, 비용, 자산(소유한 것) 및 부채(빚진 것)를 매일 추적하는 훈련입니다.

Beancount 세계에서는 이러한 기록이 독점 소프트웨어에 잠겨 있지 않습니다. 간단하고 사람이 읽을 수 있는 플레인 텍스트 파일에 저장됩니다. 이 접근 방식 덕분에 Git과 같은 버전 관리 도구로 재무 이력을 관리할 수 있습니다. 모든 항목은 복식부기 균형 규칙에 의해 관리되며, 자동으로 작업을 검증하고 장부가 항상 정확하도록 보장합니다. (beancount)

왜 중요한가?

세심한 장부 관리는 단순히 행정적인 깔끔함을 넘어 전략적 이점입니다.

  • 세무 자신감: 세금 시즌이 다가오면 깔끔한 기록이 최고의 친구가 됩니다. IRS는 소득 및 공제에 대한 명확한 문서를 요구합니다. 잘 관리된 원장은 자신 있게 신고하고 잠재적인 감사 시간을 크게 단축할 수 있게 해줍니다. (IRS)
  • 더 나은 의사결정: 가격이 충분히 높은가? 특정 서비스 계약이 실제로 수익을 내는가? 구독 비용이 통제 불능으로 치솟고 있는가? 손익계산서와 대차대조표 같은 재무제표는 가격 누수, 과다 비용, 현금 흐름 함정을 드러내어 관리자와 투자자가 현명한 선택을 할 수 있게 합니다. (Investopedia)
  • 자금 조달 용이: 대출기관과 투자자는 직감이 아니라 재무제표를 근거로 결정합니다. 자금을 송금하기 전에 재무제표를 요구합니다. 좋은 장부는 몇 초 만에 대차대조표나 손익계산서를 생성해 전문성과 재무 건전성을 입증합니다. (Investopedia)
  • 사기 및 오류 경보: 은행 명세서와 장부를 정기적으로 조정하는 것은 실수를 방지하는 첫 번째 방어선입니다. 이 습관은 중복 청구, 은행 오류 또는 사기 행위를 빠르게 포착해 큰 문제가 되기 전에 차단합니다. (IRS)

7단계 플레인 텍스트 청사진

시작할 준비가 되었나요? 아래는 Beancount 기반 장부 시스템을 처음부터 구축하는 단계입니다.

1. 사업 계정과 개인 계정 분리

이것은 절대 타협할 수 없는 첫 번째 단계입니다. 전용 사업용 체크 계좌를 개설하고 필요하다면 사업용 신용카드도 발급받으세요. 자금을 섞어 쓰면 회계가 악몽이 되고, 개인과 사업 사이의 부채 경계가 흐려집니다. 깔끔한 분리는 정확한 공제와 법적 보호를 위해 필수입니다. (Small Business Administration)

Beancount에서는 open 지시문으로 이러한 계정을 선언합니다:

; 계정의 초기 잔액
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

2. 장부 관리 시스템 선택

Beancount는 수세기 동안 회계의 금본위였던 복식부기 방식을 사용합니다. 원리는 간단합니다: 모든 거래는 최소 두 개의 계정에 영향을 미칩니다. 한 계정에서 차변이 발생하면 다른 계정에 대변이 반드시 따라야 합니다. 이 시스템의 마법은 모든 계정의 합이 항상 0이어야 한다는 점입니다. Beancount는 이 규칙을 자동으로 강제하므로 오타나 논리 오류가 즉시 플래그됩니다. 균형이 맞지 않는 장부는 존재할 수 없습니다. (beancount)

3. 회계 기준 선택

두 가지 주요 선택지가 있습니다:

  • 현금주의: 현금을 받을 때 수익을 기록하고, 비용을 지출할 때 기록합니다. 더 간단하고 현금 흐름을 직접 반영합니다.
  • 발생주의: 수익은 벌어졌을 때 (예: 청구서 발행 시) 기록하고, 비용은 발생했을 때 (예: 청구서 수령 시) 기록합니다. 특히 성장 기업에게는 재무 건전성과 성과를 더 정확히 보여줍니다. (Investopedia)

다음은 발생주의 거래 예시입니다. 청구서를 보낼 때 Assets:AccountsReceivable 로 수익을 기록하고, 고객이 결제하면 현금을 은행 계좌로 이동합니다.

; 발생주의 예시: 청구서 발행, 이후 결제
2025-07-22 * "디자인 청구서 #101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "고객이 청구서 #101 결제"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

4. 도구 스택 구성

Beancount의 매력은 최소주의이면서도 모듈식이라는 점입니다. 핵심 스택은 다음과 같습니다:

  • Editor + Git: 거래를 기록하는 텍스트 편집기와 버전 관리를 위한 Git. 모든 변경 내역을 완전하게 감사할 수 있습니다.
  • bean-report / bean-balance / Fava: bean-report 같은 CLI 도구와 시각적으로 뛰어난 웹 인터페이스 Fava 로 즉시 재무제표, 대시보드, 강력한 필터링을 제공합니다.
  • Importers: 커뮤니티가 만든 다양한 임포터가 CSV, Plaid, Stripe, PayPal 등 API와 연동해 은행 피드를 자동으로 가져와 데이터 입력을 크게 줄여줍니다.

5. 모든 거래에 라벨 붙이기

잘 설계된 계정표(chart of accounts) 는 통찰력 있는 보고의 기반입니다. 비즈니스에 맞는 카테고리를 정의하고, 계층형 계정을 사용해 세분화합니다. 거래를 기록할 때는 반드시 해당 카테고리로 라벨링하세요.

2025-07-30 * "AWS 월간 청구서"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

위 예시에서 비용은 Expenses:Hosting:AWS 로 명확히 분류됩니다. tag: "ops" 를 사용하면 운영 비용 전체를 카테고리와 무관하게 조회할 수 있습니다. (IRS)

6. 원본 문서 안전하게 보관

IRS는 디지털 영수증과 청구서 사본을 충분히 인정합니다. 종이 영수증을 스캔하거나 이메일 청구서를 전용 클라우드 폴더(예: Google Drive, Dropbox)에 저장하세요. 그런 다음 메타데이터에 파일 경로를 직접 연결합니다. 이렇게 하면 완전하고 자체 포함된 기록이 완성됩니다.

; 영수증 이미지 메타데이터로 연결
2025-07-18 * "팀 점심"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

7. 장부 관리를 습관화하기

일관성이 핵심입니다. 미루면 장부 관리는 스트레스가 많은 시간 소모형 작업이 됩니다. 매주 혹은 매월 “Bean-day” 라는 고정 시간을 잡아두고, 거래를 가져오고, 계정을 조정하고, 재무 보고서를 검토하세요. 이 간단한 루틴은 분기마다 급하게 장부를 맞추는 일을 빠르고 힘 있게 비즈니스 건강 점검으로 바꿔줍니다. (IRS)

DIY vs 전문가 도움

  • DIY: 거래량이 예측 가능한 프리랜서나 소규모 비즈니스는 Beancount를 활용한 DIY 접근이 매우 효과적입니다. 차트 오브 어카운트를 검증하고 방향을 잡기 위해 CPA와 일회성 상담을 하는 것이 좋습니다.
  • 전문가 검토: 비즈니스가 성장하고 거래가 복잡해지거나 규제 위험이 커지면, 정기적인 검토를 위해 전문 장부 담당자나 회계사와 협업하는 것이 가치 있습니다. Beancount는 여전히 진실의 원천으로 유지하고, 필요한 보고서만 내보내면 됩니다.

빠른 시작 체크리스트

  • 별도 사업 은행 계좌 개설
  • Beancount 스타터 레포지토리 클론 후 accounts.bean 에 계정 정의
  • 현금주의 또는 발생주의 선택 후 일관성 유지
  • 은행(CSV), Stripe, PayPal 등에서 데이터를 자동으로 가져오는 임포터 설정
  • 모든 거래에 태그와 명확한 내러티브 작성
  • 주간 또는 월간으로 원장과 은행 명세서 조정
  • Fava 혹은 bean-report 로 월간 손익, 대차대조표, 현금 흐름 보고서 생성
  • .bean 파일을 정기적으로 백업 (Git + 오프사이트 스토리지)

추가 읽을거리

시작할 준비가 되셨나요? Beancount를 설치하고 첫 번째 항목을 커밋한 뒤, 스프레드시트의 안개를 벗고 플레인 텍스트의 투명함을 경험해 보세요. 즐거운 장부 관리!