솔루션 홈
구매 분석

SAP 구매가격차이 점검 — 표준단가 대비 얼마나, 어디서 벌어졌는지부터 가른다

공급업체·기간별로 발주단가와 표준단가를 대사하고, 차이가 큰 항목을 자동으로 가려냅니다

구매 발주 단가가 표준 단가에서 얼마나 벗어났는지는 알지만, 그 차이가 어느 공급업체·어느 기간에 몰려 있는지 한눈에 보기는 쉽지 않습니다. 발주 건수가 많아질수록 이상 건을 손으로 골라내는 데 시간이 걸립니다.

공급업체·기간별로 발주단가와 표준단가를 대사하고, 차이율이 임계치를 넘는 항목을 자동으로 가려내는 과정OpenUI5 화면으로 확장했습니다. 발주 항목을 클릭하면 상세 내역까지 바로 확인할 수 있는 실제 구동 화면 6종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 구매문서 목록 조회 — 자재 기준 구매문서 목록 조회의 표준 화면(ME2M)이 다루는 발주 항목 구조를 그대로 이어받습니다
  • 공급업체별 구매문서 조회 — 공급업체 기준 구매문서 조회의 표준 화면(ME2L)이 다루는 집계 축을 그대로 이어받아 대사 관점을 더합니다
항목내용
업무 영역구매(MM) · 구매 분석
대상 영역구매가격차이 점검 — 발주단가·표준단가 대사, 공급업체·기간별 차이 판정
Namespacezui5.pricevar
셸 구조조회조건 영역(우측 조회) + KPI 요약 + 탭(공급업체별 요약 / PO 항목 상세), 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 2개) + 상세 다이얼로그
SAP 표준 T-codeME2M · ME2L
데이터 연동 방식OData V2 — 탭마다 별도 엔티티셋에 직접 바인딩
성격조회·대사·점검형 — 최종 판단은 화면 밖에서 회사가 수행
UI 테마sap_horizon 단일 적용

실제 화면 6종 둘러보기

회계연도를 넣고 조회하면 공급업체별 요약과 KPI 가 한 화면에 뜹니다 → 조건을 좁혀 특정 공급업체·기간만 보고 → PO 항목 상세 탭에서 차이율로 정렬해 점검 대상을 가려내고 → 행을 클릭해 상세 내역을 확인합니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

메인화면
구매가격차이 목록 — 조회조건과 공급업체별 요약
메인화면 — 공급업체별 요약 탭. 회계연도 2026 전체 기간 조회 결과로 공급업체별 발주금액·표준금액·차이금액·차이율·상태가 표시됩니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
조회조건 좁히기
단일 공급업체·기간으로 좁힌 결과
조회조건 좁히기 — 공급업체·기간을 지정해 조회하면 해당 조건에 맞는 행만 남습니다.
PO 항목 상세
PO 항목 상세 — 발주단가·표준단가·차이 내역
PO 항목 상세 — PO 항목 상세 탭에서는 발주 항목 단위로 발주단가·표준단가·차이금액·차이율·발주일을 확인합니다.
차이율 정렬
차이율 기준 정렬 결과
차이율 정렬 — 차이율 기준으로 정렬하면 점검이 필요한 항목이 위로 모입니다.
CSV 내려받기
전체 조회 결과와 CSV 내려받기 버튼
CSV 내려받기 — 조회 결과는 탭별로 CSV(UTF-8) 로 내려받을 수 있습니다.
상세 다이얼로그
행 클릭 시 열리는 상세 다이얼로그
상세 다이얼로그 — PO 항목 상세 탭에서 행을 클릭하면 해당 항목의 상세 정보가 다이얼로그로 열립니다.

