본문으로 건너뛰기

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

모든 태그 보기

소기업 현금 관리를 위한 CD와 저축예금 (Beancount 예시 포함)

· 약 5분
Mike Thrift
Mike Thrift
Marketing Manager

소기업의 현금 준비금을 어디에 보관할지 결정하는 일은 수익을 올리면서도 자금을 쉽게 접근할 수 있게 하는 균형 잡기가 필요합니다. 가장 일반적이고 안전한 두 옵션은 고수익 저축예금과 예금증서(CD)입니다. 각각은 뚜렷한 목적을 가지고 있으며, 선택은 귀사의 일정과 유동성 필요에 따라 달라집니다.

차이점을 정리하고, 기업을 위한 FDIC 보험의 미묘한 차이를 살펴본 뒤, 깔끔하게 추적할 수 있는 실용적인 Beancount 패턴을 살펴보겠습니다.

2025-09-05-cd-vs-savings-account-for-small-business-cash

TL;DR: 요약

  • 저축예금 / 머니마켓예금(MMDA): 일상 운영 현금 및 단기 세금 납부에 최적. 금리는 변동됩니다. 연준이 기존 인출 제한을 없앴지만, 은행은 자체 규정을 적용할 수 있습니다.
  • 예금증서(CD): 특정 기간 동안 현금을 잠궈 둘 경우 더 높은 고정 수익을 제공합니다. 조기 인출 시 페널티가 발생합니다.
  • 안전성: 두 종류 모두 은행당, 예금주당, 소유권 카테고리당 $250,000까지 FDIC 보장됩니다. 개인사업자와 법인에 대한 규정은 약간 다릅니다.
  • 한도 초과 시: $250,000 이상 보유 시 Insured Cash Sweep (ICS) 같은 서비스를 이용해 여러 은행에 자금을 분산시켜 보험 적용 범위를 최대로 할 수 있습니다.
  • Beancount 사용자: CD 모델링, 이자 적립, 조기 인출 페널티 처리를 위한 저널 패턴은 문서 하단을 참고하세요.

각 계좌의 강점 🏦

고수익 저축예금 / 머니마켓예금(MMDA)

비즈니스의 주요 현금 허브라고 생각하면 됩니다. 안전성과 접근성을 위해 설계되었습니다.

  • 유동성: 가장 큰 장점입니다. 언제든지 페널티 없이 인출할 수 있습니다. 연방준비제도(Fed)가 기존 “월 6회 인출 제한”(Regulation D)을 2020년에 폐지했지만, 개별 은행은 자체 거래 제한이나 수수료를 부과할 수 있습니다. 계좌 약관을 반드시 확인하세요.
  • 보험 및 안전성: FDIC가 보장하는 은행의 저축예금 및 MMDA는 보험 적용 대상입니다. 브로커가 제공하는 머니마켓 뮤추얼 펀드와 혼동하지 마세요. 뮤추얼 펀드는 투자 상품이며 FDIC 보장이 없습니다.
  • 추천 사용 사례: 운영 현금 버퍼(3~6개월 비용), 급여·세금 등 단기 필요 자금, 일반 비상 준비금에 적합합니다.

예금증서(CD)

은행과 체결하는 계약으로, 일정 기간(예: 3, 6, 12개월) 동안 돈을 손대지 않겠다는 약속을 하고 그 대가로 더 높은 고정 금리를 받습니다.

  • 수익 확정성: 고정 금리는 시장 금리가 하락해도 수익을 보호해 줍니다. 반면 조기 인출 시 페널티가 부과됩니다. 최초 6일 이내에 해지하면 연방 규정에 따라 최소 7일분 단순 이자가 페널티로 부과됩니다. 이후는 은행 정책에 따라(예: 3개월 이자) 결정됩니다.
  • 보험 및 안전성: CD도 저축예금과 동일하게 FDIC 보험 적용 대상이며 $250,000 한도가 동일합니다.
  • 추천 사용 사례: 해당 기간 동안 현금이 필요 없을 것이 확실한 경우에 적합합니다. 예를 들어 9개월 뒤 세금 납부를 위해 미리 적립해 두거나, 내년에 진행할 설비 투자 자금을 미리 확보할 때 활용합니다. CD 사다리 전략(3, 6, 9, 12개월 등 서로 다른 만기 CD를 동시에 보유)은 높은 수익과 현금 접근성을 동시에 만족시키는 인기 전략입니다.

FDIC 보장: 기업을 위한 실무 팁 🛡️

FDIC 보험 규정은 간단하지만, 사업 형태에 따라 중요한 차이가 있습니다.

  • 핵심 규칙: $250,000 보장은 예금주당, 은행당, 소유권 카테고리당 적용됩니다. 동일 은행 내 동일 소유권 카테고리의 모든 예금(당좌, 저축, MMDA, CD)은 합산되어 보장 한도가 결정됩니다.
  • 개인사업자: 개인사업자 계좌는 소유주의 개인 계좌로 취급됩니다. 동일 은행 내 다른 개인 계좌와 합산해 $250,000 한도에 포함됩니다.
  • 법인·LLC·파트너십: 이들 법인체는 소유주의 개인 계좌와 별도로 보험 적용됩니다. 기업 자체가 은행당 $250,000 보장을 받습니다.
  • 보장 한도 초과 시: 여러 은행을 관리하고 싶지 않다면 Insured Cash Sweep (ICS) 서비스를 문의하세요. 이 서비스는 귀하의 예금을 FDIC가 보장하는 다른 기관 네트워크에 자동으로 분산시켜, 주 은행을 통해 일괄 관리하면서도 모든 자금이 보험 적용을 받게 합니다.

소기업이 각각의 옵션을 선택해야 할 상황 🤔

  • 저축예금/MMDA를 선택할 때…

    • 현금 흐름이 불규칙하거나 변동 비용이 자주 발생할 때
    • 3~6개월 운영비 버퍼를 구축하고 있을 때
    • 즉시 자금 접근이 필요하고 변동 금리를 감수할 수 있을 때
  • CD를 선택할 때…

    • 일정 기간 동안 사용할 수 없는 현금이 남아 있을 때
    • 특정 금리를 고정하고 시장 변동 위험을 회피하고 싶을 때
    • CD 사다리를 구축해 현금 만기 일정을 예측하고 싶을 때

혼합 전략이 가장 일반적입니다: 즉시 운영 현금은 고수익 저축예금에 보관하고, 장기 준비금은 CD 사다리 또는 단기 국채에 배치합니다.


꼭 확인해야 할 세부 사항 📝

  • 조기 인출 페널티: 은행마다 다르며 CD 계약서에 명시됩니다. 사다리를 신중히 설계해 CD를 해지할 필요가 없도록 하는 것이 최선입니다.
  • 저축예금 인출 제한: 연방 규정이 사라졌다고 해서 은행이 월 인출 횟수에 수수료를 부과하지 않는 것은 아닙니다. 계좌 약관을 반드시 확인하세요.
  • 이자 과세: 저축예금·CD 모두에서 발생한 이자는 해당 연도에 과세소득으로 보고해야 합니다. Form 1099‑INT를 받게 되며, 조기 인출 페널티는 공제 대상입니다. 페널티 금액은 1099‑INT의 Box 2에 표시되며 일반적으로 사업 비용으로 처리됩니다.

알아두면 좋은 대안

  • 국채(T‑Bills): 4~52주 만기의 미국 정부 단기 대출로, 전 세계에서 가장 안전한 투자 중 하나이며 FDIC 보험이 아니라 미국 정부의 전신 보증을 받습니다. 유동성이 높아 FDIC 한도를 초과하는 현금 준비금에 적합합니다.
  • 머니마켓예금(MMDA): 앞서 설명한 바와 같이 은행이 제공하는 고수익 예금 형태이며, 변동 금리와 제한 조건을 잘 확인하면 좋은 선택이 될 수 있습니다.

Beancount 예시

2023-01-01 open Assets:Cash
2023-01-01 open Assets:Bank:Checking
2023-01-01 open Assets:Bank:Savings
2023-01-01 open Assets:Bank:CD
2023-06-01 * "예금증서 개설"
Assets:Bank:CD 10000 USD
Assets:Cash
2023-12-01 * "예금증서 만기"
Assets:Cash 10500 USD
Assets:Bank:CD
2023-06-01 * "조기 인출 페널티"
Expenses:Bank:Penalty 200 USD
Assets:Bank:CD

위 예시들은 실제 비즈니스 상황에 맞게 조정하여 사용하면 됩니다. 자세한 저널 패턴은 문서 하단을 참고하세요.

