본문으로 건너뛰기

"Plain-Text Accounting" 태그로 연결된 22개 게시물개의 게시물이 있습니다.

모든 태그 보기

Beancount.io v3.0: 당신의 금융 데이터, 당신의 통제 하에

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

대부분의 금융 소프트웨어는 당신의 데이터를 신뢰하도록 강요합니다. 그들은 데이터를 소유하고 통제하며 당신을 가둡니다. 우리는 당신이 더 나은 것을 누릴 자격이 있다고 믿습니다.

오늘, 우리는 단순한 원칙을 기반으로 구축된 차세대 Beancount.io를 출시합니다. 당신의 금융 데이터는 우리 것이 아닌 당신의 것이어야 합니다. 기본 Git 통합을 통해 전체 회계 원장을 자신의 컴퓨터로 가져와 원하는 도구로 편집하고 변경 사항을 다시 푸시할 수 있습니다. 가두는 것 없음. 독점적인 형식이 없습니다. 당신의 데이터, 당신의 통제 하에.

이번 릴리스는 plain-text 회계로 재정을 관리하는 사람들에게 가장 중요한 세 가지 핵심 목표에 중점을 둡니다.

  1. 기본 Git 통합을 통한 진정한 데이터 소유권
  2. 팀, 파트너 및 회계사를 위한 원활한 협업
  3. plain-text 회계를 모든 사람이 접근할 수 있도록 만드는 직관적인 인터페이스

대시보드 개요

손쉬운 강력한 재무 보고서

새로운 대시보드에는 재정 상태를 한눈에 파악하는 데 도움이 되는 포괄적인 재무 보고 도구가 포함되어 있습니다.

손익 계산서

손익 계산서 대시보드

시간 경과에 따른 다양한 상품에 걸쳐 순이익, 수입 및 지출을 추적합니다. 손익 계산서 보기는 수익 흐름과 지출 패턴에 대한 명확한 분석을 제공하여 추세를 파악하고 정보에 입각한 재정적 결정을 내리는 데 도움이 됩니다. 수입과 지출이 매달 또는 매년 어떻게 변하는지 보여주는 대화형 차트로 재무 성과를 시각화합니다.

대차 대조표

대차 대조표 대시보드

포괄적인 대차 대조표 보기로 시간 경과에 따른 다양한 상품에 걸쳐 순자산을 모니터링합니다. 자산, 부채 및 자본을 모든 시점에서 확인하고 재정 상태 변화를 보여주는 과거 추적 기능을 제공합니다. 이 강력한 도구는 전반적인 재정 건전성을 이해하고 재정 목표를 향한 진행 상황을 추적하는 데 도움이 됩니다.

시산표

시산표 대시보드

시산표 보기는 특정 시점의 모든 계정 잔액에 대한 완전한 스냅샷을 제공합니다. 조정을 위해 완벽하며 장부가 균형을 이루도록 보장하는 이 보기는 차변과 대변을 나란히 보여주어 회계 기록의 정확성을 쉽게 확인할 수 있습니다.

계정 상세 보기

계정 상세 대시보드

계정 상세 보기로 모든 계정을 자세히 살펴보세요. 직관적인 차트와 그래프를 사용하여 시간 경과에 따른 계정 잔액 값과 변경 사항을 확인하십시오. 이 보기에는 하위 계정을 포함하여 계정에 영향을 미치는 모든 거래를 보여주는 포괄적인 계정 분개가 포함되어 있어 금융 시스템을 통해 돈이 어떻게 흐르는지에 대한 완전한 가시성을 제공합니다.

최신 파일 편집기

파일 편집기 대시보드

새로운 대시보드에는 Beancount 원장 파일 편집을 즐겁게 만들어주는 완전히 재설계된 파일 편집기가 도입되었습니다. 현대적이고 반응성이 뛰어난 디자인 원칙으로 제작된 새로운 편집기는 데스크톱, 태블릿 또는 모바일 장치에서 원활하고 직관적인 편집 경험을 제공합니다.

Git 통합: 당신의 원장, 당신의 방식

가장 많이 요청된 기능 중 하나가 이제 여기에 있습니다. 기본 Git 통합. 새 버전을 사용하면 표준 Git 프로토콜을 사용하여 원장 계정을 원활하게 가져와 금융 데이터를 완벽하게 제어할 수 있습니다.

당신이 할 수 있는 것:

# 원장을 컴퓨터로 복제합니다.
git clone ssh://[email protected]:2222/you/ledger.git

# 좋아하는 도구로 로컬에서 편집합니다.
vim 2025.bean

# 변경 사항을 다시 푸시합니다.
git commit -am "4분기 거래 추가"
git push

이것이 중요한 이유 (데이터 주권):

  • 진정한 종료 계획: 전체 금융 기록은 표준 Git 저장소에 있습니다. 우리에게 돈을 지불하는 것을 중단하시겠습니까? 당신은 모든 것을 유지합니다.
  • 도구에 구애받지 않음: VS Code, Vim, Emacs 또는 전문 Beancount 도구로 편집하십시오. 우리가 아닌 당신의 선택입니다.
  • 완전한 감사 추적: 모든 변경 사항은 누가 무엇을 언제 변경했는지 정확하게 보여주는 Git의 전체 기록으로 추적됩니다. 규정 준수와 마음의 평화를 위해 완벽합니다.
  • 분산 백업: Git의 분산 특성은 컴퓨터에 자동 버전 관리 백업이 있음을 의미합니다.

이를 통해 Beancount.io는 데이터를 덜 휴대성이 아니라 휴대성 있게 만드는 유일한 플랫폼입니다.

팀 협업: 팀이 실제로 일하는 방식을 위해 구축됨

소규모 사업을 운영하든, 회계사와 협력하든, 파트너와 함께 가계 재정을 관리하든, 협업은 중요합니다.

팀과 협업

새로운 협업 시스템은 이를 자연스럽고 저렴하게 만듭니다.

  • 협업자 초대: 이메일로 다른 사람을 초대하여 원장에 협업자로 참여시킵니다.
  • 실시간 업데이트: 협업자가 변경한 내용을 실시간으로 확인하여 모든 사람이 동기화되도록 유지합니다.
  • 활동 내역: 누가 어떤 변경을 언제 수행했는지 추적하여 완전한 책임을 유지합니다.

소규모 기업, 회계사와 협력하는 프리랜서 또는 재정 관리 책임을 공유해야 하는 모든 사람에게 완벽합니다. 협업이 그 어느 때보다 쉽고 안전해졌습니다.

다중 원장 지원: 당신의 방식으로 재정 구성

새로운 버전은 여러 원장 생성을 지원하므로 필요한 정확한 방식으로 재정을 구성할 수 있는 유연성을 제공합니다. 개인 및 사업 재정, 다양한 프로젝트 또는 다양한 법인에 대해 별도의 원장을 원하는지 여부에 관계없이 새로운 버전은 간단하게 만듭니다.

다중 원장 지원의 이점:

  • 관심사 분리: 개인 및 사업 재정을 완전히 분리하여 유지합니다.
  • 프로젝트 기반 구성: 다양한 프로젝트 또는 고객을 위해 전용 원장을 만듭니다.
  • 유연한 구조: 고유한 상황에 맞는 방식으로 회계 시스템을 구성합니다.
  • 쉬운 전환: 직관적인 원장 전환기를 사용하여 원장 간에 원활하게 이동합니다.

재정 기록을 체계적이고 관리하기 쉽게 유지하기 위해 필요한 만큼 많은 원장을 만듭니다.

공개 원장: 커뮤니티에서 공유하고 배우기

새로운 버전은 공개 원장 공유를 도입하여 잘 구성된 원장을 Beancount 커뮤니티와 공유할 수 있습니다. 이 기능은 지식 공유를 촉진하고 다른 사람들이 자체 회계 시스템을 구성하기 위한 모범 사례를 배우는 데 도움이 됩니다.

공개 원장 작동 방식:

  • 전문 지식을 공유하고 바이럴되게 하십시오: 다른 사람들이 설정을 배우는 데 도움이 되도록 원장을 공개하십시오.
  • 모범 사례 발견: 다른 사람들이 재정을 어떻게 구성하는지 보려면 공개 원장을 탐색하십시오.
  • 커뮤니티 학습 및 소셜 네트워크: 효과적인 Beancount 사용의 실제 사례에서 배우십시오.
  • 개인 정보 제어: 공개할 원장을 결정합니다. 비공개 원장은 완전히 비공개로 유지됩니다.

뛰어난 원장 예제를 공유함으로써 우리는 모든 사람이 함께 배우고 개선할 수 있는 더 강력하고 지식이 풍부한 Beancount 커뮤니티를 구축하고 있습니다.

향상된 Fava & Beancount 커뮤니티 기능

실제 워크플로우 문제를 해결하는 Beancount 커뮤니티의 인기 있는 기능을 통합했습니다.

  • 비용 상각 (amortize_over): 연간 구독 또는 선불 비용을 자동으로 여러 달에 분산합니다.
  • 재정 예측 (forecast): 반복 거래를 기반으로 미래 현금 흐름을 예측합니다.
  • 문서 링크 (link_documents): 영수증과 송장을 거래에 연결합니다.
  • 자동 문서 검색 (tag_discovered_documents): 지원 문서를 자동으로 태그하고 구성합니다.

이러한 기능은 실험적인 기능이 아니라 Beancount 커뮤니티의 실전 테스트를 거친 도구이며 이제 원활하게 통합되었습니다.

더 빠른 성능, 더 부드러운 경험

내부적으로 새로운 버전에는 모든 것을 더 빠르게 느끼게 하는 중요한 성능 최적화가 포함되어 있습니다.

  • 더 빠른 로드 시간: 페이지와 보고서가 큰 원장에서도 눈에 띄게 더 빠르게 로드됩니다.
  • 더 부드러운 상호 작용: UI 상호 작용이 더 반응성이 뛰어나고 뷰 간에 탐색할 때 지연이 줄어듭니다.
  • 최적화된 데이터 처리: 복잡한 계산 및 보고서 생성이 더 효율적으로 수행됩니다.
  • 더 나은 리소스 관리: 시스템은 리소스를 더 지능적으로 사용하여 사용량이 최고조에 달하는 동안에도 일관된 성능을 보장합니다.

이러한 개선 사항은 대기 시간을 줄이고 재정을 효과적으로 관리하는 데 더 많은 시간을 할애할 수 있음을 의미합니다.

개인 정보 보호 및 보안: 당신의 데이터, 당신의 규칙

우리는 당신이 완전히 소유하고 내보내고 마음대로 삭제할 수 있는 비공개 암호화된 Git 저장소에서 원장을 보호함으로써 당신의 데이터 주권을 옹호합니다. 이러한 통제에는 책임이 따릅니다. 당신은 신뢰할 수 있는 협력자를 관리하여 액세스를 결정하고 공개 데이터를 게시할 때 극도의 주의를 기울여야 합니다. 공개 데이터는 인터넷에서 영구적으로 볼 수 있으며 민감한 세부 정보를 완전히 제거해야 한다는 것을 이해해야 합니다. 궁극적으로 당신의 데이터는 우리 인프라에 의해 보호되지만 엄격하게 당신의 규칙에 의해 관리됩니다.

다음은 무엇입니까?

새로운 버전은 Beancount.io를 최고의 plain-text 회계 플랫폼으로 만들기 위한 여정의 시작일 뿐이며, GitHub of Finance를 목표로 합니다. 기존 금융 소프트웨어는 "데이터 가두기"에 의존합니다. Beancount.io는 다른 종류의 방어 가능성을 구축하고 있습니다. 프로토콜 가두기. 우리는 이미 다음 작업을 진행하고 있습니다.

  • 이동 중 회계를 위한 모바일 앱 개선
  • 인기 있는 금융 서비스와의 추가 통합
  • 더 고급 보고 및 분석 기능
  • 팀을 위한 향상된 협업 도구

새 버전에 대한 피드백을 보내주시면 감사하겠습니다! 당신의 의견은 우리가 다음에 무엇을 구축할지 우선 순위를 정하는 데 도움이 됩니다.

행복한 회계하세요!

Beancount.io 팀

소기업 재무 디톡스 — Beancount 방식

· 약 8분
Mike Thrift
Mike Thrift
Marketing Manager

30일 안에 지저분한 원장을 차분하고 현금에 자신감 있는 비즈니스로 바꾸세요 — 플레인텍스트 회계를 사용합니다.


2025-09-04-detox-your-small-business-finances

TL;DR

  • 분리, 간소화, 잠금: 간결한 계정표, 일관된 가져오기, 자동 잔액 검증으로 장부를 관리합니다.
  • 핵심을 드러내기 — COGS, 고정비, 현금 여유 기간 등을 bean-query 로 빠르게 확인합니다.
  • 소음 제거 (사용하지 않는 구독, 중복 도구)와 좋은 습관 코딩 (주간 조정, 월간 마감, 영수증 첨부)를 실천합니다.
  • 세무 시즌을 지루하게 만들기 위해 진술서, 영수증, 잔액을 한 곳에 검증 가능하게 보관합니다.

왜 “디톡스”가 필요할까요?

