본문으로 건너뛰기

스타트업을 위한 Beancount 설정

실용적이고 복사하여 붙여넣기 할 수 있는 기본 설정으로 일반 텍스트로 스타트업 장부를 운영하세요. 시드 전 단계부터 시리즈 A까지 작동합니다. 이는 법률 또는 세금 자문이 아닙니다.


스타트업을 운영한다는 것은 여러 모자를 쓰는 것을 의미하며, 그중 가장 중요한 것 중 하나는 "부기 담당자"입니다. 비싼 소프트웨어나 전담 회계사를 고용하기 전에 정확하고 감사 가능하며 독점적인 생태계에 묶이지 않는 시스템이 필요합니다. 여기에 Beancount가 등장합니다: 오픈소스 기반의 일반 텍스트 회계 시스템입니다.

Beancount를 사용하면 재무 원장이 Git 저장소의 코드 옆에 텍스트 파일로 존재합니다. 버전 관리가 되고 투명하며 무한히 사용자 정의할 수 있습니다. 이 가이드는 설립부터 시리즈 A까지 스타트업 장부를 운영할 수 있는 완전하고 복사하여 붙여넣기 할 수 있는 설정을 제공하며, 건전한 발생주의 회계 원칙에 기반합니다.

1) 설정할 내용​

이 가이드는 완전하고 전문가 수준의 회계 설정을 만드는 과정을 안내합니다. 완료하면 다음을 갖게 됩니다:

  • Git으로 관리되는 단일 정보 원천 원장(main.beancount)으로 회사 재무의 완전하고 감사 가능한 이력을 제공합니다.
  • 아름다운 보고서와 그래프를 위한 Fava. Fava는 Beancount용 웹 인터페이스로 텍스트 파일을 대화형 손익계산서, 대차대조표, 현금 흐름 분석으로 변환합니다.
  • 나중에 추가할 수 있는 임포터 구조로 은행, 신용카드, PayPal, Stripe 계정에서 거래 입력을 자동화할 수 있습니다. 시스템을 배우기 위해 처음에는 수동으로 시작한 후 자동화합니다.
  • 현대 스타트업을 위한 발생주의 기반 계정과목표로 이연 수익, 선급 비용, 급여 부채에 대한 기본 지원이 포함됩니다.
  • 시드 파이낸싱을 위한 기본 요소로 SAFE(부채 또는 자본으로) 및 이자가 있는 전환사채 기록에 대한 명확한 예시가 포함됩니다.

2) 프로젝트 구조 (저장소에 그대로 추가)​

회사의 Git 저장소 안에 다음 디렉토리 구조를 만들어 시작하세요. 이 구성은 원장을 깔끔하고 확장 가능하게 유지합니다.

/ledger
  main.beancount
  /includes
    accounts.beancount
    opening-balances.beancount
    policies.beancount
  /documents
    /bank
    /invoices
    /receipts
  /importers              # 선택 사항; CSV 자동 수집을 추가할 때 사용
    bank_importer.py
    card_importer.py
  • main.beancount: 모든 것을 통합하는 중앙 파일입니다.
  • /includes: 계정과목표, 개시 잔액, 회계 정책을 보관합니다.
  • /documents: 감사 추적을 위해 은행 명세서, 송장, 영수증 PDF를 저장하는 장소입니다.
  • /importers: 향후 은행 CSV를 파싱하는 Python 스크립트가 위치할 곳입니다.

3) 최소한의 합리적인 main.beancount​

이것은 원장의 진입점입니다. 몇 가지 전역 옵션을 설정하고 다른 구성 요소 파일을 포함합니다. 이 내용을 ledger/main.beancount에 복사하고 제목을 사용자 지정하세요.

option "title" "Acme, Inc. Ledger"
option "operating_currency" "USD"
option "documents" "ledger/documents"
 
include "includes/accounts.beancount"
include "includes/opening-balances.beancount"
include "includes/policies.beancount"
 
; 나중에 임포터를 추가하면 여기에 플러그인 줄을 추가합니다.
; plugin "beancount.plugins.implicit_prices"

4) 스타터 계정과목표 (발생주의 우선)​

계정과목표는 회사의 재무 거래에 대한 완전한 범주 목록입니다. 이 스타터 템플릿은 현금 기준 회계보다 회사 상태를 훨씬 정확하게 보여주는 발생주의 회계를 위해 설계되었습니다.

이것을 includes/accounts.beancount에 넣으세요. 지금 필요 없는 계정은 자유롭게 제거하세요.