소기업 재무 디톡스 — 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와 함께라면 가져오기 → 어설션 → 가격 업데이트 → 쿼리 → 커밋이라는 짧은 스크립트형 의식으로 전환할 수 있습니다. 워크플로우를 안정적으로 유지하면 재무 상황이 복잡해져도 마감은 여전히 빠르게 진행됩니다.

2025년 최고의 소기업 은행 옵션 7가지

· 약 7분
Mike Thrift
Mike Thrift
Marketing Manager

회사 자금을 어디에 보관하고—이동시키는지—는 수수료부터 현금 흐름 가시성까지 모든 것에 영향을 미칩니다. 올바른 계좌는 수백 달러의 수수료를 절감하고, 유휴 현금에 이자를 제공하며, 회계 작업을 단순화할 수 있습니다. 반대로 잘못된 선택은 지속적인 마찰의 원인이 됩니다.

좋은 소식: 2025년에는 전국 지점 은행부터 강력한 소프트웨어 레이어를 갖춘 현대적인 뱅킹 플랫폼까지, 소기업을 위한 선택지가 풍부합니다. 아래는 각각 다른 비즈니스 유형에 “최적”인 일곱 가지 눈에 띄는 옵션입니다. 금리와 조건은 변동될 수 있으니, 이 가이드를 의사결정 참고용으로 활용하고 계좌 개설 전 세부 사항을 반드시 확인하세요.

2025-08-26-7-best-small-business-banking-options-in-2025

TL;DR — 시나리오별 최고의 선택

어떻게 이 계좌들을 선정했나요

최적의 옵션을 찾기 위해 소기업 소유주에게 가장 중요한 기능에 집중했습니다. 총 비용(월 수수료 및 면제 조건 포함), 지점·ATM 현금 접근성, 내장된 현금 흐름 관리 도구, 유휴 현금에 대한 수익 창출 가능성을 분석했습니다. 또한 각 계좌가 현금 중심 소매점부터 온라인 SaaS 기업까지 다양한 비즈니스 모델에 얼마나 잘 맞는지도 살펴보았습니다.

짧은 리스트: 자세히 보기

Chase Business Complete Banking — 현금 입금이 많고 지점 중심 비즈니스에 최적

왜 눈에 띄는가:
5,000개 이상의 지점과 15,000개의 ATM 네트워크를 보유한 Chase는 빈번한 현금 입금이나 대면 지원이 필요한 기업에 뛰어난 현장 접근성을 제공합니다. 표준 $15 월 수수료는 $2,000 최소 일일 잔액 유지 등 요건을 충족하면 쉽게 면제됩니다. 고유 기능으로는 QuickAccept 카드 리더가 내장돼 있어 자격 거래에 대해 당일 자금 입금이 가능해 일일 현금 흐름 관리에 큰 도움이 됩니다.

주의할 점:
대부분의 전통 은행과 마찬가지로 전신환 송금 및 초과 현금 입금 등에 대한 수수료표가 존재합니다. 계좌 개설 전 월별 평균 거래량을 검토하고 수수료 구조와 비교해 예상치 못한 비용이 발생하지 않도록 하세요.

Bank of America Business Advantage — 대형 은행 도구 및 업그레이드 경로에 최적

왜 눈에 띄는가:
Bank of America는 비즈니스 성장에 맞춰 단계적으로 확대할 수 있는 티어 시스템을 제공합니다. Business Advantage Fundamentals 계좌는 첫 해에 프로모션으로 $0 월 수수료(그 후 $16)를 제공하며, $5,000 평균 월 잔액 유지 등 요건을 충족하면 면제됩니다. 비즈니스가 성장하면 Relationship 티어로 이동해 입금 전신환 등 더 많은 무수수료 서비스를 이용할 수 있습니다. 모든 티어는 현금 흐름 대시보드, QuickBooks 연동, 즉시 사용 가능한 디지털 직불카드를 포함합니다.

주의할 점:
월 수수료 면제 요건을 지속적으로 충족하지 못하면 비용이 발생합니다. 평균 잔액 및 거래량을 현실적으로 평가해 적절한 티어인지 확인하세요.

Bluevine Business Checking — 체크 계좌 고APY에 최적

왜 눈에 띄는가:
Bluevine는 체크 계좌도 이자를 받을 수 있다는 개념에 도전합니다. 자격 고객은 플랜 및 활동 요건에 따라 1.5% - 3.7% APY 수준의 경쟁력 있는 연간 수익률을 얻을 수 있습니다. 이는 운영 현금을 효율적으로 활용하는 강력한 방법입니다. 월 수수료가 없으며 ACH, 전신환, 인보이스 발행 등 다양한 결제 도구를 제공합니다.

주의할 점:
Bluevine는 온라인 플랫폼이며 현금 입금은 Allpoint+ ATM 및 Green Dot 소매점 등 제3자 네트워크를 통해 이루어집니다. 이 경우 입금당 $4.95까지 수수료가 부과될 수 있어, 현금 입금이 많을 경우 이자 수익을 상쇄할 수 있습니다.

Mercury — 현대적인 금융 스택을 원하는 스타트업에 최적

왜 눈에 띄는가:
Mercury는 기술 친화적인 스타트업을 위해 설계되었습니다. 은행이 아닌 금융 기술 기업으로, FDIC 보험을 받은 파트너 은행을 통해 뱅킹 서비스를 제공합니다. 월 수수료가 없으며 세밀한 사용자 권한 관리와 강력한 결제 API를 갖춘 개발자 친화적 플랫폼을 제공합니다. 현금 보유액이 큰 기업을 위해 파트너 은행 스윕 네트워크를 통해 최대 $5백만까지 FDIC 보험 적용 범위를 확대하고, Mercury Treasury를 통해 유휴 현금을 저위험 머니마켓 펀드와 T‑Bill에 투자해 4.26% APY까지 광고합니다.

주의할 점:
Mercury Treasury는 투자 계좌이며 SIPC 보호를 받지만 시장 위험에 노출됩니다. 또한 파트너 은행에 의존하므로 국제 송금 및 외환 서비스는 은행마다 차이가 있을 수 있어, 글로벌 운영 시 세부 약관을 반드시 확인하세요.

Relay — “Profit First” 봉투, 서브 계정, 지출 통제에 최적

왜 눈에 띄는가:
Relay는 재무를 정밀하게 관리하고 싶은 비즈니스 소유자를 위해 설계되었습니다. Mercury와 마찬가지로 FDIC 보험 파트너 은행을 통해 뱅킹 서비스를 제공하는 핀테크 기업입니다. 최대 20개의 개별 체크 계정을 생성해 “Profit First” 방식으로 예산 카테고리를 분리하고, 최대 50개의 가상·실물 직불카드를 발급해 맞춤형 지출 한도를 설정할 수 있습니다. 유료 플랜에서는 경쟁력 있는 저축 APY를 제공하며, 최고 티어는 3.03% APY까지 지원합니다.

주의할 점:
소프트웨어 중심 플랫폼이므로 물리적 현금 처리는 전통 은행보다 복잡합니다. 빈번한 현금 입금이 필요하다면 Relay의 현금 입금 워크플로우가 비즈니스에 적합한지 확인하세요.

Axos Basic Business Checking — 수수료 없는 ATM 친화 온라인 뱅킹에 최적

왜 눈에 띄는가:
Axos Bank는 진정한 수수료 절감형 온라인 뱅킹 경험을 제공합니다. Basic Business Checking 계좌는 월 유지비가 없으며 거래 횟수 제한도 없습니다. 가장 매력적인 특징은 무제한 국내 ATM 수수료 환급으로, 온라인 은행에서는 드물게 제공되는 혜택이며 전국 어디서든 ATM 사용 시 비용이 발생하지 않습니다.

주의할 점:
Axos는 물리적 지점이 없는 완전 디지털 은행입니다. 대규모 현금 입금이나 대면 텔러 서비스가 필요하다면 전통적인 지점 은행과 병행 사용을 고려해야 합니다.

American Express® Business Checking — 월 수수료 없음 + 안정적인 APY에 최적

왜 눈에 띄는가:
이미 American Express 생태계에 속해 있는 기업이라면 이 체크 계좌가 자연스러운 선택입니다. 월 서비스 수수료가 없으며 2025년 기준 잔액 $500,000까지 1.30% APY 수준의 안정적인 수익률을 제공합니다. AmEx 카드와 원활히 연동돼 결제와 리워드 관리가 한 곳에서 이루어집니다.

주의할 점:
온라인 전용 계좌이므로 디지털 거래에는 최적이지만, 현금 중심 비즈니스나 빈번한 대면 은행 서비스가 필요한 경우 지역 지점 은행과의 관계를 유지하는 것이 좋습니다.

