솔루션 홈
수익성 분석

SAP 공헌이익·손익분기 분석 점검 — 매출이 늘어도 손익분기를 넘겼는지부터 본다

제품군별 매출이 늘어도 손익분기 매출액을 넘기지 못하면 영업이익은 그대로입니다. 공헌이익 구조를 먼저 세우고 손익분기 매출액과 안전마진율로 갈라봤습니다

공헌이익(Contribution Margin)은 매출에서 매출 규모에 비례하는 변동비만 뺀 값입니다. 여기서 고정비를 더 차감하면 영업이익이, 고정비를 공헌이익률로 나누면 손익분기 매출액이 나옵니다. 제품군별 매출이 늘었다고 해서 반드시 영업이익이 느는 것은 아니며, 변동비율과 고정비 배분에 따라 같은 매출 증가도 손익분기 매출액을 넘기지 못하는 경우가 있습니다. 이 구조를 조회 화면으로 세워 손익분기 매출액과 안전마진율(매출이 손익분기 매출액을 얼마나 웃도는지)을 함께 계산했습니다.

제품군·기간별로 매출과 변동비를 집계해 공헌이익과 공헌이익률을 산출하고, 고정비 배분액을 반영한 영업이익과 손익분기 매출액·안전마진율을 계산합니다. 영업이익이 음수이면 “점검필요”, 영업이익은 양수이지만 안전마진율이 10% 미만이면 “확인필요”로 표시해 매출 변동에 취약한 세그먼트를 먼저 보게 했습니다. 기간을 넘나드는 손익분기 추이와 세그먼트별 변동비·고정비 구성 상세도 함께 확인할 수 있습니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 세그먼트 손익 조회 — 수익성분석 보고서 실행(KE30)의 매출·원가·이익 조회 구조를 그대로 이어받습니다
항목내용
업무 영역관리회계(CO) · 수익성 분석
관련 기준서-(대상 영역: 수익성 분석 — 공헌이익·손익분기 구조)
Namespacezui5.contmargin
셸 구조조회조건 영역(우측 조회) + KPI 4종 + 탭 2개, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 2개) + 상세 다이얼로그
SAP 표준 T-codeKE30
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·점검형 — 최종 판단은 회사가 수행
UI 테마sap_horizon 단일 적용
요약내용
무엇을 보나제품군·기간별 매출·변동비·공헌이익·공헌이익률·고정비 배분·영업이익·손익분기 매출액·안전마진율
어떤 기준으로영업이익 부호와 안전마진율(매출과 손익분기 매출액의 괴리율)
무엇을 가려내나손익분기 매출액 미달(점검필요), 안전마진율 10% 미만(확인필요)
추이 확인기간별 전사 매출·공헌이익·손익분기 매출액 합계를 별도 탭으로 확인

실제 화면 3종 둘러보기

기본 조건으로 조회하면 제품군별 공헌이익 표가 뜹니다 → 손익분기 추이 탭에서 기간별 합계를 보고 → 행을 클릭해 변동비·고정비 구성 상세를 봅니다.

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

제품군별 공헌이익
공헌이익 분석 메인 화면 — 조회조건, KPI 4종, 제품군별 공헌이익 표
메인 화면 — 조회조건 · KPI · 제품군별 공헌이익 표가 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
손익분기 추이
손익분기 추이 탭 — 기간별 매출·공헌이익·손익분기 매출액과 정상 아님 건수
손익분기 추이 — 기간별 전사 매출·공헌이익·손익분기 매출액과 정상 아님 건수를 모아 봅니다.
변동비·고정비 구성
행 클릭 시 열리는 변동비·고정비 원가요소 구성 상세 다이얼로그
행 클릭 상세 — 선택한 제품군·기간의 변동비·고정비 원가요소 구성 내역을 보여줍니다.