; --- 자산 ---
1970-01-01 open Assets:Bank:Checking              USD
1970-01-01 open Assets:Bank:Savings                USD
1970-01-01 open Assets:AR                         USD         ; 매출채권
1970-01-01 open Assets:Prepaid:Software            USD
1970-01-01 open Assets:Prepaid:Insurance           USD
1970-01-01 open Assets:Deposits                    USD         ; 보증금
1970-01-01 open Assets:Equipment                   USD
1970-01-01 open Assets:Intangibles                 USD
1970-01-01 open Assets:Crypto:BTC                  BTC
1970-01-01 open Assets:Other
 
; --- 부채 ---
1970-01-01 open Liabilities:AP                     USD         ; 매입채무
1970-01-01 open Liabilities:CreditCard:Corporate   USD
1970-01-01 open Liabilities:DeferredRevenue        USD
1970-01-01 open Liabilities:Payroll:Withholding    USD
1970-01-01 open Liabilities:Payroll:EmployerTaxes  USD
1970-01-01 open Liabilities:SalesTax:CA            USD
1970-01-01 open Liabilities:SAFE                   USD
1970-01-01 open Liabilities:NotesPayable           USD
1970-01-01 open Liabilities:Other
 
; --- 자본 ---
1970-01-01 open Equity:CommonStock                 USD
1970-01-01 open Equity:APIC                        USD         ; 추가 납입 자본
1970-01-01 open Equity:SAFE                        USD         ; SAFE를 자본으로 분류하는 경우
1970-01-01 open Equity:RetainedEarnings            USD
1970-01-01 open Equity:OpeningBalances             USD
 
; --- 수익 (음수 잔액) ---
1970-01-01 open Income:Revenue:SaaS                USD
1970-01-01 open Income:Revenue:Services            USD
1970-01-01 open Income:Other                       USD
 
; --- 비용 ---
1970-01-01 open Expenses:COGS                      USD
1970-01-01 open Expenses:Payroll:Wages             USD
1970-01-01 open Expenses:Payroll:EmployerTaxes     USD
1970-01-01 open Expenses:Benefits                  USD
1970-01-01 open Expenses:Contractors               USD
1970-01-01 open Expenses:Software:Subscriptions    USD
1970-01-01 open Expenses:Cloud                     USD
1970-01-01 open Expenses:Rent                      USD
1970-01-01 open Expenses:Meals                     USD
1970-01-01 open Expenses:Travel                    USD
1970-01-01 open Expenses:Marketing                 USD
1970-01-01 open Expenses:Legal                     USD
1970-01-01 open Expenses:Accounting                USD
1970-01-01 open Expenses:Insurance                 USD
1970-01-01 open Expenses:BankFees                  USD
1970-01-01 open Expenses:Taxes:Income              USD
1970-01-01 open Expenses:Taxes:Sales               USD
1970-01-01 open Expenses:Other                     USD

참고

  • 수익 계정은 음수입니다. 이는 복식부기에서 대변을 나타내기 때문입니다. 걱정하지 마세요. Fava는 보고서에서 부호를 자동으로 반전시키므로 손익계산서에 수익이 양수로 표시됩니다.
  • 좁고 목적이 분명한 범주로 시작하세요. 나중에 새 계정을 추가하는 것이 지나치게 세분화된 계정과목표를 정리하는 것보다 훨씬 쉽습니다.

5) 개시 잔액 (첫날)​

원장의 첫 거래는 무대를 설정합니다. 추적을 시작한 날의 계정 초기 상태를 기록합니다. 이 거래를 includes/opening-balances.beancount에 넣고 날짜와 금액을 실제 시작 위치에 맞게 조정하세요.

2025-01-01 * "개시 잔액"
  Assets:Bank:Checking              5,000.00 USD
  Liabilities:CreditCard:Corporate   -500.00 USD
  Equity:OpeningBalances           -4,500.00 USD

이 항목은 회사가 은행에 $5,000과 신용카드 잔액 $500으로 시작했음을 기록합니다. Equity:OpeningBalances 계정은 복식부기 요구 사항인 거래가 0으로 균형을 맞추도록 보장하는 특수 계정입니다.


6) 일반적인 스타트업 거래 (복사-붙여넣기)​

초기 스타트업에서 가장 흔한 재무 이벤트에 대한 레시피입니다. 복사하고 붙여넣고 자신의 용도에 맞게 조정하세요.

창업자 주식 매입 (단순, 통화 전용)​

창업자가 액면가로 초기 주식을 매입하면 현금이 회사로 들어오고 자본으로 기록됩니다. 자본 테이블(Carta, Pulley 또는 스프레드시트)은 주식 수의 정보 원천이며 원장은 달러만 기록합니다.

