경제

[경제] 재무제표가 숫자표로 보인다면 아직 사건 현장을 못 본 것이다

rubrub 2026. 9. 15. 00:25
ECONOMY FOR ENGINEERS · FINANCIAL STATEMENTS · AI ANALYSIS

재무제표가 숫자표로 보인다면
아직 사건 현장을 못 본 것이다

매출은 늘었는데 현금은 사라졌다. 이익은 났는데 빚이 급증했다. 재고는 창고에서 조용히 쌓이고 있다. 재무제표는 회계사가 만든 표가 아니라, 회사가 지난 1년 동안 무엇을 했는지 남긴 로그다.

이 글의 목표 경제학 교과서를 처음부터 외우지 않는다. 대신 한 회사를 잡고 손익계산서 → 재무상태표 → 현금흐름표 → 주석 → 거시경제를 연결한다. 마지막에는 DART/OpenDART와 AI를 이용해 “재무제표 이상징후 탐지기”까지 만들어본다.

사건 01. “우리 회사는 올해 100억을 벌었습니다”

어느 회사 IR 자료에 이렇게 적혀 있다고 해보자.

매출
1,000억
영업이익
120억
순이익
100억

여기까지만 보면 좋다. 매출 1,000억에 순이익 100억. 그런데 현금흐름표를 열었더니 이런 숫자가 보인다.

영업활동 현금흐름
-30억
“잠깐. 100억 벌었다면서요?”

여기서 재무제표가 재미있어진다. 회계상 이익과 실제 현금은 같은 것이 아니다. 물건을 팔고 아직 돈을 못 받았을 수도 있고, 재고를 미리 잔뜩 사놨을 수도 있다. 즉 숫자 하나가 아니라 숫자 사이의 모순을 찾는 것이 분석의 시작이다.

재무제표는 ‘숫자 맞히기’가 아니라 ‘왜?’를 따라가는 추리다 손익계산서 순이익 +100억 “돈 잘 벌었네?” 현금흐름표 영업현금 -30억 “그런데 현금은 왜?” 재무상태표 매출채권 +180억 “아직 못 받은 돈?” 다음 질문이 생긴다 매출채권 회수기간은? 주요 고객은? 대손충당금은? 결제조건이 바뀌었나? → 주석과 사업보고서로 이동
좋은 분석은 정답보다 다음 질문을 잘 만든다.

재무제표 3대장은 이렇게 보면 된다

재무제표 초보자 번역 가장 먼저 볼 질문
손익계산서이번 시즌 성적표매출과 이익이 같이 좋아지고 있나?
재무상태표현재 인벤토리무엇을 가지고 있고, 얼마를 갚아야 하나?
현금흐름표실제 계좌 거래내역회계상 이익이 진짜 현금으로 들어왔나?

1. 손익계산서 — 장사는 잘했나?

처음에는 다섯 줄만 본다.

매출 → 매출총이익 → 영업이익 → 세전이익 → 순이익

핵심은 “얼마 벌었나?”보다 “얼마나 남겼나?”다. 매출이 30% 늘었는데 영업이익이 40% 줄었다면 매출 성장 자체보다 원가·인건비·마케팅비·가격경쟁을 먼저 의심해야 한다.

첫 번째 공식
영업이익률 = 영업이익 ÷ 매출액 × 100
매출 1,000억 / 영업이익 120억이면 영업이익률은 12%.

2. 재무상태표 — 회사 가방 안에는 뭐가 들었나?

자산 = 부채 + 자본

자산에는 현금, 받을 돈, 재고, 공장, 건물 등이 있고 부채에는 차입금, 회사채, 지급할 돈 등이 있다. 자본은 주주에게 귀속되는 몫이다.

여기서도 중요한 것은 절대값보다 변화 속도다. 매출은 5% 증가했는데 재고가 80% 늘었다면 “미래 판매를 준비했나?”와 “안 팔려서 쌓였나?” 사이에서 답을 찾아야 한다.

3. 현금흐름표 — 거짓말하기 가장 어려운 장부

