솔루션 홈
재무분석

SAP 재무제표 핵심 항목 다기간 추세 점검 — 석 달 연속 내려간 항목부터 먼저 본다

매출·이익·자산·부채·자본 핵심 항목의 월별 증감을 12개월 구간으로 추적하고, 구간 증감 합계를 최종−최초 금액과 대사합니다

재무제표의 핵심 항목이 한두 달 줄어드는 것은 흔한 일입니다. 문제는 그 하락이 몇 달째 이어지고 있는지가 월별 보고서만 봐서는 잘 드러나지 않는다는 점입니다. 이번 달 숫자만 보면 여전히 "소폭 감소" 수준이라, 계절적 변동인지 추세적 하락인지 판단하기가 쉽지 않습니다.

매출·매출총이익·영업이익·총자산·총부채·자기자본 6개 핵심 항목을 법인별로 12개월 연속 추적해 전월 대비 증감을 계산하고, 하락이 3개월 이상 이어지면 자동으로 표시하는 화면을 OpenUI5로 구현했습니다. 구간 전체의 증감액 합계를 최종기−최초기 금액과 대사해 데이터 정합성까지 함께 확인합니다. 실제 구동 화면 4종을 함께 공개합니다.

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

  • 재무제표 조회 — 재무제표 버전(FSV) 구조와 표준 재무제표 조회(S_ALR_87012284)의 항목 체계를 그대로 사용
  • 표준 화면 — 계정별 월별잔액 조회(FS10N) · 총계정원장 라인아이템 표시(FAGLL03)
항목내용
업무 영역재무회계(FI) · 재무 분석
관련 기준서- (대상 영역: 재무 분석 - 핵심 항목 다기간 추세 점검)
Namespacezui5.fstrend
셸 구조조회조건 영역(우측 조회) + 탭(추세 조회/법인별 집계), 상세 Dialog
화면 수조회 화면 1개(탭 2개) + 상세 다이얼로그
SAP 표준 T-codeS_ALR_87012284 · FS10N · FAGLL03 (§7 참고)
성격조회·집계·대사형 — 추세 원인 판단과 회계적 결론은 회사·감사인 몫
UI 테마sap_horizon 단일 적용

실제 화면 4종 둘러보기

법인·기간·항목분류를 골라 조회하면 12개월 추세 목록이 뜹니다 → 추세판정을 "점검 필요"로 좁혀 연속 하락 항목만 추려보고 → 법인별 집계 탭에서 법인 단위 요약을 확인 → 행을 클릭하면 구간 증감 대사 상세가 다이얼로그로 열립니다.

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

Main.view.xml
재무제표 핵심 항목 다기간 추세 점검 메인화면
추세 조회 — 조회조건 영역 오른쪽 끝에 조회·초기화 버튼이 있고, 법인·항목별 12개월 금액·증감액·증감율·연속감소·추세판정이 함께 표시됩니다.
점검 필요 필터
추세판정을 점검 필요로 필터링한 결과 화면
점검 필요 필터 — 추세판정을 "점검 필요"로 좁히면 연속 3개월 이상 하락한 항목만 남아, 어느 법인의 어느 항목을 먼저 봐야 할지 바로 드러납니다.
법인별 집계
법인별 집계 탭 화면
법인별 집계 — 법인마다 점검항목 수·점검필요 항목·최대 연속감소개월수를 한 줄 요약으로 보여줍니다.
추세 상세
행 클릭 시 열리는 추세 상세 다이얼로그
추세 상세 — 행을 클릭하면 구간 증감 대사식과 12개월 전체 추세표가 다이얼로그로 열립니다.

조작 방법

  1. 법인 · 시작기간 · 종료기간 · 항목분류 · 추세판정을 지정합니다.
  2. 입력 필드에서 Enter 키를 누르거나 조회조건 영역 오른쪽 끝의 조회 버튼을 누르면 재조회됩니다. 초기화 버튼은 조건을 기본값(최근 12개월)으로 되돌립니다.
  3. 항목분류·추세판정을 "전체"로 두면 해당 조건 없이 조회합니다.
  4. 추세 조회 탭의 행을 클릭하면 구간 증감 대사 상세 다이얼로그가 열립니다.
  5. 추세 조회 탭 우측 상단의 CSV 내려받기 버튼으로 현재 조회된 목록을 내려받을 수 있습니다.

