SAP 구매 지출 카테고리 ABC 분석 점검 — 지출이 몰리는 카테고리부터 가른다
카테고리별 구매 지출을 누적 구성비 기준으로 A/B/C 등급으로 나눠 관리 우선순위를 가려냅니다
구매 지출을 줄이려 해도 어디부터 봐야 할지 막막할 때가 많습니다. 수백 개 카테고리를 똑같은 비중으로 들여다보다 보면 정작 지출이 몰려 있는 곳은 놓치기 쉽습니다.
회계연도·기간별 구매 지출을 카테고리 단위로 집계해 누적 구성비 기준 ABC 등급으로 나누는 과정을 OpenUI5 화면으로 확장했습니다. 등급별 집계와 카테고리별 구매전표 명세까지 클릭 한 번으로 확인할 수 있는 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 구매 현황 조회 — 자재별 구매 현황 조회의 표준 화면(
ME2M)이 다루는 구매전표 명세 데이터 구조를 그대로 이어받아 카테고리 단위 집계로 확장합니다 - 구매 분석 — 구매 분석/보고서 일반 화면(
ME80FN)과 같은 계열의 조회·집계 목적을 카테고리 ABC 분석에 특화합니다
| 항목 | 내용 |
|---|---|
| 업무 영역 | 구매(MM) |
| 대상 영역 | 구매 지출 카테고리 ABC 분석 — 카테고리별 지출 집계·누적구성비·등급 판정 |
| Namespace | zui5.spendcat |
| 셸 구조 | 조회조건 영역(우측 조회) + 요약 KPI 배너 + 탭 2개(카테고리별 지출 / 등급별 집계), 행 클릭 상세 Dialog |
| 화면 수 | 조회 화면 1개(탭 2개) + 상세 다이얼로그 |
| SAP 표준 T-code | ME2M · ME80FN |
| 데이터 연동 방식 | OData V2 — 화면 블록마다 별도 엔티티셋에 직접 바인딩 |
| 성격 | 조회·분류·점검형 — 구매 정책 최종 판단은 화면 밖에서 회사가 수행 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회계연도·기간을 넣고 조회하면 요약 KPI 와 카테고리별 지출 명세가 순위·누적구성비·ABC등급과 함께 뜹니다 → 등급별 집계 탭에서 A/B/C 등급별 지출 비중을 확인하고 → 카테고리 행을 클릭해 구매전표 명세를 확인합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
사용 방법
- 회계연도(4자리, 필수)와 기간(3자리, 필수)을 입력·선택합니다. 화면 진입 시 기본값으로 자동 한 번 조회됩니다.
- 구매카테고리·ABC등급(선택)은 목록에서 고릅니다. 전체를 고르면 해당 조건은 조회에서 빠집니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 회계연도 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 조회조건을 기본값으로 되돌립니다.
- 요약 영역에서 총 지출액·카테고리 수·A등급 지출비중·등급별 카테고리 수·공급업체 수를 확인합니다.
- 카테고리별 지출 탭에서 순위·누적구성비·ABC등급이 매겨진 표를 확인하고, 행을 클릭하면 구매전표 명세 다이얼로그가 열립니다.
- 등급별 집계 탭으로 이동하면 A/B/C 등급별 카테고리 수·지출액·비중을 볼 수 있습니다.
- 목록 우측 상단 CSV 내려받기(UTF-8 BOM)로 현재 조회조건 기준 결과를 저장할 수 있습니다.
ABC 등급 판정 로직
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 카테고리를 지출액 내림차순으로 정렬한 뒤, 누적 구성비가 80% 이하 | A등급 | 지출 비중이 큰 카테고리 — 우선 검토 대상으로 관리 |
| 누적 구성비가 80% 초과 ~ 95% 이하 | B등급 | 정기 점검 주기로 관리 |
| 누적 구성비가 95% 초과 | C등급 | 건수가 많고 개별 비중이 작은 카테고리 — 통합 관리 검토 |
이 화면이 대신 정하지 않는 것
ABC 등급은 지출 집중도를 분류하는 참고 기준일 뿐입니다. 등급에 따른 공급업체 관리 정책·계약 조건 조정은 회사가 판단합니다.
지출 집계·대사 처리 단계
| 단계 | 내용 |
|---|---|
| 1단계 | 같은 회계연도·기간·카테고리의 구매전표 명세 금액을 모두 더해 카테고리별 지출액을 구한다 |
| 2단계 | 카테고리를 지출액 내림차순으로 정렬해 순위를 매긴다 |
| 3단계 | 누적 지출액을 총 지출액으로 나눠 누적 구성비를 구한다 |
| 4단계 | 누적 구성비 구간(80%/95%)에 따라 A/B/C 등급을 매긴다 |
| 5단계 | 등급별 카테고리 수·지출 합계·A등급 지출비중·전체 공급업체 수를 집계해 요약으로 둔다 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 회계연도 | 필수 | 4자리 연도 |
| 기간 | 필수 | 3자리 회계기간 |
| 구매카테고리 | 선택 | 전체 선택 시 조건 제외 |
| ABC등급 | 선택 | 전체 선택 시 조건 제외 |
결과 컬럼
| 컬럼 | 설명 |
|---|---|
| 순위 / 카테고리 / 카테고리명 | 지출액 내림차순 순위와 카테고리 식별 정보 |
| 지출액 | 해당 회계연도·기간의 카테고리별 지출 합계(KRW) |
| 누적구성비 | 지출액 내림차순 누적 비중(%) |
| ABC등급 | 누적구성비 구간에 따른 A/B/C 판정 |
| 전표건수 / 공급업체수 | 해당 카테고리의 구매전표 명세 건수와 실적 공급업체 수 |
SAP 표준 기능 매핑
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과에 카테고리 단위 조회·점검 관점을 더해 확장합니다.
| 표준 T-code | 표준 기능 | 이 화면이 더한 것 |
|---|---|---|
ME2M | 자재별 구매 현황 조회 | 구매전표 명세 데이터 구조를 카테고리 단위로 집계해 지출 집중도를 보여줍니다 |
ME80FN | 구매 분석/보고서 일반 | 표준 구매 분석 화면과 같은 계열의 목적을 ABC 등급 판정에 특화합니다 |
| 지표 | 정의 | 비고 |
|---|---|---|
| 카테고리 지출액 | 회계연도·기간·카테고리 단위 구매전표 금액 합계 | — |
| 누적구성비 | 지출액 내림차순 정렬 후 누적 지출액 ÷ 총 지출액 | — |
| ABC등급 | 누적구성비 80%/95% 구간 판정 | 파레토(ABC) 분석 기준 |
참고 CDS 뷰
| 원천 테이블 | 주요 필드 | 쓰임 |
|---|---|---|
EKKO / EKPO | EBELN · EBELP · LIFNR · MATKL · NETWR | 구매문서 헤더/품목 — 카테고리별 지출 집계의 원천 |
LFA1 | LIFNR · NAME1 | 공급업체 마스터 |
T023T | MATKL · WGBEZ | 자재그룹 텍스트 |
define view entity ZC_PUR_SPEND_CATEGORY
as select from ekpo
association to parent ekko as _Header on _Header.ebeln = ekpo.ebeln
{
key _Header.ebeln as DocNo,
key ekpo.ebelp as DocItem,
ekpo.matkl as MaterialGroup,
_Header.lifnr as VendorCode,
ekpo.netwr as Amount
// 카테고리 매핑·누적구성비·ABC 등급 산출 로직은 구매 카테고리 마스터 설정에 따라 확인이 필요합니다
}
표준 CDS 뷰 이름과 필드는 시스템 릴리스에 따라 다를 수 있으므로, 도입 시 실제 시스템에서 확인해 확정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 · 구성 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 패널 · 요약 KPI 패널 · IconTabBar(카테고리별 지출 / 등급별 집계) |
| 데이터 연동 | manifest.json dataSources.mainService(OData V2, 상대 경로) — 화면 블록마다 별도 엔티티셋을 호출합니다 |
| 조회조건 | sap.m.Input · sap.m.Select — 우측 끝에 조회·초기화 버튼, Enter 키로 즉시 재조회, sap/ui/model/Filter로 조회조건을 조립합니다. 전체를 고른 조건은 필터를 만들지 않습니다 |
| 카테고리별 지출 표 | sap.ui.table.Table 사용 — cellClick에서 행 컨텍스트로 구매전표 명세를 별도 조회 |
| ABC등급 표시 | sap.m.ObjectStatus로 판정 상태를 표준 ValueState 로만 표시 |
| 공통 처리 | CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패를 구분해 안내 |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결 |
Component.js | 전역 오류 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.spendcat · 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종 × 9개 기간, 카테고리 집계 72건·구매전표 명세 728건을 기준으로 대사식을 전수 검증했습니다.
| 검증 항목 | 결과 |
|---|---|
| 카테고리 지출 합계 = 구매전표 명세 합계(72건 전수) | 통과(불일치 0건) |
| 카테고리 지출 합계 총합 = 기간 총지출(9건 전수) | 통과(불일치 0건) |
| 마지막 순위 카테고리의 누적구성비 = 100.00%(9건 전수) | 통과(불일치 0건) |
| A+B+C 등급 카테고리 수 합 = 카테고리 수(9건 전수) | 통과(불일치 0건) |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출 | 0건 |
| 화면 렌더링 — 실브라우저에서 조회 → 탭 전환 → 행 클릭 상세까지 실동작 후 캡처 | 3/3 |
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내 | 확인 |
모든 데이터는 검증용으로 구성한 가상 데이터입니다.
자주 묻는 질문
이 화면의 적용 시기·범위는 어떻게 되나요
이 화면은 특정 회계기준의 시행일과 무관한 구매 지출 분석·점검 도구로, 구매 데이터가 쌓여 있는 회계연도·기간이면 바로 조회할 수 있습니다. 별도의 조기적용·경과규정은 없습니다.
ABC 등급 경계값(80%/95%)은 고정된 기준인가요
일반적으로 쓰이는 파레토(ABC) 분석 기준을 적용한 것으로, 회사의 구매 정책에 따라 조정될 수 있는 관리 기준점입니다. 이 화면은 조회·분류를 돕는 도구이며, 구매 카테고리 관리에 대한 최종 판단은 회사가 합니다.
카테고리 분류 체계는 어떻게 정해지나요
검증용 샘플 데이터 기준으로 원자재·포장재·소모성자재·외주용역·IT장비·물류·사무용품 등 8개 카테고리를 사용합니다. 실제 적용 시 회사의 구매 카테고리 마스터 체계에 맞게 구성합니다.
등급 판정 결과를 구매 정책에 바로 반영해도 되나요
아닙니다. 이 화면은 지출 집중도를 조회·점검하는 참고 자료를 제공하며, 공급업체 관리 정책이나 계약 조건 변경 같은 최종 결정은 구매 정책 담당 부서가 수행합니다.
지출이 몰리는 카테고리부터 먼저 확인해 보세요
모든 카테고리를 같은 비중으로 관리하기보다, 지출이 집중된 카테고리부터 우선순위를 두면 관리 효율이 달라집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.
| 관련 글 | 차이점 |
|---|---|
| SAP 구매가격차이 점검 | 발주단가와 표준단가의 차이를 점검하는 화면 — 이 화면은 지출액 자체의 카테고리별 집중도를 누적구성비 기준으로 등급화합니다 |
| SAP 구매 리드타임 분석 | 발주부터 입고까지 걸린 기간을 점검하는 화면 — 이 화면은 금액 기준 지출 구조를 분류합니다 |