영업활동 CF
본업으로 현금을 벌었나
투자활동 CF
공장·장비·M&A에 썼나
재무활동 CF
돈을 빌리거나 갚았나

성장기업이라면 투자현금흐름이 큰 음수여도 이상하지 않다. 중요한 것은 왜 음수인지다. 본업에서 돈을 잘 벌면서 미래 설비에 투자하는 회사와, 본업에서 현금이 새는데 빚을 내서 버티는 회사는 완전히 다르다.

회사의 현금은 세 개의 문을 통과한다 ① 영업 고객에게 돈 받기 직원·공급사에 지급 좋은 회사의 엔진 ② 투자 공장 · 서버 · 설비 M&A · 지분투자 미래를 위해 쓰는 돈 ③ 재무 대출 · 회사채 · 증자 상환 · 배당 밖에서 돈을 조달/반환 질문은 “음수인가?”가 아니라 “왜 음수인가?” 성장투자 -1,000억과 적자 보전용 차입 +1,000억은 전혀 다른 이야기다.

초보자도 잡을 수 있는 재무제표 ‘수상한 냄새’ 7개

① 매출채권 폭증
매출보다 받을 돈이 훨씬 빨리 늘어난다.
② 재고 폭증
판매보다 창고가 더 빨리 성장한다.
③ 순이익↑ 현금↓
이익의 질을 확인해야 한다.
④ 차입금 급증
성장 투자 때문인지 생존 자금인지 구분한다.
⑤ 영업외이익 의존
본업이 아니라 자산매각으로 순이익이 좋아질 수 있다.
⑥ 이자비용 급증
금리와 부채가 동시에 회사를 누르는 신호일 수 있다.
⑦ 주석이 갑자기 길어진다
소송·보증·손상·관계회사 거래 등 본문 밖 이야기를 확인한다.
주의 위 항목은 “문제가 있다”는 판정이 아니라 추가 확인 신호다. 예를 들어 재고 증가는 신제품 출시 전 정상적인 stock build일 수도 있다. 재무분석은 숫자를 보고 유죄 판결을 내리는 일이 아니라, 원인을 확인하는 일이다.

한 해 말고 5년을 보면 회사의 성격이 보인다

아래처럼 5년만 나열해도 상당한 이야기가 나온다.

가상기업20222023202420252026
매출100115132150178
영업이익121314129
영업 CF131194-3
차입금2024314877

이 회사는 매출 성장만 보면 훌륭하다. 하지만 영업이익률은 하락하고, 영업현금흐름은 악화되고, 차입금은 빠르게 늘어난다. 여기서부터는 “고성장 회사”라는 한 문장으로는 부족하다.

좋은 질문
① 가격을 낮춰 매출을 만든 건가?
② 재고나 매출채권이 늘었나?
③ CAPEX가 급증했나?
④ 신공장 ramp-up 때문에 일시적으로 마진이 나쁜가?
⑤ 차입 만기와 평균 이자율은 어떻게 변했나?

그럼 ‘경제’는 언제 등장하나?

재무제표를 한 회사의 내부 로그라고 한다면, 거시경제는 회사가 뛰고 있는 게임 맵의 날씨다.

거시경제는 결국 재무제표의 특정 줄로 내려온다 금리 ↑한국은행 · Fed 환율 ↑원/달러 등 원자재 ↑유가 · 금속 · 곡물 경기 ↓소비 · 투자 둔화 이자비용 증가순이익·FCF 압박 매출/원가 변화수출·수입 비중 매출총이익률 변화가격 전가 능력 재고·대손 증가수요 악화 경제 공부의 목표: 뉴스 제목을 재무제표의 어느 줄과 연결되는지 보는 것

예를 들어 금리 인상 뉴스를 봤다면 “주가가 오를까 내릴까”부터 생각하지 않는다. 이 회사의 차입금 중 변동금리 비중은 얼마인지, 만기는 언제인지, 이자비용이 영업이익의 몇 %인지부터 본다.