소기업의 재무 혼란은 단순히 지저분한 것이 아니라 비용이 듭니다. 낭비 지출을 숨기고 실제 수익성을 가려버리며, 세무 시즌을 급박한 사냥으로 만들죠. 재무 디톡스는 30일 동안 집중적으로 리셋하는 과정입니다: 돈이 흐르고 새는 지점을 파악하고, 복잡성을 제거한 뒤, 간단하고 반복 가능한 루틴을 제도화해 깨끗하게 유지합니다.

Beancount는 투명하고, 스크립트화 가능하며, 검증 가능하기 때문에 이 작업에 최적입니다. 블랙박스 소프트웨어와 달리 플레인텍스트 원장은 모든 숫자를 설명 가능하게 합니다. 모든 체크와 밸런스는 지시문과 쿼리로 자동화할 수 있어, 스스로 감사를 수행하는 시스템을 만들 수 있습니다. 이 가이드는 4주 계획을 통해 이를 실현하는 방법을 안내합니다.


Week 0 — 기준선 설정

정리를 시작하려면 탄탄한 기반이 필요합니다. 이번 주는 재무 세계의 구조를 정의하는 시간입니다.

간결한 계정표 만들기

계정표는 재무 시스템의 골격입니다. 목표는 최소주의입니다. 가능한 모든 비용에 대해 계정을 만들지 마세요. 오늘 사용하는 필수 항목만 시작하고, 필요하면 나중에 추가하면 됩니다. 복잡한 계정표는 잘못 분류를 유도하고 고수준 분석을 어렵게 합니다.

간단하고 효과적인 시작 예시:

; Core entities
2025-01-01 open Assets:Bank:Checking USD
2025-01-01 open Assets:Bank:Savings USD
2025-01-01 open Liabilities:CreditCard:Business USD
2025-01-01 open Income:Sales
2025-01-01 open Expenses:COGS
2025-01-01 open Expenses:Overhead:Rent
2025-01-01 open Expenses:Overhead:Utilities
2025-01-01 open Expenses:SaaS
2025-01-01 open Equity:Opening-Balances

검증 가능한 잔액 잠그기

플레인텍스트 회계의 가장 강력한 기능은 현실을 선언할 수 있다는 점입니다. balance 지시문은 Beancount에 “이 날짜에 이 계정에 정확히 이 금액이 있다”고 알려줍니다. 일치하지 않으면 오류를 발생시킵니다. 이것이 주요 안전망입니다.

시작할 때는 padbalance 를 함께 사용해 은행 명세서에서 계정을 초기화합니다. pad 지시문은 차액을 자본 계정에 기록하면서 올바른 시작 잔액을 강제하는 거래를 생성합니다.

; Initialize from statements
2025-01-01 pad Assets:Bank:Checking Equity:Opening-Balances
2025-01-01 balance Assets:Bank:Checking 12345.67 USD

주의 사항: pad 는 최소한으로 사용하세요. 처음부터 깔끔하게 시작하기 위한 것이지, 반복적인 조정 실수를 가리기 위한 것이 아닙니다.


Week 1 — 흐름 분리 및 간소화

구조가 잡혔으니 이제 돈이 비즈니스를 통해 어떻게 흐르는지 명확히 할 차례입니다.

비즈니스 ≠ 개인

소기업 재무의 황금 규칙입니다. 자금을 섞으면 혼란과 세무 시 스트레스가 발생합니다.

  • 전용 비즈니스 은행 계좌와 비즈니스 신용카드를 하나씩 유지합니다.
  • 원장에서도 Assets:Bank:Business:Checking, Liabilities:CreditCard:Business 로 구분합니다.
  • 본인에게 급여를 지급할 경우 Equity:Owner-Draws 로 배분 처리하고, 개인 비용을 비즈니스 계정에서 직접 분류하지 마세요.

공급업체 카테고리 표준화

AWS, Google Cloud, Vercel을 각각 다른 계정에 기록하시나요? 하나의 논리적 카테고리 Expenses:Cloud 로 모두 매핑하세요. 실제로 분석하지 않을 마이크로 계정을 만들지 마세요. 목표는 패턴을 보는 것이지, 모든 공급업체를 개별 계정으로 추적하는 것이 아닙니다.


Week 2 — 입력 및 영수증 자동화

수동 데이터 입력은 느리고 오류가 많으며 지속 가능하지 않습니다. 이번 주는 원장을 신뢰성 있게 공급하는 머신을 구축하는 시간입니다.

무리 없는 가져오기 경로 구축

Beancount의 가져오기 프레임워크를 사용하면 은행의 CSV 또는 OFX 파일을 읽어 자동으로 거래를 생성하도록 가르칠 수 있습니다. 한 번 설정해 두면 수백 시간을 절약할 수 있습니다. 가져오기 규칙은 Git 같은 버전 관리에 보관해 시스템을 재현 가능하고 백업되게 유지하세요.

  • Beancount 공식 Importing External Data 가이드를 시작점으로 삼으세요.
  • 보다 인터랙티브한 워크플로우를 원한다면 beancount-import 와 같은 웹 UI 도구를 고려하세요.
  • 많은 사용자가 내장 ingest 혹은 최신 beangulp 프레임워크를 이용해 맞춤형 가져오기를 구축합니다. 일관성을 위해 하나를 선택하고 꾸준히 사용하세요.

문서를 제자리에 첨부하기

영수증이 없는 거래는 근거 없는 주장입니다. Beancount와 웹 인터페이스인 Fava는 원장 항목에 소스 문서를 연결하는 일을 매우 쉽게 만들어 줍니다.

두 가지 좋은 방법이 있습니다:

  1. Documents 폴더 + 지시문: 모든 영수증과 명세서를 전용 폴더에 보관하고, document 지시문으로 거래에 파일을 연결합니다.
  2. Fava 드래그‑앤‑드롭: PDF 혹은 이미지 파일을 Fava UI의 거래에 끌어다 놓기만 하면 됩니다. Fava가 파일을 저장하고 원장에 올바른 document 지시문을 자동 삽입합니다.
; In your main ledger file, tell Fava where your documents live
option "documents" "/home/acme/docs"

; Link a receipt to a specific transaction posting
2025-08-07 * "Figma" "Monthly Subscription"
Assets:CreditCard:Business -12.00 USD
Expenses:SaaS 12.00 USD
document: "receipts/figma-2025-08-07.pdf"

Week 3 — 진실 보기 (재사용할 빠른 쿼리)

원장이 깨끗해지고 데이터가 공급되었으니 이제 중요한 질문을 던질 차례입니다. bean-query 명령줄 도구를 실행해 즉시 답을 얻으세요.

1) 내 현금은 어디에?

유동 자산을 한눈에 파악합니다.

bean-query business.beancount 'BALANCES FROM year = 2025 AND (account   "Assets:Bank" OR account   "Liabilities:CreditCard")'

여러 은행 포털에 로그인하지 않아도 실시간 현금 포지션을 확인할 수 있습니다.

2) 고정비와 COGS는 어떻게 쓰이고 있나요?

돈이 실제로 어디로 가는지 이해합니다. 비핵심 고정비가 제품 원가보다 많이 들어가고 있지는 않은지 확인하세요.

SELECT
account,
units(sum(position))
WHERE
account "^Expenses:(Overhead|COGS)" AND year = 2025
GROUP BY
account
ORDER BY
account

핵심 운영 비용과 관리 부담을 구분해 수익성에 대한 중요한 인사이트를 얻을 수 있습니다.

3) “좀비” 구독은?

작지만 자주 발생하는 비용을 찾아냅니다. 이런 “좀비” 구독은 현금 흐름을 서서히 잠식합니다.

SELECT
payee,
COUNT(*) AS num_transactions,
SUM(number) AS total_spent
WHERE
account "^Expenses:SaaS" AND date >= '2025-01-01'
GROUP BY
payee
ORDER BY
num_transactions DESC,
total_spent DESC

자주 결제하는 공급업체를 즉시 확인하고, 인식하지 못한 혹은 더 이상 필요 없는 서비스를 취소하세요.


Week 4 — 시스템 정리 및 잠금

마지막 주는 재무를 오래도록 깨끗하게 유지할 습관과 방어선을 구축하는 시간입니다.

간단한 예산 설정

Fava는 원장에 budget 지시문을 읽어 보고서에 진행률 바를 표시합니다. 이를 통해 지출 목표를 지속적으로 확인할 수 있습니다.

; Cap SaaS spending at $100 per month
2025-01-01 custom "budget" Expenses:SaaS "monthly" 100.00 USD

소프트웨어, 광고, 계약자 등 주요 변동 비용 카테고리에 설정해 흐름이 크게 벗어나기 전에 감지하세요.

매월 마감, 반드시 실행

간단하고 절대 타협하지 않을 월 마감 프로세스를 정립합니다:

  1. 조정: 모든 은행·신용카드 계정에 월말 명세서와 일치하는 balance 선언을 추가합니다.
  2. 첨부: balance 항목에 PDF 명세서를 document 지시문으로 연결합니다.
  3. 보고: 앞서 만든 세 가지 쿼리(현금, 고정비/COGS, 구독) 를 실행하고 결과를 짧은 월간 리뷰 노트에 붙여넣습니다.

잔액 선언 은 자동 트리거입니다. 원장이 은행 명세서와 일치하지 않으면 Beancount가 오류를 발생시켜 정확히 어디를 확인해야 하는지 알려줍니다.


세무 시즌을 지루하게 만들기 (좋은 의미)