빠른 선택 가이드: 비즈니스에 맞는 계좌 매칭

  • 소매점, 레스토랑, 주간 현금 입금이 있는 업종:
    현금 입금이 잦고 지점 네트워크가 풍부한 Chase 또는 Bank of America를 시작점으로 고려하세요.

  • 온라인‑first 비즈니스(SaaS/이커머스), 분산 팀, 엄격한 지출 정책이 필요한 경우:
    소프트웨어 중심 제어와 Treasury 수익 옵션을 제공하는 Mercury, 혹은 다중 계정 봉투 예산 기능이 강력한 Relay를 검토하세요.

  • 유휴 현금을 마찰 없이 운용하고 싶을 때:
    체크 잔액에 높은 APY를 제공하는 Bluevine 또는 대규모 자금을 투자 등급 펀드에 스윕하는 Mercury Treasury를 고려하세요(투자 위험 존재).

  • ATM 사용이 빈번하고 수수료를 싫어한다면:
    무제한 국내 ATM 수수료 환급을 제공하는 Axos가 명확한 승자입니다.

  • AmEx 카드 사용량이 많고 간단하고 안정적인 APY를 원한다면:
    American Express Business Checking 계좌가 논리적이며 보상도 풍부합니다.

자주 묻는 질문

Mercury와 Relay는 “은행”인가요?

아니요. 두 회사 모두 FDIC 보험을 받은 파트너 은행(예: Relay는 Thread Bank)과 협력해 뱅킹 서비스를 제공하는 금융 기술 기업입니다. 고객 예금은 파트너 은행에 보관되며, 여러 은행에 스윕되어 수백만 달러까지 FDIC 보장을 확대합니다.

비즈니스 체크 계좌에서도 이자를 받을 수 있나요?

네, 가능합니다. 현대적인 옵션들은 경쟁력 있는 수익률을 제공합니다. 예를 들어 Bluevine은 체크 잔액에 대해 1.5%3.7% APY를 광고하고, Relay는 특정 플랜에서 3.03% APY까지 제공합니다. 이율은 변동될 수 있으며 시장 상황에 따라 달라집니다.

현금이 많이 들어오는 비즈니스인데 온라인 전용 계좌가 괜찮을까요?

가능하지만 트레이드오프가 있습니다. 입금당 수수료를 지불하거나 별도의 절차가 필요할 수 있습니다. 예를 들어 Bluevine은 Green Dot 네트워크를 통해 현금 입금을 지원하는데, 일반적으로 소매점 수수료가 부과됩니다. 현금이 핵심 운영 요소라면 Chase와 같은 전통 지점 은행이 더 간단하고 비용 효율적일 수 있습니다.

결론

단일 “최고” 소기업 계좌는 없습니다—오히려 귀사의 입금·지출·잔액·팀 워크플로우에 가장 잘 맞는 조합이 중요합니다. 2025년을 위한 간단한 규칙을 제시하자면:

  • 하이브리드 접근을 고려하세요: 현금 및 대면 서비스가 필요한 경우 지점 계좌(예: Chase 또는 Bank of America)를, 디지털 제어와 수익 창출이 중요한 경우 소프트웨어‑first 계좌(예: Mercury 또는 Relay)를 병행합니다.
  • 정기적으로 설정을 재검토하세요: APY, 수수료, 면제 규정은 변동됩니다. 연 1‑2회 빠른 리뷰를 통해 여전히 최적의 계좌를 사용하고 있는지 확인하세요.

정확성 주의: 수수료, 기능, APY 및 가용성은 2025년 9월 3일 현재 각 제공업체의 공개 자료를 기준으로 합니다. 계좌 개설 또는 전환 전 반드시 해당 금융 기관의 최신 약관을 직접 확인하십시오.

출처(선정): Chase, Bank of America, Bluevine, Mercury, Relay, Axos Bank, Business Insider, American Express.

원하시면 귀하의 위치, 평균 월 잔액, 현금 대비 카드 매출 비율, 예상 전신환/ACH 볼륨을 알려 주세요. 귀사에 가장 적합한 “베스트 매치”를 맞춤형으로 제시해 드리겠습니다.

Beancount에서 세금 기록하기 (실용적인 방법)

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

세금은 개인 재무 세계에서 특별하고 복잡한 존재처럼 느껴질 수 있습니다. 하지만 그렇지 않다면 어떨까요? 세금을 원장에 있는 다른 금전 흐름처럼 취급할 수 있다면요? 좋은 소식: 가능합니다. 세금을 단순한 가치 이동으로 취급하면 Beancount 원장이 깔끔하고 쿼리하기 쉬우며—무엇보다도—이해하기 쉬워집니다.

아래는 개인 또는 소규모 비즈니스 Beancount 파일에 바로 적용할 수 있는 실용적이고 간결한 패턴입니다. 급여, 세금 납부 및 새해로 넘어가는 성가신 환급까지 처리할 수 있는 간단한 시스템입니다. 필요한 핵심 계정들을 소개하고 실제 예시를 따라가며, 필요한 답을 얻기 위한 정확한 쿼리도 보여드립니다.

2025-08-25-recording-taxes-in-beancount

핵심 원칙

코드에 들어가기 전에 몇 가지 간단한 규칙에 동의합시다. 이러한 원칙은 논리적 흐름을 유지하고 미래의 골칫거리를 방지합니다.

  • "무엇인지"와 "현금이 이동하는 시점"을 구분하세요. 🗓️
    이것이 가장 중요한 개념입니다. 세금 비용은 소득을 얻은 연도(예: 2024)에 속하며, IRS에 2025년 4월에 청구서를 정산하더라도 마찬가지입니다. 비용 발생 시점과 현금 지급 시점을 구분하지 않으면 연도별 보고서가 혼란스럽고 오해를 불러일으킵니다.

  • 계정 계층 구조를 단순하고 지루하게 유지하세요. 📁
    세금 유형에 따라 계정을 명확히 이름 짓습니다(예: IncomeTax, SocialSecurity). 이렇게 하면 쿼리가 매우 간단해집니다. 계정 이름에 공급업체명이나 양식 번호(W-2, 1099 등)를 넣지 말고 메타데이터와 태그를 사용하세요.

  • 연말 조정을 위해 발생주의를 받아들이세요. ⚖️
    개인 원장이라도 연말에 간단한 발생주의 항목을 사용하는 것이 보고서를 정확하게 만드는 가장 깔끔한 방법입니다. 이는 돈이 다음 해에 이동하더라도 해당 연도에 비용이나 환급을 인식한다는 의미입니다. 작은 추가 단계 하나가 나중에 복잡한 사고를 방지해 줍니다.

  • 미래의 자신을 위해 작성하세요. 🧠
    목표는 명확성입니다. 세금 연도와 같은 추가 정보를 계정 이름에 넣는 것은 실제로 쿼리를 더 쉽게 만들 때만 적용하세요. 특별한 이유가 없는 한 매년 새로운 계정 집합(Expenses:Taxes:2024:Federal, Expenses:Taxes:2025:Federal 등)을 만들지 마세요. 평면 구조가 관리하기 더 쉽습니다.

최소 계정 골격

시작을 위한 기본 계정 세트를 소개합니다. 이 구조는 미국 중심이지만, 자신의 국가 세제에 맞게 이름을 쉽게 바꿀 수 있습니다. 아래 open 지시문을 Beancount 파일에 넣기만 하면 됩니다.

2024-01-01 open Income:Taxes:Federal:IncomeTax USD
2024-01-01 open Income:Taxes:Federal:SocialSecurity USD
2024-01-01 open Income:Taxes:Federal:Medicare USD
2024-01-01 open Income:Taxes:State:IncomeTax USD
2024-01-01 open Income:Taxes:State:SalesTax USD

2024-01-01 open Expenses:Taxes:Federal:IncomeTax USD
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD
2024-01-01 open Expenses:Taxes:State:IncomeTax USD
2024-01-01 open Expenses:Taxes:State:SalesTax USD

2024-01-01 open Liabilities:Taxes:Federal:IncomeTax USD
2024-01-01 open Liabilities:Taxes:Federal:SocialSecurity USD
2024-01-01 open Liabilities:Taxes:Federal:Medicare USD
2024-01-01 open Liabilities:Taxes:State:IncomeTax USD
2024-01-01 open Liabilities:Taxes:State:SalesTax USD

2024-01-01 open Assets:Tax:Receivable USD