어디에서 봐야 하나: 경제 공부 사이트 지도

한국 기업 공시
DART
사업보고서·분기보고서·감사보고서·주석의 원문 출발점.
dart.fss.or.kr →
개발자에게 특히 추천
OpenDART
공시·재무정보를 API, XBRL, Excel 등으로 활용. 회사간 주요계정/재무지표 비교도 제공.
opendart.fss.or.kr →
거시경제
한국은행 ECOS
금리·환율·통화·물가·국민계정 등 한국 거시지표를 볼 때 출발점.
ecos.bok.or.kr →
국가통계
KOSIS
인구·고용·산업·물가 등 폭넓은 공식 통계. 경제상황판과 시각화 콘텐츠도 유용.
kosis.kr →
미국 기업 공시
SEC EDGAR
10-K·10-Q·8-K 원문과 XBRL 기반 데이터 API까지 제공.
SEC Search Filings →

DART에서 뭘 눌러야 할지 모르겠다면

초보자용 사업보고서 탐색 순서 ① 사업의 내용뭘로 돈 버나? ② 손익매출·마진 ③ 현금흐름진짜 현금? ④ 재무상태빚·재고·채권 ⑤ 주석왜? 처음부터 주석 200페이지를 읽지 않는다. 숫자에서 이상한 지점을 찾고 → 그 숫자의 주석으로 이동한다.

이제 AI를 붙여보자: “요약해줘”는 제일 아까운 사용법이다

사업보고서를 통째로 넣고 “요약해줘”라고 하면 읽기 편한 요약문은 얻는다. 하지만 좋은 재무분석은 요약보다 비교·계산·이상징후·근거 추적이 중요하다.

AI 역할 분담 Python / SQL — 계산, 증감률, 정규화, 시계열
LLM — 이유 가설, 주석 탐색, 비교 설명, 다음 질문 생성
DART / EDGAR 원문 — 최종 Source of Truth
# 숫자는 Python에게
df["operating_margin"] = df["operating_income"] / df["revenue"]
df["revenue_yoy"] = df["revenue"].pct_change()
df["receivable_yoy"] = df["accounts_receivable"].pct_change()
df["inventory_yoy"] = df["inventory"].pct_change()

# 이상징후 후보
df["receivable_warning"] = (
    df["receivable_yoy"] > df["revenue_yoy"] + 0.20
)
개인용 AI 재무분석기: 숫자 계산과 해석을 분리한다 OpenDART 공시 · XBRL · API ETL / Normalizer 계정명 · 기간 정리 Python / SQL YoY · Margin · FCF Anomaly Rules 채권 · 재고 · 부채 LLM Analyst “왜 이런 변화가 생겼나?” → 주석·사업내용에서 근거 탐색 Fact / Interpretation / Follow-up 분리 Analyst Report + 원문 citation + 다음 확인 질문

바로 써먹는 AI 프롬프트

너는 기업 재무분석을 돕는 리서치 애널리스트다.

이 회사의 최근 5개년 재무제표와 사업보고서를 분석해줘.

반드시 다음 순서로 진행해.

1. 매출 성장률과 영업이익률 추이
2. 순이익 vs 영업활동현금흐름 비교
3. 매출채권 증가율 vs 매출 증가율
4. 재고 증가율 vs 매출 증가율
5. 총차입금과 이자비용 추이
6. CAPEX와 Free Cash Flow 추이
7. 사업부별 매출/이익 변화
8. 일회성 손익이 있는지 확인
9. 재무적으로 추가 확인이 필요한 항목 5개
10. 해당 항목과 연결된 주석을 찾아 근거 제시

모든 결과를 다음 세 가지로 구분해.

[공시에서 확인된 Fact]
[Engineering/Financial Interpretation]
[추가로 확인해야 할 질문]

숫자를 추정하지 말고,
근거가 없으면 "확인 불가"라고 표시해.

Red Flag Hunter 버전

이 회사의 재무제표에서 "수상하지만 아직 결론 내릴 수 없는 신호"를 찾아줘.

