본문으로 건너뛰기

"Beancount" 태그로 연결된 68개 게시물개의 게시물이 있습니다.

모든 태그 보기

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

직원을 고용할 여유가 있나요?

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager
  • Beancount‑우선 가이드: 실제 비용 모델링, 현금 흐름 테스트, 그리고 원장에 연결하기.*

첫 직원을 고용하는 것은 큰 도전입니다. 미래에 대한 베팅이면서도, 제안서에 적힌 급여 숫자만큼이 아닌 훨씬 큰 재무적 약속이 따릅니다. 많은 창업자와 소기업 소유자는 급여만을 고집해 실제 “전체 포함” 비용을 간과하고 놀라게 됩니다.

2025-08-22-can-i-afford-to-hire-an-employee

이 가이드는 전체 비용을 정확히 모델링하고, 실제로 감당 가능한지 테스트한 뒤, 그 모델을 Beancount 원장에 바로 연결해 채용 결정을 채용 공고를 올리기 전에 위험을 최소화하는 방법을 안내합니다.

TL;DR

  • 급여만으로 멈추지 마세요. 미국에서는 실제 비용에 고용주 급여세(사회보장, 메디케어, FUTA/SUTA), 복리후생, 보험, 도구, 채용 비용이 포함됩니다. 민간 부문에서는 **복리후생만 평균 보상액의 30 %**를 차지해, 1.42 배의 “전체 포함” 승수로 급여에 더해집니다. 이는 기업·지역에 따라 크게 달라집니다.
  • 간단한 경험법칙: 전체 포함 비용 ≈ 급여 + 고용주 급여세 + 복리후생 + 보험 + 도구/소프트웨어 + 채용/적응 비용.
  • Beancount로 위험을 최소화하세요. Fava의 예산 기능을 사용해 원장에 월별 급여 예산을 만들고, 예측을 실행해 현금 흐름, 마진, 투자 회수 기간을 확인합니다.

1) “전체 포함” 비용을 실제로 좌우하는 요소는?

직원의 급여를 빙산의 일각이라고 생각하세요. 눈에 보이는 부분은 간단하지만, 물에 잠긴 비용이 현금 흐름을 침몰시킬 수 있습니다. 아래가 상세 내역입니다.

  • 기본 급여 (Wages/Salary): 연간 급여 또는 시급 등 합의된 금액. 가장 큰 항목이지만 시작점일 뿐입니다.

  • 고용주 급여세 (미국): 직원에게 급여를 지급할 뿐 아니라, 그 급여에 대한 세금도 고용주가 부담합니다.

    • 사회보장 (OASDI): 급여의 **6.2 %**를 연간 상한액까지 납부합니다. 2025년 기준 상한액은 $176,100.
    • 메디케어 (HI): 모든 급여에 **1.45 %**를 납부하며 상한액은 없습니다.
    • 실업세 (FUTA & SUTA): 연 $7,000까지 **6.0 %**를 부과하는 연방 실업세(FUTA). 대부분의 고용주는 주 실업세(SUTA) 납부로 크레딧을 받아 실제 FUTA율이 **0.6 %**로 낮아집니다. SUTA율은 주와 기업 이력에 따라 크게 차이납니다.
  • 복리후생: 두 번째로 큰 비용이며, 건강보험, 퇴직금(예: 401(k) 매치), 유급휴가 등을 포함합니다. 미국 민간 부문에서는 **복리후생이 전체 보상의 약 30 %**를 차지합니다. 2024년 기준 단일 건강보험 평균 연간 프리미엄은 8,951,가족보험은8,951**, **�가족 보험은 25,572였습니다. 직원이 일부 부담하지만, 고용주가 대부분을 부담합니다.

  • 산재보험: 거의 모든 주에서 법적으로 요구되며, 업무 중 부상 시 의료비와 임금 손실을 보전합니다. 요율은 주·산업·직무에 따라 다르니 0으로 예산을 잡지 마세요.

  • 도구·간접비: 새 직원에게는 노트북, 소프트웨어 라이선스(SaaS), 사무실 책상, 급여 처리 소프트웨어 등이 필요합니다. 소규모 기업용 급여 서비스는 4949–50 기본료 + 직원당 66–10 정도입니다.

  • 채용·적응 비용: 일회성 비용을 잊지 마세요. 구인 광고비, 인터뷰 시간, 그리고 가장 중요한 적응 기간이 포함됩니다. 새 직원이 완전 생산성을 갖추려면 1–3개월이 걸리며, 이 기간 동안은 부분적인 산출에 대해 전체 비용을 지불하게 됩니다.


2) 구체적인 예시

실제 상황을 가정해 보겠습니다. 미국에 연 $80,000 급여를 제안하고, 단일 건강보험을 제공하며, 고용주가 평균 **84 %**를 부담한다고 가정합니다.

연간 비용 상세:

  • 고용주 급여세:

    • 사회보장 (OASDI): 80,000×6.280,000 × 6.2 % = 4,960
    • 메디케어: 80,000×1.4580,000 × 1.45 % = 1,160
    • FUTA (실제율): 7,000×0.67,000 × 0.6 % = 42
    • 총 고용주 급여세: $6,162
  • 건강보험 (고용주 부담):

    • 2024년 단일 평균 프리미엄 8,951×848,951 × 84 % = **7,519 연간** (≈ $627/월)
  • 급여 소프트웨어·도구:

    • 급여 소프트웨어: (50기본료+50 기본료 + 6/직원) × 12개월 = $672 연간
    • 도구/노트북/SaaS (예상): $2,000 연간