이 설정은 원천징수된 세금과 직접 납부 및 환급을 구분하여 돈이 정확히 어디로 갔는지 쉽게 확인할 수 있게 합니다. LiabilitiesAssets 계정은 연말 보고를 정확하게 유지하기 위한 비밀 무기입니다.

예시 1: 급여

세금이 자동으로 원천징수되는 일반적인 급여를 기록해 봅시다. 핵심은 총 급여를 먼저 기록하고, 세금과 실제 은행 계좌에 입금된 현금으로 어떻게 나뉘었는지 보여주는 것입니다.

2025-07-15 * "급여 지급"
Assets:Bank:Checking -4341.00 USD
Expenses:Taxes:Federal:IncomeTax 1200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Income:Salary:Employer 6000.00 USD

이 하나의 거래가 전체 이야기를 전달합니다:

  • 총 $6,000의 총소득을 벌었습니다.
  • 그 중 $1,200은 연방 소득세로 IRS에 송금되었습니다.
  • 372은사회보장세,372은 사회보장세, 87은 메디케어에 사용되었습니다.
  • 나머지 $4,341이 실제 수령액입니다.

팁: 급여 명세서의 메타데이터(예: pay_period_end: "2025-07-15")를 거래에 첨부하면 감사 추적이 쉬워집니다.

예시 2: 신고하기 (연도 교차 문제)

많은 사람들이 헷갈려하는 상황입니다: 2025년 4월에 2024년 세금을 신고하고 있습니다. 원천징수 후에도 추가로 $3,000을 더 내야 한다는 것을 알게 되었습니다.

이를 어떻게 기록할까요? 비용은 2024년에 반영하고, 현금 지급은 2025년에 발생하도록 해야 합니다. 이를 처리하는 두 가지 훌륭한 방법을 소개합니다.

옵션 A: 수동 2단계 발생주의

이 방법은 순수 Beancount만 사용하며 플러그인이 필요 없습니다. 명확한 2단계 프로세스입니다.

단계 1: 세금 연도 말에 비용을 인식합니다. 2024년 마지막 날에 “정산” 항목을 생성합니다. 아직 현금 이동은 없으며, 비용을 인정하고 임시 부채 계정에 보관하는 것입니다.

2024-12-31 * "세금 정산"
Liabilities:Taxes:Federal:IncomeTax 3000.00 USD

이제 2024년 손익계산서에 $3,000 비용이 정확히 표시됩니다.

단계 2: 현금 지급이 발생할 때 기록합니다. 2025년 4월에 실제로 IRS에 돈을 송금하면 부채를 정산합니다.

2025-04-15 * "세금 납부"
Assets:Bank:Checking -3000.00 USD
Liabilities:Taxes:Federal:IncomeTax 3000.00 USD

2024년 보고서는 정확하고, 2025년 현금 흐름도 정확합니다. 완벽합니다! 환급의 경우에도 같은 패턴을 역으로 적용하면 되며, 부채 계정 대신 Assets:Tax:Receivable를 사용하면 됩니다.

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

지불을 하나의 거래로 유지하고 싶다면, beancount_reds_plugins.effective_date라는 훌륭한 커뮤니티 플러그인이 도움이 됩니다. 이 플러그인은 단일 항목에 다른 “유효일”을 지정할 수 있게 해줍니다.

먼저 메인 Beancount 파일에 플러그인을 활성화합니다: plugin "beancount_reds_plugins.effective_date"

이제 하나의 거래를 작성하면 플러그인이 자동으로 내부에서 분할하여 보고서를 정확하게 만들어 줍니다.

2025-04-15 * "세금 납부 (플러그인 사용)"
plugin "effective_date"
Assets:Bank:Checking -3000.00 USD
Expenses:Taxes:Federal:IncomeTax 3000.00 USD
effective_date: 2024-12-31

여기서는 현금 부분이 2025년 4월 15일에 기록되고, 비용 부분은 2024년 12월 31일에 소급 적용됩니다. 이는 옵션 A와 동일한 결과를 다른 워크플로우로 달성한 것입니다.

판매세는 어떻게 할까요?

대부분의 개인 원장에서는 판매세가 간단합니다. 환급을 청구하지 않는다면 구매 시 별도의 비용으로 분리하면 됩니다.

2025-03-10 * "구매 - 판매세 포함"
Expenses:Goods:OfficeSupplies -200.00 USD
Expenses:Taxes:Sales -15.00 USD
Assets:Bank:Checking 215.00 USD

이를 통해 연간 판매세 지출을 쉽게 추적할 수 있습니다. 부가가치세(VAT)를 다루는 사업을 운영한다면, 지급 및 수취 계정을 사용하는 보다 정식 시스템을 사용하지만 원리는 동일합니다.

실제로 실행할 쿼리

이 구조의 핵심은 답을 쉽게 얻는 것입니다. 아래는 세금 현황을 확인하기 위한 BQL 쿼리 예시입니다.

1. 2024년 연방 소득세 총액은 얼마인가요?

SELECT SUM(position) FROM "Expenses:Taxes:Federal:IncomeTax"
WHERE date >= '2024-01-01' AND date < '2025-01-01';

2. 그 총액이 원천징수, 납부, 환급으로 어떻게 구분되는가?

SELECT
SUM(CASE WHEN account LIKE '%IncomeTax%' THEN position ELSE 0 END) AS withholding,
SUM(CASE WHEN account LIKE '%Payments%' THEN position ELSE 0 END) AS payments,
SUM(CASE WHEN account LIKE '%Refunds%' THEN position ELSE 0 END) AS refunds
FROM "Expenses:Taxes:Federal"
WHERE date >= '2024-01-01' AND date < '2025-01-01';

3. 미결 세금 부채나 수취금이 있나요? (작업 확인에 유용!)

SELECT account, SUM(position) FROM "Liabilities:Taxes:Federal"
WHERE date >= '2024-01-01' AND date < '2025-01-01'
GROUP BY account;

요약

  • 세금을 간단한 거래로 취급합니다.
  • 제공된 계정 구조를 사용합니다.
  • 코드 블록을 활용하여 명확히 합니다.
  • 쿼리를 실행해 데이터를 검증합니다.

최종 생각

여기까지 읽었다면, 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