이 시스템을 따르면 세무 준비가 위기 상황이 아니라 단순 보고 작업이 됩니다.

  • 거래에 영수증이 첨부돼 있어 급히 찾을 필요가 없습니다. Fava에서는 클릭 한 번으로 해당 문서를 확인할 수 있습니다.
  • 세무 관련 항목에 태그(#tax-deductible 등)를 달아두면 bean-query 로 회계사에게 전달할 깨끗한 보고서를 바로 추출할 수 있습니다.
  • 연말 잔액은 balance 선언으로 잠금·검증돼 있어 숫자에 대한 신뢰도가 높습니다.

30일 체크리스트 (인쇄용)

  • 1‑3일
    • 최소 계정표 만들기
    • 최신 명세서를 사용해 각 은행·카드에 pad + balance 추가
  • 4‑10일
    • 하나의 가져오기 파이프라인 구축하고 규칙을 버전 관리에 커밋
    • 최근 90일 거래를 역입력하고 첫 BALANCES 스냅샷 실행
  • 11‑15일
    • 공급업체를 해당 계정( SaaS, Cloud, Shipping 등) 으로 표준화
    • 조정된 기간의 명세서 PDF 첨부하고 Fava에 표시되는지 확인
  • 16‑20일
    • 고정비 vs. COGS 쿼리 실행 후 잘못 분류된 항목 수정
    • 구독 빈도 쿼리 실행 후 사용하지 않는 서비스 취소 또는 통합
  • 21‑25일
    • 주요 변동 비용에 custom "budget" 로 예산 상한선 1‑2개 추가
    • 가장 중요한 bean-query 3개를 스크립트에 저장해 재사용 용이하게
  • 26‑30일
    • 월말 balance 선언으로 모든 계정 조정
    • 핵심 수치 요약과 문서 링크를 포함한 짧은 “월간 마감” 노트 작성

자주 재사용하는 스니펫

깨끗한 비용 포스팅

2025-08-05 * "Figma" "Pro plan"
Expenses:SaaS 12.00 USD
Assets:Bank:Checking -12.00 USD

명세서에서 온 잔액 선언

2025-09-01 balance Assets:Bank:Checking  8423.17 USD

임대료 예산 방어선

2025-01-01 custom "budget" Expenses:Overhead:Rent "monthly" 2500.00 USD

간단하게, 스크립트화해서 유지하기

Beancount 기반 재무 디톡스의 철학은 간단합니다:

  • 반복 작업은 스크립트화: 가져오기와 보고서를 자동화합니다.
  • 실패는 크게 알리기: 선언이 실패하면 즉시 알려주는 것이 불편이 아니라 안전장치입니다.
  • 세분화된 계정보다 적고 명확한 계정을 선호합니다.

이 습관을 들이면 비즈니스는 매일 현금 가시성을, 매주 지출 변동을, 연말은 정말 지루하게(즉, 스트레스 없이) 마감할 수 있습니다. 이것이 바로 이 디톡스가 제공하는 명확함과 통제력입니다.


참고 자료 및 추가 읽을거리

본 게시물은 교육 목적이며 세무·법률 자문이 아닙니다.

Beancount에서 빠르고 신뢰할 수 있는 월말 마감을 위한 10가지 실용 단계

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

원장이 플레인 텍스트로 저장된다면, 월말 마감은 빠르고 감사 가능하게 할 수 있습니다. 이 과정은 스프레드시트와 계산기에 대한 급박한 뒤죽박죽이 될 필요가 없습니다. 이 가이드는 잔액(assertion), 스마트 가져오기, 경량 검증을 중심으로 Beancount와 그 웹 인터페이스인 Fava에 맞춘 깔끔하고 반복 가능한 프로세스를 정리합니다.

아래는 고통 없는 마감을 위한 체크리스트입니다:

2025-09-02-month-end-close

  1. 명세서를 수집하고 모든 원시 거래를 가져옵니다.
  2. 거래처, 설명, 메타데이터를 정규화합니다.
  3. balance 어설션을 사용해 현금, 은행, 신용 계정을 모두 조정합니다.
  4. 이체와 계정 간 이동을 맞춥니다.
  5. 투자 가격을 업데이트하고 평가액을 검증합니다.
  6. 원장에 영수증·청구서 등 문서를 첨부하거나 연결합니다.
  7. 손익 및 변동성 검사를 위해 쿼리와 대시보드를 실행합니다.
  8. 필요에 따라 발생액과 조정 항목을 기록합니다.
  9. 자동 검사를 통해 원장을 검증합니다.
  10. 커밋하고 태그를 붙인 뒤 월을 보관합니다.

1. 기본 규칙 설정 (그리고 재사용)

일관된 마감은 안정적인 기반에서 시작됩니다. 계정표와 핵심 Beancount 옵션은 중앙에서 선언하고 거의 변경하지 않아야 합니다. operating_currencydocuments 옵션과 같은 설정은 보고서와 가져오기가 매번 예측 가능하게 동작하도록 보장합니다.

팁: 옵션 파일을 “인프라”처럼 다루세요. 옵션을 변경하면 숫자 계산 방식이 바뀔 수 있습니다. Git에 신중히 버전 관리하세요.


2. 모든 것을 가져오고, 다시는 수동 입력하지 않기

데이터 가져오기를 자동화하는 것이 장부 마감 속도를 가장 크게 높이는 방법입니다. Beancount의 강력한 가져오기 도구와 커뮤니티가 만든 임포터를 활용해 은행 피드, 신용카드 CSV/OFX 파일, 증권 데이터, 급여 보고서를 끌어옵니다.

목표는 한 번의 명령으로 균형 잡힌 포스팅을 생성하고, 검토 후 커밋만 하면 되는 것입니다. 이렇게 하면 수동 입력이라는 오류와 지연의 주요 원천을 없앨 수 있습니다.


3. 거래처와 메타데이터 사전 정규화

깨끗한 데이터는 신뢰할 수 있는 데이터입니다. 가져오기 과정에서 거래처, 내러션, 태그를 표준화하면 검색, 규칙, 보고서가 매월 정확하게 유지됩니다.

Beancount 플러그인 시스템을 이용해 파일이 로드될 때 가벼운 변환과 검증을 추가할 수 있습니다. 이는 맞춤 일관성 검사를 강제하거나, 내장 noduplicates 플러그인을 사용해 중복 거래를 문제 발생 전에 표시하는 데 완벽합니다.


4. balance 어설션으로 조정

명세서가 있는 모든 계정(당좌, 저축, 신용카드)에 대해 Beancount의 balance 지시문을 사용해 마감 잔액을 선언합니다. 이 한 줄은 수동 눈대중 검사를 정확하고 자동화된 테스트로 바꿔줍니다.

; 하루 시작 시점에 정확히 1234.56 USD 잔액을 선언
2025-09-01 balance Assets:Bank:Checking 1234.56 USD

잔액은 당일 시작에 확인되므로, 월말 명세서는 다음 달 첫째 날을 사용하면 가장 편리합니다. Beancount가 계산한 잔액이 어설션과 다르면 정확한 오류와 조사 시작 날짜를 알려줍니다. 항상 원본 거래를 먼저 수정하고, 어설션을 “강제”하지 마세요.


5. 계정 간 이체 맞추기

각 이체가 거래 양쪽에 모두 나타나는지 확인하세요. 예를 들어, 당좌 계좌에서 신용카드로 이체한 경우 두 계정 모두에 반영돼야 합니다. 일치하지 않는 이체는 흔한 조정 골칫거리입니다.

pad 지시문은 계정을 처음 설정할 때 과거 개시 잔액을 지정할 때만 사용합니다. 이는 설정 도구이며, 월말 차이를 메우기 위한 조정 수단이 아닙니다.


6. 투자 포지션과 가격 검증

순자산을 정확히 파악하려면 투자와 외화에 대한 최신 시장 가치를 반영해야 합니다. 마감일 기준으로 price 지시문을 사용해 이러한 값을 기록합니다.

2025-08-31 price VTI  290.14 USD
2025-08-31 price EUR 1.11 USD

많은 도구가 자동으로 가격을 가져올 수 있습니다. 가격을 업데이트한 뒤 대차대조표나 순자산 보고서를 다시 실행해 평가 변화를 확인하세요.


7. 영수증 및 원본 문서 연결

거래를 원본 문서와 연결해 깔끔한 감사 흔적을 유지하세요. 메인 Beancount 파일에 documents 옵션을 설정해 영수증·청구서 보관소를 지정합니다.

option "documents" "/path/to/Finance/Documents"

파일명을 날짜 기반(2025-08-13.vendor.receipt.pdf)으로 지정하면 Beancount와 Fava가 자동으로 발견하고 연결해 줍니다. 이렇게 하면 어떤 거래든 클릭 한 번으로 영수증을 확인할 수 있습니다.


8. Fava와 BQL로 월 검토

빠른 피드백 루프가 핵심입니다. Fava를 사용해 시각적으로 재무 상황을 점검하세요. 차트와 보고서는 카테고리별 지출 분석, 수입 추세 확인, 이상 징후 파악에 최적입니다.

보다 정밀한 검사는 **Beancount Query Language (BQL)**을 활용합니다. 예를 들어, 2025년 8월 전체 지출을 내림차순으로 정렬해 보여주는 쿼리는 다음과 같습니다:

SELECT
account,
ROUND(SUM(position), 2) AS total
WHERE
date >= 2025-08-01 AND date < 2025-09-01
AND account 'Expenses'
GROUP BY
account
ORDER BY
total DESC;

9. 발생액 및 조정 기록

발생주의 회계를 사용한다면, 월말 조정 항목을 명시적이고 날짜가 포함된 거래로 기록하세요. 여기에는 아직 청구되지 않은 공과금, 선불 비용의 상각, 수익 인식 등이 포함될 수 있습니다. 내러션을 간단하고 명확하게 작성해 향후 검토 시 이해하기 쉽게 하세요.


10. 검증, 태그 지정, 보관

월을 최종 확정하기 전에 구조적 무결성을 최종 점검합니다:

bean-check your-ledger.beancount

이 명령은 불균형, 미개설 계정 참조, 기타 일반 오류를 잡아냅니다. 표시된 문제를 모두 수정하세요.

모든 것이 정상이라면 Git 등 버전 관리 시스템에 커밋하고, close-2025-08 같은 명확한 메시지와 태그를 달아 저장합니다. 마지막으로 은행 명세서를 보관하고 월을 잠금 처리합니다.


적용 가능한 간단 마감 스크립트

대부분의 단계를 간단한 쉘 스크립트로 자동화할 수 있습니다. 이렇게 하면 마감이 하나의 반복 가능한 명령이 됩니다.

#!/usr/bin/env bash
set -euo pipefail

# Example: ./close.sh 2025-08
MONTH=${1:?Please provide a month in YYYY-MM format}
LEDGER= /finance/ledger.beancount

# 1. Import new transactions
echo "Importing transactions for $MONTH..."
make import MONTH="$MONTH"

# 2. Update market prices for the last day of the month
PRICE_DATE=$(date -d "$MONTH-01 +1 month -1 day" +%F)
echo "Fetching prices for $PRICE_DATE..."
make prices DATE="$PRICE_DATE"

# 3. Validate the entire ledger
echo "Running bean-check..."
bean-check "$LEDGER"

# 4. Generate a key report (e.g., expense breakdown)
echo "Generating expense report for $MONTH..."
bean-query "$LEDGER" -f txt "
SELECT account, SUM(position)
WHERE date >= '${MONTH}-01' AND date < '${MONTH}-01' + 1 month
AND account 'Expenses'
GROUP BY account ORDER BY SUM(position) DESC;
" > "reports/${MONTH}-expenses.txt"

# 5. Commit and tag the close in Git
echo "Committing and tagging the close..."
git -C /finance add .
git -C /finance commit -m "Close ${MONTH}"
git -C /finance tag "close-${MONTH}"

echo "Month ${MONTH} is closed and tagged."

왜 이렇게 작동하는가

이 프로세스가 빠르고 신뢰할 수 있는 이유는 몇 가지 핵심 원칙에 기반하기 때문입니다:

  • 어설션, 눈대중이 아니다: balance 지시문은 조정을 정확하고 자동화된 검사로 전환합니다.
  • 결정론적 입력: 자동 임포터와 정규화된 메타데이터 덕분에 원장이 재현 가능하고 일관됩니다.
  • 탐색 가능한 데이터: Fava와 BQL은 결과를 검증하고 이상치를 즉시 파고들 수 있는 강력한 도구를 제공합니다.
  • 감사 가능한 변경: 조정은 플레인 텍스트 저널 엔트리이므로 몇 년 뒤에도 쉽게 검토하고 이해할 수 있습니다.

좋은 월말 마감은 대부분 물류적인 작업입니다. Beancount와 함께라면 가져오기 → 어설션 → 가격 업데이트 → 쿼리 → 커밋이라는 짧은 스크립트형 의식으로 전환할 수 있습니다. 워크플로우를 안정적으로 유지하면 재무 상황이 복잡해져도 마감은 여전히 빠르게 진행됩니다.

Beancount에서 발생비용: 실전 가이드 (복사-붙여넣기 원장 예시 포함)

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

발생비용은 월말 마감이 쌓이기 시작할 때까지는 추상적으로 들릴 수 있습니다. 이는 적절한 발생주의 회계의 초석으로, 현금이 실제로 이동하는 시점이 아니라 경제적 실체를 재무보고에 반영하도록 합니다. 여기서는 발생비용이 무엇인지, 왜 중요한지, 그리고 평문 원장에 어떻게 기록·반전·보고하는지 Beancount 중심으로 명확히 안내합니다.

TL;DR ⚡

  • 발생비용은 이번 기간에 발생했지만 아직 지급되지 않은 비용입니다. 현금이 나갈 때까지 부채로 기록됩니다.
  • Beancount에서는 간단합니다: Expenses: 계정을 차변에, Liabilities:Accrued: 계정을 대변에 기록합니다. 이후 지급 시 부채를 정산합니다.
  • 보고하려면, CLOSE ONCLEAR 옵션을 사용한 bean-query를 실행하면 특정 날짜 기준으로 미지급 금액을 확인하고 깔끔한 대차대조표 스냅샷을 얻을 수 있습니다.

Beancount 발생비용 이미지

발생비용이란?

발생비용은 기업이 이미 발생했지만 아직 지급하지 않은 비용을 말합니다. 서비스가 제공되었거나 비용이 발생한 시점에 청구서가 아직 도착하지 않았거나 지급 기한이 오지 않았더라도 기록합니다. 이는 발생주의 회계의 매칭 원칙에 따라 비용을 해당 비용이 기여한 수익과 동일한 기간에 기록하도록 합니다.

  • 월말에 발생했지만 다음 달에 지급되는 직원 급여
  • 12월에 사용했지만 1월에 청구되는 전기·수도 등 공과금
  • 한 달 동안 누적됐지만 아직 계좌에서 인출되지 않은 대출 이자

이러한 비용을 발생 시점에 기록함으로써 해당 기간에 대한 기업의 재무성과를 보다 정확히 파악할 수 있습니다.

Beancount가 생각하는 방식 (30초 안에)

Beancount는 평문 기반의 복식부기 회계 시스템입니다. 모든 항목은 텍스트 파일에 날짜가 지정된 지시문이나 거래로 기록됩니다. 시스템은 다섯 가지 핵심 계정 유형인 자산(Assets), 부채(Liabilities), 자본(Equity), 수익(Income), 비용(Expenses) 위에 구축됩니다.

거래는 항상 날짜 순으로 정렬됩니다. 중요한 점은 balance 어설션이 같은 날의 거래가 처리되기 에 검증된다는 것입니다. 이는 체크와 반전 항목을 배치할 때 기억해야 합니다.

마지막으로 bean-query 언어는 강력한 SQL 유사 방식으로 보고서를 생성합니다. OPEN ON, CLOSE ON, CLEAR 같은 연산자를 사용하면 재무제표에 대한 정확한 '시점' 뷰를 만들 수 있습니다.

권장 계정표 (Chart of Accounts)

깨끗하고 계층적인 계정표는 최고의 파트너입니다. 발생비용의 경우 구조가 간단합니다. 다음과 같은 계정이 필요합니다:

  • 비용 계정: 예) Expenses:Utilities, Expenses:Payroll:Wages
  • 해당 부채 계정: 예) Liabilities:Accrued:Utilities, Liabilities:Accrued:Payroll
  • 현금 계정: 예) Assets:Bank:Checking

Beancount는 다섯 가지 최상위 계정 유형을 강제합니다. 계정명을 체계적으로 정리하면 향후 쿼리와 보고서 작성이 훨씬 쉬워집니다.

핵심 패턴 (플러그인·매직 없이)

