ERP · 구매 / 영업 / 재고 모듈

ERP의 꽃은 모듈 간 연계예요.
구매 → 재고 → 영업이 어떻게 연결되는지 흐름을 이해하면
개발할 때 전체 그림이 보이고 훨씬 수월해져요.

// TABLE OF CONTENTS
01 전체 모듈 연계 흐름
02 구매 모듈 — P2P 흐름
03 구매 모듈 — 핵심 용어
04 재고 모듈 — 재고 관리
05 재고 모듈 — 핵심 용어
06 영업 모듈 — O2C 흐름
07 영업 모듈 — 핵심 용어
08 재고 평가 방법
09 모듈 간 전표 자동화
10 개발 시 주의사항

01 전체 모듈 연계 흐름

ERP에서 구매/재고/영업은 독립된 모듈이지만 데이터가 서로 연결돼요.
한 모듈의 처리 결과가 다음 모듈의 입력이 되는 구조예요.

// 구매 → 재고 → 영업 → 회계 연계 흐름
발주 (구매) 입고 재고 증가 📦 수주 (영업) 출하 재고 감소 📦 회계 전표
※ 입고 → 매입채무 발생 / 출하 → 매출채권 발생 → 회계 모듈 자동 연동

🛒 구매 모듈 (Procurement)

02 구매 모듈 — P2P 흐름

Purchase to Pay. 구매 요청부터 대금 지급까지의 전체 흐름이에요.

STEP 1 구매 요청 (PR — Purchase Request)
현장/부서에서 필요한 물품 구매를 요청.
요청자 → 구매팀으로 승인 흐름. 예산 체크 포함.
PR구매요청예산체크
STEP 2 견적 / 협력사 선정
협력사에 견적 요청(RFQ). 가격/납기/품질 비교 후 선정.
중견기업은 승인된 협력사(Approved Vendor) 목록에서만 선정.
RFQ견적협력사
STEP 3 발주 (PO — Purchase Order)
협력사에 정식으로 주문. 발주서(PO) 발행.
품목/수량/단가/납기일 확정. 계약의 효력 발생.
PO발주서납기일
STEP 4 입고 (GR — Goods Receipt)
물품 수령 후 수량/품질 검사. 입고 처리 시 재고 자동 증가.
PO와 수량 대조(3-Way Matching).
GR입고검사재고증가
STEP 5 세금계산서 수취 & 지급
협력사로부터 세금계산서 수취 → 매입채무 확정.
지급기일에 맞춰 계좌이체/어음 지급 → 채무 소멸.
매입채무세금계산서지급

03 구매 모듈 — 핵심 용어

단가 계약
협력사와 특정 기간/물품의 단가를 미리 계약.
발주 시 단가 계약에서 자동 적용. 매번 견적 불필요.
A사 볼트 2024년 연간 단가: 500원/개
3-Way Matching
PO(발주) - GR(입고) - Invoice(세금계산서) 3개를 대조해서 일치 시에만 지급 승인.
부정 지급 방지의 핵심.
반품 (Return)
입고 후 불량/오배송 발견 시 협력사에 반품.
반품 처리 시 재고 자동 감소 + 매입채무 취소.
MRP (자재소요계획)
생산 계획 기반으로 필요 자재를 자동 계산해 발주 제안.
제조업 ERP의 핵심 기능.
완제품 100개 생산 → 부품 A 300개 필요 → 자동 발주 제안
발주 잔량
발주는 했지만 아직 입고되지 않은 수량.
발주량 - 입고량 = 발주잔량. 재고 예측에 사용.
검수 (Inspection)
입고 물품의 수량·품질 확인 절차.
전수검사/샘플검사 선택. 불합격 시 반품 처리.

📦 재고 모듈 (Inventory)

04 재고 모듈 — 재고 수량 흐름

재고는 입고되면 늘고, 출고되면 줄어요.
ERP에서는 모든 재고 변동이 자동으로 기록돼야 해요.