전체 합계:

항목연간 비용
급여$80,000
고용주 급여세$6,162
건강보험$7,519
급여 소프트웨어$672
도구·노트북$2,000
연간 총 비용$96,353
월간 비용$8,029

이 시나리오에서 전체 포함 비용은 **96,353,즉기본급여의1.20입니다.이는비교적절제된복리후생패키지이며,401(k)매치,더관대한유급휴가,가족보험등을추가하면평균1.42(96,353**, 즉 기본 급여의 **1.20 배**입니다. 이는 비교적 절제된 복리후생 패키지이며, 401(k) 매치, 더 관대한 유급휴가, 가족 보험 등을 추가하면 평균 **1.42 배**(≈ 113,800) 수준에 이를 수 있습니다.

핵심: 실제 비용은 **1.20 배(절제형)**에서 1.40 배 이상(풍부형) 사이가 될 가능성이 높습니다. 직접 계산해 보세요.


3) “감당할 수 있을까?” — 세 가지 실용 테스트

월간 비용이 $8,029라는 가정 하에, 이를 감당할 수 있는지 판단하는 방법은 다음과 같습니다.

  1. 총이익 마진 커버 여부: 역할이 스스로 비용을 회수할 수 있나요? 사업의 총이익률이 65 %라면, 새 직원은 최소 **12,352(=12,352**(=8,029 ÷ 0.65)의 월 매출을 창출해야 손익분기점에 도달합니다. 비용 절감 역할이라면 동일한 규모의 지속 가능한 비용 절감 효과가 필요합니다.

  2. 회수 기간·런웨이: 투자 회수까지 얼마나 걸리며, 그 기간 동안 살아남을 수 있나요? 역할에 대한 비즈니스 케이스는 6–12개월 회수 기간을 목표로 해야 합니다. 또한 적응 기간을 고려한 3–6개월의 현금 완충(전체 포함 비용)을 반드시 확보하세요.

  3. 적응 현실: 새 직원은 첫날 100 % 효율이 아닙니다. 1–3개월의 온보딩·생산성 저하를 예산에 포함시키세요. 현금 완충이 급여와 생산성 저하를 모두 커버하지 못한다면, 아직 준비가 안 된 것입니다. 먼저 계약직이나 파트타임으로 필요성을 검증하는 것이 좋습니다.

미국 특화 주의: 첫 고용이거나 새로운 주에서 고용한다면, 준수 요건을 반드시 재확인하세요. FUTA 크레딧 감소, 주별 SUTA 요율, 산재보험 규정 등은 주마다 크게 다릅니다. 잘못하면 벌금을 물게 됩니다.


4) Beancount에 모델 적용하기

채용 가능 여부를 판단하는 가장 확실한 방법은 원장에 직접 반영해 보는 것입니다. Beancount로 구현하는 단계는 다음과 같습니다.

A. Fava 예산 설정

먼저 custom "budget" 지시자를 사용해 예상 월 비용을 원장에 추가합니다. 이렇게 하면 새로운 비용이 수입 대비 어떻게 변하는지 시각화할 수 있습니다.

; 연 $96k 전체 포함 비용을 기준으로 한 직원 예산
2025-09-01 custom "budget" Expenses:Payroll:Wages "monthly" 6666.67 USD
2025-09-01 custom "budget" Expenses:Payroll:Taxes:Employer "monthly" 513.50 USD
2025-09-01 custom "budget" Expenses:Benefits:HealthInsurance "monthly" 626.57 USD
2025-09-01 custom "budget" Expenses:Tools:PayrollSoftware "monthly" 55.00 USD

추가하면 Fava의 손익계산서와 변동 보고서가 자동으로 새로운 비용 수준을 보여줍니다.

B. 실제 급여 처리 기록

급여를 실행할 때는 두 가지 일반적인 방법이 있습니다.

  • 상세 기록 (부채 포함): 가장 정확한 방식으로, 고용주 세금과 직원 원천징수를 구분해 부채로 기록합니다.
2025-09-30 * "Payroll - Alice (September)" ; 예시 원천징수 포함
Expenses:Payroll:Wages 6666.67 USD
; 고용주 측 세금 (직접 비용)
Expenses:Payroll:Taxes:Employer:SocialSecurity 413.33 USD
Expenses:Payroll:Taxes:Employer:Medicare 96.67 USD
Expenses:Payroll:Taxes:Employer:FUTA 3.50 USD
; 직원 원천징수 (부채)
Liabilities:Payroll:Withholding:Federal -1000.00 USD
Liabilities:Payroll:Withholding:State -300.00 USD
Liabilities:Payroll:FICA:Employee:SocialSecurity -413.33 USD
Liabilities:Payroll:FICA:Employee:Medicare -96.67 USD
; 은행 출금 (실제 직원에게 지급)
Assets:Bank:Checking -4853.54 USD