사용 방법

  1. 화면 진입 시 회계연도(기본값 2026) 기준으로 자동 조회가 1회 실행됩니다.
  2. 조회조건 영역에서 회계연도(필수)와 기간·공급업체·플랜트(선택, 비우면 전체)를 지정합니다. 구매문서번호(선택)는 직접 입력할 수 있습니다.
  3. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
  4. 상단 KPI 타일에서 조회 항목 수·점검 필요 건수·사전승인 예외 건수·공급업체 수를 확인합니다.
  5. 공급업체별 요약 탭에서 공급업체·기간별 발주금액·표준금액·차이금액·차이율·상태를 확인합니다.
  6. PO 항목 상세 탭으로 이동해 개별 발주 항목의 단가·수량·차이 내역을 확인합니다.
  7. PO 항목 상세 탭에서 행을 클릭하면 해당 항목의 상세 정보가 다이얼로그로 열립니다.
  8. 각 탭 위의 CSV 내려받기(UTF-8) 버튼으로 현재 조회 결과를 저장할 수 있습니다.

점검 판정 로직

판정 조건결과 상태사용자 조치
사전승인 예외로 표시된 항목사전승인 예외참고만 하고 별도 조치 없음(점검 대상 집계에서 제외)
|차이율| ≥ 5%(사전승인 예외가 아닌 경우)점검 필요구매팀 확인 필요 — 발주 사유·계약조건 대조
|차이율| < 5%정상추가 조치가 필요하지 않습니다

이 화면이 대신 정하지 않는 것

점검 필요 표시는 가격 차이가 임계치를 넘었다는 신호일 뿐입니다. 차이의 원인 확정과 후속 조치는 회사와 감사인이 판단합니다.

산출 순서

단계내용
1단계PO 항목별 발주단가와 표준단가(또는 최근 이동평균가)를 나란히 놓는다
2단계항목별 차이금액 = (발주단가 − 표준단가) × 발주수량, 차이율 = 차이금액 ÷ (표준단가 × 발주수량) × 100 을 산출한다
3단계공급업체·회계연도·기간 축으로 항목을 합산해 발주금액·표준금액·차이금액·차이율을 집계한다
4단계사전승인 예외를 제외한 항목 중 임계치(5%)를 넘는 건을 점검 필요로 표시한다

조회조건

필드필수설명
회계연도필수기본값 2026
기간선택비우면 전체 기간
공급업체선택비우면 전체 공급업체
플랜트선택PO 항목 상세에만 적용
구매문서번호선택PO 항목 상세에만 적용, Enter 키로 즉시 조회

결과 컬럼

컬럼설명
공급업체 / 업체명 / 연도 / 기간집계 대상 식별 정보
발주금액 / 표준금액발주단가 기준 합계 / 표준단가 기준 합계
차이금액 / 차이율발주금액 − 표준금액 / 차이금액 ÷ 표준금액
항목수 / 상태집계 항목 수 / 정상·점검 필요·사전승인 예외
구매문서 / 항목 / 자재 / 발주단가 / 표준단가 / 발주일PO 항목 상세의 개별 발주 정보

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과에 조회·점검 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
ME2M자재 기준 구매문서 목록 조회발주 항목 구조를 참고해 표준단가와 나란히 비교합니다
ME2L공급업체 기준 구매문서 조회공급업체·기간 축으로 집계하고 차이가 큰 건을 가려냅니다

참고 CDS 뷰

원천 테이블주요 필드쓰임
EKKO · EKPOEBELN · EBELP · LIFNR · MATNR · NETPR구매문서 헤더·항목 — 발주단가의 원천
MBEWSTPRS · VERPR자재 평가 — 표준단가·이동평균가의 원천
define view entity C_PurchasePriceVarianceQ
  as select from ekpo association to parent ekko as _Header
{
  key ekpo.ebeln as PoNo,
  key ekpo.ebelp as PoItem,
      _Header.lifnr as Vendor,
      ekpo.matnr    as Material,
      ekpo.werks    as Plant,
      ekpo.menge    as OrderQty,
      ekpo.netpr    as PoPrice
      // 표준단가·차이금액·차이율은 소비 계층에서 파생
}