연속 감소 추세 판정 로직

항목별로 전월 대비 증감액을 계산해 연속 하락 개월 수를 누적하고, 3개월 이상 이어지면 점검 대상으로 표시합니다.

판정 조건결과 상태사용자 조치
전월 대비 증감액 ≥ 0정상연속감소 카운트 0으로 초기화, 별도 조치 불필요
전월 대비 증감액 < 0, 연속 1~2개월정상(관찰 구간)다음 달 추이 관찰
전월 대비 증감액 < 0, 연속 3개월 이상점검 필요하락 사유를 원천 데이터·사업 현황과 함께 확인

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

연속 하락의 사업적 원인(수요 감소, 일회성 비용, 환율 변동 등)은 이 화면이 판단하지 않습니다. 이 화면은 항목별 다기간 증감을 조회·점검하는 도구이며, 추세의 원인 판단과 회계적 결론은 회사와 감사인이 수행합니다.

추세·대사 산출 처리 단계

단계내용
1단계법인×항목×기간 조합별 당기금액을 확보
2단계전기금액과 비교해 증감액·증감율을 계산
3단계증감액이 음수면 연속감소 카운트를 +1, 아니면 0으로 초기화
4단계연속감소 ≥ 3이면 "점검 필요", 아니면 "정상"으로 추세판정
5단계2기~N기 증감액 합계를 (최종기금액−최초기금액)과 대사
구간증감 합계(2기~N기) = 최종기 금액 - 최초기 금액
증감율(%) = 증감액 ÷ 전기금액 × 100
연속감소개월수(N기) = 증감액(N기) < 0 ? 연속감소개월수(N-1기) + 1 : 0

조회조건

필드필수설명
법인선택법인 코드 일치 검색(미입력 시 전체)
시작기간 · 종료기간선택YYYYMM, 기본값 최근 12개월
항목분류선택전체/수익성/자산/부채/자본(전체 선택 시 조건 미전달)
추세판정선택전체/정상/점검 필요, Enter 키로 바로 조회

결과 컬럼

컬럼설명
법인 · 법인명 · 항목명 · 항목분류조회 대상 법인과 재무 항목
회계기간YYYY-MM 표시
금액 · 증감액 · 증감율당기금액과 전기 대비 증감액·증감율(%)
연속감소 · 추세판정직전 하락이 이어진 개월 수와 정상/점검 필요 판정

SAP 표준 기능 매핑

SAP 표준 T-code연관 기능
S_ALR_87012284재무제표 버전 조회 — 항목 체계·계층 구조 참고
FS10N계정별 월별잔액 조회 — 항목별 월별 잔액 원천 참고
FAGLL03총계정원장 라인아이템 표시 — 증감 근거 전표 확인 시 참고

분석 지표 정의표

지표명산출식판정 기준원천 데이터
증감율(당기금액−전기금액)÷전기금액×100참고용 표시 지표법인×항목×기간별 잔액
연속감소개월수직전월 대비 하락이 끊기지 않고 이어진 개월 수3개월 이상 → 점검 필요법인×항목×기간별 잔액
구간 대사차이Σ(2기~N기 증감액) − (최종기금액−최초기금액)0이 아니면 정합성 확인 필요법인×항목별 최초기·최종기 잔액

도입 시 확인이 필요한 부분

연속감소 판정의 기준 개월 수(현재 3개월)와 대상 항목 범위는 회사의 관리 목적에 맞춰 조정해야 합니다.

참고 CDS 뷰

운영 서비스로 연결할 때를 가정해 새로 스케치한 집계 뷰 예시입니다(운영 반영 시 권한 체크를 추가해야 합니다).