세금이 실제로 납부될 때는 부채를 정산하는 별도 거래를 기록합니다(예: Liabilities:Payroll:Withholding:FederalAssets:Bank:Checking).

  • 단순 기록 (일괄 처리): 급여 제공업체가 한 번에 전체 금액을 차감하고 상세 부채 추적이 필요 없을 경우 사용합니다.
2025-09-30 * "Gusto payroll run - Alice"
Expenses:Payroll:Wages 6666.67 USD
Expenses:Payroll:Taxes:Employer 513.50 USD
Expenses:Payroll:Fees:Provider 55.00 USD
Assets:Bank:Checking -7235.17 USD

C. 런웨이 예측

Expenses:Payroll 계정을 최상위에 두고, 거래마다 employee: "Alice" 같은 태그를 붙이면 인물별 보고서를 쉽게 필터링할 수 있습니다. 예산을 설정해 두면 Fava에서 계획 대비 실제를 월별로 겹쳐 볼 수 있습니다. 지속적으로 예산을 초과한다면 감당 가능성 테스트를 다시 수행하세요.


5) 채용이 타당한 경우·타당하지 않은 경우 (빠른 체크리스트)

타당할 가능성이 높은 경우 ✅

  • 수익성 있는 업무를 놓치고 있거나, 인력 부족으로 제품 출시가 지연될 때.
  • 구체적인 매출 목표 또는 비용 절감 목표를 정의하고, 새 직원이 이를 달성하도록 설계했을 때.
  • 현금 흐름과 마진이 충분히 양호하고, 예상 회수 기간이 합리적일 때.

타당하지 않을 가능성이 높은 경우 ❌

  • 현금 완충이 부족하거나, 적응 기간 동안 현금 흐름이 급격히 악화될 때.
  • 총이익 마진이 낮아 새 직원이 창출해야 할 매출이 비현실적으로 높을 때.
  • 법적·세무적 요건을 충족하지 못하거나, 주별 실업세·산재보험 요율을 정확히 파악하지 못했을 때.

6) 전체 포함 비용 계산 예시 (코드)

; 전체 포함 비용을 계산하는 간단한 경험법칙
2025-01-01 * "Fully Loaded Cost Calculation"
Expenses:Payroll:Wages 5000.00 USD
Expenses:Payroll:Taxes:Employer 750.00 USD
Expenses:Benefits:HealthInsurance 1500.00 USD
Expenses:Insurance:General 300.00 USD
Expenses:Tools:Software 200.00 USD
Expenses:Recruiting:Hiring 400.00 USD
; 전체 포함 비용 = 급여 + 고용주 세금 + 복리후생 + 보험 + 도구 + 채용
; (계산은 외부에서 수행하고, 결과만 원장에 기록)

이와 같이 Beancount와 Fava를 활용하면, 채용 전후의 재무 영향을 투명하게 파악하고, 위험을 최소화한 의사결정을 할 수 있습니다.

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에 현재 프로세스를 반영하고, 변경 시마다 업데이트를 잊지 마세요.

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

회계 솔루션: 회계를 완성하는 7가지 최고의 방법

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

노트북으로 사이드 허슬을 운영하든, 빠르게 성장하는 스타트업을 확장하든, 깨끗하고 정확한 장부를 유지할 수 있는 몇 가지 신뢰할 만한 경로가 있습니다. 하지만 어느 것이 당신에게 맞을까요? 최적의 솔루션은 예산, 기술적 편안함, 그리고 재무 데이터에 대한 통제 수준에 따라 달라집니다.

다음은 가장 흔한 7가지 회계 옵션에 대한 명확한 가이드입니다—각 옵션이 강점과 약점이 무엇인지, 그리고 현대적인 솔루션인 Beancount.io가 언제 완벽히 맞는지 살펴보세요.

2025-08-16-accounting-solutions-the-top-7-ways-to-get-your-accounting-done


1) Excel

대부분의 회계 여정에서 가장 먼저 마주치는 도구이며, 단순함과 보편적인 접근성 때문에 많이 사용됩니다.

  • 적합 대상: 스프레드시트를 자유롭게 다루며 전체 통제를 원하고, 직접 구축하고 싶은 DIY 창업자.
  • 장점: 진입 장벽이 사실상 제로이며, 수천 개의 무료 템플릿이 온라인에 존재합니다. 유연성을 통해 맞춤형 재무 모델을 만들고, 상용 소프트웨어가 감당하지 못하는 고유 워크플로를 추적할 수 있습니다.
  • 단점: 가장 큰 단점은 막대한 수작업 부담입니다. 모든 거래를 손으로 입력하고 조정해야 하며, 이는 엄청난 시간 소모를 초래합니다. 또한, 방어 장치가 없어 조용히 발생하는 수식 오류나 오타가 쉽게 발생합니다. 협업과 명확한 감사 추적을 유지하려면 엄격한 규율이 필요합니다.
  • 추천 상황: 매우 단순한 비즈니스를 빠르게 시작하고, 세밀한 주의를 기울일 수 있는 경우.

2) Google Sheets