Beancount에서 발생비용을 처리하는 가장 직접적인 방법입니다. 두 단계로 구성됩니다: 월말에 비용을 발생시키고, 지급 시 부채를 정산합니다.

단계 1: 월말에 비용 발생시키기

기간 마지막 날에 비용을 기록하고 부채를 생성합니다.

2025-01-31 * 월말 발생비용
Expenses:Utilities 100.00 USD
Liabilities:Accrued:Utilities

단계 2: 지급 시 발생비용 정산하기

청구서가 도착하고 지급하면 비용 계정을 다시 차변에 기록하지 않습니다. 대신 부채 계정을 차변에 기록해 정산합니다.

2025-02-15 * 청구서 지급
Liabilities:Accrued:Utilities 100.00 USD
Assets:Bank:Checking

이 방법은 소규모 팀에 가장 깔끔합니다. 비용을 2월에 정확히 배치하고 3월에 중복 계산되지 않도록 합니다. Beancount에서는 금액을 비워두면 시스템이 자동으로 거래를 맞춰줍니다.

대안: 다음 달 1일에 반전 항목 사용

클래식한 '자동 반전' 회계 방식을 선호한다면, 다음 달 1일에 발생 항목의 반대 거래를 기록하고, 실제 공급업체 청구서는 일반적으로 비용 계정에 기록합니다.

단계 1: 월말에 비용 발생시키기

2025-01-31 * 월말 발생비용
Expenses:Utilities 100.00 USD
Liabilities:Accrued:Utilities

단계 2: 다음 달 1일에 반전하기

2025-02-01 * 반전
Liabilities:Accrued:Utilities 100.00 USD
Expenses:Utilities

단계 3: 일반적으로 지급 기록하기

2025-02-15 * 청구서 지급
Liabilities:Accrued:Utilities 100.00 USD
Assets:Bank:Checking

체크에 대한 주의: balance 어설션은 같은 날 거래 전에 평가됩니다. Liabilities:Accrued:Utilities 계정 잔액을 확인하려면 2025-02-28에 어설션을 두어 발생을 확인하거나, 2025-03-01반전 거래 후에 어설션을 두어 잔액이 0인지 확인합니다. 2025-03-01에 반전 전 어설션을 두면 잘못된 실패가 발생합니다.

흔히 쓰이는 6가지 발생비용 (복사-붙여넣기 패턴) 📋

1. 아직 청구되지 않은 임대료

2025-01-01 open Expenses:Rent
2025-01-01 open Liabilities:Accrued:Rent
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Equity:RetainedEarnings

2025-01-31 * 발생비용 (청구서 없음)
Expenses:Rent 1500.00 USD
Liabilities:Accrued:Rent

2. 발생했지만 미지급된 급여

2025-01-01 open Expenses:Payroll
2025-01-01 open Liabilities:Accrued:Payroll
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Equity:RetainedEarnings

2025-01-31 * 발생비용 (급여)
Expenses:Payroll 3000.00 USD
Liabilities:Accrued:Payroll

3. 발생한 연차수당 (PTO)

2025-01-01 open Expenses:PTO
2025-01-01 open Liabilities:Accrued:PTO
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Equity:RetainedEarnings

2025-01-31 * 연차수당 발생
Expenses:PTO 500.00 USD
Liabilities:Accrued:PTO

4. 대출 이자 발생

2025-01-01 open Expenses:Interest
2025-01-01 open Liabilities:Accrued:Interest
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Equity:RetainedEarnings

2025-01-31 * 이자 발생
Expenses:Interest 200.00 USD
Liabilities:Accrued:Interest

5. 전문 수수료 (감사/법률)

2025-01-01 open Expenses:ProfessionalFees
2025-01-01 open Liabilities:Accrued:ProfessionalFees
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Equity:RetainedEarnings

2025-01-31 * 전문 수수료 발생
Expenses:ProfessionalFees 800.00 USD
Liabilities:Accrued:ProfessionalFees

6. 사용했지만 청구되지 않은 공과금

2025-01-01 open Expenses:Utilities
2025-01-01 open Liabilities:Accrued:Utilities
2025-01-01 open Assets:Bank:Checking
2025-01-01 open Equity:RetainedEarnings

2025-01-31 * 공과금 사용 (청구서 아직 없음)
Expenses:Utilities 120.00 USD
Liabilities:Accrued:Utilities

보고: 특정 날짜 기준으로 내가 얼마나 빚졌는가?

bean-query는 답을 얻기 위한 도구입니다. 아래는 발생비용에 대한 정확한 대차대조표 스냅샷을 얻는 방법입니다.

기간 종료 시점 모든 발생부채 잔액 조회

bean-query --file ledger.beancount \
"SELECT account, SUM(position) FROM balances \
WHERE account LIKE 'Liabilities:Accrued:%' \
GROUP BY account"
  • OPEN ON은 기간 시작 시점의 시작 잔액을 설정합니다.
  • CLOSE ON은 이 날짜 이전의 거래를 잘라냅니다(포함되지 않음). 따라서 2025-04-01을 사용하면 2025-03-31까지의 데이터를 얻습니다.
  • CLEAR는 수익·비용을 0으로 만들어 자산·부채·자본만 남은 깔끔한 대차대조표 뷰를 제공합니다.

모든 발생비용 전표 내역 보기

bean-query --file ledger.beancount \
"SELECT * FROM transactions WHERE account LIKE 'Liabilities:Accrued:%'"

발생비용 계정의 원시 거래 내역을 보고 싶다면 위와 같이 조회합니다.

전체 발생비용 합계 조회

bean-query --file ledger.beancount \
"SELECT SUM(position) FROM balances WHERE account LIKE 'Liabilities:Accrued:%'"

전체 발생비용 총액을 빠르게 확인하려면 위와 같이 실행합니다.

Beancount 특유의 제어 및 주의사항

  • Balance 어설션 타이밍: 앞서 언급했듯이 어설션은 하루 시작 시점에 잔액을 검증합니다. 2025-03-01 balance ...는 해당 날짜의 거래가 처리되기 전에 실행됩니다. 이에 맞게 계획하세요.
  • 명명 및 계층 구조: Liabilities:Accrued:*와 같은 깔끔한 트리는 보기 좋을 뿐 아니라 쿼리를 단순화하고 보고서를 즉시 이해하기 쉽게 합니다.
  • Pad 사용 주의: pad 지시문은 시작 잔액을 맞출 때는 유용하지만, 반복 발생비용을 '수정'하는 용도로는 피하세요. 명시적인 거래를 기록하면 감사 추적이 명확해집니다.
  • 시점 기준 보고: 대차대조표 스냅샷을 만들 때는 항상 bean-query에서 OPEN ... CLOSE ... CLEAR를 사용하세요. 이렇게 하면 수익·비용 계정이 부채 총액에 섞이는 것을 방지합니다.

선불 vs. 발생 (빠르게)

발생비용은 기업이 이미 발생했지만 아직 지급되지 않은 비용이며, 재무제표에 부채로 기록됩니다. 선불은 미리 지급한 비용으로 자산으로 기록됩니다.

  • 발생비용: 비용이 발생했지만 현금이 아직 나가지 않은 경우 부채로 기록합니다.
  • 선불: 비용을 미리 지급하고, 이후 해당 비용을 차감합니다.

Beancount에서 발생비용을 다루는 실전 가이드 (옵션)

2022-01-01 open Assets:Cash
2022-01-01 open Expenses:Rent
2022-01-01 open Liabilities:Accrued:Rent
2022-01-01 open Equity:RetainedEarnings

S-코프 선출, Beancount 사용자를 위한 안내

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

무엇이며, 언제 이득이 되는지, 그리고 원장을 어떻게 깔끔하게 모델링할 수 있는지 (예시 포함).

⚠️ 이 가이드는 미국 전용이며 교육 목적만을 위한 것입니다. 상황에 맞는 세무 전문가와 상담하세요.

TL;DR

  • S-코프는 IRS(내국세청)와 Form 2553을 통해 선택하는 세금 상태이며, 사업 이익이 소유주의 개인 세금 신고서로 직접 넘어갑니다. 주요 요건은 배당금이나 분배금을 받기 전에 소유자‑운영자에게 합리적인 W-2 급여를 지급해야 한다는 점입니다.
  • 마감일이 중요합니다: 기존 사업의 경우, S-코프 상태가 시작되길 원하는 과세 연도의 3번째 달 15일까지 신청해야 합니다. 예를 들어 2025년 달력 연도 선출이라면 2025년 3월 15일이 토요일이므로 실제 마감일은 다음 영업일인 2025년 3월 17일 월요일이 됩니다.
  • 왜 할까요? 가장 큰 매력은 자영업세 절감 가능성입니다. W-2 급여는 FICA 세금이 부과되지만, 분배금은 부과되지 않습니다. 다만, 급여 처리, 컴플라이언스, 일부 주에서는 추가 법인세 등 비용이 발생합니다.
  • Beancount에서는 급여와 분배금을 명확히 구분하는 것이 핵심입니다. 급여 부채를 추적하고, 2% 이상 주주에게 제공되는 건강보험에 대한 특수 회계 처리를 수행하며, 분배금을 자본 계정으로 명시적으로 기록해야 합니다.

2025-08-08-s-corp-election

S-코프 선출이란 무엇인가요?

핵심적으로, S-코프 선출은 사업체의 과세 방식을 변경해 달라는 요청을 IRS에 제출하는 것입니다. Form 2553을 제출함으로써 귀하의 법인 또는 LLC가 내부세법(IRC) Subchapter S에 따라 과세되도록 요청합니다. 이는 귀하의 사업을 “패스‑쓰루” 실체로 만들어, 소득·손실·공제·세액공제가 직접 주주의 개인 세금 신고서로 넘어가게 합니다. 이는 법인 형태 자체가 바뀌는 것이 아니라 세무 분류만 바뀌는 것입니다.

소유자‑운영자를 위한 핵심 효과

선출이 활성화되면 귀하의 역할은 두 가지로 나뉩니다: 주주직원이 동시에 됩니다.

이 구분은 매우 중요합니다. 노동에 대한 보상은 W‑2 급여 형태로 지급되어야 하며, 이는 사회보장세와 메디케어 등 표준 급여세가 적용됩니다. 남은 이익은 분배금 형태로 지급될 수 있으며, 일반적으로 자영업세가 부과되지 않습니다. IRS는 분배금을 받기 전에 합리적인 급여를 먼저 지급할 것을 강력히 요구합니다.

S-코프 상태를 선택해야 할까요?

S-코프 선출은 사업이 꾸준하고 의미 있는 이익을 창출할 때 검토할 가치가 있습니다. 일반적인 기준은 지속적인 사업 이익이 귀하의 역할에 대한 시장 수준 급여를 충분히 감당할 수 있고, 남은 금액이 새로운 행정 비용을 제하고도 분배금으로 의미 있게 활용될 수 있을 때입니다.

손익분기점은 상황마다 다르며 다음 요인에 따라 달라집니다:

  • 귀하의 “합리적인 급여”: 귀하의 기술·책임에 대해 업계에서 일반적으로 지급하는 급여 수준은 얼마인가? 이 금액은 W‑2 급여의 기준이 되며 IRS의 검토 대상입니다.
  • 주 세금 및 수수료: 주마다 규정이 다릅니다. 예를 들어 캘리포니아는 S‑코프 순이익에 1.5% 세금을 부과하고, 최소 연간 프랜차이즈 세금 $800을 부과합니다.
  • 추가 비용: 급여 서비스 이용료, 실업보험료, 복잡성 증가에 따른 회계·세무 준비 비용이 상승합니다.
  • QBI 공제(섹션 199A): S‑코프 선출은 적격 사업소득(QBI) 공제에 영향을 미칠 수 있습니다. 지급하는 W‑2 급여는 공제 한도를 충족시키는 데 도움이 되지만, 동시에 급여가 많을수록 공제 가능한 소득이 줄어듭니다.

마감일

  • 신규 사업: 선출을 원하는 과세 연도의 3번째 달 15일까지 신청해야 합니다.
  • 신규 사업: 선출을 원하는 과세 연도의 3번째 달 15일까지 신청해야 합니다.

Beancount에서의 핵심 실무

  • 급여와 분배금을 구분합니다.
  • 급여 부채(Liabilities:Payroll:*)와 급여 비용(Expenses:Payroll:*)을 별도 계정에 기록합니다.
  • 2% 이상 주주에게 제공되는 건강보험은 Expenses:Benefits:HealthInsurance에 비용으로 기록하고, 급여 시스템이 연간 보험료 전체를 W‑2 Box 1에 포함하도록 합니다.
  • 분배금은 원장(Equity:Distributions)에만 기록하고 급여 계정에는 절대 포함하지 않습니다.

S-코프 선출이란?

S-코프 선출은 사업체가 패스‑쓰루 과세 방식을 채택하도록 하는 절차이며, 이를 통해 소득이 직접 주주에게 이전됩니다. 이는 법인 형태 자체가 바뀌는 것이 아니라 세무 분류만 바뀌는 것입니다.

S-코프 선출 절차

1. Form 2553 제출

IRS에 Form 2553을 제출하여 S‑코프 선출을 신청합니다.