사용 방법

  1. 화면에 들어오면 서비스 정의가 로드되는 즉시 기본 조건(당해연도 001~009기)으로 자동 조회가 1회 실행됩니다.
  2. 조회조건 영역에서 회계연도 · 기간(부터~까지)(필수)를 입력하고 제품군(선택)을 고릅니다. “전체”로 두면 모든 제품군을 대상으로 합니다.
  3. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 같은 줄 왼쪽에 있습니다.
  4. KPI 4종(조회 세그먼트 · 정상 아님 건수 · 평균 공헌이익률 · 영업이익 합계)으로 전체 상태를 먼저 봅니다.
  5. 탭을 옮겨 ① 제품군별 공헌이익 → ② 손익분기 추이 순으로 확인합니다.
  6. ① 탭에서 행을 클릭하면 변동비·고정비 구성 내역을 담은 상세 다이얼로그가 열립니다.
  7. ① 탭 오른쪽 위 CSV 내려받기(UTF-8 BOM)로 현재 조회 결과를 저장합니다.

공헌이익·손익분기 판정 규칙

판정 조건결과 상태사용자 조치
영업이익 < 0 (매출이 손익분기 매출액에 못 미침)점검필요고정비 배분 기준과 변동비율 구성을 다시 확인하고, 손익분기 매출액 도달 계획을 점검
영업이익 ≥ 0 이지만 안전마진율 10% 미만확인필요매출 변동에 취약한 구간이므로 다음 기간 추이를 함께 확인
안전마진율 10% 이상정상별도 조치 불필요

고정비 배분 기준과 변동비율 구성은 회사 원가 정책에 따라 달라질 수 있는 가정입니다.

공헌이익·손익분기 산출 절차

단계내용
1단계제품군·기간별 매출·변동비 집계
2단계공헌이익 = 매출 − 변동비, 공헌이익률 = 공헌이익 ÷ 매출 × 100
3단계고정비를 제품군·기간 기준으로 배분
4단계영업이익 = 공헌이익 − 고정비 배분액
5단계손익분기 매출액 = 고정비 배분액 ÷ 공헌이익률, 안전마진율 = (매출 − 손익분기 매출액) ÷ 매출 × 100

조회조건

필드필수설명
회계연도필수4자리 연도
기간(부터~까지)필수3자리 기간(001~012)
제품군선택(기본 전체)미선택 시 전체 제품군 대상

결과 컬럼

컬럼설명
제품군 / 제품군명 / 연도 / 기간세그먼트 식별 정보
매출 / 변동비 / 공헌이익 / 공헌이익률공헌이익 손익 구조
고정비 배분 / 영업이익고정비 반영 후 손익
손익분기 매출액 / 안전마진율영업이익이 0이 되는 매출 수준과 현재 매출의 여유분
점검결과정상 / 확인필요 / 점검필요

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 손익분기·안전마진 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
KE30수익성분석(CO-PA) 보고서 실행세그먼트별 매출·원가 조회 구조를 이어받아 손익분기 매출액·안전마진율 산출과 판정을 더합니다

분석 지표 정의표

지표정의(산출식)대응 기능원천 데이터
공헌이익률(매출−변동비)÷매출×100제품군별 공헌이익 표ACDOCA 매출·변동비 계정
손익분기 매출액고정비÷공헌이익률제품군별 공헌이익 표, 손익분기 추이 탭ACDOCA 고정비 계정, CSKS 원가센터
안전마진율(매출−손익분기매출액)÷매출×100제품군별 공헌이익 표상동

참고 CDS 뷰

원천 테이블주요 필드쓰임
ACDOCARBUKRS · GJAHR · POPER · PRCTR · HSL유니버설 저널 — 매출·변동비·고정비 계정 실적
CSKS / CSKTKOSTL · KTEXT원가센터 마스터·명칭 — 고정비 배분 축
CSKBKSTAR · KTEXT원가요소 마스터 — 변동비/고정비 구성요소 분류
define view I_ContributionMarginAnalysis
  as select from acdoca as Doc
  association [1..1] to csks as _CostCenter on _CostCenter.kostl = Doc.kostl
{
  key Doc.rbukrs   as CompanyCode,
  key Doc.gjahr     as Gjahr,
  key Doc.poper     as Poper,
  key Doc.prctr     as ProdGroup,
      sum(Doc.hsl)  as Amount,
      _CostCenter
}
group by Doc.rbukrs, Doc.gjahr, Doc.poper, Doc.prctr

