Phase 3 · 시각화 및 대시보드 제작

사람을 갈아넣던 엑셀 업무, AI 전처리 봇이 대신하다

21~24단계에서 만든 거대한 플랫폼 뼈대 위에, 드디어 실제 업무 엔진을 얹습니다.
수만 건의 더러운 엑셀 텍스트를 정제하고, 거래처를 사업자번호로 매칭하고, 미수금을 계산한 뒤, 적요를 분석하여 계정과목까지 추천하는 궁극의 '자동 전표 처리 파이프라인'을 구현합니다.

예상 학습 시간 : 150분
난이도 : ★★★★★
사전 단계 : 회계사무소용 AI SaaS 플랫폼 설계 (Step 24)
다음 단계 : 비정형 문서(OCR) 자동 인식망 (예정)
01

왜 다시 Excel 데이터인가?

24단계가 거대한 웹 서비스(SaaS)의 껍데기였다면, 25단계는 그 안에서 돌아가는 엔진(알맹이)입니다.

회계사무소에 들어오는 데이터의 99%는 매출.xlsx, 통장내역.xlsx, 카드명세서.csv 등입니다. 사람이 복사/붙여넣기하고 VLOOKUP 하던 지옥 같은 작업들을 Python 봇이 단 몇 초 만에 처리하도록 파이프라인을 짭니다.

1. 데이터 로드 & 텍스트 정제 (Pandas)
"ABC(주)", " ABC상사 " 등 지저분한 문자열과 "1,000,000" 형태의 숫자 문자열을 청소합니다.
2. 거래처 마스터 자동 매칭 (Merge)
이름 대신 [사업자등록번호]를 Key로 삼아 정확한 거래처 코드를 부여합니다.
3. Rule Engine 기반 검증 및 집계
중복 거래 검사(`duplicated()`), 고액 거래 필터링, 월별 입금액 대조를 통한 [미수금] 계산을 수행합니다.
4. 계정과목 AI 추천 및 사유 생성
"사무실 프린터 토너 구입" 이라는 적요를 보고 AI가 [소모품비]를 추천합니다.
02

Pandas 엑셀 정제 완벽 가이드

실무에서 마주하는 엑셀 데이터는 아주 더럽습니다. Pandas를 이용해 데이터를 빠르고 우아하게 정제합니다.

🐍 python
import pandas as pd

df = pd.read_excel("통장거래내역.xlsx")

# 1. 쓸데없는 공백과 (주) 글자 날려버리기
df["거래처"] = df["거래처"].astype(str).str.strip().str.replace("(주)", "", regex=False)

# 2. 콤마(,)가 포함된 문자열 금액을 진짜 숫자로 변환
df["금액"] = df["금액"].astype(str).str.replace(",", "").astype(float)

# 3. 날짜 형식 오류 잡아내기 (NaT 변환)
df["거래일자"] = pd.to_datetime(df["거래일자"], errors="coerce")

# 4. 사업자등록번호 기반 거래처 마스터 파일 병합 (엑셀 VLOOKUP과 동일)
df = df.merge(customer_master, on="사업자번호", how="left")
03

미수금 계산과 위험 점수 (Rule Engine)

매출액(세금계산서)과 입금액(통장내역)을 매칭하여 미수금을 찾습니다. 그리고 "중복 거래인지, 고액 거래인지"를 판별하여 Score(점수)를 매기는 Rule 함수를 만듭니다.

# 엑셀의 각 행(Row)마다 위험도를 평가하는 파이썬 함수
def check_transaction_risk(row):
    score = 0
    reasons = []
    
    if row["금액"] >= 50000000:
        score += 30
        reasons.append("5천만원 이상 고액거래")
        
    if row["미수금"] > 0:
        score += 40
        reasons.append("입금액 부족 (미수금 발생)")
        
    return pd.Series([score, ", ".join(reasons)])

# 데이터프레임 전체에 일괄 적용 (수만 건 1초 컷)
df[["위험점수", "검토사유"]] = df.apply(check_transaction_risk, axis=1)
04

철저한 분업: 대량은 파이썬, 소수만 AI

10만 건의 거래내역을 AI(ChatGPT API)에게 던지면 분석 비용만 수백만 원이 나옵니다.
반드시 "Python Rule 기반으로 점수가 높은 100건만 추려서 AI에게 전달"하는 필터링 구조가 필수입니다.

가장 완벽한 협업 구조

[Python의 몫]: 합계 계산, 중복 검사, VLOOKUP 병합, 데이터 정렬 (빠르고 정확함)
[AI의 몫]: 적요 텍스트 문맥 분석, 이상거래 발생 원인 자연어 설명, 계정과목 뉘앙스 추천

05

AI 적요 분석 및 계정과목 추천

Python이 추려낸 데이터를 AI에게 보내어 적요(사무실 프린터 토너 구입)를 바탕으로 계정과목을 추천받습니다.

AI 응답 예시 (JSON 포맷 강제)

{"추천과목": "소모품비", "신뢰도": "92%", "사유": "업무용 프린터 관련 소모성 지출에 해당함", "주의사항": "자산성 지출(비품) 요건을 초과하는지 여부 확인 필요"}
AI가 단답형으로 끝내지 않고, 신뢰도(Confidence)와 대안을 함께 주도록 프롬프트를 작성합니다.

06

최종 단계: Human-in-the-loop 화면 구성

AI가 "이 거래는 소모품비이고 미수금 문제가 있습니다" 라고 결론을 내렸다고 해서 그대로 장부에 확정 지어선 안 됩니다.
회계사가 최종적으로 이를 보고 [승인] 또는 [반려/수정] 할 수 있는 웹 대시보드를 구축하는 것이 25단계 프로젝트의 마지막 목표입니다.

Final Project
AI 회계자료 자동검토 시스템
  • 입력: 여러 개의 Excel(매출, 매입, 입금, 거래처) 업로드
  • 전처리 (Python): 병합 ➡️ 중복 검사 ➡️ 미수금 계산 ➡️ 위험 점수 60점 이상 필터링
  • 지능 (AI+RAG): 위험 거래들에 대해 원인 설명 생성 및 계정과목 추천
  • 출력: 회계사 확인용 UI 표출 및 분석결과보고서.xlsx 다운로드 제공

다음 26단계에서는 엑셀 텍스트를 넘어, 종이 영수증, 계약서 PDF 문서의 사진(이미지)에서 AI가 직접 글자를 뽑아내어(OCR) 방금 우리가 만든 이 시스템에 밀어넣는 "비정형 문서 자동 인식망"을 구축해 보겠습니다!

Step 24 : 회계 SaaS 플랫폼 설계 Phase 3 후반부 공사중