2. 합리적인 급여 지급

분배금을 받기 전에 합리적인 W‑2 급여를 지급해야 합니다.

3. 원장에 급여와 분배금 구분 기록

Beancount 원장에 Expenses:Payroll:WagesEquity:Distributions를 각각 사용해 구분합니다.

Beancount에서 급여와 분배금 구분하기

Beancount에서는 급여와 분배금을 명확히 구분하는 것이 중요합니다.

  • 급여는 Expenses:Payroll:Wages와 관련 부채(Liabilities:Payroll:*)에 기록합니다.
  • 분배금은 Equity:Distributions에 기록하고, 급여 계정에는 절대 포함하지 않습니다.
  • 2% 이상 주주에게 제공되는 건강보험은 Expenses:Benefits:HealthInsurance에 비용으로 기록하고, 연간 보험료 총액이 급여 시스템을 통해 W‑2 Box 1에 포함되도록 합니다.

모델링 예시

아래는 S‑코프를 운영하는 단일 주주‑직원 기업을 위한 Beancount 원장 예시입니다. 실제 금액은 상황에 맞게 조정하세요.

; 기본 원장 설정
2025-01-01 open Assets:Bank:Checking USD
2025-01-01 open Equity:ContributedCapital USD
2025-01-01 open Expenses:Payroll:Wages USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:FICA USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:Medicare USD
2025-01-01 open Liabilities:Payroll:Federal:FIT USD
2025-01-01 open Liabilities:Payroll:Federal:FICA USD
2025-01-01 open Liabilities:Payroll:Federal:Medicare USD
2025-01-01 open Liabilities:Payroll:State:Withholding USD
2025-01-01 open Equity:Distributions USD
2025-01-01 open Expenses:Benefits:HealthInsurance USD

; 급여 처리 예시
2025-01-31 * "Gusto" "1월 급여 — 주주‑직원"
Expenses:Payroll:Wages 8,333.33 USD
Expenses:Payroll:EmployerTaxes:FICA 516.67 USD
Expenses:Payroll:EmployerTaxes:Medicare 120.83 USD
Liabilities:Payroll:Federal:FIT -1,200.00 USD
Liabilities:Payroll:Federal:FICA -1,033.34 USD ; 직원 + 고용주
Liabilities:Payroll:Federal:Medicare -241.66 USD ; 직원 + 고용주
Liabilities:Payroll:State:Withholding -300.00 USD
Assets:Bank:Checking -6,195.83 USD

; 연방 급여세 입금 (EFTPS)
2025-02-15 * "EFTPS" "연방 급여세 입금 (FIT, FICA, Medicare)"
Liabilities:Payroll:Federal:FIT 1,200.00 USD
Liabilities:Payroll:Federal:FICA 1,033.34 USD
Liabilities:Payroll:Federal:Medicare 241.66 USD
Assets:Bank:Checking -2,475.00 USD

; 주 급여세 입금
2025-02-16 * "STATE DOR" "주 급여 원천징수"
Liabilities:Payroll:State:Withholding 300.00 USD
Assets:Bank:Checking -300.00 USD

; 2% 이상 주주를 위한 건강보험 (W‑2 포함 처리)
2025-02-01 * "BlueCross" "주주 건강보험 (W‑2 포함은 급여 시스템에서 처리)"
Expenses:Benefits:HealthInsurance 600.00 USD ; w2: "true"
Assets:Bank:Checking -600.00 USD

; 급여가 아닌 소유자 분배금
2025-03-31 * "Owner Distribution" "1분기 분배금"
Equity:Distributions 20,000.00 USD
Assets:Bank:Checking -20,000.00 USD

모델링 팁

  • 분배금은 급여 계정에 절대 포함하지 않기
  • #payroll, #distribution 같은 태그를 활용해 Fava에서 손쉽게 필터링
  • 연방·주 세금 적립을 위한 별도 은행 서브계정을 고려

S-코프 선출 절차 요약

  1. Form 2553을 작성해 IRS에 제출
  2. 합리적인 W‑2 급여를 설정하고 급여 서비스를 이용해 급여와 세금을 처리
  3. 분배금을 Equity:Distributions에 기록하고, 원장(Assets:Bank:*)에서 차감

코드 블록 설명 (한국어 주석)

; 기본 원장 설정
2025-01-01 open Assets:Bank:Checking USD
2025-01-01 open Equity:ContributedCapital USD
2025-01-01 open Expenses:Payroll:Wages USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:FICA USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:Medicare USD
2025-01-01 open Liabilities:Payroll:Federal:FIT USD
2025-01-01 open Liabilities:Payroll:Federal:FICA USD
2025-01-01 open Liabilities:Payroll:Federal:Medicare USD
2025-01-01 open Liabilities:Payroll:State:Withholding USD
2025-01-01 open Equity:Distributions USD
2025-01-01 open Expenses:Benefits:HealthInsurance USD

; 급여 처리 예시
2025-01-31 * "Gusto" "1월 급여 — 주주‑직원"
Expenses:Payroll:Wages 8,333.33 USD
Expenses:Payroll:EmployerTaxes:FICA 516.67 USD
Expenses:Payroll:EmployerTaxes:Medicare 120.83 USD
Liabilities:Payroll:Federal:FIT -1,200.00 USD
Liabilities:Payroll:Federal:FICA -1,033.34 USD ; 직원 + 고용주
Liabilities:Payroll:Federal:Medicare -241.66 USD ; 직원 + 고용주
Liabilities:Payroll:State:Withholding -300.00 USD
Assets:Bank:Checking -6,195.83 USD

; 연방 급여세 입금 (EFTPS)
2025-02-15 * "EFTPS" "연방 급여세 입금 (FIT, FICA, Medicare)"
Liabilities:Payroll:Federal:FIT 1,200.00 USD
Liabilities:Payroll:Federal:FICA 1,033.34 USD
Liabilities:Payroll:Federal:Medicare 241.66 USD
Assets:Bank:Checking -2,475.00 USD

; 주 급여세 입금
2025-02-16 * "STATE DOR" "주 급여 원천징수"
Liabilities:Payroll:State:Withholding 300.00 USD
Assets:Bank:Checking -300.00 USD

; 2% 이상 주주를 위한 건강보험 (W‑2 포함은 급여 시스템에서 처리)
2025-02-01 * "BlueCross" "주주 건강보험 (W‑2 포함은 급여 시스템에서 처리)"
Expenses:Benefits:HealthInsurance 600.00 USD ; w2: "true"
Assets:Bank:Checking -600.00 USD

; 소유자 분배금 (급여 아님)
2025-03-31 * "Owner Distribution" "1분기 분배금"
Equity:Distributions 20,000.00 USD
Assets:Bank:Checking -20,000.00 USD

LLM 지원 플레인 텍스트 회계에 대한 사용자 경험 및 피드백

· 약 4분
Mike Thrift
Mike Thrift
Marketing Manager

플레인 텍스트 회계(PTA)는 기술에 정통한 재무 매니아들의 비밀 무기였습니다. Beancount 혹은 Ledger 같은 간단한 텍스트 파일과 도구를 사용하면 재무 데이터에 대한 뛰어난 제어권, 투명성, 소유권을 얻을 수 있습니다. 하지만 솔직히 말해서, 언제나 “귀찮다”는 평판이 있었습니다. 학습 곡선은 가파르고, 데이터 입력은 지루하며, 한 번의 쉼표 실수만으로도 좌절감 넘치는 디버깅 여정에 빠질 수 있습니다.

그렇다면 고통 없이 PTA의 힘을 누릴 수 있다면 어떨까요? 바로 대형 언어 모델(LLM)입니다. AI가 PTA 워크플로우의 모든 구석에 스며들면서 지루한 작업을 자동화하고, 이 강력한 시스템을 모두에게 접근 가능하게 만들겠다고 약속하고 있습니다. 사용자 피드백을 깊이 파고들어 AI가 플레인 텍스트 회계를 어떻게 혁신하고 있는지, 그리고 기대에 부응하고 있는지 살펴보겠습니다.


옛 방식: PTA의 수작업 고통

수년간 PTA 경험은 몇 가지 공통된 장벽으로 정의되었습니다:

  • 위압감의 장벽: 신규 사용자는 종종 압도당합니다. 한 사용자가 인정했듯이, “몇 년 동안 너무 위압감을 느꼈지만… 결국 유용하고 보상이 있을 것 같았다.” 복식부기와 커맨드라인 도구를 배우는 사이에 시작 자체가 어렵습니다.
  • “편집‑컴파일‑디버그” 사이클: GUI 소프트웨어와 달리 실수를 하면 즉시 알려주지 않으며, PTA 오류는 검사를 실행할 때까지 숨겨집니다. 이 느린 피드백 루프는 코드를 디버깅하는 느낌이며, 단순 데이터 입력 작업을 고된 일로 바꿉니다.
  • 수입 지옥: 데이터를 시스템에 넣는 과정이 큰 병목입니다. 여러 은행에서 CSV 파일을 수동으로 다운로드하고, 정제하고, 맞춤 스크립트를 실행해야 하는데, 이는 깨지기 쉬우며 시간도 많이 소요됩니다. 한 사용자는 *“지난 8개월 치 거래를 수입하는 데 약 4시간을 소비했다”*고 말했습니다. 자동화가 일부 있더라도 말이죠.

AI 어시스턴트 등장: LLM이 작업량을 대폭 감소시키다

AI가 게임 체인저가 되어 PTA의 가장 지루한 부분을 강력한 어시스턴트로 처리합니다.

단순 작업 자동화: 분류와 수입

AI에게 가장 쉬운 과제입니다. “STARBUCKS #12345”가 무엇인지 복잡한 규칙을 짜는 대신, LLM에 물어보면 됩니다.

사용자들은 GPT‑4 같은 모델에 거래 설명을 입력하고 Expenses:Food:Coffee와 같은 완벽한 분류를 받아내는 사례를 많이 보고하고 있습니다. Beanborg 같은 도구는 자체 규칙이 실패할 때 ChatGPT를 연동해 지능적으로 카테고리를 제안하기도 합니다.

게다가 LLM은 실시간 데이터 수입기도 되고 있습니다. 은행의 지저분한 CSV 파일을 파싱하는 파이썬 스크립트를 작성하는 대신, 데이터를 채팅 창에 붙여넣고 AI에게 Beancount 형식으로 변환해 달라고 요청하면 됩니다. 100 % 완벽하지는 않지만, 몇 시간짜리 코딩 작업을 몇 분짜리 프롬프트 엔지니어링으로 바꿔줍니다.

PTA를 덜 무섭게: 온보딩과 오류 처리

그 위압감의 장벽? LLM이 사용자가 넘을 수 있게 도와줍니다. 한 신규 사용자는 GPT‑4를 “손을 잡아주는 튜터” 로 활용해 첫 Ledger 파일을 설정했다고 설명했습니다. AI는 개념을 설명하고, 예시 항목을 생성하며, 스스로 진행할 자신감을 키워줍니다.

AI는 PTA가 항상 부족했던 실시간 피드백도 제공합니다. 개발자들은 LLM을 활용해 타이핑하면서 구문을 검사하고, 불균형이나 오류를 익숙한 빨간 물결선으로 강조하는 에디터 확장을 만들고 있습니다. 오류를 표시할 뿐 아니라 틀렸는지 설명하고 해결책을 제시하는 AI를 상상해 보세요.

재무와 대화하기

가장 흥미로운 발전은 대화형 분석의 부상입니다. 특정 커맨드라인 쿼리를 작성하는 대신, 이제는 자연어로 Ledger에 질문할 수 있습니다.

사용자들은 데이터를 내보내고 Claude 같은 도구에 “3월에 식료품에 얼마를 썼고 4월과 비교하면 어떻게 되나요?” 라고 물어보는 실험을 하고 있습니다. AI는 데이터를 분석하고 트렌드를 포착하며 인사이트까지 제공합니다. 비즈니스 세계에서는 Puzzle.io 같은 회사가 Slack 봇을 통해 경영진이 실시간으로 회사 재무를 조회할 수 있게 하고 있습니다. 이런 자연어 인터페이스는 재무 데이터를 누구에게나 접근 가능하게 하는 게임 체인저입니다.


주의점: 아직 뇌를 끄지 마세요

가능성은 흥미롭지만, 사용자들은 신중할 필요가 있습니다. 두 가지 주요 우려가 지속적으로 제기됩니다: 프라이버시와 신뢰.

  • 프라이버시가 최우선: 재무 기록은 매우 민감합니다. 한 사용자는 *“내 재무 기록을 API에 넘기는 것이 걱정된다”*고 말했습니다. OpenAI 같은 제3자 클라우드 서비스에 데이터를 전송하는 것은 많은 사람에게 금지된 선택입니다. 해결책? 점점 더 많은 사용자가 오픈소스 LLM을 로컬에서 실행해 데이터를 절대 외부로 유출되지 않게 하고 있습니다.
  • 신뢰하지만 검증하라: LLM은 자신 있게 틀릴 수 있습니다. 계정명을 “환각”하거나 작은 수학 오류를 내어 항목이 불균형해질 수 있습니다. 커뮤니티 합의는 명확합니다: AI를 보조 역할로만 사용하고, 자동 회계 담당자로 두지 말라는 것입니다. 항상 최종 검증(bean-check)을 실행하고, 최종 승인은 인간이 해야 합니다.