위 CDS 스케치는 이 화면의 원천 구조를 설명하기 위해 새로 작성한 예시입니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · KPI 4종 · IconTabBar 2개 탭
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 defaultCountMode:"Inline" · useBatch:false 로 구성합니다. 화면 블록마다 해당 엔티티셋에 직접 바인딩합니다
조회조건sap.ui.model.Filter 로 조립해 바인딩에 적용합니다. 전체를 고른 조건은 필터를 만들지 않습니다. 정렬은 sap.ui.model.Sorter
제품군별 공헌이익sap.ui.table.Table — cellClick 으로 상세를 엽니다
손익분기 추이 · 상세 구성 내역sap.m.List / sap.m.Table
예외 메시지메타데이터 실패·요청 실패·빈 결과를 구분해 안내하는 전용 처리기

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js모델 초기화, 예외 메시지 처리기 연결
manifest.json앱 디스크립터 — zui5.contmargin · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · KPI · 탭 2개
view/DetailDialog.fragment.xml변동비·고정비 구성 상세 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · KPI · 다이얼로그 · CSV
controller/BaseController.jsCSV 다운로드 공통 처리
model/formatter.js · model/ErrorHandler.js표시 서식·판정 상태 · 예외 메시지 처리
i18n/i18n_ko.properties화면 문구

검증 결과

검증용 샘플 데이터(가상 5개 제품군 · 21개 기간 · 세그먼트 105건 · 원가요소 630건)를 기준으로 대사식을 전수 검증했습니다.

검증 항목결과
매출 − 변동비 = 공헌이익 (105건)통과(차이 0)
공헌이익 − 고정비 배분 = 영업이익 (105건)통과(차이 0)
변동비/고정비 원가요소 합계 = 세그먼트 변동비/고정비 (105건 × 2)통과(차이 0)
세그먼트 합계(매출·공헌이익) = 손익분기 추이 전사 합계 (21개 기간)통과(차이 0)
점검 기능 확인용 의도적 예외(손익분기 미달로 구성한 세그먼트)21건 — 모두 “점검필요”로 판정, 예외 외 차이 0건
화면 KPI · 손익분기 추이 합계 = 검증 스크립트 결과일치
조회조건 전달 — 회계연도·기간·제품군 필터 · 정렬 · 총건수확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현0건
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다. 손익분기 판단을 포함한 최종 의사결정은 회사가 수행합니다.

자주 묻는 질문

공헌이익과 매출총이익(매출총손익)은 어떻게 다른가요?

매출총이익은 매출에서 매출원가(변동비와 고정 제조간접비를 포함)를 차감한 값인 반면, 공헌이익은 원가를 변동비와 고정비로 다시 구분해 매출에서 변동비만 차감한 값입니다. 이 화면은 손익분기·안전마진 분석을 위해 공헌이익 구조를 사용합니다.

손익분기 매출액에 못 미치는 세그먼트가 있으면 바로 철수해야 하나요?

그렇지 않습니다. 이 화면은 어느 세그먼트가 손익분기 매출액에 못 미치는지, 안전마진이 얼마나 되는지를 조회·점검하도록 돕는 도구입니다. 철수나 가격 조정 같은 최종 의사결정은 원가 구조와 성장 단계를 함께 고려해 회사가 판단합니다.

고정비는 어떤 기준으로 제품군에 배분하나요?

이 화면은 원가센터 단위로 집계된 고정비를 제품군·기간 기준으로 배분한 값을 그대로 사용합니다. 배분 기준(매출액 비례, 표준공수 비례 등)은 회사의 원가 배분 정책에 따라 달라질 수 있는 가정입니다.

데이터는 어디서 가져오나요?

화면은 OData 서비스 모델에 바인딩되어 조회조건에 맞춰 데이터를 불러옵니다. 이 글의 화면은 검증용 샘플 데이터를 기준으로 캡처했습니다.

공헌이익 구조로 손익분기 매출액부터 맞춰 보세요

제품군별 매출이 늘어도 손익분기를 넘기지 못하면 영업이익은 그대로입니다. 공헌이익률과 고정비 배분을 세워 손익분기 매출액과 안전마진율을 조회 화면에서 바로 확인할 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

공헌이익손익분기점안전마진율수익성 분석관리회계(CO)OpenUI5