누적 감가상각 (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의 유연한 계정 구조와 다양한 자동화 옵션을 활용하면, 복잡한 감가상각 일정을 손쉽게 구현하고, 재무 보고서를 깔끔하게 유지할 수 있습니다. 이 가이드가 여러분의 회계 워크플로우에 도움이 되길 바랍니다.

Amazon 판매자 수수료 (2025): 무엇이며—Beancount에서 기록하는 방법

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

Amazon에서 판매하는 것은 수백만 명의 고객에게 다가갈 수 있는 강력한 방법이지만, 플랫폼의 수수료 구조는 미로처럼 복잡하게 느껴질 수 있습니다. 깔끔하고 감사 가능한 복식부기를 중시하는 운영자라면, 이 비용을 정확히 추적하는 것은 선택이 아니라 필수입니다. 이 가이드는 2025년 미국 마켓플레이스의 Amazon 수수료를 상세히 풀어보고, 평문 회계 도구인 Beancount를 사용해 어떻게 기록하는지 단계별로 보여줍니다.

TL;DR ⚡

2025-08-21-amazon-seller-fees-2025

  • Amazon에서는 판매 플랜, 추천 수수료, 클로징 수수료(미디어), FBA 이행·보관료, 입고 배치료, 저재고료, 반품 처리료, 환불 관리료, 그리고 대규모 카탈로그에 대한 고용량 리스팅 수수료 등 여러 반복 비용이 발생합니다.
  • Assets:Amazon:Clearing 계정을 별도로 두고, 여기에서 매출과 수수료를 기록합니다. Amazon이 정산하면 순액을 은행 계좌로 이체하면 됩니다. 이렇게 하면 조정이 매우 쉬워집니다.
  • 각 SKU를 개별 상품(예: SKU:WATER-BOTTLE)으로 취급하면 Beancount가 로트별로 자동으로 매출원가(COGS)를 계산합니다.
  • 정산 파일이나 기간별 보고서를 가져와 Amazon의 “거래 유형”을 Beancount 비용 계정에 바로 매핑하면 빠르게 조정할 수 있습니다.

Amazon 수수료 지도 (미국 마켓플레이스)

2025년에 가장 흔히 보게 될 수수료를 정리했습니다.

판매 플랜 수수료

마켓플레이스 접근을 위한 기본 구독료입니다.

  • 개인 플랜: 월 구독료 없음. 대신 판매된 각 상품당 $0.99를 지불합니다.
  • 전문가 플랜: 월 $39.99 고정 요금이며, 개별 상품당 요금이 면제됩니다. 진지한 판매자라면 기본 선택이 됩니다. 이 외의 모든 판매 수수료는 별도로 부과됩니다.

추천 수수료

각 판매에 대해 Amazon이 부과하는 커미션입니다.

상품 판매 가격 전체(배송비·선물 포장비 포함)의 일정 비율이며, 카테고리마다 다릅니다. 대부분 8 %–15 % 구간에 속하지만, 일부는 단계별 비율(예: 첫 $500은 15 %, 그 이후는 8 %)을 적용합니다. 카테고리마다 최소 수수료가 존재하는 경우도 많으며, 보통 $0.30 정도입니다. 최신 요율표를 반드시 확인하세요.

클로징 수수료 (미디어 카테고리)

도서, 음악, 비디오, DVD 등 미디어 상품을 판매하면 **상품당 $1.80**의 고정 클로징 수수료가 추가됩니다.

FBA 이행 수수료

Fulfillment by Amazon(FBA) 이용 시 발생하는 픽·포장·배송 비용입니다. 상품의 크기·무게에 따라 달라지며, Amazon은 정기적으로 요율표를 업데이트합니다. 2025년 비피크 요율은 2024년 비피크 수준으로 1월 15일에 복귀했습니다. 최신 FBA 요율표에서 정확한 사이즈 티어와 수수료를 확인하세요.

월 보관료·노후 재고 추가 요금 (FBA)

Amazon 물류센터에 보관되는 재고 공간에 대해 부과됩니다.

  • 월 보관료: 입방피트당 청구.
  • 노후 재고 추가 요금: 일정 기간 이상 물류센터에 머물러 있는 재고에 대해 월별 추가 요금이 부과됩니다. 일반 보관료 위에 추가됩니다.

입고 배치 서비스 수수료 (FBA)

재고를 Amazon에 입고할 때 발생하는 단위당 비용으로, 물류망 전반에 제품을 배분하는 비용을 보전합니다. “New Selection” 등 특정 프로그램은 일정 한도 내에서 일시적으로 면제될 수 있습니다.

저재고료 (FBA)

고객 수요에 비해 지속적으로 재고가 낮은 표준 사이즈 제품에 적용됩니다. Amazon은 “historical days of supply”(과거 공급 일수) 지표로 판단합니다. 인기 상품의 재고가 28일 이하로 떨어지면 이 요금이 발생합니다.

반품 처리료 (FBA)

의류·신발 등 반품 비율이 높은 카테고리에서는 고객 반품당 반품 처리료가 부과됩니다. 일부 “New Selection” 상품은 일정 한도까지 면제됩니다.

환불 관리료

주문에 대해 고객에게 환불을 해줄 경우, Amazon은 이미 지급한 추천 수수료를 반환하지만, 일정 부분을 처리 수수료로 보유합니다. 이는 $5.00 또는 추천 수수료의 20 % 중 작은 금액이 적용됩니다.

고용량 리스팅 수수료 (대규모 카탈로그)

활성 SKU가 150만 개를 초과하는 대형 판매자에게만 적용됩니다. 초과 SKU당 월 $0.001이 부과됩니다.

참고: 국가·지역·카테고리별로 요율과 정책이 다를 수 있습니다. 기록하기 전에 반드시 현지 Seller Central 도움말 페이지를 확인하세요.


보고서에 수수료가 나타나는 방식 🧾

Seller Central에서 다음 두 보고서를 활용하면 회계 작업이 수월합니다.

  1. 기간별 보고서(Payments → Date Range Reports): 특정 기간의 수입·비용·세금·순이체를 요약해 줍니다. 원장 가져오기와 조정에 최적입니다.
  2. 정산 파일(예: Flat File V2): 모든 개별 거래를 상세히 보여 주며, 수수료 유형·주문 ID·금액·날짜 등이 포함됩니다. 이 데이터를 기반으로 정확히 매핑합니다.

Beancount‑First 방식으로 Amazon 활동 기록하기

아래는 Amazon 복잡한 비용 구조를 깔끔한 Beancount 항목으로 변환하는 단계입니다.

1. 최소 차트 오브 어카운트 설정

먼저 필요한 계정을 정의합니다. 아래 구조는 모든 항목을 포괄합니다.

; --- ASSETS ---
Assets:Amazon:Clearing ; Amazon “지갑”
Assets:Bank:Checking ; 정산금이 들어오는 은행 계좌
Assets:Inventory:SKU:<code> ; SKU당 서브 계정 하나씩

; --- INCOME & COGS ---
Income:Sales:Amazon
Expenses:COGS:Inventory

; --- EXPENSES ---
Expenses:Marketplace:Amazon:Referral
Expenses:Marketplace:Amazon:FBAFulfillment
Expenses:Marketplace:Amazon:Storage:Monthly
Expenses:Marketplace:Amazon:Storage:Aged
Expenses:Marketplace:Amazon:InboundPlacement
Expenses:Marketplace:Amazon:LowInventoryLevel
Expenses:Marketplace:Amazon:ReturnsProcessing
Expenses:Marketplace:Amazon:Other ; 기타 수수료

Beancount가 재고 로트와 원가를 추적하는 기능은 강력한 슈퍼파워입니다. Assets:Inventory:SKU:...{...} 형태로 원가를 지정해 “구매”하고, 판매 시 자동으로 매출원가가 계산됩니다.

2. 각 판매와 수수료 기록

예시: SKU:WATER-BOTTLE$30에 FBA로 판매했으며, 추천 수수료 $4.50, FBA 이행료 $4.24, 저재고료 $0.15가 발생했고, 해당 단위의 원가는 $5.00이었습니다.

2025-02-10 * "Amazon Order 113-2233445-6677889" "WATER-BOTTLE"
Assets:Amazon:Clearing 21.11 USD
Income:Sales:Amazon -30.00 USD
Expenses:Marketplace:Amazon:Referral 4.50 USD
Expenses:Marketplace:Amazon:FBAFulfillment 4.24 USD
Expenses:Marketplace:Amazon:LowInventoryLevel 0.15 USD
Assets:Inventory:SKU:WATER-BOTTLE -1 SKU:WATER-BOTTLE {5.00 USD}
Expenses:COGS:Inventory 5.00 USD

균형 이유: $30 매출은 Income에 크레딧, 수수료와 매출원가는 비용 계정에 차변 처리됩니다. 순 현금 $21.11Assets:Amazon:Clearing에 차변으로 들어갑니다. 재고 자산은 한 단위 감소하고, 해당 원가는 비용으로 인식됩니다.

3. 정산금 기록

Amazon이 정산금을 지급하면, Amazon “지갑”에서 실제 은행 계좌로 옮기는 간단한 이체가 됩니다.

2025-02-15 * "Amazon Payments" "Settlement disbursement"
Assets:Bank:Checking 2,500.00 USD
Assets:Amazon:Clearing -2,500.00 USD

정산 후 Assets:Amazon:Clearing 잔액이 거의 0에 가까워야 합니다. 기간별 보고서 합계와 비교해 차이를 찾아보세요.

4. 보관료·노후 재고·입고 배치료 처리

정산 파일에 별도 라인으로 나타나는 경우가 많으니, 바로 Clearing 계정에서 차변 처리합니다.

2025-03-15 * "Amazon FBA Storage Fees" "Monthly + aged inventory"
Expenses:Marketplace:Amazon:Storage:Monthly 125.40 USD
Expenses:Marketplace:Amazon:Storage:Aged 35.20 USD
Assets:Amazon:Clearing -160.60 USD

2025-03-20 * "FBA Inbound Placement Service" "Shipment split optimization"
Expenses:Marketplace:Amazon:InboundPlacement 62.00 USD
Assets:Amazon:Clearing -62.00 USD

5. 환불·반품 처리

고객이 반품하면, 정산 파일에 반품 처리료와 환불 관리료가 포함됩니다. 아래 예시는 위와 동일한 SKU를 $30에 판매했을 때 $5 환불을 진행하고, 환불 관리료가 $0.50 발생한 경우입니다.

2025-04-02 * "Amazon Refund 987-6543210" "WATER-BOTTLE refund"
Assets:Amazon:Clearing -21.11 USD ; 이전에 기록된 현금 반환
Income:Sales:Amazon 30.00 USD ; 매출 차감
Expenses:Marketplace:Amazon:Referral 4.50 USD ; 기존 수수료 차감
Expenses:Marketplace:Amazon:FBAFulfillment 4.24 USD
Expenses:Marketplace:Amazon:LowInventoryLevel 0.15 USD
Expenses:Marketplace:Amazon:RefundManagement 0.50 USD ; 환불 관리료
Assets:Inventory:SKU:WATER-BOTTLE 1 SKU:WATER-BOTTLE {5.00 USD}
Expenses:COGS:Inventory -5.00 USD

위와 같이 환불 금액을 매출에서 차감하고, 이미 발생한 수수료와 매출원가를 적절히 조정하면 회계가 정확히 맞춰집니다.


자동 조정을 위한 매핑 테이블

정산 파일을 가져올 때 Amazon의 거래 유형을 아래와 같이 Beancount 비용 계정에 바로 매핑하면 조정이 자동화됩니다.

Amazon 거래 유형                →  Beancount 비용 계정
---------------------------------------------------------
Referral Fee → Expenses:Marketplace:Amazon:Referral
FBA Fulfillment Fee → Expenses:Marketplace:Amazon:FBAFulfillment
Monthly Storage Fee → Expenses:Marketplace:Amazon:Storage:Monthly
Aged Inventory Fee → Expenses:Marketplace:Amazon:Storage:Aged
Inbound Placement Fee → Expenses:Marketplace:Amazon:InboundPlacement
Low Inventory Fee → Expenses:Marketplace:Amazon:LowInventoryLevel
Returns Processing Fee → Expenses:Marketplace:Amazon:ReturnsProcessing
Other Fees (e.g., Subscription) → Expenses:Marketplace:Amazon:Other

이 매핑을 스크립트나 CSV 임포트 템플릿에 넣어 두면, 정산 파일을 불러올 때마다 수동 입력 없이 자동으로 계정에 반영됩니다.


정리

Beancount와 같은 평문 회계 시스템은 복잡한 전자상거래 비용 구조를 투명하게 관리할 수 있는 강력한 도구입니다. 위에서 소개한 차트 오브 어카운트와 매핑 방식을 적용하면, Amazon 판매 활동을 정확히 기록·조정·보고할 수 있습니다. 이제 복잡한 수수료에 얽매이지 말고, 깔끔한 복식부기와 자동 매출원가 계산의 혜택을 마음껏 누리세요.

외상매입금이란? 텍스트 기반 Beancount 친화적 가이드: 공급업체 청구서 추적

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

외상매입금(AP)은 이미 물품이나 서비스를 받았지만 아직 결제하지 않은 공급업체에 대해 기업이 지고 있는 채무를 의미합니다. 회계상에서는 외상매입금이 대차대조표의 유동부채로 분류되며, 일반적으로 1년 이내, 보통 30~60일 내에 상환해야 하는 금액입니다.

이 개념은 발생주의 회계의 핵심으로, 청구서가 도착하는 순간 비용과 해당 부채를 동시에 기록합니다(현금이 실제로 이동하는 시점이 아니라). 이 가이드는 텍스트 기반 회계 도구인 Beancount를 사용해 외상매입금 전 과정을 깔끔하고 효율적으로 관리하는 방법을 보여줍니다.

2025-08-20-what-is-accounts-payable


빠른 요약

세부 내용에 들어가기 전에 핵심을 정리합니다:

  • 외상매입금(AP) 은 공급업체에 대한 단기 채무를 의미합니다. 대차대조표의 Liabilities 섹션에서 확인할 수 있습니다.
  • 발생주의 vs 현금주의: 외상매입금은 발생주의 회계 체계에서만 존재합니다. Beancount는 발생주의 워크플로를 완벽히 지원하며, 웹 인터페이스인 Fava가 부채를 정확히 표시합니다.
  • AP vs AR: 간단히 말해, 외상매입금은 기업이 빚진 금액이고, 외상매출금(AR) 은 다른 기업이 우리에게 빚진 금액입니다.

Beancount와 Fava에서 외상매입금이 위치하는 곳

외상매입금을 추적하려면 먼저 원장에 해당 계정을 선언해야 합니다. 일반적인 관례는 다음과 같습니다.

Liabilities:AccountsPayable

주요 공급업체별로 서브계정을 만들 수도 있습니다(예: Liabilities:AccountsPayable:ForestPaintSupply).

Fava에서는 이 계정이 대차대조표의 Liabilities 아래에 표시됩니다. 클릭하면 모든 미결 및 결제된 항목 목록을 확인할 수 있어 채무 현황을 한눈에 파악할 수 있습니다. 실제 예시는 Fava의 공개 예제 원장에서도 확인할 수 있습니다.


Beancount에서 사용할 핵심 구성 요소

견고한 외상매입금 워크플로는 몇 가지 핵심 기능에 의존합니다:

  1. 계정: Liabilities:AccountsPayable, 현금 계정(Assets:Bank:Checking) 및 다양한 비용 계정(Expenses:Supplies 등)을 주로 사용합니다.
  2. 메타데이터: 거래마다 키‑값 형태의 메타데이터를 첨부할 수 있습니다. 외상매입금에서는 invoice:, due:, terms:, document: 등을 활용합니다. Fava는 document: 키를 인식해 문서 폴더를 지정하면 클릭 가능한 링크를 자동 생성합니다.
  3. 태그 & 링크: #ap 같은 태그로 손쉽게 필터링하고, ^INV-10455 같은 링크로 청구서와 결제 거래를 논리적으로 연결합니다. 이렇게 하면 감사 가능한 흔적이 남습니다.
  4. 쿼리(BQL): Beancount의 SQL‑유사 언어인 BQL을 이용해 강력한 보고서를 만들 수 있습니다. 예를 들어 bean-query 명령어나 Fava의 “Query” 페이지에서 미결 외상매입금을 기한 순으로 나열하는 쿼리를 실행할 수 있습니다.

Beancount에서 외상매입금 핵심 워크플로

외상매입금 관리는 청구서 기록 → 결제 → (선택) 부분 결제·할인 처리의 2~3단계로 이루어집니다.

1) 공급업체 청구서 기록 (부채 생성)

