(1/4) 회계의 원리와 회계 순환 프로세스 — 분개부터 재무제표까지
📚 자산운용의 근간 — 재무·회계 4부작 (전체 4편)
- 회계의 원리와 회계 순환 프로세스 ← 지금 글
- 재무제표 3종 읽기와 그 연결
- 재무비율 분석과 가치평가 기초
- 자산운용 관점에서 재무·회계 활용
Summary
자산운용을 한다는 건 결국 “이 회사(또는 이 자산)에 돈을 넣을 가치가 있나” 를 판단하는 일이에요. 그 판단의 1차 재료가 재무제표고, 재무제표는 회계라는 약속된 절차를 거쳐 만들어집니다. 그래서 숫자를 해석하기 전에 그 숫자가 어떻게 만들어지는지를 한 번은 손으로 따라가 봐야 흔들리지 않아요.
이 글에서는 회계의 가장 밑바닥 원리(복식부기, 회계등식)부터 시작해서, 거래 하나가 분개 → 전기 → 시산표 → 결산 → 재무제표로 흘러가는 회계 순환 전체를 가상의 제조업체 (주)나래전자의 창업 첫 달로 따라가 봅니다.
💡 이 글에서 다루는 것
- 회계가 자산운용의 근간인 이유
- 회계등식(자산 = 부채 + 자본)과 복식부기 차변/대변 규칙
- 발생주의 vs 현금주의
- 회계 순환 6단계: 거래 식별 → 분개 → 전기 → 시산표 → 결산수정 → 재무제표 작성·마감
- (주)나래전자 창업 첫 달 거래를 실제 분개로, 그리고 약식 재무제표까지
이 시리즈는 4편으로 이어져요. 이번 1편이 “숫자가 만들어지는 과정”, 2편이 “만들어진 제표를 읽는 법”, 3편이 “그 제표를 분석·평가하는 법”, 4편이 “그걸 자산운용 의사결정에 쓰는 법” 입니다.
1. 회계는 왜 자산운용의 근간인가
자산운용에서 종목을 고르든, 채권의 신용을 평가하든, 결국 보게 되는 건 숫자예요. “이 회사가 작년에 얼마를 벌었나”, “빚은 감당할 수준인가”, “현금은 진짜로 들어오고 있나” 같은 질문에 답하려면 재무제표를 읽어야 합니다.
그런데 재무제표의 숫자는 그냥 적힌 게 아니라, 회계라는 약속된 규칙을 거쳐 계산된 결과예요. 같은 “매출 100억” 이라도 언제 매출로 잡았는지, 비용을 어디에 대응시켰는지에 따라 이익이 크게 달라집니다. 그래서 숫자를 곧이곧대로 믿기보다, 그 숫자가 어떤 절차로 만들어졌는지를 알면 “이 이익이 진짜인가” 를 따질 수 있게 돼요. 이 감각이 4편에서 다룰 “이익의 질” 판단으로 이어집니다.
회계를 한 줄로 정의하면 이렇습니다.
💡 회계(accounting) 는 기업의 경제적 사건을 측정·기록·요약해서, 이해관계자(주주·채권자·세무당국 등)가 의사결정할 수 있는 형태(재무제표)로 전달하는 과정이에요.
여기서 “측정·기록·요약” 의 기술적 뼈대가 바로 다음에 볼 복식부기입니다.
2. 회계등식과 복식부기
모든 회계의 출발점: 회계등식
회계의 모든 숫자는 단 하나의 식 위에서 움직여요.
\[\text{자산} = \text{부채} + \text{자본}\]- 자산(Assets): 회사가 가진 것. 현금, 매출채권(받을 돈), 재고, 건물, 기계 등.
- 부채(Liabilities): 남에게 갚아야 할 것. 매입채무(줄 돈), 차입금 등.
- 자본(Equity): 자산에서 부채를 뺀, 진짜 주주 몫. “순자산” 이라고도 해요.
직관적으로 풀면 “내가 가진 것(자산)은 남의 돈(부채)이거나 내 돈(자본)이다” 라는 뜻이에요. 이 등식은 어떤 거래가 일어나도 항상 양변이 같아야 합니다. 이게 깨지면 어딘가 기록이 틀린 거예요.
자본을 한 단계 더 풀면, 회사가 영업으로 번 이익이 자본을 불린다는 것도 보여요.
\[\text{자본} = \text{납입자본} + \text{이익잉여금},\quad \text{이익잉여금 증가} = \text{수익} - \text{비용}\]즉 수익은 자본을 늘리고, 비용은 자본을 줄입니다. 이 점이 잠시 뒤 차변/대변 규칙의 핵심 근거가 돼요.
복식부기 — 모든 거래는 양쪽에 기록한다
복식부기(double-entry bookkeeping) 의 핵심은 “하나의 거래를 항상 두 군데에 기록한다” 는 거예요. 돈이 들어오면 어디서 왔는지(원천) 와 어디로 갔는지(사용처) 가 같이 기록됩니다.
기록하는 두 자리를 각각 차변(왼쪽) 과 대변(오른쪽) 이라고 불러요. 계정 종류별로 “늘어날 때 어느 쪽에 적는지” 가 정해져 있습니다.
| 계정 종류 | 증가하면 | 감소하면 |
|---|---|---|
| 자산 | 차변(왼쪽) | 대변(오른쪽) |
| 부채 | 대변(오른쪽) | 차변(왼쪽) |
| 자본 | 대변(오른쪽) | 차변(왼쪽) |
| 수익 | 대변(오른쪽) | 차변(왼쪽) |
| 비용 | 차변(왼쪽) | 대변(오른쪽) |
처음엔 외우기 부담스러운데, 딱 하나만 잡으면 나머지가 따라와요. “자산이 늘면 차변” 이 기준점이에요. 자산의 반대편에 있는 부채·자본은 늘 때 대변이고, 자본을 늘리는 수익도 대변, 자본을 줄이는 비용은 그 반대인 차변. 이렇게 회계등식의 위치(왼쪽 자산 / 오른쪽 부채·자본)와 똑같이 외우면 됩니다.
✅ 복식부기의 안전장치: 한 거래에서 차변 합계 = 대변 합계 가 항상 성립해요. 그래서 나중에 모든 차변을 더한 값과 모든 대변을 더한 값이 안 맞으면 “기록 어딘가가 틀렸다” 는 신호가 됩니다. 이게 뒤에서 볼 시산표의 원리예요.
3. 발생주의 vs 현금주의
거래를 “언제” 기록하느냐도 회계의 큰 갈림길이에요.
- 현금주의(cash basis): 현금이 실제로 들어오고 나갈 때 기록. 가계부가 이 방식이에요.
- 발생주의(accrual basis): 현금과 무관하게, 경제적 사건이 발생한 시점에 수익·비용을 기록.
기업 회계는 거의 전부 발생주의를 씁니다. 왜 그럴까요? 예를 들어 12월에 1억짜리 제품을 외상으로 팔고 대금은 다음 해 2월에 받는다고 해볼게요.
- 현금주의라면: 12월 매출 0원, 2월 매출 1억. → 정작 일을 한 12월 실적이 텅 비어 버려요.
- 발생주의라면: 판매가 일어난 12월에 매출 1억 을 인식하고, 아직 못 받은 돈은 “매출채권” 이라는 자산으로 잡아요.
발생주의가 그 기간의 경영 성과를 더 정확히 보여주기 때문이에요. 다만 부작용이 있는데, “이익은 났는데 현금은 없는” 상황이 생깁니다. 매출은 잡혔지만 돈이 아직 안 들어왔으니까요. 그래서 손익계산서(이익)와 현금흐름표(현금)를 둘 다 봐야 하고, 이 둘의 차이를 만드는 게 바로 발생주의예요. 이 얘기는 2편 현금흐름표에서 다시 이어집니다.
⚠️ 발생주의에는 두 가지 핵심 원칙이 깔려 있어요.
- 수익인식 원칙: 수익은 “벌어들였을 때”(제품·서비스를 인도해 의무를 다했을 때) 인식한다.
- 수익·비용 대응 원칙: 그 수익을 내기 위해 쓴 비용은 같은 기간에 대응시켜 인식한다. (예: 이번 달 판 제품의 원가는 이번 달 비용으로)
4. 회계 순환 — 거래에서 재무제표까지
이제 큰 그림이에요. 거래 하나가 재무제표가 되기까지는 정해진 단계를 거칩니다. 이걸 회계 순환(accounting cycle) 이라고 불러요. 매 회계기간(보통 1년)마다 이 과정이 반복됩니다.
| 단계 | 하는 일 | 산출물 |
|---|---|---|
| 1. 거래 식별 | 회계로 기록할 사건인지 판단 | 증빙(계약서·세금계산서 등) |
| 2. 분개 | 거래를 차변/대변으로 쪼개 적기 | 분개장(journal) |
| 3. 전기 | 분개를 계정별로 옮겨 모으기 | 총계정원장(ledger) |
| 4. 시산표 작성 | 모든 계정 잔액을 모아 차·대변 합 확인 | 시산표(trial balance) |
| 5. 결산수정 | 발생주의에 맞게 기말 조정(감가상각 등) | 수정후 시산표 |
| 6. 재무제표 작성·마감 | 제표 뽑고 손익계정 닫기 | 재무제표 |
말로만 보면 추상적이니, 이제 가상기업의 실제 거래로 한 바퀴 돌려볼게요.
5. 실전: (주)나래전자의 창업 첫 달
전자부품을 만드는 가상의 회사 (주)나래전자가 20X0년 1월에 막 창업했다고 해볼게요. 첫 달에 일어난 거래는 다음과 같습니다. (금액 단위: 원)
💡 이 회사는 시리즈 내내 등장해요. 1편에서는 갓 창업한 작은 회사지만, 2편부터는 몇 년 뒤 성장한 모습(연간 매출 120억 규모)으로 다시 나옵니다. 같은 회사가 커가는 거예요.
5-1. 거래 식별 + 분개
각 거래를 차변/대변으로 쪼개 적는 게 분개예요. 앞서 본 차변/대변 규칙(자산 늘면 차변, 부채·자본·수익 늘면 대변, 비용 늘면 차변)을 그대로 적용합니다.
① 1/2 — 주주가 현금 2억 원을 출자하고 주식을 발행 회사에 현금(자산)이 들어오고, 그만큼 자본금(자본)이 생겼어요.
(차) 현금 200,000,000 | (대) 자본금 200,000,000
② 1/3 — 생산용 기계장치를 현금 8천만 원에 구입 기계장치(자산)가 늘고, 현금(자산)이 줄었어요. 자산끼리의 교환이라 등식 총합은 그대로예요.
(차) 기계장치 80,000,000 | (대) 현금 80,000,000
③ 1/5 — 원재료(재고) 5천만 원어치를 외상으로 매입 재고자산(자산)이 늘고, 아직 안 갚은 돈인 매입채무(부채)가 생겼어요.
(차) 재고자산 50,000,000 | (대) 매입채무 50,000,000
④ 1/10 — 제품을 7천만 원에 판매 (현금 3천만 + 외상 4천만) 판매는 두 개의 분개로 쪼개져요. 먼저 수익을 인식하고,
(차) 현금 30,000,000 | (대) 매출 70,000,000
(차) 매출채권 40,000,000 |
그다음 판 만큼의 원가를 비용으로 대응시켜요(수익·비용 대응 원칙). 재고 5천만 중 4천만 원어치가 팔려 나갔다고 하면,
(차) 매출원가 40,000,000 | (대) 재고자산 40,000,000
⑤ 1/20 — 직원 급여 1,500만 원을 현금 지급 급여(비용)가 늘고, 현금(자산)이 줄었어요.
(차) 급여 15,000,000 | (대) 현금 15,000,000
⑥ 1/25 — 매입채무 3천만 원을 현금 상환 갚을 돈(부채)이 줄고, 현금(자산)이 줄었어요.
(차) 매입채무 30,000,000 | (대) 현금 30,000,000
⑦ 1/28 — 매출채권 2,500만 원을 현금 회수 받을 돈(자산)이 현금(자산)으로 바뀐 거예요. 이미 ④에서 매출로 잡았으니 여기서 또 매출을 잡지 않습니다.
(차) 현금 25,000,000 | (대) 매출채권 25,000,000
⚠️ 초보가 가장 많이 하는 실수가 ⑦ 에서 매출을 또 잡는 거예요. 매출은 ④ 판매 시점에 이미 인식했고, ⑦ 은 그저 “외상이 현금으로 바뀐” 자산 간 이동일 뿐이에요. 발생주의라서 그렇습니다.
5-2. 전기 — 계정별로 모으기
분개를 계정별로 옮겨 잔액을 구하는 게 전기예요. 현금 계정만 따라가 볼게요. 들어온 건 더하고 나간 건 빼면 됩니다.
| 일자 | 적요 | 들어옴(차변) | 나감(대변) |
|---|---|---|---|
| 1/2 | 출자 | 200,000,000 | |
| 1/3 | 기계 구입 | 80,000,000 | |
| 1/10 | 현금매출 | 30,000,000 | |
| 1/20 | 급여 | 15,000,000 | |
| 1/25 | 매입채무 상환 | 30,000,000 | |
| 1/28 | 매출채권 회수 | 25,000,000 | |
| 잔액 | 130,000,000 |
현금 잔액 = 200,000,000 − 80,000,000 + 30,000,000 − 15,000,000 − 30,000,000 + 25,000,000 = 130,000,000원. 같은 방식으로 모든 계정의 잔액을 구해요.
5-3. 결산수정 — 기말에 발생주의로 다듬기
1월 한 달 동안 기계장치를 썼으니, 그만큼 가치가 닳은 부분을 비용으로 잡아야 해요. 이게 감가상각이고, 현금이 나가지 않아도 인식하는 대표적인 발생주의 비용이에요.
기계장치 8천만 원을 정액법·내용연수 10년으로 상각한다고 하면, 1개월분은 다음과 같아요.
\[\text{월 감가상각비} = \frac{80{,}000{,}000}{10 \times 12} = 666{,}667 \text{ 원}\](차) 감가상각비 666,667 | (대) 감가상각누계액 666,667
여기서 “감가상각누계액” 은 기계장치 가치를 깎아주는 차감 계정이에요. 그래서 재무상태표에는 기계장치가 80,000,000 − 666,667 = 79,333,333원 의 순액으로 표시됩니다.
5-4. 시산표 작성 — 차변 합 = 대변 합 확인
모든 계정의 잔액을 한 표에 모아, 차변 합계와 대변 합계가 같은지 확인하는 게 시산표예요. 안 맞으면 어딘가 기록이 틀린 거예요.
| 계정 | 차변 | 대변 |
|---|---|---|
| 현금 | 130,000,000 | |
| 매출채권 | 15,000,000 | |
| 재고자산 | 10,000,000 | |
| 기계장치 | 80,000,000 | |
| 감가상각누계액 | 666,667 | |
| 매입채무 | 20,000,000 | |
| 자본금 | 200,000,000 | |
| 매출 | 70,000,000 | |
| 매출원가 | 40,000,000 | |
| 급여 | 15,000,000 | |
| 감가상각비 | 666,667 | |
| 합계 | 290,666,667 | 290,666,667 |
차변 합과 대변 합이 290,666,667원 으로 딱 맞아요. 복식부기로 적었으니 당연한 결과인데, 이 “당연함” 이 바로 오기록을 잡아내는 안전장치예요.
5-5. Python 으로 시산표 합 검증
거래가 많아지면 차·대변 합을 손으로 맞추기 힘들어요. 분개를 데이터로 두고 합이 맞는지 검증하는 작은 함수를 짜 보면 이렇습니다.
def trial_balance_ok(entries: list[tuple[str, float, float]]) -> bool:
"""분개 리스트의 차변 합과 대변 합이 일치하는지 확인.
entries: (계정명, 차변금액, 대변금액) 튜플의 리스트
"""
debit_total = sum(debit for _, debit, _ in entries)
credit_total = sum(credit for _, _, credit in entries)
return debit_total == credit_total
# (주)나래전자 1월 시산표
entries = [
("현금", 130_000_000, 0),
("매출채권", 15_000_000, 0),
("재고자산", 10_000_000, 0),
("기계장치", 80_000_000, 0),
("감가상각누계액", 0, 666_667),
("매입채무", 0, 20_000_000),
("자본금", 0, 200_000_000),
("매출", 0, 70_000_000),
("매출원가", 40_000_000, 0),
("급여", 15_000_000, 0),
("감가상각비", 666_667, 0),
]
debit = sum(d for _, d, _ in entries)
credit = sum(c for _, _, c in entries)
print(f"차변 합계: {debit:,}원")
print(f"대변 합계: {credit:,}원")
print(f"시산표 일치: {trial_balance_ok(entries)}")
차변 합계: 290,666,667원
대변 합계: 290,666,667원
시산표 일치: True
💡 실무 회계 시스템도 본질은 이거예요. 모든 분개에서 차변 합 = 대변 합을 강제하고, 안 맞으면 저장 자체를 막아요. 복식부기의 자기검증 성질을 코드로 옮긴 셈이에요.
5-6. 재무제표 작성
시산표가 맞으면, 거기서 계정을 성격별로 모아 재무제표를 뽑아요. 수익·비용 계정은 손익계산서로, 자산·부채·자본 계정은 재무상태표로 갑니다.
손익계산서 (20X0년 1월)
| 항목 | 금액 |
|---|---|
| 매출 | 70,000,000 |
| (−) 매출원가 | 40,000,000 |
| 매출총이익 | 30,000,000 |
| (−) 급여 | 15,000,000 |
| (−) 감가상각비 | 666,667 |
| 당기순이익 | 14,333,333 |
재무상태표 (20X0년 1월 31일)
| 자산 | 금액 | 부채·자본 | 금액 |
|---|---|---|---|
| 현금 | 130,000,000 | 매입채무 | 20,000,000 |
| 매출채권 | 15,000,000 | 부채 계 | 20,000,000 |
| 재고자산 | 10,000,000 | 자본금 | 200,000,000 |
| 기계장치(순액) | 79,333,333 | 이익잉여금 | 14,333,333 |
| 자본 계 | 214,333,333 | ||
| 자산 총계 | 234,333,333 | 부채·자본 총계 | 234,333,333 |
두 가지를 꼭 확인하세요.
- 손익계산서의 당기순이익 14,333,333원 이 재무상태표의 이익잉여금 으로 그대로 넘어왔어요. 번 돈이 자본을 늘린 거예요(앞서 본 “수익은 자본을 늘린다”).
- 재무상태표의 자산 총계 = 부채·자본 총계 = 234,333,333원. 회계등식이 끝까지 지켜졌습니다.
이렇게 손익계산서의 이익이 재무상태표로 흘러드는 연결고리가, 2편에서 볼 “3표가 맞물리는 구조” 의 첫 단추예요.
6. 정리
이번 글을 한 그림으로 요약하면 이렇습니다.
✅ 회계 순환 한 바퀴
- 거래 식별 → 2. 분개(차변/대변) → 3. 전기(계정별 집계) → 4. 시산표(차·대변 합 확인) → 5. 결산수정(감가상각 등 발생주의 조정) → 6. 재무제표 작성·마감
그리고 이 과정을 떠받치는 두 기둥은
- 회계등식: 자산 = 부채 + 자본. 어떤 거래에도 깨지지 않아요.
- 발생주의: 현금이 아니라 경제적 사건이 일어난 시점에 수익·비용을 인식해요. 그래서 “이익 ≠ 현금” 이 생깁니다.
다음 편에서는 이렇게 만들어진 재무제표 3종(재무상태표·손익계산서·현금흐름표) 을 제대로 읽는 법과, 세 표가 어떻게 한 몸처럼 맞물리는지를 (주)나래전자의 연간 제표로 풀어볼게요.
일단 오늘은 여기까지….. 다음 글에서는 제표 읽는 법을 정리해볼게요.
다음 글 →: (2/4) 재무제표 3종 읽기와 그 연결