본문으로 건너뛰기

"워크플로우" 태그로 연결된 2개 게시물개의 게시물이 있습니다.

모든 태그 보기

회계 사이클, 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와 영원한 회계 사이클을 연결하면 견고하고 투명하며 오래 지속되는 시스템을 구축할 수 있습니다. 즐거운 부기 되세요!

회계 워크플로우 자동화로 시간을 되찾는 8가지 방법

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

왜 사업을 시작했는지 기억하십니까? 저녁 시간을 비용 분류나 영수증 추적에 보내는 것을 꿈꿨기 때문은 아닐 겁니다. 하지만 지금 당신은 스프레드시트에 파묻혀 자동화할 수 있는 관리 업무에 소중한 시간을 낭비하고 있습니다.

희소식은 무엇일까요? 현대 기술 덕분에 회계의 지루한 부분을 자동화하여 비즈니스 성장과 고객 서비스라는 진정으로 중요한 일에 집중할 수 있게 되었습니다.

2024-11-06-8-ways-to-automate-your-accounting-workflow-and-reclaim-your-time

회계 워크플로우를 자동화하고 시간을 되찾을 수 있는 8가지 강력한 방법을 살펴보겠습니다.

1. 자동 은행 피드 설정

수동으로 거래를 입력하지 마십시오. 귀하의 사업 은행 계좌와 신용 카드를 회계 소프트웨어에 직접 연결하십시오. 대부분의 최신 플랫폼은 과거 행동에서 학습한 패턴을 기반으로 거래를 자동으로 가져오고 분류할 수 있습니다.

절약되는 시간: 월 3-5시간

구현 방법: 은행 피드 통합을 제공하는 회계 소프트웨어를 선택하십시오 (대부분 제공). 안전한 OAuth 연결을 통해 계정을 연결하고 일반적인 공급 업체를 올바르게 분류하도록 시스템을 훈련하는 데 몇 번의 세션을 할애하십시오.

2. 송장 생성 및 발송 자동화

여전히 Word나 Excel에서 수동으로 송장을 생성하고 있다면 너무 힘들게 일하고 있는 것입니다. 자동화된 송장 발행 시스템은 템플릿을 기반으로 전문가 수준의 송장을 생성하고, 예약된 날짜에 자동으로 보내고, 연체된 지불금을 추적하기까지 합니다.

절약되는 시간: 월 2-4시간

구현 방법: 정기 고객을 위한 반복 송장을 설정할 수 있는 송장 발행 소프트웨어를 사용하십시오. 마감일 3일 전, 마감일, 7일 후에 자동 지불 알림이 발송되도록 구성하십시오.

3. 자동 청구서 지불 활성화

연체료는 비싸고 완전히 피할 수 있습니다. 임대료, 공과금, 소프트웨어 구독 및 보험과 같은 반복 청구서에 대한 자동 지불을 설정하십시오. 변동 청구서의 경우 적어도 지불을 놓치지 않도록 자동 알림을 설정하십시오.

절약되는 시간: 월 1-2시간

구현 방법: 은행의 청구서 지불 서비스 또는 회계 소프트웨어의 청구서 관리 기능을 사용하십시오. ACH 또는 신용 카드 지불을 허용하는 공급 업체의 경우 자동 지불을 예약하십시오. 다른 공급 업체의 경우 검토 및 지불 승인을 위한 충분한 리드 타임으로 캘린더 알림을 설정하십시오.

4. 영수증 수집 디지털화

구겨진 영수증으로 가득 찬 신발 상자는 과거의 유물입니다. 구매 직후에 영수증을 촬영할 수 있는 모바일 앱을 사용하십시오. 최고의 앱은 OCR (광학 문자 인식)을 사용하여 판매자 이름, 날짜, 금액 및 세금과 같은 주요 세부 정보를 추출합니다.

절약되는 시간: 월 2-3시간

구현 방법: 회계 시스템과 통합되는 영수증 스캔 앱을 선택하십시오. 거래 직후에 영수증을 촬영하는 습관을 들이십시오. 많은 앱이 영수증을 신용 카드 거래와 자동으로 일치시킬 수 있습니다.

5. 주행 거리 추적 자동화

사업상 운전을 하는 경우 자동화된 주행 거리 추적은 잊어 버릴 수 있는 수천 달러의 세금 공제를 절약해 줄 수 있습니다. GPS 기반 앱은 백그라운드에서 실행되고 자동으로 여행을 기록합니다.

절약되는 시간: 월 1-2시간 (플러스 공제 증가)

구현 방법: GPS를 사용하여 운전을 자동으로 감지하는 주행 거리 추적 앱을 다운로드하십시오. 각 여행을 사업 또는 개인으로 분류하려면 스와이프하십시오. 월말에 세금 기록에 사용할 수 있는 보고서를 내보내십시오.

6. 급여 처리 간소화

급여는 매달 악몽이 될 필요가 없습니다. 최신 급여 서비스는 원천 징수 계산에서 세금 양식 제출에 이르기까지 모든 것을 처리합니다. 많은 서비스가 시간 추적 시스템과 직접 통합되어 근무 시간이 자동으로 급여로 흘러 들어갑니다.

절약되는 시간: 월 3-6시간

구현 방법: 세금 신고 및 직접 입금을 처리하는 풀 서비스 급여 제공 업체를 선택하십시오. 시간제 직원이 있는 경우 시간 추적 시스템에 연결하십시오. 급여가 귀하의 개입 없이 실행되도록 자동 지불 일정을 설정하십시오.

7. 자동 재무 보고서 생성