청구서가 도착하면 비용을 기록하고 동시에 외상매입금을 생성합니다.

; 옵션: 문서 폴더 지정
option "documents" "documents"

2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
terms: "2/10, n/30"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

이 한 줄 입력은 두 가지 중요한 일을 합니다:

  1. 8월 회계기간에 500 USD 비용을 즉시 인식합니다.
  2. 동일 금액의 외상매입금 부채를 생성해 Forest Paint Supply에 대한 채무를 표시합니다.

^INV-10455 링크는 고유 식별자로, 이후 결제 거래에 동일 링크를 붙여 청구서와 결제를 논리적으로 연결합니다.

2) 청구서 결제 (부채 소멸)

청구서를 결제하면 은행 계좌에서 자금을 이동시켜 부채를 소멸시킵니다.

a) 일반 결제 (할인 없음)

2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

이 거래는 외상매입금 잔액을 500 USD 감소시키고, 체크 계좌도 동일 금액만큼 감소시켜 부채를 정산합니다.

b) 조기 결제 할인 (예: “2/10, n/30”)

조건이 “2/10, n/30”이면 10일 이내 결제 시 2 % 할인을 받을 수 있습니다. 500 USD 청구서라면 10 USD 할인이 적용됩니다. 아래 두 방법 중 하나를 선택해 일관되게 기록합니다.

; 방법 1: 할인액을 기타수익으로 기록
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Income:Discounts:Payables -10.00 USD

; 방법 2: 원래 비용을 직접 감소
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Expenses:Supplies:Paint -10.00 USD

두 경우 모두 외상매입금 500 USD가 완전히 소멸하고, 실제 지급액 490 USD와 10 USD 할인(또는 수익)이 반영됩니다.

3) 부분 결제 처리

Beancount의 링크 기능을 활용하면 부분 결제도 깔끔하게 추적할 수 있습니다.

; 1,200 USD 청구서
2025-08-10 * "Acme Parts" "INV-9001" ^INV-9001
invoice: "INV-9001"
due: "2025-09-09"
Expenses:Parts 1200.00 USD
Liabilities:AccountsPayable -1200.00 USD

; 첫 번째 결제 400 USD
2025-08-20 * "Acme Parts" "Payment INV-9001 (1/3)" ^INV-9001
Liabilities:AccountsPayable 400.00 USD
Assets:Bank:Checking -400.00 USD

; 최종 결제 800 USD
2025-09-05 * "Acme Parts" "Payment INV-9001 (final)" ^INV-9001
Liabilities:AccountsPayable 800.00 USD
Assets:Bank:Checking -800.00 USD

세 거래 모두 ^INV-9001 링크를 공유하므로, 해당 청구서와 연관된 모든 결제 내역을 한 번에 필터링할 수 있습니다.