클라우드 기반의 Excel 형제인 Google Sheets는 동일한 핵심 기능에 협업 기능을 더했습니다.

  • 적합 대상: 수입·지출을 추적하기 위한 간단하고 공유 가능한 스프레드시트를 필요로 하는 팀.
  • 장점: 클라우드 자동 백업과 손쉬운 공유가 주요 장점입니다. 웹 브라우저만 있으면 어떤 기기에서도 작업할 수 있어 이동 중인 팀에 적합합니다.
  • 단점: Excel과 동일한 근본적인 문제—수작업 부담과 사용자 오류 위험이 존재합니다. 또한, Microsoft 생태계용 템플릿·애드온과 호환성 문제가 발생할 수 있습니다.
  • 추천 상황: 팀이 이미 Google Workspace를 사용하고, 수작업 시스템의 트레이드오프를 감수할 수 있는 경우.

3) QuickBooks Online

수십 년 동안 QuickBooks는 소규모 기업이 전용 회계 소프트웨어를 찾을 때 기본 선택지였습니다.

  • 적합 대상: 풍부한 통합 생태계를 갖춘 “클래식” SMB 소프트웨어 경험을 원하는 소기업.
  • 장점: 핵심 기능은 은행 피드이며, 은행·신용카드 거래를 자동으로 가져와 수작업 입력을 크게 줄여줍니다. 다양한 재무 보고서를 기본 제공하고, 방대한 회계사·앱 개발자 커뮤니티가 지원합니다.
  • 단점: 거래가 자동으로 가져와지더라도, 비용을 정확히 분류하고 계정을 조정하기 위해 주간 검토가 필요합니다. 인터페이스 학습 곡선이 가파르고, 추가 기능에 따라 비용이 상승합니다. 가장 큰 문제는 벤더 락인으로, 나중에 데이터를 내보내기 어려워집니다.
  • 참고: QuickBooks가 강조하는 자동 은행 피드는 핵심 기능이지만, 정확성을 유지하려면 사용자가 검토·분류해야 합니다.

4) Xero

QuickBooks의 현대적인 대안으로, 깔끔한 디자인과 사용자 경험에 중점을 둔 유사한 기능을 제공합니다.

  • 적합 대상: 보다 현대적인 UI를 선호하면서 QuickBooks Online과 동일한 핵심 기능을 필요로 하는 비즈니스 소유자.
  • 장점: Xero 역시 강력한 은행 피드와 직관적인 조정 도구를 제공해 거래 매칭을 쉽게 합니다. 디자인이 깔끔하고, 많은 회계사가 플랫폼에 익숙합니다.
  • 단점: 저가 플랜은 인보이스·청구서 수에 제한이 있어 상위 플랜으로 업그레이드해야 할 수 있으며, 추가 기능 비용이 전체 비용을 증가시킵니다. 또한, 최종 분류와 검토 작업은 여전히 사용자가 해야 합니다.
  • 참고: Xero는 전 세계 수천 개 금융 기관과 연결된 자동 은행 피드를 제공한다고 밝히고 있습니다.

5) 회계사 (CPA)

공인회계사는 전략적 조언, 세무 계획, 컴플라이언스 서비스를 제공하는 고도로 훈련된 재무 전문가입니다.

  • 적합 대상: 세무 전략, 복잡한 재무 상황 해결, 감사 대응, 일회성 자문이 필요한 경우.
  • 장점: 좋은 CPA는 법인 구조, 세무 최적화, 복잡한 회계 처리 등 중요한 결정에 대한 전문가 조언을 제공합니다. 그들의 감독은 고위험 재무 사안에서 위험을 크게 감소시킵니다.
  • 단점: 일상적인 부기 업무에 CPA를 고용하는 비용은 대부분의 소기업에 과도합니다. 효과적으로 활용하려면 여전히 신속하고 정돈된 재무 기록을 제공해야 합니다.
  • 부기 담당자와의 차이점: 부기 담당자는 역사적 거래를 기록·정리하는 반면, 회계사·CPA는 그 데이터를 기반으로 해석·보고·조언합니다. (Investopedia, Intuit)

6) 전통적인 부기 담당자

부기 담당자는 주간·월간으로 재무 거래를 기록하고 조정하는 전문가입니다.

  • 적합 대상: 주간 부기 업무를 전담해줄 사람을 원하는 비즈니스 소유자.
  • 장점: 인간의 감독이 소프트웨어만으로는 놓치기 쉬운 분류 오류를 크게 줄여줍니다. 매월 말에 깔끔한 재무제표를 제공해 검토할 수 있습니다.
  • 단점: DIY 소프트웨어보다 비용이 높으며, 월 유지비가 수백 달러 수준부터 시작합니다. 보고서와 답변의 회신 속도는 부기 담당자의 가용성과 프로세스에 좌우됩니다.
  • 현실 검증: 많은 소기업이 주간 부기 담당자와 주기적인 CPA 지원을 조합해 비용 효율적이고 견고한 회계 체계를 유지합니다. (Pioneer Accounting Group)

7) Beancount.io (플레인 텍스트 회계, 슈퍼차지드)