표준 CDS 뷰 이름과 필드는 시스템 릴리스에 따라 다를 수 있으므로, 도입 시 실제 시스템에서 확인해 확정합니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · KPI 요약 · IconTabBar(공급업체별 요약 / PO 항목 상세)
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로) — 탭마다 독립된 엔티티셋에 바인딩
조회조건sap.m.Select · sap.m.Input — 우측 끝에 조회·초기화 버튼, Enter 키로 즉시 재조회, sap/ui/model/Filter 로 조건을 조립합니다. 전체를 고른 조건은 필터를 만들지 않습니다
상세 보기sap.ui.table.TablecellClick 에서 행 컨텍스트로 상세 다이얼로그를 엽니다
점검결과 표시sap.m.ObjectStatus 로 판정 상태를 표준 ValueState 로만 표시
공통 처리CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패를 구분해 안내

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js컴포넌트 초기화, 전역 오류 처리기 연결
manifest.json앱 디스크립터 — zui5.pricevar · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · KPI 요약 · 탭별 목록
view/DetailDialog.fragment.xmlPO 항목 상세 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 다이얼로그 · CSV 다운로드
controller/BaseController.jsCSV 다운로드 공통 처리
model/ErrorHandler.js전역 오류 처리
model/formatter.js금액·상태 표시 서식
i18n/i18n_ko.propertiesko 로케일 리소스

운영 데이터는 OData 서비스가 제공하며, 검증용 샘플 데이터는 화면과 완전히 분리해 별도로 둡니다. 화면과 판정 로직은 그대로 씁니다.

검증 결과

화면 구성에 쓴 검증용 샘플 데이터는 공급업체 8개 × 기간 8개 조합 기준 PO 항목 331건(공급업체·기간 집계 63건)을 기준으로 대사식을 전수 검증했습니다.

검증 항목결과
Σ PO 항목 차이금액(공급업체·기간) = 집계 차이금액(63개 조합 전수)통과(불일치 0건)
점검 필요 판정 분포(사전승인 예외 18건 별도 관리)정상 266건 · 점검 필요 65건 · 예외 18건
조회 조건 전달 — 공급업체·기간으로 좁히면 해당 건만 남는지 확인확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출0건
화면 렌더링 — 실브라우저에서 조회 → 필터 → 정렬 → 행 클릭 상세까지 실동작 후 캡처6/6
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 화면이 다루는 데이터 범위는 어디까지인가요

검증용 샘플 데이터 기준으로 2026년 회계연도 001~008 기간, 8개 공급업체, 10개 자재의 구매 발주 항목(331건)을 다룹니다. 실제 적용 시 범위는 연결한 OData 서비스의 데이터 범위를 따릅니다.

점검 필요로 표시되면 바로 가격 오류로 봐야 하나요

아닙니다. 이 화면은 분류·집계·대사를 돕는 조회·점검 도구이며, 임계치를 넘는 항목을 가려낼 뿐 원인을 단정하지 않습니다. 최종 판단은 회사와 감사인이 합니다.

사전승인 예외는 어떻게 처리되나요

사전승인 예외로 표시된 항목은 차이율이 임계치를 넘더라도 점검 필요 집계에서 제외하고 별도로 표시합니다. 대사 차이 건수와는 분리해서 관리합니다.

샘플 데이터로 살펴본 화면과 실제 운영 화면은 어떻게 다른가요

샘플 데이터 화면은 검증용 데이터로 화면 동작을 확인하는 용도입니다. 실제 운영 화면은 연결된 실 OData 서비스를 바라보며, 서비스에 연결되지 않으면 오류 메시지를 안내합니다.

발주 전에 표준단가와의 차이부터 먼저 확인해 보세요

발주가 몰리는 시기일수록 단가 이상 건을 손으로 찾기 어렵습니다. 화면에서 공급업체·기간별로 표준단가와 미리 대사해 두면 확인이 필요한 건을 먼저 가려낼 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

구매 분석가격차이표준단가 대사공급업체별 집계사전승인 예외OpenUI5
관련 글차이점
SAP 구매 리드타임 분석발주부터 입고까지의 소요 기간을 점검하는 화면 — 이 화면은 발주단가와 표준단가의 금액 차이를 공급업체·기간별로 대사합니다