유용한 BQL 쿼리

Fava의 “Query” 탭이나 bean-query 명령줄에서 다음 쿼리를 실행해 보세요.

팁: any_meta() 함수는 invoice:·document: 같은 메타데이터를 결과에 포함시키는 데 매우 유용합니다.

공급업체별 미결 외상매입금 (잔액 보기)

SELECT payee, COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;

청구서·기한별 미결 외상매입금

SELECT payee,
any_meta('invoice') AS invoice,
any_meta('due') AS due,
COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee, invoice, due
ORDER BY due, payee;

첨부 PDF가 있는 청구서 목록

SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account "^Liabilities:AccountsPayable"
ORDER BY date DESC;

Fava에서 외상매입금을 확인하는 위치

  • 대차대조표: Balance Sheet → Liabilities → AccountsPayable 로 이동하면 총 잔액과 세부 거래를 확인할 수 있습니다.
  • 원장: account:Liabilities:AccountsPayable 혹은 특정 링크(^INV-xxxx) 로 필터링하면 청구서의 전체 흐름을 볼 수 있습니다.
  • 문서 사이드바: document: 메타데이터와 option "documents" 지시자를 설정하면 사이드바에 연결된 PDF 목록이 표시됩니다.

외상매입금 Aging, Turnover, 현금 흐름 인식

  • Aging 스케줄: 미결 청구서를 1–30일, 31–60일, 60일 이상 등으로 구분합니다. Beancount에서는 “청구서·기한별 미결 외상매입금” 쿼리를 실행하고 결과를 CSV로 내보낸 뒤 스프레드시트나 간단한 Python 스크립트로 구간을 나누면 됩니다.
  • AP Turnover Ratio: 공급업체 구매 총액 ÷ 평균 외상매입금 으로 계산합니다. 연관 지표인 Days Payable Outstanding (DPO)365 ÷ Turnover Ratio 로 구합니다.
  • 지급 지연 시: 외상매입금은 단기 부채이므로, 장기 상환이 필요할 경우 해당 부채를 AccountsPayable에서 NotesPayable 등 장기 부채 계정으로 재분류합니다.
2025-10-01 * "Helix Industries" "Convert overdue AP to 12-month note" ^INV-1110
Liabilities:AccountsPayable -5000.00 USD
Liabilities:NotesPayable 5000.00 USD

외상매입금 관리 시 체크리스트

  1. 계정 선언Liabilities:AccountsPayable 를 원장에 반드시 포함합니다.
  2. 청구서 메타데이터invoice:·due:·terms:·document: 를 일관되게 사용합니다.
  3. 고유 링크^청구서번호 로 청구서와 결제 거래를 연결해 추적성을 확보합니다.
  4. 정기적인 리포팅 – BQL 쿼리와 Fava 대시보드를 활용해 미결 부채와 기한을 주기적으로 검토합니다.
  5. 문서 보관document: 메타데이터와 문서 폴더 옵션을 설정해 모든 청구서 PDF를 원장과 연결합니다.

실전 예시

아래 예시는 실제 비즈니스 상황에 적용 가능한 외상매입금 흐름을 보여줍니다. 코드 블록 내부는 그대로 유지됩니다.

option "title" "My Business"
option "operating_currency" "USD"
option "documents" "documents"

2025-01-01 open Assets:Bank:Checking USD
2025-01-01 open Liabilities:AccountsPayable USD
2025-01-01 open Expenses:Supplies USD
2025-01-01 open Income:Discounts:Payables USD

마무리

Beancount와 Fava를 활용하면 복잡한 외상매입금 관리도 텍스트 파일 하나간단한 메타데이터만으로 투명하게 기록하고, 필요할 때마다 강력한 BQL 쿼리로 즉시 보고서를 생성할 수 있습니다. 발생주의 원칙을 그대로 유지하면서도, 모든 거래 내역을 버전 관리 시스템(Git 등)으로 추적할 수 있다는 점이 가장 큰 장점입니다.


본 가이드는 교육 목적이며, 실제 회계 처리 시 기업 고유의 회계 정책 및 현지 법규를 반드시 검토하시기 바랍니다.

회계 아웃소싱: Beancount 사용자들을 위한 재무 업무 위임 방법

· 약 7분
Mike Thrift
Mike Thrift
Marketing Manager

만약 당신의 원장이 플레인 텍스트로 관리된다면, 이미 명확성, 제어, 재현성을 중시하고 있는 것입니다. 회계 아웃소싱이 반드시 이를 희생해야 하는 것은 아닙니다. 오히려 올바르게 수행하면 Beancount 설정을 전문가가 운영하는 신뢰할 수 있는 문서화된 워크플로우로 전환하면서도 데이터, 저장소, 규칙에 대한 완전한 소유권을 유지할 수 있습니다.

이 가이드는 Beancount 사용자를 위한 실용적인 안내로, 어떤 업무를 아웃소싱하고 어떤 업무를 내부에서 유지할지, 산출물을 어떻게 구조화할지, 공급자를 어떻게 평가할지에 대해 다룹니다. 제어권을 포기하지 않고 기계적인 작업을 위임하는 방법을 제시합니다.

2025-08-19-accounting-outsourcing-how-to-hand-off-your-financial-tasks


대상 독자

다음 중 하나에 해당한다면 이 가이드는 당신을 위한 것입니다:

  • 솔로 창업자, 인디 해커, 컨설턴트 – Beancount를 사용하면서 회계의 기계적인 부분에 소요되는 시간을 회수하고 제품 개발이나 고객 서비스에 집중하고 싶을 때.
  • 재무에 정통한 엔지니어 – 엄격한 제어, 버전 관리된 히스토리, 완전한 감사 가능성을 요구하지만 주말마다 은행 명세서를 가져오고 계정을 맞추는 데 시간을 쓰고 싶지 않을 때.
  • 전체형 벤더에서 마이그레이션 중인 조직 – 데이터 보관과 재현성을 최우선으로 삼는 경우. Bench와 같은 회계 플랫폼의 급작스러운 종료 사례는 중요한 교훈을 보여줍니다: 퇴출 계획과 개방형 포맷은 선택이 아니라 필수입니다. (TechCrunch, KSV Advisory Report)

Beancount, 간략히

초보자를 위해 Beancount 생태계는 다음과 같은 핵심 구성 요소로 이루어져 있어 이 워크플로우에 강력합니다:

  • Beancount: 본질적으로 플레인 텍스트로 정의된 복식부기 언어입니다. 사람이 읽을 수 있는 원장 파일을 작성하고 Git 저장소에 커밋한 뒤, 컴파일러로 검증하고 재무 보고서를 생성합니다. (GitHub)
  • Fava: Beancount용 우아한 웹 인터페이스입니다. 원장 파일을 읽어 대시보드형 대차대조표, 손익계산서, 추세, 필터, 그리고 강력한 SQL‑유사 쿼리 언어를 제공합니다. (Fava Demo)
  • beangulp: 데이터 수집 자동화를 위한 최신 프레임워크입니다. Beancount의 기존 임포터에서 진화했으며, CSV, OFX, QFX, PDF 등 다양한 은행 명세서를 파싱해 구조화된 Beancount 항목으로 변환합니다. (GitHub)

성공적인 아웃소싱 관계는 이러한 강점—버전 관리, 인간이 읽을 수 있는 히스토리, 엄격한 검증, 도구의 조합 가능성—을 유지하고 강화해야 합니다.


아웃소싱할 업무 vs. 내부 유지 업무

효과적인 위임의 핵심은 명확한 업무 구분입니다. 전술적 실행과 전략적 소유권을 구분하는 방법을 살펴보세요.

아웃소싱에 적합한 업무

보통 반복적이고 규칙 기반이며 시간이 많이 소요되는 작업으로, 전문가에게 맡기기에 최적입니다.

  • 명세서 수집 및 임포트: 월별 명세서를 다운로드하고 다양한 파일 포맷(CSV, OFX, PDF)을 정규화한 뒤 beangulp 임포터를 실행합니다. 금융기관이 명세서 포맷을 바꿀 때마다 임포터 규칙을 유지·업데이트하는 작업도 포함됩니다.
  • 분류 지원: 거래를 분류하기 위한 휴리스틱 및 선언형 규칙을 구축합니다. smart_importer와 같은 도구를 활용해 과거 데이터를 기반으로 자동 예측할 수 있지만, 최종 검토는 항상 인간이 수행합니다.
  • 조정 및 무결성 검사: balance 어설션을 사용해 명세서와 일치하도록 포스팅하고, 차이를 조사해 원장이 오류 없이 유지되도록 합니다.
  • 첨부 파일 및 문서 정리: 청구서와 영수증을 수집해 메타데이터와 함께 거래에 연결하고, 원본 문서를 깔끔하고 재현 가능한 디렉터리 트리 구조에 보관합니다.
  • 월말 마감 및 보고: 표준 보고서(P&L, 대차대조표, 현금흐름표)를 준비하고, 관리 업데이트용 Fava 뷰 또는 익스포트를 제공합니다.
  • 매출채권/매입채무 운영 및 급여 준비: 지급 청구서 작성, 인보이스 발행, 채권 회수, 급여 파일을 최종 검토·승인을 위해 스테이징합니다.
  • 세무 패키지 준비: 연말에 정리된 시산표, 보조 일정표, CPA 또는 세무사에게 전달할 모든 파일을 생성합니다.