이 현대적인 접근 방식은 스프레드시트의 통제력과 소프트웨어 자동화, 그리고 복식부기의 정밀성을 결합합니다.

  • 적합 대상: 개발자, 재무 전문가, 디테일에 강박적인 창업자 등 블랙박스 없이 투명성과 자동화를 요구하는 사람.
  • 무엇인가: Beancount.io 는 오픈소스 Beancount 방법론을 기반으로 만든 플랫폼입니다. 전체 원장 데이터가 인간이 읽을 수 있는 플레인 텍스트 형태로 저장되며, 이를 실시간 분석, 호스팅된 Fava 대시보드, AI 보조 워크플로로 변환합니다.
  • 팀이 선택하는 이유:
    • 스크립트 가능·감사 가능: Git으로 원장을 버전 관리합니다. 모든 변경 사항은 diff 로 검토 가능, 코드와 동일한 흐름.
    • 호스팅된 Fava UI: 텍스트 원장만으로 손쉽게 손익계산서·대차대조표·인터랙티브 차트를 즉시 생성합니다. 수동 보고서 작성이 필요 없습니다.
    • AI 보조: 거래 분류와 이상 탐지를 가속화하고, 최종 승인은 인간이 수행하도록 유지합니다.
    • 진정한 이식성: 핵심 데이터는 단순 텍스트 파일. 언제든 내보낼 수 있으며, 벤더 락인이 전혀 없습니다.
  • 트레이드오프: 복식부기를 플레인 텍스트 형식으로 처음 접한다면 학습 곡선이 존재합니다. “원클릭” 편리함보다 절대적인 정확성과 통제를 중시하는 사용자에게 최적입니다.

순수 오픈소스·셀프 호스팅을 원하시나요?

Beancount 오픈소스 엔진을 직접 머신에 설치하고 Fava를 웹 UI로 사용할 수 있습니다. 강력하고 무료이지만, 설정·백업·데이터 연동을 직접 관리해야 합니다. Beancount.io는 이러한 모든 과정을 대신 처리해 줍니다.


빠른 비교 (한눈에)

솔루션시간 투자자동화 수준인적 지원데이터 통제
Excel높음낮음없음중간
Google Sheets높음낮음없음중간
QuickBooks Online중간중-높음선택 가능낮음
Xero중간중-높음선택 가능낮음
회계사 (CPA)낮음N/A높음 (자문)중간
전통적인 부기 담당자낮음N/A높음 (주간)중간
Beancount.io낮음-중간높음선택 가능높음

선택 가이드

  • 최대 통제·감사 가능·개발자 수준 워크플로를 원한다면? Beancount.io 를 선택하세요. 호스팅된 Fava 대시보드, AI 보조, 플레인 텍스트 이식성을 모두 제공합니다.
  • 그냥 “처리만 해줬으면” 하는 경우? 부기 담당자를 고용하고, 세무·전략은 CPA에 맡기세요.
  • 전통적인 SMB 소프트웨어 생태계에 익숙하다면? QuickBooks 혹은 Xero 가 괜찮은 선택이지만, 매주 거래 검토·조정에 시간을 배정해야 합니다.
  • 예산이 빠듯하고 시험 삼아 사용해보고 싶다면? 스프레드시트 로 시작해도 됩니다. 단, 이를 장기적인 시스템이 아닌 발판으로 활용하세요.

플레인 텍스트 회계가 주목받는 이유

Beancount와 같은 플레인 텍스트 회계(PTA) 도구는 재현성, 버전 관리, 투명성을 강조합니다. 이는 엔지니어·데이터 과학자·재무 전문가에게 큰 매력으로 다가옵니다. 코드처럼 명확하고 검토 가능한 장부를 원한다면, 여기서 시작하세요. (plaintextaccounting.org)

원장을 살아 움직이는 모습을 보고 싶나요?

무료 Beancount.io 워크스페이스 시작하기, 지난 달 거래 샘플을 가져와 호스팅된 Fava 대시보드를 열어 보세요. 손익계산서와 대차대조표가 즉시 나타나고, AI 보조로 카테고리를 미세 조정할 수 있습니다.

회계 사이클, Beancount 스타일

· 약 7분
Mike Thrift
Mike Thrift
Marketing Manager

재무제표는 마법처럼 나타나는 것이 아닙니다. 이는 회계 사이클이라 불리는 구조화되고 반복 가능한 프로세스의 최종 산물입니다. 원칙은 보편적이지만, 사용하는 도구에 따라 경험이 크게 달라질 수 있습니다. 이 가이드는 강력한 텍스트 기반 회계 도구인 Beancount에 초점을 맞춰 회계 사이클을 단계별로 안내합니다.

Beancount의 텍스트 우선 접근 방식이 어떻게 번거로운 단계를 없애는지, 자동화해야 할 부분은 무엇인지, 그리고 재무 건전성을 가장 명확히 파악할 수 있는 보고서는 무엇인지 살펴보겠습니다. 🧑‍💻

2025-08-13-the-accounting-cycle-beancount-style


TL;DR: Beancount 워크플로우

  • Capture & Journal: 모든 거래를 깔끔한 복식부기 포스팅으로 .beancount 텍스트 파일에 기록합니다.
  • Validate & Reconcile: balance 어설션을 사용해 원장이 은행 명세와 일치하는지 확인하고 bean-check로 오류를 잡습니다.
  • Review: 조정되지 않은 시산표를 생성해 빠르게 sanity check를 합니다.
  • Adjust: 발생비용, 이연비용, 감가상각 및 기타 기간 말 항목에 대한 조정 분개를 기록합니다.
  • Re-review: 조정된 시산표를 확인해 모든 것이 정확한지 검증합니다.
  • Publish & Close: 손익계산서, 대차대조표, 현금흐름표를 생성합니다. Beancount에서는 보고서가 날짜를 인식하므로 장부 마감은 선택 사항입니다.