회계 소프트웨어가 즉시 생성할 수 있는 보고서를 컴파일하는 데 시간을 낭비하지 마십시오. 손익, 현금 흐름 및 주요 지표를 보여주는 자동화된 월간 보고서를 설정하십시오. 자신 (및 회계사 또는 비즈니스 파트너)에게 자동으로 이메일로 보내십시오.

절약되는 시간: 월 2-4시간

구현 방법: 회계 소프트웨어 내에서 가장 관심 있는 지표로 사용자 지정 보고서 또는 대시보드를 만드십시오. 매월 1일에 자동으로 생성 및 전송되도록 예약하십시오.

8. 연중 세금 준비 자동화

재정을 정리하기에 가장 나쁜 시기는 4월 14일입니다. 대신, 연중 내내 비용을 올바르게 분류하고 모든 영수증의 디지털 사본을 보관하고 분기별 보고서를 자동으로 생성하여 세금 준비를 자동화하십시오.

절약되는 시간: 세금 신고 시 10-15시간

구현 방법: 세금 범주별로 비용을 추적하는 회계 소프트웨어를 사용하십시오. 검토하고 분류되지 않은 거래를 정리하기 위해 분기별 알림을 설정하십시오. 회계사와 협력하여 필요한 문서 목록을 작성한 다음 연중 내내 수집할 시스템을 설정하십시오.

시작하기: 자동화 실행 계획

회계 워크플로우를 자동화하는 것은 하루아침에 이루어지지 않지만 모든 것을 한 번에 구현할 필요는 없습니다. 실용적인 접근 방식은 다음과 같습니다.

1주차: 은행 피드를 설정하고 영수증 디지털화를 시작하십시오. 이 두 가지 변경 사항만으로도 매달 몇 시간을 절약할 수 있습니다.

2-3주차: 정기 고객을 위한 자동화된 송장 발행을 구현하고 반복 비용에 대한 자동 청구서 지불을 설정하십시오.

4주차: 해당되는 경우 주행 거리 추적을 설정하고 급여 자동화 옵션을 평가하십시오.

2개월차: 자동화를 미세 조정하고 재무 보고서를 추가하고 세금 준비 시스템을 작업하십시오.

수동 회계의 실제 비용

간단한 계산을 해 보겠습니다. 현재 회계 업무에 월 20시간을 소비하고 자동화가 그 시간을 5시간으로 줄일 수 있다면 월 15시간, 즉 연간 180시간을 절약하는 것입니다.

추가 180시간으로 무엇을 할 수 있을까요? 세 명의 새로운 고객을 확보하시겠습니까? 새로운 제품을 개발하시겠습니까? 마침내 미루던 휴가를 떠나시겠습니까?

시간당 50달러의 겸손한 비용으로 청구하더라도 9,000달러 상당의 시간을 돌려받는 것입니다. 그리고 여기에는 오류, 마감일 누락 또는 이러한 작업이 끊임없이 머릿속에 맴도는 정신적 소모의 비용은 포함되지 않습니다.

올바른 도구 선택

성공적인 자동화의 열쇠는 함께 잘 작동하는 도구를 선택하는 것입니다. 다음을 찾으십시오.

  • 통합 기능: 도구가 서로 통신할 수 있습니까, 아니면 연결되지 않은 사일로로 끝나게 됩니까?
  • 확장성: 이 솔루션은 비즈니스와 함께 성장합니까, 아니면 1년 안에 마이그레이션해야 합니까?
  • 지원 품질: 문제가 발생하면 (그리고 결국 발생할 것입니다) 얼마나 빨리 도움을 받을 수 있습니까?
  • 보안: 귀하의 재무 데이터와 고객 정보가 적절하게 보호됩니까?

피해야 할 일반적인 자동화 실수

회계 자동화는 일반적으로 긍정적이지만 다음과 같은 함정을 조심하십시오.

감독 없이 과도하게 자동화: 자동화는 책을 절대 검토하지 않는다는 의미는 아닙니다. 자동 분류를 검토하고 오류를 포착하기 위해 매주 30분을 할애하십시오.

너무 많은 도구 선택: 서로 통신하지 않는 8개의 다른 앱을 사용하는 것은 자동화가 아니라 혼돈입니다. 강력한 API가 있는 통합 제품군 또는 도구를 목표로 하십시오.

설정 시간 무시: 예, 자동화는 시간을 절약하지만 사전 투자가 필요합니다. 모든 것을 올바르게 설정하는 데 전담 시간을 확보하십시오.

유지 관리 잊기: 자동화를 분기별로 검토하십시오. 규칙이 여전히 작동합니까? 새로운 범주나 공급 업체를 추가해야 합니까?

당신의 회계 자유가 기다립니다

성공하는 비즈니스는 최고의 수동 파일링 시스템을 갖춘 비즈니스가 아니라 기술을 활용하여 불필요한 작업을 제거하고 전략적 성장에 집중하는 비즈니스입니다.

작게 시작하여 한 번에 하나의 프로세스를 자동화하고 지루한 회계 시간이 사라지는 것을 지켜보십시오. 미래의 자신 (그리고 수익)이 감사할 것입니다.

어떤 회계 작업을 먼저 자동화하시겠습니까? 더 빨리 시작할수록 소중한 시간을 되찾고 사업을 운영하고 성장시키는 데 돌아갈 수 있습니다.


재무 자동화를 더욱 발전시키고 싶으십니까? 현재 프로세스를 감사하는 것부터 시작하십시오. 수동으로 수행하는 모든 회계 작업을 나열하고 각 작업에 걸리는 시간을 추정하고 가장 큰 시간 절약을 제공하는 자동화를 기준으로 우선 순위를 지정하십시오. 그런 다음 하나씩 해결하고 효율성이 급증하는 것을 지켜보십시오.