체크 항목:
- 매출채권이 매출보다 빠르게 증가
- 재고가 매출보다 빠르게 증가
- 순이익과 영업현금흐름 괴리 확대
- 차입금 및 이자비용 급증
- 영업외이익이 순이익에 크게 기여
- 자산처분 등 일회성 이익
- 무형자산/영업권 급증
- 대손충당금 변화
- 특수관계자 거래 변화
- 회계정책/추정 변경
- 우발부채·소송·지급보증

각 항목마다:
① 숫자 근거
② 가능한 정상 시나리오
③ 가능한 위험 시나리오
④ 확인할 주석
을 제시해.

그런데 AI에게 재무제표를 맡기면 생기는 사고

AI의 실수왜 위험한가대응
단위 착각원/천원/백만원 혼동ETL 단계에서 단위 정규화
연결/별도 혼합비교 기준 자체가 깨짐연결재무제표 우선, 유형 표시
계정명 오매핑기업별 taxonomy 차이XBRL concept + mapping table
원인 단정상관관계를 원인으로 포장Fact / Interpretation 분리
최신 공시 누락이미 바뀐 정보를 분석공시일·보고기간 검증
가장 좋은 사용법 AI에게 “이 회사 좋은 회사야?”를 묻는 대신 “내가 확인해야 할 모순과 질문을 찾아줘”라고 묻는다. 투자판단을 위임하는 것보다 탐색 능력을 증폭시키는 쪽이 훨씬 강하다.

30일 경제·재무제표 공부 루트

WEEK 1
세 표 익히기
좋아하는 기업 하나를 골라 손익·재무상태·현금흐름만 본다.
WEEK 2
5년 비교
매출·마진·CF·재고·채권·차입금의 추이를 표로 만든다.
WEEK 3
경제 연결
금리·환율·원자재 한 개씩 골라 해당 회사 숫자와 연결한다.
WEEK 4
AI 분석기
OpenDART 데이터를 Python으로 계산하고 LLM에 해석을 맡긴다.

처음부터 PER·PBR·DCF로 가지 않아도 된다

초보자가 투자 공부를 시작하면 곧바로 PER, PBR, EV/EBITDA, DCF가 나온다. 물론 중요하다. 하지만 회사가 어떻게 돈을 버는지 모르는 상태에서 valuation부터 배우면 숫자를 공식에 넣는 계산 문제가 되기 쉽다.

추천 순서
사업 모델 이해
↓
손익 · 재무상태 · 현금흐름
↓
주석과 5년 추세
↓
산업과 거시경제
↓
마지막에 PER · EV/EBITDA · FCF · DCF

한 줄 결론

재무제표를 읽는다는 것은 숫자를 많이 아는 게 아니라, “이 숫자가 왜 이렇게 됐지?”라는 질문을 한 칸씩 앞으로 밀어가는 능력이다.

그리고 AI는 그 질문을 만드는 데 아주 좋은 동료다. 다만 계산기와 원문 검증까지 AI에게 맡기면 위험하다. 숫자는 Python과 SQL로, 원문은 DART와 EDGAR로, AI는 해석과 질문 생성에 사용한다.

이 구조가 익숙해지면 경제 뉴스도 달라 보인다. “금리가 올랐다”가 끝이 아니라 “이 회사 차입금 구조에서 어느 줄이 움직일까?”로 연결되고, “환율이 올랐다”가 “수출 매출과 원재료 원가 중 어느 쪽 영향이 더 클까?”로 바뀐다.

NEXT STEP
다음 글은 실제 기업 하나를 잡고
“DART 사업보고서 30분 만에 뜯어보기”를 해보면 딱 좋다.

공식 사이트 / 참고자료

이 글은 재무제표·경제 공부를 위한 교육 목적의 콘텐츠이며 특정 종목의 매수·매도 또는 투자 권유가 아니다. 실제 분석과 의사결정 전에는 최신 공시 원문과 관련 전문가의 판단을 함께 확인해야 한다.