이 흐름은 다음과 같이 시각화할 수 있습니다:


Step 1: 거래 캡처 및 기록

이것이 기본 단계입니다. 모든 재무 이벤트—판매, 구매, 은행 수수료—는 반드시 기록되어야 합니다. Beancount에서는 main.beancount와 같이 간단한 텍스트 파일에 거래를 생성함으로써 이를 수행합니다. 파일을 연도별로 나누어 관리할 수도 있습니다.

각 거래는 복식부기 규칙을 따라야 하며, 모든 포스팅의 합은 반드시 0이어야 합니다. Beancount이 이를 자동으로 강제합니다.

2025-08-10 * "Walmart" "사무용품 구매"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
  • Pro-Tip: #project-phoenix 또는 #client-acme와 같은 태그를 사용해 데이터에 차원을 추가하세요. 나중에 쿼리와 보고서를 훨씬 유연하게 만들 수 있습니다.

조정 위생 ✅

정확성을 보장하는 가장 강력한 기능은 balance 어설션입니다. 명세 기간 말(예: 월말)에는 해당 계정의 잔액이 어떠해야 하는지 선언합니다.

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

Assets:Bank:Checking에 영향을 주는 모든 거래의 합이 12345.67 USD와 일치하지 않으면 Beancount이 오류를 발생시킵니다. 이 간단한 지시문은 원장을 자체 감사 문서로 전환합니다.

역사 데이터를 뒤늦게 입력하는 경우, pad 지시문을 사용해 개시 잔액이 첫 어설션과 맞도록 자동으로 균형 거래를 생성할 수 있습니다.


Step 2: "원장에 포스팅" (무료!)

전통 회계 시스템에서는 먼저 "분개장(journal)"에 입력하고, 별도의 "포스팅" 단계에서 이를 "총계정원장(general ledger)"에 복사합니다.

Beancount에서는 .beancount 파일 자체가 분개장과 원장을 동시에 겸합니다. 거래를 작성하고 저장하면 이미 포스팅이 완료된 것입니다. 별도의 단계가 없습니다. 이 직접성은 텍스트 기반 회계의 핵심 장점이며, 보는 그대로가 결과가 됩니다.


Step 3: 조정되지 않은 시산표 준비

조정을 시작하기 전에 빠르게 “모두 맞는가?”를 확인해야 합니다. 시산표는 모든 계정과 그 총액을 나열하는 간단한 보고서이며, 차변 총액과 대변 총액이 일치해야 합니다.

다음과 같은 간단한 쿼리로 생성할 수 있습니다:

bean-query main.beancount \
"SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

또는 Fava(Beancount 웹 인터페이스)를 열어 “Trial Balance” 보고서를 확인하세요. 자산 계정에 대변 잔액이 있거나, 비용 계정에 이상한 값이 있는지 살펴보세요.


Step 4: 조정 분개 기록

조정 분개는 발생주의 회계에 따라 정확한 보고를 위해 필수적입니다. 현금 흐름과 무관하게 수익은 발생 시점에, 비용은 발생 시점에 인식됩니다.

일반적인 조정 항목:

  • 발생비용(Accruals): 아직 청구하지 않은 매출이나 아직 지급하지 않은 비용을 기록합니다.
  • 이연수익(Deferrals): 선불을 처리합니다. 고객이 1년 서비스 비용을 선불로 지급하면 Liabilities:UnearnedRevenue로 부채를 잡고 매월 1/12씩 수익으로 인식합니다.
  • 비현금 항목: 감가상각 등.
  • 수정(Corrections): 오류 수정 또는 은행 피드에서 누락된 항목(예: 소액 이자 지급) 반영.

예시: 매출 발생(Accruing Revenue)

8월 31일에 프로젝트를 완료했지만 청구서는 9월에 보냅니다. 올바른 기간(8월)에 수익을 인식하려면 다음과 같이 조정 분개를 합니다:

2025-08-31 * "프로젝트 #1042 매출 발생"
Assets:AccountsReceivable 3000.00 USD
Income:Consulting -3000.00 USD

예시: 감가상각 기록

회사에 자산 감가상각 일정이 있습니다. 기간 말에 다음과 같이 비용을 기록합니다:

2025-12-31 * "컴퓨터 장비 연간 감가상각"
Expenses:Depreciation 4800.00 USD
Assets:Fixed:AccumulatedDepreciation -4800.00 USD

Step 5: 조정된 시산표 실행 및 검증

조정 분개를 모두 입력한 뒤 다시 시산표를 실행합니다. 이것이 조정된 시산표이며, 재무제표 작성에 사용될 최종 숫자입니다.

또한 Beancount 내장 검증 명령을 실행해 보세요:

bean-check main.beancount

출력이 없으면 구문, 균형 규칙, 어설션 모두 정상이라는 뜻입니다.


Step 6: 재무제표 발행 📊