미래는 대체가 아니라 보강

LLM 어시스턴스는 플레인 텍스트 회계를 틈새 전문가 전용 시스템에서 점점 더 많은 사람이 접근할 수 있는 강력한 도구로 빠르게 전환시키고 있습니다. AI는 반복적이고 지루한 부기 작업—데이터 입력, 분류, 파싱—을 훌륭히 처리합니다.

이 덕분에 인간은 검토, 해석, 의사결정에 집중할 수 있습니다. 미래는 로봇이 여러분의 돈을 관리하는 것이 아니라, AI가 무거운 작업을 떠맡고 여러분에게 깨끗하고 정확한 데이터를 제공해 재무 이야기를 진정으로 이해하도록 돕는 파트너십입니다.

한 사용자가 적절히 표현했듯이, “반복적인 부기는 로봇에게 맡기고, 인간은 이해와 의사결정에 집중한다.” 이 균형 잡힌 접근으로 플레인 텍스트 회계의 고통스러운 세계는 이제 밝은 미래를 맞이하고 있습니다.

Beancount의 기술적 우위 vs. Ledger, hledger, 및 GnuCash

· 약 5분
Mike Thrift
Mike Thrift
Marketing Manager

개인 회계 시스템을 선택할 때는 성능, 데이터 구조, 확장성 사이에서 트레이드오프가 발생합니다. 엔지니어와 같은 기술 사용자는 가장 견고하고 예측 가능하며 프로그래밍 가능한 기반을 제공하는 시스템을 선호합니다.

자세한 비교 보고서를 바탕으로, Beancount와 인기 오픈소스 대안인 Ledger‑CLI, hledger, GnuCash의 기술적 세부 사항을 살펴보겠습니다.

2025-07-22-beancounts-technical-edge-a-deep-dive-on-performance-python-api-and-data-integrity-vs-ledger-hledger-and-gnucash


속도와 성능: 정량적 벤치마크 🚀

진지한 데이터셋에서는 성능이 협상 불가입니다. Beancount는 수십 년 치 거래 데이터를 속도를 희생하지 않고 처리하도록 설계되었습니다. Python(v2)으로 구현되었음에도 불구하고, 고도로 최적화된 파서가 놀라울 정도로 효율적입니다.

  • Beancount: 실제 사용 사례에서는 수십만 건의 거래를 약 2초 만에 로드 및 처리할 수 있습니다. 메모리 사용량도 적어, 100k 거래를 파싱할 때 수십 메가바이트 수준의 RAM만 사용합니다.
  • 1M 거래 스트레스 테스트: 1백만 건 거래, 1,000개 계정, 1백만 개 가격 항목으로 구성된 합성 원장을 이용한 벤치마크에서 다음과 같은 차이가 드러났습니다.
    • hledger (Haskell): 전체 파싱 및 보고서를 80.2초에 완료했으며, 초당 12,465건을 처리하고 2.58 GB RAM을 사용했습니다.
    • Ledger‑CLI (C++): 복잡한 원장으로 인한 메모리·CPU 과다 사용 버그 때문에 40분 후에 프로세스가 강제 종료되었습니다.
    • Beancount: 해당 1M 테스트에 포함되지는 않았지만, 기존 성능 곡선으로 볼 때 효율적으로 처리할 것으로 예상됩니다. 또한 곧 출시될 Beancount v3는 새로운 C++ 코어와 Python API를 도입해 처리량이 한 단계 더 향상될 전망입니다.
  • GnuCash (C/Scheme): GUI 애플리케이션으로 전체 데이터를 메모리로 로드하기 때문에 규모가 커질수록 성능이 눈에 띄게 저하됩니다. **50 MB XML 파일(100k+ 거래)**을 여는 데 77초가 걸렸으며, SQLite 백엔드로 전환해도 55초로 약간만 개선되었습니다.

결론: Beancount는 예측 가능한 확장성을 갖춘 뛰어난 성능을 제공하므로 장기 데이터 관리에 필수적인 특성입니다. Ledger에서 나타나는 성능 절벽과 GnuCash UI 기반 지연을 회피할 수 있습니다.


데이터 구조: 평문 텍스트 vs. 불투명 데이터베이스 📄

시스템이 데이터를 저장하는 방식은 투명성, 이식성, 내구성을 결정합니다. Beancount는 인간이 읽기 쉬운 평문 텍스트 형식을 사용해 기술 사용자에게 최적화된 환경을 제공합니다.

  • 컴팩트하고 효율적: 100,000건 거래가 포함된 Beancount 파일은 8.8 MB에 불과합니다. 이는 Ledger 파일(≈10 MB)보다 작으며, Beancount 문법이 거래의 최종 균형 금액을 추론해 중복을 줄이기 때문입니다.
  • 구조적 강제: Beancount는 YYYY-MM-DD open Account 지시문을 명시적으로 요구합니다. 이 규칙은 계정명 오타가 새로운 잘못된 계정을 자동 생성하는 것을 방지해, Ledger·hledger와 달리 데이터 신뢰성을 높입니다.
  • 버전 관리 친화적: 평문 원장은 Git과 같은 버전 관리 시스템에 최적화되어 있어, 모든 재무 변경 내역을 완전하고 감사 가능한 형태로 기록할 수 있습니다.
  • GnuCash와의 대비: GnuCash는 기본적으로 gzip 압축된 XML 파일을 사용하며, 각 엔티티마다 GUID가 포함된 태그가 늘어납니다. SQLite, MySQL, PostgreSQL 백엔드를 제공하지만, 이는 단순 텍스트 편집·버전 관리와 거리를 두게 합니다. 원시 XML을 편집할 수는 있지만 Beancount 파일을 편집하는 것보다 훨씬 번거롭습니다.

결론: Beancount의 데이터 형식은 단순 텍스트를 넘어 명확성을 극대화하고 정확성을 강제하며 git, grep 등 개발자 도구와 자연스럽게 통합되는 정형 언어입니다.


핵심 기능: 진정한 Python API와 플러그인 아키텍처 🐍

이것이 Beancount가 갖는 가장 큰 기술적 차별점입니다. Beancount는 안정적인 1급 Python API를 제공하는 라이브러리이며, 단일 실행 파일이 아닙니다. 이 설계 덕분에 무한한 자동화와 통합이 가능합니다.

  • 직접적인 프로그래밍 접근: Python에서 원장 데이터를 읽고, 질의하고, 조작할 수 있습니다. 그래서 개발자들이 Beancount로 옮겨가는 이유가 됩니다. Ledger의 부실한 내부 바인딩을 스크립트화하려는 좌절감이 Beancount에서는 사라집니다.
  • 플러그인 파이프라인: Beancount 로더는 사용자 정의 Python 함수를 처리 파이프라인에 삽입할 수 있게 해줍니다. 이를 통해 로드 중 데이터 스트림에 임의의 변환·검증을 적용할 수 있습니다. 예를 들어, 특정 공급업체의 모든 비용에 특정 태그를 강제하는 플러그인을 작성할 수 있습니다.
  • 강력한 임포터 프레임워크: 번거로운 CSV 마법사 대신, Python 스크립트로 OFX, QFX, CSV 등 모든 출처의 금융 명세서를 파싱합니다. smart_importer와 같은 커뮤니티 도구는 머신러닝 모델을 활용해 자동으로 계정 매핑을 예측·지정해, 수시간 걸리던 수작업 분류를 몇 초 안에 한 번의 명령으로 처리합니다.
  • 다른 시스템과 비교:
    • Ledger/hledger: 확장성은 주로 외부 파이프라인에 의존합니다. 실행 파일에 데이터를 파이프하고 JSON/CSV를 출력할 수는 있지만, 핵심 처리 루프에 로직을 삽입하려면 C++·Haskell 소스를 수정해야 합니다.
    • GnuCash: 확장성은 Guile(Scheme) 기반 커스텀 보고서 작성이나, SWIG·PieCash 같은 Python 바인딩을 통해 엔진에 접근하는 방식으로 제공됩니다. 강력하지만 Beancount의 네이티브 라이브러리 접근만큼 직접적이고 “Pythonic”하지는 않습니다.

결론: Beancount는 프로그래머를 위해 설계되었습니다. 라이브러리 퍼스트 디자인과 깊은 Python 통합 덕분에 네 가지 시스템 중 가장 유연하고 자동화하기 쉬운 환경을 제공합니다.


철학: 재무를 위한 엄격한 컴파일러 🤓

Beancount의 학습 곡선은 바로 이 철학에서 비롯됩니다. 재무 데이터는 형식 언어이며, 반드시 정확해야 합니다.

Beancount 파서는 엄격한 컴파일러처럼 동작합니다. 구문·논리 검증을 철저히 수행하고, 거래가 균형을 이루지 않거나 계정이 열리지 않은 경우 파일 처리를 거부하며, 라인 번호와 함께 상세 오류 메시지를 반환합니다. 이는 버그가 아니라 의도된 기능으로, 파일이 “컴파일”되면 기본 데이터가 구조적으로 건전함을 보장합니다.

이와 같은 결정론적 접근은 자동화 시스템 구축 시 매우 귀중한 데이터 무결성을 제공합니다. 이미 검증된 데이터를 바탕으로 스크립트를 안심하고 실행할 수 있습니다.

Beancount는 누구를 위한 것인가?

이번 기술 분석을 토대로 Beancount가 최적의 선택인 대상은 다음과 같습니다.

  • 개발자·엔지니어 – 재무 데이터를 버전 관리되고 프로그래밍 가능한 데이터셋으로 다루고 싶은 사람.
  • 데이터 매니퓰레이터 – 맞춤형 질의 작성, Fava 같은 도구로 독특한 시각화 구현, 혹은 금융 데이터를 다른 분석 모델에 연동하고 싶은 사람.
  • GUI 편의성보다 검증 가능성과 자동화를 중시하는 모든 사용자.

표준 보고서에 대한 순수 C++ 성능이 필요하다면 Ledger가, 함수형 프로그래밍 패러다임에서 뛰어난 확장성을 원한다면 hledger가, 설정이 간편한 풍부한 GUI가 필요하다면 GnuCash가 각각 강점이 있습니다.

하지만 진정으로 견고하고 자동화 가능하며 깊이 맞춤화된 재무 관리 시스템을 구축하고 싶다면, Beancount가 가장 우수한 기술적 기반을 제공합니다.

Beancount.io와 함께하는 암호화폐 회계 완전 가이드

· 약 7분
Mike Thrift
Mike Thrift
Marketing Manager

여러 거래소에서 암호화폐 거래가 쌓이고, 디파이 복잡성에 압도되거나, 세금 시즌이 다가와서 당황하고 있나요? 당신만 그런 것이 아닙니다. 암호화폐 시장은 단순한 비트코인 구매에서 시작해, 디파이 프로토콜, 스테이킹 보상, 수익 농사, 체인 간 활동까지 복잡한 생태계로 급성장했으며, 이는 기존 회계 방식에 큰 도전을 안겨줍니다.

현실은 냉혹합니다: 모든 암호화폐 거래는 과세 대상이 될 가능성이 있으며, IRS가 이를 주시하고 있습니다. 캐주얼한 비트코인 보유자이든 수십 개 프로토콜을 관리하는 디파이 파워 유저이든, 정확한 재무 기록을 유지하는 것은 선택이 아니라 규정 준수와 재무 투명성을 위한 필수 조건입니다.

문제는? 전통적인 회계 소프트웨어는 암호화폐의 복잡성을 충분히 지원하지 못합니다. QuickBooks와 같은 도구는 플러그인을 추가해야 하고, Excel은 스크립트를 통해 블록체인 데이터를 가져와야 하며, 대부분의 솔루션은 포괄적인 암호화폐 회계를 위해 상당한 맞춤 설정이 필요합니다.

해결책은? 강력한 오픈소스 비앤카운트 언어 위에 구축된 Beancount.io의 평문 회계 시스템입니다. 중요 참고: 비앤카운트는 Martin Blais가 만든 오픈소스 복식부기 회계 언어이며, Beancount.io는 비앤카운트를 위한 사용자 친화적인 인터페이스와 클라우드 인프라를 제공하는 상업적 호스팅 서비스입니다. 이 가이드는 비앤카운트의 기본 원리와 Beancount.io 플랫폼을 통한 실전 활용 방법을 모두 다룹니다.

Complete Guide to Cryptocurrency Accounting

암호화폐 회계 악몽 (그리고 왜 점점 악화되는가)

당신의 암호화 포트폴리오가 여기저기 흩어져 있다

솔직히 말해 보세요. 당신은 아마도:

  • 3~5개의 서로 다른 거래소 (쉽게 구매할 수 있는 Coinbase, 알트코인을 위한 Binance, 특정 토큰을 위한 Kraken...)
  • 여러 지갑 (디파이를 위한 MetaMask, 장기 보유를 위한 Ledger, 잊고 있던 오래된 지갑...)
  • 10개 이상의 디파이 프로토콜 (Uniswap, Compound, Aave 등 새로운 수익 농사까지)
  • 다양한 밸리데이터에서 들어오는 스테이킹 보상
  • 랜덤 에어드롭 (크리스마스 선물처럼 지갑에 나타나는)

