솔루션 홈
수익성 분석

SAP 제품·고객 마진 믹스 분석 점검 — 마진이 줄었다면, 가격·수량·믹스·원가 중 무엇 때문인지부터 가른다

제품군·고객군별 마진 변동을 판매가격·순수 판매수량·믹스·단위원가 네 요인으로 분해해 대사하는 화면을 OpenUI5로 구현한 사례. 그룹 소계·전체 합계까지 항등식으로 대사하는 로직과 조회조건·결과 컬럼 스펙, 실제 화면 4종을 공개합니다.

제품별·고객별 손익을 나열하는 화면은 많지만, "마진이 왜 줄었는지"에 답하는 화면은 드뭅니다. 판매가격이 내려간 걸까요, 잘 팔리던 품목이 덜 팔린 걸까요, 아니면 마진율이 낮은 품목 쪽으로 판매 비중이 옮겨간 걸까요. 매출·마진 표만 봐서는 세 가지가 뒤섞여 보입니다.

대상 영역은 수익성 분석입니다. 제품군·고객군별로 전기 대비 당기 마진 변동을 판매가격 · 순수 판매수량 · 믹스(품목 구성비 변화) · 단위원가 네 요인으로 분해하고, 품목 단위 합계 → 그룹 소계 → 전체 합계까지 항등식으로 대사하는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 4종을 함께 공개합니다.

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

  • 수익성분석 실행 — 수익성분석(CO-PA) 보고서 실행의 표준 화면(KE30)이 만든 실적 집계를 그대로 이어받아 요인 분해 관점을 더합니다
  • 표준 화면 — 수익성분석 명세 라인아이템 조회(KE24)의 집계 구조를 참고했습니다
항목내용
업무 영역관리회계(CO) · 수익성 분석
관련 기준서- (분석·점검 목적의 관리회계 조회 화면으로, 특정 기준서에 대응하지 않습니다)
Namespacezui5.marginmix
셸 구조조회조건 영역(우측 조회) + KPI 요약 카드 6개 + 요약 브릿지/품목별 상세 탭, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 2개) + 상세 다이얼로그
SAP 표준 T-codeKE30 · KE24
데이터 연동 방식OData V2 — 탭마다 엔티티셋에 직접 바인딩
성격조회·대사·점검형 — 원인 판단은 화면 밖에서 회사가 수행
UI 테마sap_horizon 단일 적용

실제 화면 4종 둘러보기

조회연도·분석축을 넣고 조회하면 KPI 카드와 요약 브릿지 탭이 함께 뜹니다 → 분석축을 고객군으로 바꿔 다시 조회하고 → 품목별 상세 탭에서 총변동 내림차순 명세를 보고 → 품목 행을 클릭해 상세 다이얼로그를 확인합니다.

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

Main.view.xml
마진 믹스 분석 메인 화면 — 조회조건과 KPI 요약, 요약 브릿지
메인화면 — 2026년 제품군 축 조회 결과. KPI 카드 6개에 전기·당기 마진 합계와 4개 요인 변동액이 표시되고, 요약 브릿지 탭에 그룹별 · 요인별 금액이 나열됩니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
분석축 전환 — 고객군
분석축을 고객군으로 바꾼 요약 브릿지
고객군 전환 — 분석축을 고객군으로 바꿔 다시 조회한 결과입니다. 같은 항등식(전기+가격+순수수량+믹스+원가=당기)이 고객군 기준으로도 그대로 성립합니다.
품목별 상세 탭
품목별 상세 테이블 — 총변동 내림차순
품목별 상세 — 품목 단위로 수량·단가·단위원가·마진·변동 요인을 총변동 내림차순으로 나열합니다. 그룹 소계 행은 굵게 표시됩니다.
품목 상세 다이얼로그
품목 상세 다이얼로그
품목 상세 — 행을 클릭하면 해당 품목의 수량·단가·단위원가·마진·변동 요인이 다이얼로그로 펼쳐집니다.