이제 조정된 시산표의 숫자를 활용해 핵심 재무 보고서를 생성합니다. 가장 쉬운 방법은 Fava를 이용하는 것으로, 인터랙티브하고 드릴다운 가능한 보고서를 바로 제공합니다.

  • 손익계산서 (Income Statement / P&L): 기간 동안의 수익과 비용을 보여주며 순이익 또는 순손실을 나타냅니다.
  • 대차대조표 (Balance Sheet): 특정 시점에 자산, 부채, 자본(Equity)을 한눈에 보여줍니다.
  • 현금흐름표 (Cash Flow Statement): 시작 현금과 종료 현금을 연결해 현금이 어디서 들어오고 어디로 나갔는지 보여줍니다.

맞춤형 보고서는 Beancount Query Language (BQL)를 사용해 만들 수 있습니다. 아래는 월간 손익계산서 쿼리 예시입니다:

-- 2025년 8월 손익계산서
SELECT account, sum(position)
WHERE account '^(Income|Expenses)'
AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

Step 7: 장부 마감 (선택)

전통 회계에서는 “마감” 절차를 통해 모든 임시 계정(수익·비용)을 0으로 만들고 순이익을 Retained Earnings(이익잉여금)으로 이전합니다. 이는 다음 회계 연도를 위해 임시 계정을 초기화하는 과정입니다.

Beancount에서는 보통 이 단계가 필요 없습니다. Fava 보고서는 날짜를 인식하므로 2025년 P&L을 요청하면 2025년 데이터만 사용합니다. 잔액이 “넘쳐” 나오지 않으며, 대부분의 사용자는 그대로 두고 작업합니다.

하지만 규정 준수나 주주 보고를 위해 공식 마감이 필요하다면, 연말에 총 수익·비용을 Equity:Retained-Earnings로 옮기는 간단한 거래를 추가하면 됩니다.


실용적인 월간 마감 체크리스트

Beancount를 사용해 매월 장부를 마감하는 반복 가능한 체크리스트입니다.

  • Capture: 모든 은행·신용카드 거래를 가져옵니다. 현금 지출이나 비정규 항목은 수동으로 입력합니다.
  • Reconcile: 모든 은행·카드·대출 계정에 balance 어설션을 추가해 명세와 일치시키세요.
  • Review: Fava에서 조정되지 않은 시산표를 검토합니다. 이상하거나 예상치 못한 잔액을 조사합니다. 미수금(Assets:AccountsReceivable)이나 미지급금(Liabilities:AccountsPayable)이 오래 남아 있지 않은지 확인합니다.
  • Adjust: 발생수익·발생비용, 이연수익·이연비용 및 필요한 수정 분개를 기록합니다.
  • Validate: bean-check를 실행하고 최종 조정된 시산표를 검토합니다.
  • Publish: 손익계산서와 대차대조표를 생성해 이해관계자에게 전달하거나 보관합니다.
  • Wrap-up: 필요 시 마감 분개를 수행하고, 해당 기간 .beancount 파일을 아카이브합니다.

Beancount가 회계 사이클에 강력한 이유

  • 투명성 및 감사 가능성: 원장이 텍스트 파일이므로 git으로 버전 관리하고 diff로 변경 사항을 검토하며 회계사와 명확하게 협업할 수 있습니다.
  • 완전한 제어: 차트 오브 어카운트를 직접 정의합니다. 소프트웨어 공급업체의 구조에 얽매이지 않으며, 데이터는 영원히 열려 있는 포맷으로 여러분의 소유입니다.
  • 비할 데 없는 파워: SQL‑like 쿼리(BQL)와 풍부한 웹 인터페이스(Fava)의 조합으로 재무 데이터를 자유롭게 슬라이스·다이스·분석할 수 있습니다.

시작을 위한 복사·붙여넣기 스니펫

간단한 차트 오브 어카운트:

option "title" "My Personal Ledger"
option "operating_currency" "USD"

;; --- Accounts ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

유용한 BQL 쿼리:

-- 미수금이 남아 있는 고객 찾기
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

텍스트 기반 도구인 Beancount와 영원한 회계 사이클을 연결하면 견고하고 투명하며 오래 지속되는 시스템을 구축할 수 있습니다. 즐거운 부기 되세요!

재무 데이터를 아름다운 시각화로 변환하기

· 약 3분
Mike Thrift
Mike Thrift
Marketing Manager

Beancount.io 생태계에 큰 향상이 찾아왔습니다: 공식 beancount-dashboard 통합을 발표하게 되어 기쁩니다. 이 강력한 새로운 기능은 풍부하고 인터랙티브한 시각화를 Fava에 직접 제공하여, 재무 이야기를 명확하고 설득력 있게, 행동 가능한 형태로 보여줍니다.

Beancount Dashboard Overview


beancount-dashboard란?

beancount-dashboard 은 Beancount의 웹 인터페이스인 Fava용 오픈소스 플러그인입니다. 평문 텍스트 재무 데이터를 동적이고 통찰력 있는 대시보드로 변환해, 재무 건전성을 이해하고 정보에 입각한 결정을 내리는 것이 그 어느 때보다 쉬워집니다.