@AbapCatalog.sqlViewName: 'ZIFSTRENDBAL'
define view Z_I_FsTrendBalance
  as select from glt0 as Balance
    association [1..1] to ska1 as _Account on _Account.saknr = Balance.saknr
    association [1..1] to t001  as _Company on _Company.bukrs = Balance.bukrs
{
  key Balance.bukrs    as CompCode,
  key Balance.saknr    as GlAccount,
  key Balance.rprct    as FiscalPeriod,
      Balance.hslvt     as Amount,
      _Account.txt20    as ItemNameRaw,
      _Company.butxt    as CompName
}
// 항목분류(수익성/자산/부채/자본)는 계정 그룹 매핑 테이블로 별도 관리

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 Toolbar + IconTabBar(2탭)
조회조건sap.m.Input · sap.m.Select — 우측 끝에 조회 버튼, Enter 키로 즉시 재조회
추세 조회 · 법인별 집계sap.ui.table.Table / sap.m.Table(각 엔티티셋에 개별 바인딩) — 추세 조회 행 클릭 시 상세 다이얼로그
상세sap.m.Dialog — 선택 행의 바인딩 컨텍스트와 구간 대사 엔티티를 함께 표시
공통 처리전역 오류 처리기(ErrorHandler) — 메타데이터·요청 실패를 메시지로 표시

서비스 경로는 manifest.jsondataSources 에 상대 경로로 선언한 OData V2 모델을 그대로 바인딩하며, 조회조건은 sap.ui.model.Filter 로 조립해 $filter 로만 전달합니다. 기간 범위는 FiscalPeriod 에 대한 이상·이하 조건으로 처리하고, 조건을 "전체"로 둘 때는 필터를 아예 생성하지 않습니다.

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon
Component.js컴포넌트 초기화, 전역 오류 처리기 연결
manifest.json앱 디스크립터 — zui5.fstrend · OData dataSources · ko 로케일
view/Main.view.xml조회조건 + 탭(추세 조회/법인별 집계)
view/DetailDialog.fragment.xml추세 상세·구간 증감 대사 다이얼로그
controller/Main.controller.js조회·필터 조립·다이얼로그 로직
controller/BaseController.js공통 처리(CSV 내려받기 등)
model/ErrorHandler.js전역 오류 처리
model/formatter.js금액·증감율·판정상태 서식
i18n/i18n_ko.propertiesko 로케일 리소스

검증 환경 구성 상세는 이 글에서 다루지 않습니다. 운영 전환 시에는 화면과 판정 로직은 그대로 두고 데이터 계층만 실제 서비스 호출에 맞추면 됩니다.

검증 결과

화면 구성에 쓴 데이터는 구간 증감 합계와 최종−최초 금액 관계가 항상 검증되도록 구성했습니다.

검증 항목결과
대사식 전수 검증(구간 증감 합계=최종−최초 금액, 12개 법인×항목 조합)통과(차이 0건, 의도적 연속감소 표본 2건 별도 표시)
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출0건
화면 렌더링 — 실브라우저에서 조회 → 필터 → 탭 전환 → 행 클릭 상세까지 실동작 후 캡처4/4
조회 버튼 위치 · sap_horizon 테마 적용 · Enter 키 조회확인
OData 계약 — 동사 경로 미사용, $filter·$orderby·$top·$inlinecount 로만 조회조건·페이징 전달확인

화면 수치는 모두 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 화면은 언제부터, 어떤 범위에 사용할 수 있나요?

별도의 법정 시행일은 없습니다. 재무제표 핵심 항목이 월별로 집계되는 법인이라면 범위 제한 없이 바로 사용할 수 있는 관리 목적의 조회·점검 화면입니다.

"점검 필요" 표시는 회계상 오류가 확정되었다는 뜻인가요?

아니요. 3개월 이상 연속 감소했다는 사실만을 표시하는 조회·점검 도구이며, 하락의 원인 판단과 회계적 결론은 회사와 감사인이 수행합니다.

화면에서 보이는 데이터는 실제 운영 데이터인가요?

아니요. 이 글과 화면 캡처에 쓰인 수치는 화면 동작과 대사 로직을 확인하기 위해 구성한 검증용 샘플 데이터이며, 실제 재무 데이터가 아닙니다.

구간 증감 대사는 어떻게 계산되나요?

조회 구간의 2번째 기간부터 마지막 기간까지 전월 대비 증감액을 모두 더한 값과, (최종기 금액 − 최초기 금액)을 비교합니다. 두 값이 같으면 "일치", 다르면 "확인 필요"로 표시됩니다.

연속 하락 항목을 매번 눈으로 훑고 계신가요

핵심 항목별 추세를 미리 추적해 두면, 몇 달째 이어지는 하락을 놓치지 않고 바로 짚어낼 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

재무분석재무제표다기간추세연속감소증감율추세점검구간대사OpenUI5