사용 방법

  1. 조회연도는 4자리로 입력합니다(필수). 서비스는 내부적으로 전기(연도−1)와 함께 조회합니다.
  2. 분석축에서 제품군 또는 고객군 중 하나를 선택합니다(필수). 선택에 따라 그룹 목록이 바뀝니다.
  3. 그룹은 비워 두면(전체) 전체 그룹 합계 브릿지를, 특정 그룹을 고르면 그 그룹만 조회합니다(선택).
  4. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 조회연도 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
  5. 화면을 열면 기본 조건(최근 연도·제품군·전체)으로 자동 조회되며, KPI 카드 6개가 함께 표시됩니다.
  6. 요약 브릿지 탭에서 그룹별·요인별 금액을, 품목별 상세 탭에서 품목 단위 명세를 총변동 내림차순으로 확인합니다.
  7. 품목별 상세에서 행을 클릭하면 해당 품목의 상세가 다이얼로그로 열립니다.
  8. 품목별 상세 화면 우측 상단 CSV 내려받기(UTF-8 BOM)로 현재 조회조건 기준 품목 목록을 저장할 수 있습니다.

브릿지 판정 규칙

판정 조건결과 상태사용자 조치
총변동 > 0증가요인별 기여도를 요약 브릿지에서 확인합니다.
총변동 < 0감소 — 확인 필요가격·수량·믹스·원가 요인 순서대로 확인합니다.
믹스 변동이 총변동에서 차지하는 비중이 큼믹스 영향 큼 — 확인 필요그룹 내 품목 구성비 변화를 품목별 상세와 대조합니다.

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

판정 결과는 확인 대상을 알리는 표시일 뿐입니다. 이 화면은 분류·집계·대사를 돕는 조회·점검 도구이고, 변동 원인에 대한 최종 판단은 회사와 감사인이 합니다.

마진 브릿지 산출 순서

단계내용
1단계전기·당기 두 기간의 품목별 판매수량·판매가격·단위원가를 원천에서 모은다
2단계품목별로 판매가격 변동·수량변동·단위원가 변동을 산출한다 — 세 요인의 합은 품목 총변동과 항상 일치한다
3단계그룹 안에서 수량변동을 순수 판매수량 변동과 믹스 변동으로 다시 나눈다
4단계그룹별 요인 금액을 더해 전체 브릿지를 만든다 — 가격·순수수량·믹스·원가의 합은 항상 전체 총변동과 일치한다
5단계품목 합계 → 그룹 소계 → 전체 합계 순서로 대사한다

조회조건

필드필수설명
조회연도필수당기 연도 4자리
분석축필수제품군 또는 고객군
그룹선택비워 두면(전체) 전체 그룹 합계 브릿지가 조회됩니다.

결과 컬럼

컬럼설명
그룹 / 품목제품군·고객군 그룹명과 품목명(소계·합계 행은 굵게 표시)
전기수량 / 당기수량, 전기단가 / 당기단가, 전기단위원가 / 당기단위원가비교 대상 두 기간의 기초 데이터
전기마진 / 당기마진수량 × (단가−단위원가)
가격변동 / 수량변동 / 원가변동 / 총변동세 요인의 합은 총변동(당기마진−전기마진)과 항상 일치

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과에 가격·수량·믹스·원가 요인 분해 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
KE30수익성분석(CO-PA) 보고서 실행품목·그룹 단위 손익 조회 결과를 가격·수량·믹스·원가 네 요인으로 재분해합니다
KE24수익성분석 명세 라인아이템 조회라인아이템 집계 구조를 참고해 품목별 상세를 구성합니다

참고 CDS 뷰