2025-01-05 * "액면가 창업자 주식 매입"
  Assets:Bank:Checking                800.00 USD
  Equity:CommonStock                   -0.80 USD
  Equity:APIC                        -799.20 USD
  ; 8,000,000 보통주 @ $0.0001 — 수는 원장 외부에서 관리

(선택 사항) 주식을 상품으로 추적​

원장에서 발행 주식 수를 추적하려면 주식을 "상품"으로 정의할 수 있습니다. 이는 더 복잡하지만 원장 내에서 더 완전한 기록을 제공합니다.

2025-01-05 commodity ACME
  name: "Acme, Inc. 보통주"
 
2025-01-05 * "창업자 주식 발행"
  Assets:Bank:Checking                800.00 USD
  Equity:APIC                        -799.20 USD
  Equity:CommonStock           -8,000,000 ACME {0.0001 USD}

SAFE 현금 유입 (분류 선택)​

SAFE(미래 지분에 대한 간단한 계약)는 부채 또는 자본의 한 형태("메자닌 자본")로 처리할 수 있습니다. 회계사와 상의하여 올바른 접근 방식을 선택하고 일관성을 유지하세요.

; (A) 자본 분류 (메자닌)
2025-02-01 * "포스트머니 SAFE — SeedFund"
  Assets:Bank:Checking            500,000.00 USD
  Equity:SAFE                    -500,000.00 USD
 
; (B) 부채 분류 (전환 시까지)
2025-02-01 * "포스트머니 SAFE — SeedFund"
  Assets:Bank:Checking            500,000.00 USD
  Liabilities:SAFE               -500,000.00 USD

가격이 정해진 라운드가 종료되면 마감 문서에 따라 SAFE 잔액을 우선주와 추가 납입 자본으로 재분류합니다.

이자가 발생하는 전환사채​

SAFE와 달리 전환사채는 이자가 발생하는 명백한 부채입니다. 초기 현금을 기록한 다음 이자 비용을 주기적으로(예: 분기별) 기록합니다.

2025-03-01 * "전환사채 — 연 6%"
  Assets:Bank:Checking            250,000.00 USD
  Liabilities:NotesPayable       -250,000.00 USD
 
2025-06-30 * "2분기 전환사채 이자 발생"
  Expenses:Interest                 3,750.00 USD
  Liabilities:NotesPayable         -3,750.00 USD
  ; 250,000 * 6% * 0.25 = 3,750

연간 SaaS 판매 (이연 수익 + 월별 인식)​

이것은 발생주의 회계의 초석입니다. 고객이 1년을 선불로 지불하면 모든 수익을 한 번에 인식하지 않습니다. 부채(DeferredRevenue)로 기록하고 매월 1/12씩 인식합니다.

2025-03-10 * "연간 구독 — AcmeCo — INV-001"
  Assets:AR                       1,200.00 USD
  Liabilities:DeferredRevenue    -1,200.00 USD
  narration: "SaaS 연간 선불"
 
2025-03-20 * "INV-001 결제"
  Assets:Bank:Checking            1,200.00 USD
  Assets:AR                      -1,200.00 USD
 
; 1/12 인식 (매월 반복 또는 스크립트화)
2025-04-01 * "수익 인식 1/12 — INV-001"
  Liabilities:DeferredRevenue       100.00 USD
  Income:Revenue:SaaS              -100.00 USD

선급 비용 및 상각​

이것은 이연 수익의 반대입니다. 서비스(연간 소프트웨어나 보험 등)를 선불로 지불하면 자산(Prepaid)으로 기록하고 매월 일부를 "상각"하거나 비용 처리합니다.

2025-03-01 * "연간 소프트웨어 선불"
  Assets:Prepaid:Software         1,200.00 USD
  Assets:Bank:Checking           -1,200.00 USD
 
2025-04-01 * "선불 상각 1/12"
  Expenses:Software:Subscriptions   100.00 USD
  Assets:Prepaid:Software          -100.00 USD

급여 (순 현금, 원천징수 + 고용주 세금 포함)​

급여 항목에는 여러 부분이 있습니다: 총 임금 비용, 고용주 세금 비용, 직원에게 지급된 순 현금, 정부에 납부해야 하는 원천징수 세금에 대한 부채입니다.

2025-04-15 * "급여 — 4월 15일"
  Expenses:Payroll:Wages          15,000.00 USD
  Expenses:Payroll:EmployerTaxes   1,200.00 USD
  Liabilities:Payroll:Withholding -4,000.00 USD
  Assets:Bank:Checking           -12,200.00 USD

