Awesome Beancount
Beancount 생태계에 대한 엄선된 가이드입니다. Beancount는 단순한 텍스 트 기반 형식을 사용하여 복식부기의 엄격함과 함께 자산을 관리할 수 있는 강력한 오픈 소스 회계 시스템입니다. 이 페이지는 커뮤니티에서 엄선한 목록과 생태계 개요를 하나의 종합적인 리소스로 통합합니다.
왜 플레인 텍스트 회계인가?
플레인 텍스트 회계(Plain Text Accounting, PTA)는 단순한 텍스트 파일과 강력한 커맨드 라인 도구를 사용하여 재무를 관리하는 방법론입니다. 이 접근 방식은 데이터에 대한 완전한 소유권을 부여하고, 데이터의 영속성을 보장하며, 자동화 및 분석에 있어 비교할 수 없는 유연성을 제공합니다.
- 공식 PTA 허브: Plain Text Accounting
- 쉬운 입문서: Accounting for the simple minds with plain text accounting
- 웹 앱에서 CLI까지: Command line accounting: From mint.com to Ledger
Beancount 생태계
Beancount 생태계는 핵심 엔진을 중심으로 구축된 도구, 플러그인 및 리소스의 모음입니다. 각 구성 요소는 완전한 재무 관리 워크플로우를 구축하는 데 특정한 역할을 수행합니다.
1. 핵심 엔진 및 공식 리소스
이들은 Beancount의 근간이 되는 요소들로, 제작자와 공식 기여자들이 유지 관리합니다.
| 리소스 | 설명 |
|---|---|
| Beancount (Core) | 원장 파일을 읽고, 복식부기 규칙을 적용하며, 보고서를 생성하는 엔진입니다. bean-check 및 bean-format과 같은 핵심 커맨드 라인 유틸리티를 제공합니다. 다른 모든 도구는 이 위에 구축됩니다. |
| 홈페이지 | beancount.github.io |
| 소스 코드 | github.com/beancount/beancount |
| 문서화 | GitHub Pages 및 Google Docs |
| 외부 기여 | 커뮤니티 기여 공식 목록 |
| Beanquery | 원장을 대상으로 고급 쿼리(예: SELECT ... FROM ... WHERE ...)를 실행하여 맞춤형 분석을 생성할 수 있는 강력한 SQL 방식의 쿼리 도구(v3)입니다. |
2. 사용자 인터페이스
이 도구들은 재무 데이터를 탐색하고 편집할 수 있는 시각적 인터페이스를 제공합니다.
| 도구 | 설명 |
|---|---|
| Fava | Beancount를 위한 결정적이고 모든 기능을 갖춘 웹 대시보드입니다. 대화형 차트, 드릴다운 테이블, 브라우저 내 편집 기능 및 예산 관리와 같은 기능을 추가하기 위한 확장 시스템을 제공합니다. |
| Fava-GTK | 원활한 데스크톱 경험을 위해 Fava를 감싼 네이티브 GNOME 데스크톱 애플리케이션입니다. |
| Beancount Mobile | 이동 중에도 트랜잭션을 추가할 수 있는 모바일 데이터 입력 앱입니다. |
| Beancount Telegram Bot | 채팅을 통해 원장에 트랜잭션을 빠르게 추가할 수 있는 텔레그램 봇입니다. |
3. 트랜잭션 가져오기 (Importing)
가져오기(Importing)는 금융 기관의 데이터(은행 CSV 또는 PDF 등)를 Beancount 엔트리로 변환하는 프로세스입니다.
| 도구 | 설명 |
|---|---|
| Beangulp (v3) | 임포터를 구축하기 위한 현대적인 독립형 프레임워크입니다. Python 스크립트(플러그인)를 통해 외부 파일을 처리하여 Beancount 지시어를 생성합니다. |
| Smart Importer | 머신러닝을 사용하여 카테고리를 자동으로 예측하고 할당함으로써 임포터 기능을 강화하는 도구입니다. |
| Beancount Reds Ingestor | CSV 및 OFX 파일을 처리하기 위한 공통 라이브러리를 포함한 임포터 모음입니다. |
| double-entry-generator | 알리페이(Alipay) 및 위챗페이(WeChat Pay)와 같은 중국 서비스에 특화된 규칙 기반 임포터입니다. |
커뮤니티 임포터 (국가별)
커뮤니티가 관리하는 특정 은행 및 서비스를 위한 방대한 스크립트 모음입니다.
- 중국
- Alipay / 支 付宝: deb-sig/double-entry-generator, wzyboy/importer
- 중국상업은행 (CMB): 체크카드, 신용카드
- WeChat Pay / 微信支付: deb-sig/double-entry-generator
- 프랑스
- Caisse d'Epargne: beancount-ce
- Boursorama, Amex: Beancount-myTools
- 독일
- Commerzbank: beancount-commerzbank
- Deutsche Kredit Bank (DKB): beancount-dkb
- ING: beancount-ing
- N26: beancount-n26
- Volksbank & GLS-Bank: beancount-importer-volksbank
- 인도
- SBI, BOI, Paytm, HSBC, ICICI: beancount-importers-india
- 네덜란드
- ABN AMRO: beancount-abnamro
- 스위스
- 일반: tariochbctools (BCGE, Neon, Raiffeisen, ZKB, Fidelity)
- Finpension: drnuke-bean
- PostFinance: tariochbctools, drnuke-bean
- 영국
- Monzo, Revolut, Wise: Evernight/beancount-importers
- Revolut, Wise: tariochbctools
- 미국
- Amex, Chase, Citi, Schwab: mterwill/gist
- Capital One: mtlynch/beancount-capitalone
- Chase: mtlynch/beancount-chase-bank, ArthurFDLR/beancount-chase
- Clipper: beancount-clipper
- Mercury: mtlynch/beancount-mercury
- 블록체인
4. 에디터 지원 및 도구
Beancount를 개발 환경에 통합하여 편집 및 유지 관리를 간소화하는 도구들입니다.
- IDE 지원: 구문 강조(Syntax highlighting), 자동 완성, 실시간 잔액 확인 기능을 제공하는 플러그인입니다.
- VSCode
- Emacs
- Vim
- Zed
- Sublime Text
- Atom
- Beancount Language Server (모든 LSP 호환 에디터용)
- 자동화 및 유틸리티:
bean-add: 명령줄에서 대화형으로 거래를 추가합니다.beancount-black: Beancount 파일을 위한 엄격한 코드 포맷터입니다.beancount-categorizer: 정규식 규칙을 사용하여 자동으로 거래를 분류합니다.beanahead: 미래의 거래를 관리하고 예측합니다.
- 데이터 마이그레이션 도구: 다른 회계 시스템에서 데이터를 변환하는 유틸리티입니다.
- GnuCash에서: henriquebastos/gc-to-bc, dtrai2/gc-to-bc
- Ledger/hledger에서: travisdahlke/gist, zacchiro/ledger2beancount
- YNAB에서: hoostus/beancount-ynab
5. 플러그인 (원장 확장)
처리 중에 실행되어 사용자 정의 규칙을 적용하거나 거래를 자동화하고 새로운 기능을 추가하는 원장 내 Python 모듈입니다.
- 예산 관리:
- fava-envelope: 봉투형 예산 관리(Envelope-style budgeting)를 위한 Fava 확장 프로그램입니다.
- 자동화 및 검사:
- autobean.share: 지출 분할 및 부채 관리.
- autobean.sorted: 거래가 날짜 순으로 정렬되도록 보장합니다.
- beancount-checkclosed: 폐쇄된 계정의 잔액이 0인지 자동으로 확인합니다.
- 데이터 조작:
- autobean.narration: 거래 적요(Narration)를 자동으로 생성합니다.
- beancount-lazy-plugins.filter_map: 필터링된 거래 그룹에 작업을 적용합니다.
6. 시세 정보 소스
투자 가치를 추적하기 위해 원자재, 주식, 통화의 과거 및 현재 시세를 가져오는 스크립트입니다.
- beancount-exchangerates:
frankfurter.dev와 같은 API를 통한 법정 화폐 시세용. - pricehist: 다중 소스 시세 수집기.
- beancount-cryptoassets: 암호화폐 시세 수집용.
- tariochbctools: 인터랙티브 브로커스(Interactive Brokers)용 시세 소스 포함.
학습 및 커뮤니티
도서 및 심층 가이드
- Tracking Personal Finances using Python: Beancount로 개인 재정 시스템을 구축하는 종합 가이드를 제공하는 도서입니다. (웹사이트)
- 중국어 블로그 시리즈 (BYVoid): 1부: 왜 하는가?, 2부: 차변과 대변
선별된 블로그 포스트
- 영어
- 프랑스어
- 중국어
커뮤니티
- 메일링 리스트: Google 그룹스 (주요 토론 포럼)
- 라이브 채팅 (IRC): web.libera.chat의 #beancount 채널
- 텔레그램 (중국어): t.me/beancount_zh
상업 서비스 및 앱
자체 인프라를 관리하지 않고 Beancount의 강력한 기능을 사용하려는 사용자를 위한 서비스입니다.
| 서비스 | 설명 |
|---|---|
| Beancount.io | 즉시 사용 가능한 Beancount 및 Fava 인스턴스를 제공하는 SaaS(Software as a Service) 플랫폼입니다. iOS 및 Android 전용 모바일 앱도 제공합니다. |
