SAP 견적·표준·실제 원가 — 팔기로 한 값과 실제로 든 값
견적 원가와 표준 원가, 실제 원가를 자재별로 나란히 놓고 견적이 실제와 얼마나 맞았는지 보는 화면입니다.
영업이 견적을 낼 때 쓰는 원가는 추정입니다. 그 추정이 맞았는지는 만들고 나서야 압니다.
견적보다 실제 원가가 높으면 그 수주는 이익이 줄거나 손실입니다. 다음 견적을 잘 내려면 지난 견적이 얼마나 빗나갔는지 알아야 합니다. 세 원가를 나란히 놓아 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 견적 — 견적번호(
qtnum) · 버전(qtver) · 상태(qtsta) - 고객 — 견적 대상 고객(
kunnr)과 명칭 - 자재 — 견적 품목(
matnr)과 명칭 - 수량 — 최소 주문 수량(
moqqt) - 금액 — 견적 총액(
totqr) · 통화(waqut) · 환율(quexrt)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 관리회계(CO-PC) · 영업 연계 |
| Namespace | zui5.estcost |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 원가 비교 테이블 |
| 화면 수 | 조회 화면 1개 + 상세 |
| 데이터 | 견적 원가 148건 |
| 성격 | 조회형(Read-Only) — 견적과 원가계산은 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 2종 둘러보기
견적번호·고객·자재로 조회하면 세 원가가 나란히 나옵니다 → 견적 대비 실제 차이를 확인하고 → 빗나간 견적의 원인을 짚습니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 견적번호나 고객으로 대상을 고릅니다.
- 자재로 특정 제품의 견적만 볼 수 있습니다.
- 견적상태로 검토중·승인 등을 나눕니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 견적 원가와 실제 원가를 비교합니다. 차이가 견적 정확도입니다.
- 표준 원가는 중간 기준입니다. 견적이 표준과 얼마나 달랐는지도 봅니다.
- 결과는 CSV 다운로드로 내려받아 견적 기준 개선에 씁니다.
비교 기준
세 원가는 산출 시점과 목적이 다릅니다.
견적 원가 수주 전 추정 — 영업 제시 가격의 근거
표준 원가 기중 계산 기준 — 원가 관리의 기준선
실제 원가 생산 후 확정 — 실제로 든 비용
견적 대비 실제 차이 = 실제 원가 − 견적 원가
견적 정확도 = (1 − |차이| ÷ 견적 원가) × 100
실제 > 견적 → 이익 축소 또는 손실
실제 < 견적 → 여유 — 견적이 보수적이었음
표준 원가를 중간에 두는 이유
견적과 실제만 비교하면 차이의 원인을 알 수 없습니다. 견적이 표준과 달랐다면 견적 산정이 잘못된 것이고, 표준과 실제가 달랐다면 생산에서 벌어진 일입니다. 중간 기준이 있으면 책임 소재가 갈립니다.
원가 산출 시점 3단계
| 시점 | 언제 | 근거 | 용도 |
|---|---|---|---|
| 견적 | 수주 전 | 추정 BOM 과 추정 단가 | 영업 가격 결정 |
| 표준 | 기중 | 확정 BOM 과 표준 단가 | 원가 관리 기준 |
| 실제 | 생산 후 | 실제 투입과 실제 단가 | 손익 확정 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
견적번호 qtnum | 선택 | 견적 식별 |
버전 qtver | 선택 | 견적 개정 차수 |
고객 kunnr | 선택 | 견적 대상 |
자재 matnr | 선택 | 견적 품목 |
견적상태 qtsta | 선택 | 검토중 · 승인 등 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
견적번호 qtnum · 버전 qtver | 견적 식별 |
견적상태 qtsta · qtstaTx | 검토중 등 |
고객 kunnr · kunnrTx | 견적 대상 |
자재 matnr · matnrTx | 견적 품목 |
수량 moqqt | 최소 주문 수량 |
견적 총액 totqr · 통화 waqut · 환율 quexrt | 견적 금액 |
| 견적 원가 | 수주 전 추정 |
| 표준 원가 | 기중 계산 기준 |
| 실제 원가 | 생산 후 확정 |
| 차이 · 차이율 | 실제 − 견적 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
CK11N · CK13N | 원가추정 생성·조회 | 견적·표준 원가 원천 |
VA21 | 견적 생성 | 견적 정보 |
KKBC_ORD | 오더별 원가 | 실제 원가 |
KEKO · KEPH | 원가추정 헤더와 요소 | 조회 원천 |
VBAK | 견적·수주 헤더 | 고객과 견적 정보 |
도입 시 확인이 필요한 부분
견적 원가를 어떻게 산출하는지가 회사마다 다릅니다. 표준 원가추정을 쓰는 곳도 있고 별도 견적 시스템을 쓰는 곳도 있습니다. 후자면 견적 원가를 SAP 로 가져오는 인터페이스가 필요하고, 자재와 수량 기준을 맞춰야 비교가 성립합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCESTCOST'
@EndUserText.label: '견적·표준·실제 원가 (Z)'
define view Z_C_ESTIMATE_COST
as select from keko as CostEst
left outer join makt as MatText on CostEst.matnr = MatText.matnr
and MatText.spras = 'K'
{
key CostEst.kalnr,
key CostEst.kadky as CostingDate,
CostEst.matnr,
MatText.maktx,
CostEst.bwkey as Plant,
CostEst.kalka as CostingType,
CostEst.losgr as LotSize,
CostEst.kkzma as TotalCost
// 원가유형(kalka)으로 견적·표준을 구분하고
// 실제 원가는 생산오더 집계와 조인
// 차이 = 실제 − 견적 (소비 뷰에서 계산)
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 원가 비교 테이블 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 비교 테이블 | sap.m.Table — 견적·표준·실제를 순서대로 |
| 차이 표시 | sap.m.ObjectNumber — 불리한 차이 경고 색 |
| 상태 표시 | sap.m.ObjectStatus — 견적 상태 |
시간 순서대로 열을 배치한 이유
견적 → 표준 → 실제는 시간 순서입니다. 그 순서대로 열을 두면 원가가 어떻게 변해 왔는지가 왼쪽에서 오른쪽으로 읽힙니다. 어느 구간에서 크게 벌어졌는지가 눈에 들어옵니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.estcost) · ko 로케일 |
view/Main.view.xml | 조회조건과 원가 비교 테이블 |
controller/Main.controller.js | 조회 · 차이 계산 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 환율 · 차이율 포맷터 |
localdata/estcost.json | 견적 원가 148건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 차이 = 실제 원가 − 견적 원가 (전 건) | 통과 |
| 차이율 = 차이 ÷ 견적 원가 × 100 | 통과 |
| 견적 총액 = 수량 × 단가 정합 | 통과 |
| 고객·자재 코드가 있으면 명칭도 존재 | 통과 |
| 견적상태 코드와 텍스트 일치 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 후 캡처 | 2/2 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
견적 원가가 실제보다 낮으면 항상 문제인가요?
이익이 줄어드는 것은 맞지만 원인을 봐야 합니다. 원자재 시세가 급등했다면 견적 산정 문제가 아니라 외부 요인입니다. 반복되면 견적에 변동 여유를 두는 방식을 검토합니다.
견적 버전은 왜 관리하나요?
협상 과정에서 사양이나 수량이 바뀌면 원가도 달라집니다. 어느 버전으로 수주했는지가 명확해야 실제와 비교할 대상이 정해집니다.
수량이 다르면 비교가 되나요?
단위당 원가로 환산하면 됩니다. 다만 수량에 따라 단가가 달라지는 구조라면 같은 수량 기준으로 재계산해야 정확합니다.
SAP 표준 기능과 어떻게 이어지나요?
원가추정과 실제 원가는 표준 CO-PC 가 관리합니다. 이 화면은 견적·표준·실제를 시간 순서로 나란히 놓아 견적 정확도를 확인하게 하는 확장입니다.