각 플랫폼은 서로 다른 언어를 사용합니다. Coinbase는 Binance와 전혀 다른 CSV 형식을 제공하고, Uniswap은 내보내기 기능 자체가 없습니다. 레이어 2 네트워크에서 디파이 포지션을 추적하는 일은 말할 필요도 없습니다.

전통 회계가 감당하기 어려운 거래 유형

암호화폐 활동에는 전통 회계 시스템이 원래 설계되지 않은 거래 유형이 포함됩니다:

  • 유동성 제공으로 인한 무손실 (QuickBooks에 설명하기 어려움)
  • 플래시 론 (한 번의 거래로 수백만을 빌렸다가 상환)
  • 수익 농사 (5가지 다른 토큰을 동시에 획득)
  • 체인 간 브릿지 (한 네트워크에서 사라지고 다른 네트워크에 나타나는 자산)
  • 스테이킹 파생상품 (stETH 등 기본 자산과 다른 방식으로 가치 축적)
  • DAO 거버넌스 토큰 (프로토콜 사용에 대한 보상)

세금 준수의 지뢰밭

암호화폐 투자자를 밤새 뒤흔드는 요소들:

  • 모든 거래는 과세 대상 (예: ETH → USDC 스왑도 과세)
  • 수백 건의 마이크로 트랜잭션으로 원가 기준 추적이 불가능
  • 스테이킹 보상은 수령 즉시 소득 (공정 시장 가치 기준)
  • 디파이 보상도 소득 (아직 매도하지 않아도)
  • IRS는 Form 8949 를 요구하며 모든 거래를 열거해야 함
  • 잘못된 신고 시 벌금이 가혹

전통 회계 소프트웨어는 이 복잡성을 처리하려면 큰 맞춤 작업이 필요합니다. 플러그인, 스크립트, 수동 프로세스 등을 추가해야 전체 암호화폐 활동을 포괄할 수 있습니다.

Beancount.io 등장: 당신이 기다려온 암호화폐 회계 솔루션

이 혼란을 위해 설계된 회계 시스템이 있다면 어떨까요? Beancount.io는 단순한 회계 도구가 아니라 평문 회계 혁명이며, 암호화폐 복잡성을 위해 탄생했습니다.

Beancount.io가 암호화폐 회계에서 우위를 점하는 이유

🔍 완전한 투명성: 모든 계산이 눈에 보입니다. 블랙박스도, “우리를 믿어라” 알고리즘도 없습니다. 원가 기준, 이익 계산, 사토시 흐름을 모두 확인할 수 있습니다.

📊 무한한 유연성: 원하는 계정 구조를 자유롭게 만들 수 있습니다. 디파이 포지션, 스테이킹 파생상품, 체인 간 자산, DAO 투표로 받은 특이 토큰까지 모두 추적 가능합니다. 상상할 수 있으면 기록할 수 있습니다.

🎯 정밀한 원가 기준: 로트 기반 추적과 구체적 식별. 최적의 세금 결과를 위해 어떤 비트코인을 파는지 선택 가능. FIFO, LIFO, 혹은 로트 직접 선택 – 전부 당신의 선택.

🔗 미래 대비: 평문 형식이므로 데이터는 영원히 당신의 소유. 공급업체 락인, 독점 포맷, “서비스 종료” 메일이 없습니다.

⚡ 스크립트 가능 파워: 임포트 자동화, 맞춤 보고서 생성, 어떤 도구와도 연동. 당신의 포트폴리오가 독특하듯 회계도 독특해야 합니다.

암호화폐 커맨드 센터 설정하기

계정 구조 만들기

이것은 암호화폐 제국을 설계하는 청사진이라고 생각하세요. 첫 비트코인 구매부터 복잡한 멀티 프로토콜 디파이 전략까지 모두 감당할 수 있는 구조를 만들 것입니다:

Note: 예시에서는 1970-01-01을 개설일 자리표시자로 사용했습니다. 실제 사용 시에는 실제 계정 개설일로 교체하고, 날짜 기반 자동 임포트 도구를 사용할 경우 해당 날짜에 맞게 조정하세요.

; Exchange Accounts
1970-01-01 open Assets:Crypto:Coinbase:USD
1970-01-01 open Assets:Crypto:Coinbase:BTC
1970-01-01 open Assets:Crypto:Coinbase:ETH
1970-01-01 open Assets:Crypto:Binance:USD
1970-01-01 open Assets:Crypto:Binance:BTC
1970-01-01 open Assets:Crypto:Binance:ETH
1970-01-01 open Assets:Crypto:Binance:ADA

; Wallet Accounts
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:MetaMask:UNI
1970-01-01 open Assets:Crypto:Wallet:Ledger:BTC
1970-01-01 open Assets:Crypto:Wallet:Ledger:ETH

; DeFi Protocol Accounts
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:DeFi:Uniswap:UNI
1970-01-01 open Assets:DeFi:Aave:aETH
1970-01-01 open Assets:DeFi:YieldFarm:FarmToken

; Blockchain Accounting
1970-01-01 open Assets:Blockchain:Bitcoin:BTC
1970-01-01 open Assets:Blockchain:Ethereum:ETH

; Plain‑Text Accounting
1970-01-01 open Assets:PlainText:Beancount

; Beancount
1970-01-01 open Assets:Beancount:BTC
1970-01-01 open Assets:Beancount:ETH

; Crypto Bookkeeping
1970-01-01 open Assets:Crypto:Bookkeeping:BTC
1970-01-01 open Assets:Crypto:Bookkeeping:ETH

; Digital Asset Management
1970-01-01 open Assets:Digital:AssetManagement:BTC
1970-01-01 open Assets:Digital:AssetManagement:ETH

; Crypto Compliance
1970-01-01 open Assets:Compliance:Crypto:BTC
1970-01-01 open Assets:Compliance:Crypto:ETH

; Blockchain Finance
1970-01-01 open Assets:Finance:Blockchain:BTC
1970-01-01 open Assets:Finance:Blockchain:ETH

키워드 로트 추적

1970-01-01 open Expenses:Crypto:Fees:Trading
1970-01-01 open Expenses:Crypto:Fees:Network
1970-01-01 open Expenses:Crypto:Fees:Withdrawal

암호화폐 회계 모범 사례

1. 정기적인 조정

  • 매주 거래소 데이터 임포트
  • 매월 지갑 잔액 검증
  • 블록체인 탐색기와 교차 확인

2. 적절한 문서화

  • 모든 거래 확인서 보관
  • 거래 목적 기록
  • 거래 시점의 시장 가격 기록 유지

3. 비즈니스와 개인 구분

; Personal crypto investments
Assets:Personal:Crypto:Coinbase:BTC

; Business crypto operations
Assets:Business:Crypto:Treasury:BTC

4. 모든 소득원 추적

  • 스테이킹 보상 (소득으로 과세)
  • 채굴 보상 (소득으로 과세)
  • 에어드롭 (공정 시장 가치 기준 과세)
  • 디파이 수익 (소득으로 과세)

5. 수수료 관리

세금 공제를 위해 모든 수수료를 별도로 추적:

Expenses:Crypto:Fees:Trading     ; 거래소 거래 수수료
Expenses:Crypto:Fees:Network ; 블록체인 네트워크 수수료
Expenses:Crypto:Fees:Withdrawal ; 출금 수수료

인기 있는 암호화 도구와의 통합

거래소 API 연동

Beancount.io는 주요 거래소와 연동할 수 있습니다:

  • Coinbase Pro API: 자동 거래 내역 임포트
  • Binance API: 실시간 잔액 업데이트
  • Kraken API: 과거 데이터 동기화

블록체인 분석

블록체인 탐색기와 연결:

  • Etherscan: 이더리움 거래 검증
  • Blockchain.info: 비트코인 거래 추적
  • BscScan: 바이낸스 스마트 체인 모니터링

포트폴리오 추적

포트폴리오 관리 도구와 동기화:

  • CoinTracker: 세금 보고서 생성
  • Koinly: 다중 거래소 집계
  • Blockfolio: 모바일 포트폴리오 추적

중요한 면책 조항

세무·법률 고지: 이 가이드는 비앤카운트와 Beancount.io를 활용한 암호화폐 회계에 대한 일반 정보를 제공하며, 전문 세무·법률·재무 자문을 대체하지 않습니다. 암호화폐 거래에 대한 세무 처리는 관할 구역 및 개인 상황에 따라 다를 수 있습니다. 체인 간 브릿지, 무손실, 플래시 론 등 복잡한 시나리오는 현재 규제 하에서 세무 해석이 명확하지 않을 수 있습니다. 구체적인 과세 여부는 IRS FAQ Q‑15~Q‑18(2024) 또는 현지 세법을 참고하고, 반드시 암호화폐 과세에 정통한 세무 전문가 또는 CPA와 상담하시기 바랍니다.

소프트웨어 명확화: 본 가이드의 예시는 표준 비앤카운트 구문을 사용합니다. Beancount.io는 비앤카운트를 위한 친숙한 UI를 제공하지만, 근본적인 회계 원리는 모든 비앤카운트 구현에 적용됩니다.

결론

암호화폐 회계는 더 이상 압도적인 과제가 아닙니다. 비앤카운트의 강력한 평문 회계 시스템을 Beancount.io 플랫폼을 통해 활용하면:

  • 완전한 투명성 유지: 모든 거래가 가시적이며 감사 가능
  • 세금 준수 보장: 정확한 원가 기준 추적 및 소득 보고
  • 포트폴리오 규모에 맞게 확장: 단순 거래부터 복잡한 디파이 전략까지 모두 처리
  • 원활한 연동: 거래소, 지갑, 세무 도구와 손쉽게 연결
  • 기록의 미래 대비: 평문 형식으로 장기 접근성 확보

비트코인 보유자이든 고급 디파이 수익 농부이든, 비앤카운트는 암호화폐 회계를 마스터하기 위한 기반과 유연성을 제공합니다. 기본 거래부터 시작해 점차 복잡한 시나리오를 도입해 보세요.

암호화폐 회계는 계속 진화하는 분야이니, 규제 변화에 주시하고, 세무 전문가와 상의하며 회계 관행을 지속적으로 업데이트하십시오.

암호화폐 재무를 직접 관리하고 싶으신가요? Beancount.io에 가입하기 를 클릭하고, 투명하고 스크립트 가능한 암호화폐 회계의 힘을 직접 경험해 보세요.

암호화폐 세금 준수 가이드: Beancount.io와 함께 IRS 요구사항 마스터하기

· 약 4분
Mike Thrift
Mike Thrift
Marketing Manager

암호화폐 과세는 이제 소수자만의 관심사가 아니라 수백만 투자자에게 필수적인 준수 요구사항이 되었습니다. IRS가 집행을 강화하고 상세한 보고를 요구함에 따라 정확한 기록 보관은 단순히 좋은 습관을 넘어 벌금 회피와 세금 부담 최적화를 위해 필수적입니다.

이 포괄적인 가이드는 Beancount.io의 강력한 평문 회계 시스템을 활용해 완전한 암호화폐 세금 준수를 달성하는 방법을 보여 주며, 모든 IRS 요구사항을 충족하면서 세금 효율성을 극대화합니다.

암호화폐 세금 준수 가이드

암호화폐 세금 요구사항 이해하기

IRS의 암호화폐 취급

IRS는 암호화폐를 재산으로 취급하며, 이는 특정 세무 영향을 초래합니다:

  • 모든 거래가 과세 대상: 거래, 매도, 사용, 교환 모두
  • 원가 기준 추적 필수: 보유 중인 모든 암호화폐 단위마다
  • 보유 기간에 따라 세율 결정: 단기 vs. 장기 자본 이득
  • 소득 인식 필요: 채굴, 스테이킹, 에어드롭, DeFi 보상 등
  • 상세 기록 의무: 감사 대비 거래 수준 문서화

암호화폐 관련 주요 세금 양식

양식 1040 – 개인 소득세 신고서

  • 라인 1: 암호화폐 소득 보고 (스테이킹, 채굴, 에어드롭)
  • 스케줄 1: 기타 소득 항목
  • 디지털 자산 질문: 암호화폐 거래가 있었을 경우 “예” 선택

양식 8949 – 자본 자산 매매 및 기타 처분

  • 파트 I: 단기 자본 이득/손실 (보유 ≤ 1년)
  • 파트 II: 장기 자본 이득/손실 (보유 > 1년)
  • 상세 거래 보고: 취득일, 매도일, 매각 대금, 원가 기준

스케줄 D – 자본 이득 및 손실

  • 양식 8949 요약: 집계된 자본 이득/손실
  • 순 자본 이득/손실: 최종 세금 부과액 계산

세금 준수형 암호화폐 회계 설정

세무 보고용 계정 구조

세무 요구사항에 맞게 계정 계층을 설계합니다:

