SAP 영업 견적 전환율 점검 — 견적은 쌓이는데 수주로 이어지지 않는 곳부터 가른다
영업사원별·제품군별 견적 대비 수주 전환율을 한 화면에서 대사하고, 전환율이 낮은 영역과 만료된 미전환 견적을 자동으로 가려냅니다
이번 달 견적은 예년보다 많이 나갔는데, 정작 수주 실적은 그만큼 늘지 않은 경험이 있으실 겁니다. 원인은 대개 견적 건수와 실제로 수주로 이어지는 건이 다른 영업사원·제품군에서 나오기 때문입니다. 견적 목록만 봐서는 어디서 전환이 막히는지, 유효기간이 지나도록 방치된 견적이 얼마나 되는지 잘 드러나지 않습니다.
영업사원별·제품군별로 견적건수·견적금액·수주건수·수주금액·수주율·평균 전환일수를 한 화면에서 집계하고, 수주율이 낮은 영역과 유효기간이 지난 미전환 견적을 자동으로 가려내는 과정을 OpenUI5 화면으로 확장했습니다. 그룹 합계와 전체 합계를 대사하는 검증 로직까지 포함해, 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 견적 조회 — 견적 조회(
VA23)의 표준 문서 구조를 그대로 이어받아 전환율 판정을 더합니다 - 표준 화면 — 견적 목록(
VA25) · 수주 조회(VA03)의 조회 구조를 참고했습니다
| 항목 | 내용 |
|---|---|
| 업무 영역 | 영업(SD) · 판매 분석 |
| 대상 영역 | 영업 견적 전환율 분석 — 견적·수주 건수·금액·전환일수 대사, 저전환 영역·만료 미전환 견적 판정 |
| Namespace | zui5.quotawin |
| 셸 구조 | 조회조건 영역(우측 조회) + 전환율 요약 KPI 5종 + 견적 명세/전환율 집계 탭, 행 클릭 상세 Dialog |
| 화면 수 | 조회 화면 1개(탭 2개) + 상세 다이얼로그 |
| SAP 표준 T-code | VA23 · VA25 · VA03 |
| 데이터 연동 방식 | OData V2 — 탭마다 엔티티셋에 직접 바인딩 |
| 성격 | 조회·대사·점검형 — 영업 대응·평가 등 의사결정은 화면 밖에서 회사가 수행 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
조회조건 없이 화면을 열면 전체 견적 명세와 KPI 요약이 바로 뜹니다 → 전환율 집계 탭에서 영업사원별/제품군별 수주율을 확인하고 → 견적 행을 클릭해 상세 정보를 확인합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
사용 방법
- 화면을 열면 조건 없이 전체 견적이 자동 조회됩니다.
- 영업조직·영업사원·제품군·상태는 모두 선택 항목(전체 포함)이며, 고객은 코드를 입력하는 선택 항목입니다. 견적일 시작/종료도 선택 항목입니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 고객코드 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
- 초기화 버튼을 누르면 모든 조건이 전체로 돌아가 다시 조회됩니다.
- [견적 명세] 탭에서 행을 클릭하면 해당 건의 상세 정보가 다이얼로그로 열립니다.
- [전환율 집계] 탭에서 [영업사원별]/[제품군별] 버튼으로 집계 축을 바꿔 수주율과 판정을 확인합니다.
- 목록 우측 상단 CSV 내려받기(UTF-8 BOM)로 현재 조회조건 기준 전체 결과를 저장할 수 있습니다.
전환 판정 로직
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 수주율 ≥ 45% | 정상 | 추가 조치가 필요하지 않습니다. |
| 30% ≤ 수주율 < 45% | 주의 | 전환 저조 원인을 확인합니다. |
| 수주율 < 30% | 점검 필요 | 영업 활동·가격조건 등을 점검합니다. |
| 유효기한 경과 + 미전환 | 점검 필요 | 재견적 또는 실주 사유를 확인합니다. |
이 화면이 대신 정하지 않는 것
판정 결과는 확인 대상을 알리는 표시일 뿐입니다. 영업사원 평가·가격 정책 등 실제 의사결정은 회사가 현장 상황을 종합해 판단합니다.
전환율 산출 절차
| 단계 | 내용 |
|---|---|
| 1단계 | 견적 항목 단위로 수주 전표 연계 여부·유효기한을 확인해 상태(수주 전환/진행중/유효기간 경과/실주)를 판정한다 |
| 2단계 | 영업사원·제품군 축으로 견적건수·견적금액·수주건수·수주금액을 집계한다 |
| 3단계 | 수주율 = 수주건수 ÷ 견적건수 × 100 을 산출한다 |
| 4단계 | 수주 전환 건만 대상으로 전환일수(수주일−견적일)를 구해 평균을 낸다 |
| 5단계 | 그룹별 합계를 모두 더해 전체 합계와 일치하는지 대사한다 |
| 6단계 | 수주율 임계값과 유효기한 경과 여부로 정상/주의/점검 필요를 판정한다 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 영업조직 / 영업사원 / 제품군 | 선택 | 비워 두면(전체) 조건 없이 조회됩니다. |
| 고객 | 선택 | 고객코드를 직접 입력합니다(정확히 일치). |
| 상태 | 선택 | 전체/진행중(유효)/수주 전환/유효기간 경과/실주 중 선택 |
| 견적일(시작/종료) | 선택 | 견적일 기준 기간 필터. 하나만 입력해도 그 조건만 적용됩니다. |
결과 컬럼
| 컬럼 | 설명 |
|---|---|
| 견적번호/품목 / 영업사원 / 고객 / 제품 / 제품군 | 식별 정보 |
| 견적일 / 유효기한 / 수량 / 견적금액 | 견적 기본 정보 |
| 상태 / 수주전표 / 전환일수 | 수주 전환 건은 전표번호·전환일수가 함께 표시됩니다 |
| 견적건수 / 견적금액 / 수주건수 / 수주금액 / 수주율 / 평균전환일(집계 탭) | 수주율 = 수주건수 ÷ 견적건수, 평균전환일은 수주 건 기준 |
SAP 표준 기능 매핑
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과에 전환율 자동 판정 관점을 더해 확장합니다.
| 표준 T-code | 표준 기능 | 이 화면이 더한 것 |
|---|---|---|
VA23 | 견적 조회(Display Quotation) | 개별 견적을 다건 가로질러 전환율·전환일수를 집계하고 저전환 영역을 자동 판정합니다 |
VA25 | 견적 목록(List of Quotations) | 목록 구조를 참고해 영업사원·제품군별 집계 축을 구성합니다 |
VA03 | 수주 조회(Display Sales Order) | 견적의 후행 수주 문서 연계 여부를 확인해 전환 판정에 반영합니다 |
참고 CDS 뷰
| 원천 테이블 | 주요 필드 | 쓰임 |
|---|---|---|
VBAK / VBAP | VBELN · POSNR · ERDAT · BNDDT | 견적 헤더/품목 — 견적번호·견적일·유효기한 |
VBFA | VBELV · VBELN · VBTYP_N | 영업문서 흐름 — 견적 대비 후행 수주 문서 연계 확인 |
KNA1 | KUNNR · NAME1 | 고객 마스터 — 고객명 표시 |
define view entity ZI_QuoteConversionAnalysis
as select from vbak as Quote
association [0..1] to vbap as _Item on _Item.vbeln = Quote.vbeln
association [0..1] to vbfa as _Flow on _Flow.vbelv = Quote.vbeln and _Flow.vbtyp_n = 'C'
{
key Quote.vbeln as DocNo,
key _Item.posnr as Item,
Quote.erdat as QuoteDate,
Quote.bnddt as ValidToDate,
_Flow.vbeln as OrderDocNo
// 전환일수·수주율은 견적/수주 문서 흐름을 집계해 산출하며 세부 기준은 확인이 필요합니다
}
표준 CDS 뷰 이름과 필드는 시스템 릴리스에 따라 다를 수 있으므로, 도입 시 실제 시스템에서 확인해 확정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 · 구성 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 패널 · KPI 요약 5종 · IconTabBar(견적 명세/전환율 집계) |
| 데이터 연동 | manifest.json dataSources.mainService(OData V2, 상대 경로) — 탭마다 엔티티셋에 개별 바인딩합니다. 모델 설정은 useBatch:false |
| 조회조건 | sap.m.Select · sap.m.Input · sap.m.DatePicker — 우측 끝에 조회·초기화 버튼, Enter 키로 즉시 재조회, sap/ui/model/Filter로 조회조건을 조립합니다. "전체"를 고른 조건은 필터를 만들지 않습니다 |
| 견적 명세 목록 | 컬럼 12개로 sap.ui.table.Table 사용 — 견적일 내림차순 기본 정렬, cellClick에서 행 컨텍스트로 상세 다이얼로그를 엽니다 |
| 전환율 집계 | sap.m.Table — 영업사원/제품군 전환 KPI 를 서비스 집계 그대로 표시, 판정은 sap.m.ObjectStatus 표준 ValueState 로만 표시 |
| 공통 처리 | CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패를 구분해 안내 |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon · lodash · moment, OData 서비스에 연결 |
Component.js | 화면 상태 모델 초기화, 전역 오류 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.quotawin · ko 로케일, OData 서비스와 모델 선언 |
view/Main.view.xml | 조회조건 · KPI 요약 · 견적 명세/전환율 집계 탭 |
view/DetailDialog.fragment.xml | 견적 상세 다이얼로그 |
controller/Main.controller.js | 조회조건 조립 · 바인딩 · 다이얼로그 · CSV 다운로드 |
controller/BaseController.js | CSV 다운로드 공통 처리 |
model/ErrorHandler.js | 전역 오류 처리 |
model/formatter.js | 금액·날짜·상태 표시 서식 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
운영 데이터는 OData 서비스가 제공하며, 검증용 샘플 데이터는 화면과 완전히 분리해 별도로 둡니다. 화면과 판정 로직은 그대로 씁니다.
검증 결과
화면 구성에 쓴 검증용 샘플 데이터는 영업사원 8명·제품군 4개·고객 30개를 기준으로 견적 항목 230건을 생성해, 그룹 합계와 전체 합계가 완전히 일치하도록 구성했습니다.
| 검증 항목 | 결과 |
|---|---|
| 영업사원별 합계 = 전체 합계(견적건수·금액·수주건수·금액, 230건 전수) | 통과(차이 0) |
| 제품군별 합계 = 전체 합계(견적건수·금액·수주건수·금액, 230건 전수) | 통과(차이 0) |
| 유효기간 경과 미전환(의도적 구성, 점검 필요 판정 동작 확인용) | 85건 별도 기록 |
| 조회 조건 전달 — 고객코드 필터, 견적일 정렬(Edm.Decimal/DateTime 숫자 비교) 확인 | 확인 |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출 | 0건 |
| 화면 렌더링 — 실브라우저에서 조회 → 필터 → 탭 전환 → 행 클릭 상세까지 실동작 후 캡처 | 3/3 |
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내 | 확인 |
모든 데이터는 검증용으로 구성한 가상 데이터입니다.
자주 묻는 질문
수주율이 낮게 나오면 영업사원의 실적 문제로 봐야 합니까
그렇게 단정하지 않습니다. 수주율은 확인이 필요한 영역을 가려내는 참고 지표이며, 가격·납기·경쟁 상황 등 실제 원인과 대응 방향은 담당 조직이 판단합니다.
전환일수는 어떻게 계산됩니까
수주로 전환된 건만 대상으로, 수주일에서 견적일을 뺀 일수를 구해 평균을 냅니다. 미전환 건은 평균 계산에서 제외합니다.
조회 결과를 그대로 영업사원 평가나 가격 정책 결정에 사용할 수 있습니까
아닙니다. 화면은 견적 대비 수주 전환 현황을 분류·집계해 점검 대상을 가려내는 조회 도구이며, 실제 의사결정과 최종 판단은 회사가 수행합니다.
데이터는 언제 갱신됩니까
화면은 OData 서비스가 제공하는 시점의 데이터를 그대로 보여줍니다. 갱신 주기는 연동된 영업 시스템의 반영 일정에 따릅니다.
견적은 쌓이는데 수주로 이어지지 않는 곳을 먼저 찾아보세요
견적 목록만으로는 어느 영업사원·제품군에서 전환이 막히는지 보이지 않습니다. 화면에서 전환율을 미리 대사해 두면 영업 후속 조치의 우선순위를 정하기가 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.
| 관련 글 | 차이점 |
|---|---|
| SAP 판매 실적 분석 | 고객·제품별 매출 실적을 집계 — 이 화면은 견적 대비 수주 전환율·전환일수까지 대사 |