판매세 징수 및 납부 (캘리포니아 예시)​

판매세를 징수할 때 그것은 당신의 돈이 아닙니다. 주에 납부해야 할 부채입니다. 판매 시 부채를 기록하고 세금을 납부할 때 정리합니다.

2025-05-10 * "송장 #123 — CA 과세"
  Assets:AR                       1,088.75 USD
  Income:Revenue:SaaS              -999.00 USD
  Liabilities:SalesTax:CA           -89.75 USD
 
2025-06-05 * "#123 결제"
  Assets:Bank:Checking            1,088.75 USD
  Assets:AR                      -1,088.75 USD
 
2025-07-20 * "2분기 CA 판매세 납부"
  Liabilities:SalesTax:CA            89.75 USD
  Assets:Bank:Checking              -89.75 USD

외환 및 암호화폐 (가벼운 처리)​

Beancount는 여러 통화를 기본적으로 처리합니다. price 지시문을 사용하여 환율을 기록하고 특정 거래에는 {} 비용 구문을 사용하세요.

2025-03-01 price EUR 1.0832 USD
 
2025-03-02 * "AWS EU 청구"
  Expenses:Cloud                     90.00 EUR
  Liabilities:CreditCard:Corporate  -90.00 EUR
 
2025-03-05 * "테스트용 BTC 구매"
  Assets:Crypto:BTC                   0.0200 BTC {3400.00 USD}
  Assets:Bank:Checking           -3,400.00 USD

7) Fava 사용하기 (한 명령으로 보고서)​

Fava는 Beancount 데이터를 생생하게 만드는 훌륭한 웹 인터페이스입니다. 이는 꼼꼼한 데이터 입력에 대한 보상입니다.

  • 설치: $ pip install fava
  • 실행: $ fava ledger/main.beancount
  • 유용한 보기: 손익계산서, 대차대조표, 분개장 (계정/태그 필터링용), 쿼리 (사용자 정의 SQL 유사 쿼리용).

빠른 Fava 필터:

  • account:DeferredRevenue: 이연 수익 계정의 모든 활동을 표시합니다.
  • tag:#invoice-001: 특정 송장과 관련된 거래에 태그를 지정하고 필터링합니다.
  • from:2025-01-01 to:2025-12-31: 특정 회계 기간에 집중합니다.

8) 월 결산 체크리스트 (15–45분)​

매월 말에 이 체크리스트를 실행하여 장부가 정확하고 최신 상태인지 확인하세요. 이 규율은 세금 신고와 투자자 실사를 쉽게 만듭니다.

  • 은행/신용카드: 모든 거래를 가져오거나 수동으로 입력합니다. 명세서와 잔액을 대조합니다.
  • AR/AP: 발행된 모든 송장과 받은 청구서를 입력하고 결제된 항목을 정리로 표시합니다.
  • 수익: 모든 선불 계약에 대한 월별 수익 인식 항목을 입력합니다.
  • 선급 비용: 모든 선급 비용의 1/12(또는 적절한 비율)을 상각합니다.
  • 급여: 급여 제공자 보고서에서 분개 항목을 기록합니다.
  • 판매세: 해당 월의 판매세 부채를 기록합니다.
  • 시드 금융 상품: 전환사채에 대한 이자를 발생시킵니다.
  • 건전성 확인:
    • 손익계산서의 수익이 예상 MRR/ARR과 대략 일치합니까?
    • 소진율과 런웨이가 재무 계획과 일치합니까?
    • $ bean-check가 오류 없이 실행됩니까? Fava의 보고서가 올바르게 보입니까?
  • Git에 커밋 간결하고 일관된 메시지로 (예: close: 2025-04).

9) 메타데이터 및 문서 (감사를 쉽게)​

원장은 스스로 문서화되어야 합니다. 메타데이터를 사용하고 원본 문서에 연결하여 완벽한 감사 추적을 만드세요. 미래의 당신(과 회계사)이 감사할 것입니다.

  • 거래에 payee:, narration:, invoice:, customer:, 또는 link: 같은 메타데이터를 추가하여 명확성을 높입니다.
  • 원본 PDF(송장, 영수증, 은행 명세서)를 ledger/documents/ 폴더에 첨부하고 document: 메타데이터 태그로 연결합니다.
  • 태그(#payroll, #saas, #vendor-aws, #invoice-001)를 사용하여 쉽게 필터링하고 분석합니다.

예시:

2025-03-10 * "연간 구독 — AcmeCo" #saas #invoice-001
  payee: "AcmeCo"
  invoice: "INV-001"
  document: "documents/invoices/INV-001.pdf"
  Assets:AR                       1,200.00 USD
  Liabilities:DeferredRevenue    -1,200.00 USD

10) 나중에 임포트 (시간이 있을 때)​

