본문으로 건너뛰기

순이익 101 — 그리고 Beancount에서 추적하는 방법

· 약 4분
Mike Thrift
Mike Thrift
Marketing Manager

비즈니스를 설명하는 수많은 숫자 중에서 가장 중요한 것은 바로 순이익입니다. 이것이 바로 궁극적인 수익성 지표, 흔히 “바텀 라인”이라고 불리는 값이죠. 하지만 이것이 정확히 무엇을 의미하며, 평문 회계 시스템인 Beancount를 사용해 어떻게 정밀하게 추적할 수 있을까요?

한 번 살펴보겠습니다.

2020-03-12-net-income-101-how-to-track-it-in-beancount

순이익이 실제 의미하는 바

핵심적으로 순이익은 비즈니스를 운영하는 데 필요한 모든 비용을 지불한 뒤 남는 금액입니다. 여기에는 매출원가(COGS), 모든 운영비, 부채 이자, 세금이 포함됩니다.

기업 재무 건전성을 가장 명확히 보여주는 단일 지표이며, 모든 이해관계자에게 중요한 수치입니다.

  • 대출기관은 이를 통해 귀사의 대출 상환 능력을 평가합니다.
  • 투자자는 순이익을 배당 가능성 혹은 성장 자본의 원천으로 봅니다.
  • 창업자는 이를 기반으로 재무 여유를 파악하고 전략적 재투자 계획을 수립합니다.

양의 순이익은 수익이 난다는 뜻이고, 음의 순이익은 손실을 의미합니다. 간단하죠.

핵심 공식 (필요한 상세 수준 선택)

순이익을 계산하는 방법은 상세도에 따라 달라집니다. 필요에 맞는 공식을 선택하면 됩니다.

  • 전체 공식: Revenue – COGS – Operating Expenses – Interest – Taxes = Net Income
  • 표준 공식: Revenue – COGS – Expenses = Net Income
  • 간단 공식: Total Revenues – Total Expenses = Net Income

비용에 대한 빠른 팁: COGS와 운영비의 차이는? **COGS(매출원가)**는 제품·서비스 생산에 직접 들어가는 비용(예: 원자재, 직접 인건비)이며, 운영비는 급여, 임대료, 소프트웨어 구독, 보험 등 사업을 유지하는 모든 기타 비용을 포함합니다.

간단 예시

실제 상황을 가정해 보겠습니다. 작은 커피 로스팅 사업체가 지난 달에 다음과 같은 결과를 냈다고 가정합니다.

항목금액예시 원장 계정
매출$60,000Income:Sales
매출원가(그린 커피 원두)$20,000Expenses:COGS
운영비$18,000Expenses:Ops:*
이자(장비 대출)$1,000Expenses:Interest
세금$1,000Expenses:Taxes

전체 공식을 적용하면 계산은 다음과 같습니다.

Net;Income=Net;Income = 60,000 - 20,00020,000 - 18,000 - 1,0001,000 - 1,000 = 20,00020,000

이 사업체는 해당 월에 실제 순이익 $20,000을 기록했습니다.

Beancount에 기록하는 방법

Beancount 구조는 이를 위해 최적화되어 있습니다. 계정을 논리적으로 정리하면 순이익 계산이 자동으로 이루어집니다.

  • 수익Income 상위 계정 아래에 태그를 달아 정리합니다. 예: Income:Sales, Income:Services.
  • 비용은 직접비와 간접비를 구분해 기록합니다. 직접비는 Expenses:COGS, 나머지는 Expenses:Ops:Salaries, Expenses:Ops:Software 등 하위 계정으로 나눕니다.
  • 이자와 세금은 각각 별도 계정(Expenses:Interest, Expenses:Taxes)에 기록합니다. 이렇게 하면 특히 세무 준비 시 분석이 훨씬 쉬워집니다.
  • 정기적으로 잔액을 맞춥니다. 기본 회계 방정식 Assets = Liabilities + Equity가 항상 성립해야 합니다.

기간 말(예: 월말)에는 balance 어설션을 사용해 계정 상태를 확인할 수 있습니다. 이 엔트리는 실제 금액 이동을 일으키지 않으며, 잔액이 이렇게 되어야 함을 선언합니다. bean-check은 일치하지 않을 경우 오류를 보고합니다.

; 2025-07-31 Coffee Roaster Enterprises — July close
2025-07-31 balance Assets:Bank:Operating 42000.00 USD
2025-07-31 balance Expenses:COGS 20000.00 USD
2025-07-31 balance Expenses:Ops 18000.00 USD
2025-07-31 balance Expenses:Interest 1000.00 USD
2025-07-31 balance Expenses:Taxes 1000.00 USD
2025-07-31 balance Income:Sales -60000.00 USD

한 줄 순이익 조회

여기가 바로 마법이 일어나는 부분입니다. 구조화된 원장을 갖추면 단일 명령어로 원하는 기간의 순이익을 계산할 수 있습니다.

bean-query books.beancount \
"SELECT period, sum(number) WHERE account = '^(Income|Expenses)' \
AND year = 2025 GROUP BY month"

이 쿼리는 2025년 IncomeExpenses 계정의 모든 값을 합산하고 월별로 그룹화합니다. Beancount에서는 수익이 음수, 비용이 양수로 표시되므로 결과는 순이익의 음수가 됩니다.

더 나아가, Beancount 웹 인터페이스인 Fava는 Reports → Income Statement 화면에서 이를 자동으로 시각화해 줍니다.

자동화 가능한 빠른 인사이트

원장이 단순 텍스트 파일이기 때문에 강력한 자동화 워크플로우를 구축할 수 있습니다.

  • 월간 이메일 요약: bean-report books.beancount income_statement > net-income.txt 명령을 cron 작업으로 설정하고 매월 1일에 결과 파일을 자신에게 이메일로 전송합니다.
  • 수익성 알림: Git pre‑commit 훅을 만들어 월 누적 수익성을 검사하도록 합니다. 순이익이 음수이면 커밋을 차단해 손실을 인지하도록 강제합니다.
  • 시나리오 모델링: 비즈니스를 스트레스 테스트하고 싶나요? books.beancountscenarios/recession.bean으로 복사하고 Income 항목을 20% 감소시킨 뒤 순이익 쿼리를 다시 실행하면 즉시 영향을 확인할 수 있습니다.

핵심 정리

  • 순이익은 진정한 바텀 라인입니다. 목표는 이를 양수로 유지하고 시간에 따른 추세를 파악하는 것입니다.
  • Beancount는 수식을 명시적으로 보여주고, 검색 가능하며, 버전 관리가 가능합니다. 숨겨진 공식이 없습니다.
  • 체계적인 계정 구조와 단일 쿼리만 있으면 언제든지 비즈니스가 실제로 돈을 벌고 있는지 알 수 있습니다.