; 자산 – 보유 기간 및 출처별 정리
1970-01-01 open Assets:Crypto:ShortTerm:Coinbase:BTC
1970-01-01 open Assets:Crypto:LongTerm:Coinbase:BTC
1970-01-01 open Assets:Crypto:Trading:Binance:ETH
1970-01-01 open Assets:Crypto:Investment:Ledger:BTC

; 소득 – 세무 처리별 구분
1970-01-01 open Income:Crypto:Staking:Ordinary ; 일반 소득으로 과세
1970-01-01 open Income:Crypto:Mining:Ordinary ; 일반 소득으로 과세
1970-01-01 open Income:Crypto:Airdrops:Ordinary ; 일반 소득으로 과세
1970-01-01 open Income:CapitalGains:ShortTerm ; 단기 자본 이득
1970-01-01 open Income:CapitalGains:LongTerm ; 장기 자본 이득

; 비용 – 세금 공제 가능한 항목
1970-01-01 open Expenses:Crypto:Fees:Deductible ; 거래 수수료
1970-01-01 open Expenses:Crypto:Mining:Equipment ; 채굴 장비
1970-01-01 open Expenses:Crypto:Mining:Electricity ; 전기료
1970-01-01 open Expenses:Crypto:Mining:Other ; 기타 비용
1970-01-01 open Expenses:Crypto:Staking:Fees:Deductible
1970-01-01 open Expenses:Crypto:Airdrops:Fees:Deductible

메타데이터 예시

; 메타데이터 예시
1970-01-01 * "2024년 12월 31일 세금 보고용 메타데이터"
unrealized_gains: "계산되지 않은 포지션"
loss_harvesting: "손실 수확 기회 식별"
income_timing: "다음 연도로 소득 연기 고려"
expense_timing: "공제 가능한 비용 앞당기기"

연말 세무 전략

연말 세금 계획 체크리스트

; 12월 세금 계획 체크리스트
2024-12-01 * "연말 세무 검토"
unrealized-gains: "미실현 이득 계산"
loss-harvesting: "손실 수확 기회 식별"
income-timing: "소득을 다음 연도로 연기 고려"
expense-timing: "공제 가능한 비용 앞당기기"

코드 예시 (변경 없음)

; 2024-01-01 * "예시 거래"
Assets:Crypto:BTC 10000.00 USD
Income:CapitalGains:ShortTerm 2000.00 USD
Expenses:Taxes:Federal 1500.00 USD
SELECT *
FROM Transactions
WHERE date >= '2024-01-01';
def calculate_tax(income, deductions):
return max(0, income - deductions)

결론

Beancount.io의 포괄적인 평문 회계 시스템을 사용하면 암호화폐 세금 준수를 다음과 같이 손쉽게 달성할 수 있습니다:

  • 완전한 준수 보장: 모든 IRS 보고 요구사항 충족
  • 세금 부담 최적화: 고급 세무 전략 적용
  • 감사 대비 기록 유지: 상세 문서와 감사 추적 제공
  • 보고 자동화: 세금 양식과 보고서 자동 생성
  • 복잡성에 맞춘 확장성: 단순 거래부터 복잡한 DeFi 전략까지 지원

주요 장점:

  • 투명한 계산: 세금 수치가 어떻게 산출되는지 명확히 확인
  • 유연한 보고: 필요에 따라 모든 형식의 보고서 생성
  • 전문가 연동: CPA 및 세무 소프트웨어와 원활히 통합
  • 미래 대비 기록: 평문 형식으로 장기 접근성 보장

오늘부터 올바른 암호화폐 세금 준수를 시작하세요. 정확한 기록 보관에 투자하면 세무 시즌에 시간, 비용, 스트레스를 크게 절감하면서 IRS 요구사항을 완벽히 충족할 수 있습니다.

암호화폐 세금 준수를 마스터하고 싶으신가요? Beancount.io에 가입하기하고 암호화폐 세무 의무를 직접 관리해 보세요.

DeFi 회계 간편하게: 플레인-텍스트 회계로 수확량 파밍, 유동성 풀, 스테이킹 보상 추적

· 약 5분
Mike Thrift
Mike Thrift
Marketing Manager

탈중앙화 금융(DeFi)은 금융 서비스와의 상호작용 방식을 혁신하여 수익 창출, 유동성 제공, 탈중앙화 거래와 같은 전례 없는 기회를 제공합니다. 그러나 이러한 기회와 함께 복잡한 거래를 정확히 추적하여 세금 준수와 포트폴리오 관리를 해야 하는 과제가 따릅니다.

전통적인 회계 방법은 자동화된 마켓 메이커, 유동성 마이닝, 영구적 손실, 다중 토큰 보상 등 DeFi 고유의 특성을 다루기 어렵습니다. 이 포괄적인 가이드는 Beancount.io의 강력한 플레인-텍스트 회계 시스템을 활용해 DeFi 회계를 마스터하는 방법을 보여줍니다.

DeFi 회계 간편하게

DeFi 회계 과제 이해하기

DeFi 거래의 복잡성

DeFi 프로토콜은 전통 금융에서는 존재하지 않는 회계 과제를 만들어냅니다:

  • 다중 토큰 거래: 하나의 작업에 여러 암호화폐가 포함
  • 자동 복리: 보상이 자동으로 재투자
  • 영구적 손실: 유동성 풀에서 가격 차이로 인한 가치 변동
  • 가스 비용 최적화: 네트워크마다 복잡한 수수료 구조
  • 프로토콜 거버넌스: 투표 권한 및 거버넌스 토큰 배포
  • 크로스 프로토콜 상호작용: 여러 DeFi 플랫폼에 걸친 거래

DeFi 활동의 세무 영향

IRS는 DeFi 활동을 과세 이벤트로 간주합니다:

  • 유동성 제공: 자산을 입금할 때 과세 이벤트 발생 가능
  • 수확량 파밍 보상: 공정 시장 가치 기준 일반 소득으로 과세
  • 영구적 손실: 풀에서 인출 시 세무 영향 가능
  • 거버넌스 토큰: 에어드롭 및 보상이 소득으로 과세
  • 스테이킹 보상: 수령 시 소득으로 과세

Beancount.io에서 DeFi 계정 설정하기

포괄적인 계정 구조

DeFi 모든 활동을 포착할 수 있는 상세 계층 구조를 만드세요:

; 지갑 계정
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:MetaMask:DAI
1970-01-01 open Assets:Crypto:Wallet:MetaMask:WBTC

; Uniswap V3 유동성 풀
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:DeFi:Uniswap:DAI-USDC-LP
1970-01-01 open Assets:DeFi:Uniswap:WBTC-ETH-LP

; Compound 프로토콜
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:DeFi:Compound:cETH
1970-01-01 open Assets:DeFi:Compound:cDAI

; Aave 프로토콜
1970-01-01 open Assets:DeFi:Aave:aUSDC
1970-01-01 open Assets:DeFi:Aave:aETH
1970-01-01 open Assets:DeFi:Aave:DebtETH

; 스테이킹 프로토콜
1970-01-01 open Assets:Staking:Ethereum:ETH
1970-01-01 open Assets:Staking:Lido:stETH
1970-01-01 open Assets:Staking:RocketPool:rETH

; 수익 계정
1970-01-01 open Income:DeFi:Yield:Uniswap
1970-01-01 open Income:DeFi:Yield:Compound
1970-01-01 open Income:DeFi:Yield:Aave
1970-01-01 open Income:DeFi:Staking:Ethereum
1970-01-01 open Income:DeFi:Governance:Tokens
1970-01-01 open Income:DeFi:Airdrops

; 비용 계정
1970-01-01 open Expenses:DeFi:Gas:Ethereum
1970-01-01 open Expenses:DeFi:Gas:Polygon
1970-01-01 open Expenses:DeFi:Gas:Arbitrum
1970-01-01 open Expenses:DeFi:ImpermanentLoss

DeFi 전용 상품 정의

토큰 및 LP 토큰을 적절한 메타데이터와 함께 정의합니다:

1970-01-01 commodity UNI-V3-ETH-USDC
name: "Uniswap V3 ETH-USDC LP Token"
asset-class: "liquidity-pool"
protocol: "uniswap-v3"

1970-01-01 commodity cUSDC
name: "Compound USDC"
asset-class: "lending-token"
protocol: "compound"

1970-01-01 commodity stETH
name: "Lido Staked Ethereum"
asset-class: "staking-derivative"
protocol: "lido"

일반적인 DeFi 활동 추적하기

1. Uniswap 유동성 제공

풀에 유동성 추가

2024-01-15 * "Add liquidity to ETH-USDC Uniswap V3 pool"
Assets:Crypto:Wallet:MetaMask:ETH -5.0 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -12500 USDC
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V3-ETH-USDC {250.00 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

LP 수수료 청구

2024-02-15 * "Claim Uniswap LP fees"
Assets:Crypto:Wallet:MetaMask:ETH 0.2 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC 300 USDC
Income:DeFi:Yield:Uniswap 820.00 USD
Expenses:DeFi:Gas:Ethereum 0.005 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.005 ETH {2600.00 USD}

영구적 손실 포함 인출

2024-03-20 * "Remove liquidity from ETH-USDC pool"
Assets:Crypto:Wallet:MetaMask:ETH 5.0 ETH {2600.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC 13000 USDC
Assets:DeFi:Uniswap:ETH-USDC-LP -100 UNI-V3-ETH-USDC {0 USD}
Expenses:DeFi:ImpermanentLoss -0.5 ETH {0 USD} ; IL calculation

2. Compound 이자 받기

2024-04-01 * "Supply USDC to Compound"
Assets:Crypto:Wallet:MetaMask:USDC -10000 USDC
Assets:DeFi:Compound:cUSDC 10000 cUSDC {1.00 USD}
Expenses:DeFi:Gas:Ethereum 0.002 ETH {2500.00 USD}

이자 청구

2024-04-30 * "Claim COMP interest"
Assets:Crypto:Wallet:MetaMask:USDC 200 USDC
Income:DeFi:Yield:Compound 200.00 USD

3. Aave 대출 및 상환

대출

2024-05-10 * "Borrow ETH from Aave"
Assets:Crypto:Wallet:MetaMask:ETH 2.0 ETH {3000.00 USD}
Assets:DeFi:Aave:DebtETH -2.0 ETH {0 USD}
Expenses:DeFi:Gas:Ethereum 0.015 ETH {3000.00 USD}

상환

2024-06-01 * "Repay Aave loan"
Assets:Crypto:Wallet:MetaMask:ETH -2.1 ETH {3100.00 USD}
Assets:DeFi:Aave:DebtETH 2.0 ETH {0 USD}
Expenses:DeFi:Gas:Ethereum 0.01 ETH {3100.00 USD}

4. 스테이킹 보상

2024-07-15 * "Receive staking rewards from Lido"
Assets:Crypto:Wallet:MetaMask:stETH 10 stETH {2000.00 USD}
Income:DeFi:Staking:Ethereum 10.00 USD
Expenses:DeFi:Gas:Ethereum 0.005 ETH {2500.00 USD}

복잡한 거래와 프로토콜 위험 관리

복합 거래 기록

  • 다중 프로토콜 상호작용을 정확히 기록하고, 각 단계마다 메모를 남겨 전략을 문서화합니다.
  • 자동 가격 피드를 설정해 실시간 시가를 반영합니다.

프로토콜 위험 추적

; 스마트 계약 실패
Expenses:DeFi:Risk:SmartContract 0 USD
; 청산 이벤트
Expenses:DeFi:Risk:Liquidation 0 USD
; 슬리피지 비용
Expenses:DeFi:Risk:Slippage 0 USD

DeFi 도구와의 통합

포트폴리오 추적

  • DeBank: DeFi 포트폴리오 개요
  • Zapper: 다중 프로토콜 대시보드
  • Zerion: DeFi 지갑 및 트래커

세무 보고

  • Koinly: DeFi 세금 계산
  • CoinTracker: 다중 프로토콜 지원
  • TokenTax: DeFi 전용 보고

분석 플랫폼

  • DeFi Pulse: 프로토콜 분석
  • DeFiLlama: TVL 및 수익 추적
  • APY.vision: 영구적 손실 추적

결론

DeFi 회계의 복잡성이 탈중앙화 금융 혁명에 참여하는 것을 방해하지 않아야 합니다. Beancount.io의 강력한 플레인-텍스트 회계 시스템을 활용하면:

  • 복잡한 거래 추적: 다중 프로토콜 상호작용을 원활히 처리
  • 세금 준수 보장: 정확한 수익 인식 및 비용 기록
  • 포트폴리오 성과 모니터링: 실시간 인사이트 제공
  • 위험 관리: 영구적 손실 및 프로토콜 위험 추적
  • 운영 확장: 간단한 스테이킹부터 복잡한 수확량 파밍 전략까지

성공적인 DeFi 회계의 핵심은 일관성, 정확성, 그리고 적절한 분류입니다. 기본 프로토콜부터 시작해 회계 패턴에 익숙해지면 점차 더 복잡한 전략으로 확장해 보세요.

DeFi 회계를 마스터할 준비가 되셨나요? Beancount.io 시작하기와 함께 탈중앙화 금융 포트폴리오를 오늘 바로 관리해 보세요.