처음 한두 달은 거래를 수동으로 입력하는 것으로 시작하세요. 이것이 시스템과 자신의 지출 패턴을 배우는 가장 좋은 방법입니다. 익숙해지면 간단한 Python 임포터를 작성하여 프로세스를 자동화하고 수고를 줄일 수 있습니다.

일반적인 임포터 작업 순서:

  1. 은행 CSV → Assets:Bank:Checking
  2. 신용카드 CSV → Liabilities:CreditCard:Corporate
  3. Stripe/PayPal 지급 보고서 → 수익 및 현금 매핑

임포터를 /ledger/importers에 보관하고 생성된 거래를 다른 코드 변경처럼 검토하세요.


11) 정책 (includes/policies.beancount에 넣기)​

이 파일은 일관성을 위해 회계 결정을 문서화하는 곳입니다. 간단한 텍스트 파일이지만 규율을 유지하는 데 중요합니다.

  • 발생주의 기준; SaaS 수익을 비례하여 인식합니다.
  • 기능 통화는 USD입니다; 외환은 일일 환율 또는 거래 환율로 기록합니다.
  • 자본화 기준 (예: $2,500 이상의 항목은 Assets:Equipment가 되고, 그 외에는 즉시 비용 처리).
  • 여행/식대: 업무 목적이 narration 필드에 문서화되어야 합니다.
  • 자본 기록: 통화 전용 또는 주식 상품 방법 중 어느 것을 사용하는지 명시합니다.
  • SAFE/전환사채: 선택한 분류(부채 또는 자본)를 문서화합니다.

policies.beancount 예시:

; 정책: 발생주의 기준, 수익은 이연되어 월별 인식.
; 정책: USD 기능 통화. 외환 손익은 비용/가격 데이터에서 파생.
; 정책: $2,500 이상의 유형 자산은 3년 정액법 감가상각으로 자본화.
; 정책: SAFE는 가격이 정해진 라운드에서 전환될 때까지 부채로 기록.

12) 빠른 문제 해결​

  • 분개장에서 수익이 음수로 보임: 정상입니다! 수익은 대변입니다. Fava 보고서는 양수로 표시합니다.
  • 잔액이 0이 되지 않음: 불완전한 거래가 있을 가능성이 높습니다. 거래의 분개는 합이 0이어야 합니다. Fava의 분개장 보기에서 원인을 찾으세요. 임시 조치로 Equity:Suspense 계정에 균형 분개를 추가하여 파일을 유효하게 만든 다음 근본 원인을 조사하고 수정하세요.
  • 외환 불일치: 관련 날짜에 대한 price 지시문이 있는지 또는 운영 통화로 비용 기준을 지정했는지 확인하세요(예: 90.00 EUR {97.49 USD}).

13) 원장 외부에서 추적할 사항 (링크 유지)​

Beancount는 재무 거래를 위한 것이지만 일부는 전용 시스템에서 관리하는 것이 좋습니다. 핵심은 원장에서 연결하는 것입니다.

  • 자본 테이블: Carta, Pulley 또는 스프레드시트를 사용하세요. Beancount의 파이낸싱 거래에서 서명된 마감 문서에 연결하세요.
  • 이사회 동의서, 지분 계획, 409A 보고서: 안전한 장소에 보관하고 관련 지분 거래에 link: 메타데이터를 추가하세요.
  • 세금 신고서: 최종 PDF를 보관하고 연말 결산 거래에서 연결하세요.

복사 준비 완료 스타터 파일 (올인원)​

포함 구조로 확장하기 전에 단일 파일로 시작하려면 위 섹션의 파일 내용을 하나의 큰 main.beancount에 붙여넣으면 됩니다. 원장이 성장함에 따라 나중에 리팩터링할 수 있습니다.

이 프레임워크는 스타트업 재무를 위한 견고하고 확장 가능한 기반을 제공합니다. 장부를 버전 관리 아래 일반 텍스트로 유지함으로써 비교할 수 없는 투명성과 통제력을 얻고, 첫날부터 재무 규율을 갖춘 회사를 만들 수 있습니다.

신뢰할 수 있는 회계 체계를 구축하세요

지금 무료 장부를 시작하거나, 더 자세한 맥락이 필요할 때 스타트업 가이드와 창업자 커뮤니티를 활용하세요.