// 재고 수량 계산 구조
기초재고 100개 + 입고 +50개 - 출고 -30개 - 반품출고 -5개 + 반품입고 +3개 = 기말재고 118개
재고 이동 유형
-- 재고 증가 이동
구매 입고    -- 협력사로부터 입고
생산 입고    -- 생산 완료 제품 입고
판매 반품    -- 고객이 반품한 물품 입고
재고 조정(+) -- 실사 후 수량 증가 조정

-- 재고 감소 이동
판매 출고    -- 고객에게 출하
생산 출고    -- 생산에 원자재 투입
구매 반품    -- 협력사에 반품
폐기         -- 불량/유효기간 만료
재고 조정(-) -- 실사 후 수량 감소 조정

-- 재고 이동 (증감 없음)
창고 간 이동 -- A창고 → B창고 (회사 내부)
로케이션 이동 -- 같은 창고 내 위치 변경

05 재고 모듈 — 핵심 용어

안전재고 (Safety Stock)
수요 변동·납기 지연에 대비한 최소 보유 재고량.
안전재고 이하로 떨어지면 발주 알림 발생.
안전재고 50개 → 재고 45개 → 발주 알림!
재주문점 (ROP)
발주를 트리거하는 재고 수준.
일평균 사용량 × 리드타임 + 안전재고로 계산.
일 10개 사용, 리드타임 5일 → ROP = 50+안전재고
로케이션 (Location)
창고 내 물품이 보관된 위치.
동-열-단 체계로 관리. 바코드/QR로 조회.
A동-3열-2단 → A-03-02
LOT / 배치 관리
동일 생산 배치를 LOT 번호로 묶어 추적.
불량 발생 시 해당 LOT 전체 추적 가능. 식품/의약품 필수.
LOT: 20241215-001 → 불량 발생 시 해당 LOT 전량 회수
재고 실사 (Physical Inventory)
실제 재고 수량과 시스템 수량을 대조하는 작업.
차이 발생 시 재고 조정 처리. 보통 월/분기/연 1회.
가용재고
실제 사용 가능한 재고량.
현재고 - 예약재고(출하 예정) + 발주잔량(입고 예정).
현재고 100 - 예약 30 + 발주잔량 50 = 가용 120

💼 영업 모듈 (Sales)

06 영업 모듈 — O2C 흐름

Order to Cash. 수주부터 대금 수령까지의 전체 흐름이에요.

STEP 1 견적 (Quotation)
고객 요청에 따라 가격/납기/조건을 제시.
견적 유효기간 내 수주 전환 가능.
견적서유효기간단가
STEP 2 수주 (SO — Sales Order)
고객의 정식 주문 접수. 재고 예약 발생.
가용재고 확인 후 납기 확정. 신용 한도 체크.
SO재고예약신용한도
STEP 3 출하 지시 / 피킹
창고에 출하 지시. 피킹(Picking) = 재고 위치에서 물품 꺼내기.
패킹(Packing) → 운송장 출력.
피킹패킹운송장
STEP 4 출하 (Delivery)
물품 발송. 출하 처리 시 재고 자동 감소.
매출 전표 자동 생성 → 회계 연동.
출하재고감소매출전표
STEP 5 세금계산서 발행 & 수금
전자세금계산서 발행 → 매출채권 확정.
수금 처리 시 매출채권 소멸. 미수금 관리 중요.
매출채권수금미수금

07 영업 모듈 — 핵심 용어

고객 (Customer)
영업 거래처. 신용한도, 결제조건, 담당 영업사원 등을 관리.
고객 코드로 모든 거래 이력 추적.
신용한도 (Credit Limit)
고객의 최대 외상 허용 금액.
수주 시 자동 체크. 한도 초과 시 수주 보류 또는 경고.
신용한도 5천만원 → 미수금 4천+신규 2천 = 초과!
납기 (Delivery Date)
고객에게 약속한 물품 도착 날짜.
납기 준수율이 영업 KPI. 재고/생산 계획과 연동.
수주 잔량
수주는 됐지만 아직 출하되지 않은 수량.
수주량 - 출하량 = 수주잔량. 생산/재고 계획 기준.
반품 (Sales Return)
고객이 불량/오배송 등으로 반품.
반품 입고 처리 → 재고 증가 + 매출 취소 전표.
채권 연령 분석
미수금을 30일/60일/90일 이상으로 구분 관리.
장기 미수금은 대손 처리 위험 → 집중 관리 대상.