원천 테이블주요 필드쓰임
VBRK / VBRPVBELN · POSNR · FKIMG · NETWR판매수량·판매가격의 원천(매출 전표)
MBEWMATNR · BWKEY · VERPR · STPRS단위원가 원천(자재 평가)
KNA1 / MARAKUNNR · MATNR고객군·제품군 그룹핑 기준
define view entity ZC_MARGIN_MIX_BRIDGE
  as select from vbrp as item
  inner join    vbrk as header on item.vbeln = header.vbeln
{
  key item.vbeln,
  key item.posnr,
      header.fkdat,
      item.matnr,
      item.fkimg  as SalesQty,
      item.netwr  as NetValue
  // 단위원가 조인, 가격/수량/믹스/원가 분해 로직은 프로젝트별로 확인이 필요합니다
}

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

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · KPI 카드 6개 · IconTabBar(요약 브릿지/품목별 상세)
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로) — 탭마다 엔티티셋에 개별 바인딩합니다. 모델 설정은 useBatch:false
조회조건sap.m.Select · sap.m.Input — 우측 끝에 조회·초기화 버튼, Enter 키로 즉시 재조회, sap/ui/model/Filter로 조건을 조립합니다. "전체" 그룹은 필터를 만들지 않습니다
품목별 상세컬럼 14개로 sap.ui.table.Table 사용 — 총변동 내림차순 기본 정렬, 행 클릭 시 상세 다이얼로그
KPI 요약대사용 파생 지표는 별도 조회 동작으로 KPI 카드에 표시
공통 처리CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패를 구분해 안내

파일 구성

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

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

검증 결과

화면 구성에 쓴 검증용 샘플 데이터는 2개 분석축(제품군·고객군) × 5개 그룹 × 4개 품목을 기준으로, 품목 합계·그룹 소계·전체 합계가 항등식으로 대사되도록 구성했습니다.

검증 항목결과
품목 단위 항등식(총변동 = 당기마진−전기마진, 52건)통과(반올림 오차 0.01 이내)
그룹 브릿지 항등식(전기+가격+순수수량+믹스+원가=당기, 12건)통과(반올림 오차 0.01 이내)
그룹 소계 롤업(품목 합계 = 그룹 소계, 10건)통과(반올림 오차 0.01 이내)
조회 조건 전달 — 분석축·그룹 필터, 총변동 내림차순 정렬(Edm.Decimal 숫자 비교) 확인확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출0건
화면 렌더링 — 실브라우저에서 조회 → 분석축 전환 → 탭 전환 → 행 클릭 상세까지 실동작 후 캡처4/4
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내확인

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

자주 묻는 질문

이 화면은 언제부터, 어느 범위에 적용할 수 있습니까

특정 회계기준의 시행일이 걸린 화면이 아니라 상시 운영되는 관리 목적의 조회·분석 화면입니다. 별도의 시행일·경과규정은 없으며, 조회 가능한 연도는 원천 데이터가 있는 기간으로 한정됩니다.

순수 판매수량 변동과 믹스 변동은 왜 나눕니까

여러 품목의 수량이 동시에 바뀌면 전체 물량이 늘어난 효과와, 마진율이 다른 품목 쪽으로 판매 비중이 옮겨간 효과가 섞여 보입니다. 두 요인을 나누면 어느 쪽이 마진 변동의 실제 원인인지 더 분명해집니다.

화면의 색상 표시는 최종 결론입니까

아닙니다. 이 화면은 분류·집계·대사를 돕는 조회·점검 도구이며, 색상은 증가·감소 방향을 보여줄 뿐입니다. 변동의 원인에 대한 최종 판단은 회사와 감사인이 합니다.

CSV로 받은 데이터를 그대로 다른 보고서에 반영해도 됩니까

CSV는 현재 조회 조건의 품목별 상세를 그대로 내려받는 참고용 파일입니다. 반영 전에는 관련 부서의 확인 절차를 거치는 것을 권장합니다.

마진이 줄어든 진짜 이유를 요인별로 먼저 가려보세요

매출·마진 합계만으로는 가격·수량·믹스·원가 중 무엇이 실제 원인인지 보이지 않습니다. 화면에서 요인별 브릿지를 미리 대사해 두면 점검 우선순위를 정하기가 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

수익성 분석마진 믹스가격 수량 원가 분해공헌이익믹스 변동OpenUI5
관련 글차이점
SAP 제품별 공헌이익 분석 점검제품별 손익을 나열해 손실·저마진을 가려냄 — 이 화면은 전기 대비 변동을 가격·수량·믹스·원가로 분해
SAP 고객별 공헌이익 점검고객별 손익을 나열해 저마진 거래를 가려냄 — 이 화면은 고객군 축으로도 요인 분해 브릿지를 제공