플러그인은 다양한 강력한 시각화를 제공합니다:

  • 📊 포괄적인 자산 보기: 순자산 라인 차트 로 부를 추적하고, 상세 포트폴리오 추적 으로 성과를 모니터링하며, 자산 배분 파이 차트로 분포를 시각화합니다.
  • 💰 수입·지출 분석: 현금 흐름을 정밀하게 파악합니다. 월 평균 을 분석하고, 카테고리 별 지출을 분류하며, 연도별 비교 분석 으로 습관 변화를 확인합니다.
  • ✈️ 여행 비용 관리: 연간 여행 비용을 추적하고 목적지별 지출 패턴을 분석해 향후 여행 예산을 효율적으로 계획합니다.
  • 🔄 Sankey 다이어그램: 수입원, 계정, 지출 카테고리 간 자금 흐름을 인터랙티브 차트로 시각화합니다.
  • 📈 재무 전망: 과거 데이터를 활용해 목표를 설정하고 재무 궤적을 예측합니다.

Financial Analytics Dashboard


beancount-dashboard를 통합한 이유

이번 통합은 Beancount 커뮤니티에 네 가지 핵심 혜택을 제공합니다:

1. 향상된 사용자 경험

Beancount는 견고한 복식부기 기반이지만 원시 데이터는 압도적일 수 있습니다. beancount-dashboard 플러그인은 복잡한 원장을 직관적인 시각화로 변환해, 재무 관리를 모두에게 접근 가능하고 흥미롭게 만듭니다.

2. 더 나은 재무 의사결정

시각적 대시보드는 더 스마트한 재무 선택을 가능하게 합니다. 데이터를 쉽게 소화할 수 있는 형태로 제공해 트렌드 파악, 예산 최적화, 목표 추적, 미래 계획 을 자신 있게 수행하도록 돕습니다.

3. 전문가 수준 분석

이번 통합은 엔터프라이즈 급 분석력을 손끝에 제공합니다. Apache ECharts 기반의 대시보드는 인터랙티브 차트, 맞춤형 뷰, 실시간 업데이트를 지원하며, 최신 거래를 즉시 반영합니다. 반응형 디자인으로 모든 디바이스에서 매끄러운 경험을 보장합니다.

4. 오픈소스 우수성

Beancount와 beancount-dashboard 모두 오픈소스 원칙을 고수합니다. 이는 데이터 처리에 대한 투명성, 프라이버시 (데이터가 자체 인프라에 머무름) 를 보장하고, 활발하고 혁신적인 커뮤니티 지원을 의미합니다.

Advanced Portfolio Tracking


실제 적용 사례

다양한 사용자에게 즉각적이고 눈에 띄는 혜택을 제공합니다:

개인 재무 관리

  • 예산 관리: 매달 자금 흐름을 정확히 파악합니다.
  • 저축 목표: 비상금, 여행, 은퇴 등 목표 달성 진행 상황을 시각화합니다.
  • 투자 모니터링: 포트폴리오 성과와 자산 배분을 면밀히 추적합니다.

소규모 기업

  • 현금 흐름 관리: 사업 유동성을 모니터링하고 현금 흐름 패턴을 이해합니다.
  • 비용 분석: 부서, 프로젝트, 공급업체별 사업 비용을 분석합니다.
  • 재무 계획: 과거 데이터를 활용해 보다 정확한 예산 편성 및 예측을 수행합니다.

재무 컨설턴트

  • 클라이언트 프레젠테이션: 전문적이고 이해하기 쉬운 재무 보고서를 제작합니다.
  • 포트폴리오 분석: 포괄적인 자산 배분 및 성과 추적을 수행합니다.
  • 컴플라이언스: 감사 및 보고를 위한 상세하고 접근 가능한 기록을 유지합니다.

재무 생활을 혁신할 준비가 되셨나요?

beancount-dashboard 의 힘으로 재무 관리에 필요한 모든 도구를 손에 넣고, 재무 통제권을 잡으세요.

  1. beancount.io 방문
  2. 무료 계정 생성 으로 Beancount 전체 생태계에 접근
  3. 수천 명의 사용자 와 함께 자신감 있게 재무를 관리

여러분의 피드백을 기다립니다

플랫폼을 지속적으로 개선하기 위해 여러분의 의견이 중요합니다. 대시보드 성공 사례, 기능 요청, 버그 리포트 등을 공유해 주세요. 커뮤니티 포럼, GitHub Issues, 소셜 미디어 를 통해 Beancount.io 팀과 연결할 수 있습니다.

활기찬 커뮤니티에 참여하세요

다른 Beancount 사용자와 대시보드 설정을 공유하고, 전문가에게 배우며, 자신의 지식을 기여하세요. 새로운 기능 업데이트를 받아보고, 재무 관리의 미래를 함께 만들어갑시다.

이번 통합은 큰 도약을 의미합니다. Beancount의 견고한 회계 엔진과 beancount-dashboard 의 강력한 시각화를 결합해, 오픈소스이면서 프라이버시 중심의 엔터프라이즈 급 분석 솔루션을 제공합니다.

재무 추적을 혁신하고 싶으신가요? 지금 바로 beancount.io 에 등록하고, beancount-dashboard 의 힘을 체험하며, 함께 재무 관리의 미래를 만들어갑시다!