08 재고 평가 방법

같은 품목도 언제 얼마에 샀냐에 따라 재고 단가가 달라져요.
평가 방법에 따라 매출원가와 재고자산 금액이 달라지므로 중요해요.

재고 평가 방법 비교 (볼트 100개 예시)
-- 입고 내역
1월: 50개 @ 1,000원 = 50,000
2월: 50개 @ 1,200원 = 60,000
100개, 총 110,000
3월에 60개 출고

━━━ 선입선출법 (FIFO) ━━━
-- 먼저 들어온 것부터 먼저 나감
출고원가: 1월 50개(50,000) + 2월 10개(12,000) = 62,000
기말재고: 2월 40개 × 1,200 = 48,000

━━━ 총평균법 ━━━
-- 전체 평균 단가로 계산
평균단가: 110,000 ÷ 100개 = 1,100
출고원가: 60개 × 1,100 = 66,000
기말재고: 40개 × 1,100 = 44,000

━━━ 이동평균법 ━━━
-- 입고 때마다 평균 재계산
-- 실시간 단가 관리. ERP에서 가장 많이 사용
💡 실무에서는 국내 중견기업은 대부분 총평균법 또는 이동평균법을 사용해요.
선입선출법은 식품/의약품처럼 유통기한 관리가 필요한 업종에서 주로 사용해요.
재고 평가 방법은 회계 정책으로 정해두면 함부로 바꾸기 어려워요.

09 모듈 간 전표 자동 생성

ERP의 핵심 가치는 업무 처리 시 회계 전표가 자동으로 생성되는 것이에요.

모듈 처리 자동 생성 전표 차변 대변
구매 입고 매입 전표 재고자산 매입채무
구매 반품 역분개 전표 매입채무 재고자산
판매 출하 매출 전표 매출채권 매출 / 부가세
판매 반품 역분개 전표 매출 / 부가세 매출채권
재고 폐기 재고 조정 전표 재고폐기손실 재고자산

10 개발 시 핵심 주의사항

🔴 재고 수량 동시성 문제 동시에 여러 사용자가 같은 품목을 출고 처리하면 재고가 마이너스가 될 수 있어요.
출고 처리 시 FOR UPDATE(배타락)로 해당 재고 행을 잠그고 처리해야 해요.
재고 수량은 절대 마이너스가 되면 안 돼요 → 출고 전 가용재고 체크 필수!
🔴 이력 관리 필수 모든 재고 변동은 이동 이력 테이블에 기록해야 해요.
현재 수량만 저장하면 "언제 왜 줄었냐"를 추적할 수 없어요.
LOT 관리 품목은 LOT 별 수량까지 이력 추적이 필요해요.
🔴 모듈 간 트랜잭션 처리 출하 처리 시 재고 감소 + 매출 전표 생성이 하나의 트랜잭션으로 처리돼야 해요.
재고는 줄었는데 전표가 안 생기거나, 전표는 생겼는데 재고가 안 줄면 데이터 불일치 발생.
모듈 간 연계 처리는 반드시 COMMIT / ROLLBACK으로 묶어서 처리하세요.
✅ CONCLUSION 구매/재고/영업은 데이터가 서로 연결된 하나의 흐름이에요.
구매 입고 → 재고 증가 → 영업 출하 → 재고 감소 → 회계 전표 자동 생성.
개발할 때 이 흐름을 항상 머릿속에 그리면 어떤 모듈을 개발해도 길을 잃지 않아요!

+ recent posts