내부 유지 (의도와 위험을 직접 소유)

전략적이며 비즈니스 재무 기반을 정의하는 업무입니다. 반드시 직접 담당해야 합니다.

  • 계정표 설계: 계정 구조와 명명 규칙은 비즈니스를 어떻게 바라보는지를 반영합니다. 이는 재무 지도와 같습니다.
  • 핵심 회계 정책: 법인 구조, 매출 인식, 자본화 정책 등은 장기적인 재무·법적 영향을 미칩니다.
  • 최종 승인: 모든 현금 흐름(지불, 급여 실행, 주요 전표)에 대한 최종 결정을 직접 내려야 합니다.
  • 전략적 재무: 예측, 예산 편성, “좋은 상태” 정의 등은 소유자가 반드시 수행해야 하는 기본 책임입니다.

Beancount‑네이티브 아웃소싱 워크플로우

구조화된 Git 기반 협업이 실제로 어떻게 이루어지는지 살펴보세요.

1) 저장소 레이아웃 (예시)

저장소는 단일 진실 원천입니다. 잘 정리된 구조는 프로세스를 투명하고 유지보수하기 쉽게 만듭니다.

/ledger
main.beancount # 메인 원장 파일, 다른 파일 포함
accounts/ # 계정표 정의
includes/ # 월별·연도별 거래 파일
prices/ # 상품·주식 가격 지시문
metadata/ # 사용자 정의 메타데이터 선언
plugins/ # 사용자 정의 Beancount 플러그인
documents/ # 은행 명세서, 영수증, 인보이스
/importers # beangulp 임포터 + 규칙
config.yaml
bank_x.py
card_y.py
/scripts
import.sh # 임포터 오케스트레이션 스크립트
close_month.py # 월말 검증·보고 스크립트
/reports
monthly/
year_end/
/ops
runbook.md # 시스템 운영 매뉴얼
checklist.md # 절차 체크리스트(예: 월말)
controls.md # 재무 통제 문서

2) 주간 사이클

일상 업무는 예측 가능한 리듬을 따라야 하며, 검토용 명확한 산출물로 마무리됩니다.

  1. 수집: 공급자가 명세서를 받아 beangulp 임포터를 실행해 새로운 거래를 스테이징합니다.
  2. 분류: 분류 규칙과 smart_importer 제안을 적용하고, 인간 검토를 통해 모호성을 해소합니다.
  3. 조정: balance 어설션을 추가해 명세서 총액과 일치시키고 차이를 조사합니다. pad 지시문은 최소화하고 반드시 명확한 사유가 있어야 합니다.
  4. 문서화: 관련 문서(영수증, 인보이스)를 거래에 첨부합니다.
  5. 커밋·제안: 변경 사항을 설명적인 커밋 메시지와 함께 커밋하고, 검토용 풀 리퀘스트를 엽니다. 이를 통해 원장에 어떤 변화가 있었는지 정확히 확인할 수 있습니다.

3) 최소 실행 가능한 월말 마감

월말 마감은 정확성을 확보하고 신뢰할 수 있는 보고서를 생산하기 위한 핵심 체크포인트입니다.

  • 외화·시장 기반 증권에 대한 price 지시문을 최신화합니다.
  • 미결 항목(매출채권, 매입채무, 발생비용, 선불비용, 대출)을 검토합니다.
  • 모든 balance 어설션이 통과하고 다른 검증 오류가 없는지 확인합니다.
  • 커밋에 마감 기간 태그를 붙입니다(예: 2025-08-close).
  • 표준 보고서를 내보내고, Fava 스냅샷을 게시하거나 안전한 URL을 제공합니다.

4) 연말 패키지

연말 작업의 최종 산출물은 세무 담당자를 위한 깔끔하고 감사 가능한 패키지입니다. 여기에는 최종 시산표, 주요 계정(고정자산·재고 등) 보조 일정표, 그리고 Git 저장소에서 직접 모든 산출물을 재생성할 수 있는 스크립트가 포함됩니다.


보안·접근 (절대 양보 불가)

전문적인 워크플로우는 보안과 데이터 소유권을 최우선으로 합니다.

  • 데이터 보관 우선: 개인 Git 저장소는 여러분이 소유합니다. 공급자는 포크에서 작업하고 풀 리퀘스트를 제출해야 하며, 원장의 유일 복사본을 보관해서는 안 됩니다.
  • 은행 접근: 가능한 경우 읽기 전용 접근을 제공하세요. 집계 서비스를 사용해야 한다면 격리된 자격증명을 만들고, 해제 절차를 명확히 정의합니다.
  • 비밀·암호화: GPG 또는 age와 같은 도구로 민감 문서를 암호화하고, 모든 서비스에 다중 인증(MFA)을 적용합니다. 최소 권한 원칙을 준수합니다.
  • Fava 접근: Fava는 직접 호스팅하거나 로컬(fava ledger.beancount)에서 실행하고, 검토 세션은 안전한 터널이나 VPN을 통해 공유합니다. 공개 인터넷에 직접 노출하지 마세요.
  • 퇴출 계획: “코드 끊기” 매뉴얼을 반드시 요구합니다. 여기에는 모든 스크립트·설정·문서의 에스크로 또는 보증된 인계 절차가 포함됩니다. 최근 사례처럼 공급자가 갑자기 사라지는 상황에 대비해 재무 기록이 고립되지 않도록 해야 합니다.

“좋은” 산출물의 모습 (매월)

매월 말에 받아야 할 두 가지가 있습니다: 기술 산출물과 비즈니스 요약.

1. 깔끔한 풀 리퀘스트

  • 해당 기간의 모든 수집·분류·조정 거래가 포함된 커밋.
  • 변경 내용을 설명하는 커밋 메시지.
  • balance 어설션이 모두 통과.
  • 불필요한 pad 사용이 없으며, 사용 시 명확한 사유가 명시됨.

2. 비즈니스 보고서

  • 표준 시산표·손익계산서·대차대조표·현금흐름표.
  • 주요 지표와 트렌드에 대한 간단한 해설.
  • 필요 시 Fava 뷰 스냅샷 또는 안전한 URL.

아웃소싱 평가 체크리스트

  1. 전문성: 공급자가 회계·Beancount에 대한 충분한 경험을 보유하고 있는가?
  2. 투명성: 작업 흐름, 검증 단계, 산출물 포맷이 명확히 문서화되어 있는가?
  3. 보안 정책: 데이터 암호화·접근 제어·퇴출 계획을 제공하는가?
  4. 커뮤니케이션: 질문·수정 요청에 대한 응답 속도와 품질은 어떠한가?
  5. 가격 구조: 비용이 명확히 정의되고, 숨은 비용이 없는가?

팁 & 요령

  • 거래에 메타데이터 추가: metadata 섹션을 활용해 프로젝트, 비용 센터, 담당자 등을 기록하면 추후 분석이 쉬워집니다.
  • 정기적인 규칙 리뷰: 금융기관이 포맷을 바꾸면 beangulp 규칙을 즉시 업데이트하세요. 자동화된 테스트 스위트에 포함하면 실수 방지에 도움이 됩니다.
  • 버전 태그 활용: 마감 시점마다 Git 태그(2025-08-close 등)를 붙여 언제든 특정 시점의 원장을 체크아웃할 수 있게 합니다.
  • 문서와 코드 동기화: runbook.mdchecklist.md에 현재 프로세스를 반영하고, 변경 시마다 업데이트를 잊지 마세요.

아웃소싱은 여러분이 핵심 비즈니스에 집중하면서도 회계·재무 프로세스의 품질을 유지할 수 있게 해줍니다. 올바른 파트너와 명확한 워크플로우를 설계하면, 제어권을 포기하지 않으면서도 업무 효율성을 크게 높일 수 있습니다.