솔루션 홈
자금 분석

SAP 자금흐름 예측 대사 조회 — 계획과 실적, 은행잔고까지 한 화면에서 맞춰본다

현금분류별 계획·실적 금액을 대사하고, 기초잔고-입금-출금-기말잔고 롤포워드까지 함께 점검합니다

자금 계획은 세워두지만, 기간이 지난 뒤 "계획대로 들어오고 나갔는지"를 현금분류별로 다시 맞춰보는 화면은 따로 없는 경우가 많습니다. 그래서 회계연도·기간별 자금 유입·유출 계획과 실적을 수금·지급·차입금상환·기타 네 가지 현금분류로 대사하고, 은행잔고를 기초잔고-입금-출금-기말잔고 순서로 롤포워드하는 화면을 OpenUI5로 구현했습니다.

계획과 실적의 차이금액, 그리고 은행잔고 장부값과 계산값의 차이를 함께 보여주어 확인이 필요한 기간을 바로 가려낼 수 있습니다. 표준 현금포지션·자금계획 조회 기능이 담당하는 조회 위에, 계획 대비 실적 대사와 잔고 롤포워드 검증 층을 더한 셈입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 현금포지션 조회 — 현금포지션 조회(FF7A)의 은행 계좌별 잔고 조회 관점을 은행잔고 롤포워드 탭에 그대로 이어받습니다
  • 자금계획현황 — 자금계획현황 조회(FF63)의 계획·실적 비교 관점을 카테고리별 예측·실적 탭으로 확장합니다
항목내용
업무 영역재무(FI) · 자금관리
Namespacezui5.cashfcst
셸 구조조회조건 영역(우측 조회) + 대사 요약 KPI 4종 + 탭 3개, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 3개) + 상세 다이얼로그
SAP 표준 T-codeFF7A · FF63
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·점검형 — 차이 원인 판단은 담당자가 수행
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

기본 조건으로 조회하면 요약 KPI와 카테고리별 예측·실적 탭이 뜹니다 → 은행잔고 롤포워드 탭에서 기간별 잔고 대사를 보고 → 문서별 상세에서 행을 클릭해 상세를 봅니다.

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

메인 화면
자금흐름 예측 대사 조회 메인 화면 — 조회조건과 요약 KPI, 카테고리별 탭
메인 화면 — 조회조건 · 요약 KPI(계획금액·실적금액·차이금액·차이율 합계) · 카테고리별 예측·실적 탭이 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
은행잔고 롤포워드
은행잔고 롤포워드 탭 — 기간별 기초잔고·입금·출금·기말잔고 대사
은행잔고 롤포워드 — 기초잔고+입금실적−출금실적로 계산한 기말잔고와 장부상 기말잔고를 기간별로 대사합니다. 차이가 있는 기간만 차이 컬럼에 값이 표시됩니다.
문서 상세
문서별 상세 탭 행 클릭 시 열리는 문서 상세 다이얼로그
문서 상세 — 문서별 상세 탭에서 행을 클릭하면 거래처·만기일·계획금액·실적금액·정산일·상태가 다이얼로그로 펼쳐집니다.

사용 방법

  1. 화면에 들어오면 기본 조건(최근 회계연도·전체 기간)으로 자동 조회가 1회 실행되어 요약 KPI와 세 개 탭이 함께 채워집니다.
  2. 조회조건 영역에서 회계연도(필수)·기간(시작/종료, 필수)·현금분류(선택, 기본값 전체)를 지정합니다.
  3. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 조회조건 영역 어디서든 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 조회 버튼 바로 왼쪽에 있습니다.
  4. 상단 카드에서 계획금액 합계 · 실적금액 합계 · 차이금액 합계 · 차이율을 먼저 확인합니다.
  5. 탭을 옮겨 카테고리별 예측·실적 → 문서별 상세 → 은행잔고 롤포워드 순으로 봅니다.
  6. 문서별 상세 탭에서 행을 클릭하면 해당 문서의 상세 정보가 다이얼로그로 열립니다.
  7. 문서별 상세 탭 우측 상단의 CSV 내려받기(UTF-8 BOM)로 현재 조회 결과를 저장합니다.

예측·실적 대사 판정 규칙

판정 조건결과 상태사용자 조치
카테고리별 차이금액(계획−실적) = 0정상조치 불요
카테고리별 차이금액 ≠ 0확인 필요계획 대비 실적 차이 사유를 확인
은행잔고 기말잔고(장부) − 계산 기말잔고 ≠ 0확인 필요미기표 거래·수수료 등 차이 원인을 확인
문서 상태 = 기한초과확인 필요정산 지연 사유를 확인

위 기준은 조회·점검을 돕기 위한 것이며, 실제 원인 판단과 조치는 화면이 단정하지 않고 회사 담당자와 감사인이 확인합니다.

자금흐름 대사 처리 단계

단계내용
1단계조회조건(회계연도·기간·현금분류)을 입력
2단계문서별 계획·실적 금액을 현금분류별로 집계해 카테고리별 예측·실적을 산출
3단계카테고리별 계획금액과 실적금액의 차이금액·차이율을 계산
4단계입금 실적(수금+기타)과 출금 실적(지급+차입금상환)을 기간별로 합산
5단계기초잔고+입금실적−출금실적로 계산 기말잔고를 산출하고 장부상 기말잔고와 대사

조회조건

필드필수설명
회계연도필수조회할 회계연도(YYYY)
기간(시작/종료)필수회계기간 범위(001~012)
현금분류선택수금 · 지급 · 차입금상환 · 기타 — 전체면 조건 제외

결과 컬럼

컬럼설명
현금분류 · 계획금액 · 실적금액 · 차이금액 · 차이율(%)카테고리별 예측·실적 탭
문서유형 · 문서번호 · 거래처 · 만기일 · 계획금액 · 실적금액 · 정산일 · 상태문서별 상세 탭
기간 · 기초잔고 · 입금실적 · 출금실적 · 기말잔고(장부) · 계산 기말잔고 · 차이은행잔고 롤포워드 탭

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 대사·검증 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
FF7A현금포지션 조회계좌별 잔고 조회 위에 기초-입금-출금-기말 롤포워드 대사를 더합니다
FF63자금계획현황 조회계획·실적 비교를 현금분류별 차이금액·차이율 중심으로 재구성합니다

분석 지표 정의표

대상 영역지표정의원천 데이터
자금 분석계획 대비 차이금액계획금액 − 실적금액문서별 상세 집계
자금 분석차이율차이금액 ÷ 계획금액 × 100카테고리별 예측·실적
자금 분석은행잔고 차이기말잔고(장부) − 계산 기말잔고입금·출금 실적 집계

참고 CDS 뷰

원천 테이블주요 필드쓰임
BSIDKUNNR · NETDT · DMBTR고객 미결 항목 — 수금 계획의 원천
BSIKLIFNR · NETDT · DMBTR공급업체 미결 항목 — 지급 계획의 원천
BSEGDMBTR · AUGDT정산 전표 — 실적 금액·정산일의 원천
define view entity I_CashForecast
  as select from bsid as Ar
{
  key ar.bukrs   as CompanyCode,
  key ar.gjahr   as Gjahr,
      ar.netdt   as DueDate,
      ar.dmbtr   as PlanAmount
}

필드 매핑은 검증용 샘플 데이터 기준 스케치이며, 실제 회사 계정 구조가 아닙니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 요약 KPI · IconTabBar 3개 탭
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 useBatch:false · defaultCountMode:"Inlinecount" 로 구성합니다. 화면 블록마다 해당 엔티티셋에 직접 바인딩합니다
문서별 상세 탭sap.ui.table.Table — 셀 클릭으로 상세 다이얼로그를 엽니다
카테고리별·잔고 탭sap.m.Table 2개
조회조건sap.ui.model.Filter 로 조립해 바인딩에 적용합니다. 같은 필드(기간 시작·종료)의 조건은 하나의 AND 복합 Filter 로 묶어 전달합니다. 전체를 고른 현금분류는 필터를 만들지 않습니다
예외 메시지메타데이터 실패·요청 실패를 구분해 안내하는 전용 처리기

파일 구성

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

검증 결과

검증용 샘플 데이터(3개 회계연도 × 12개 기간 × 4개 현금분류)를 기준으로 대사식을 전수 검증했습니다. 은행 수수료 등 미기표 거래로 장부 기말잔고와 계산 기말잔고가 달라지는 예외 사례 2건을 의도적으로 포함했습니다.

검증 항목결과
카테고리별 계획−실적=차이금액 (144건 전수)통과(불일치 0건)
문서별 상세 → 카테고리 집계 롤업 일치 (288건 전수)통과(불일치 0건)
은행잔고 기초+입금−출금=계산기말잔고 및 기간 연속성 (36건 전수)통과(의도적 예외 2건 제외 불일치 0건)
조회 조건 전달 — 회계연도·기간·현금분류 필터 · 정렬 · 총건수 표시확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현0건
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지확인

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

자주 묻는 질문

이 화면은 어떤 기간의 데이터를 다루나요?

조회조건으로 지정한 회계연도·기간 범위의 계획·실적 데이터를 다룹니다. 검증에 쓴 샘플 데이터는 여러 회계연도, 각 연도 1~12기간을 포함합니다.

화면에 표시되는 "확인 필요"는 오류를 의미하나요?

아닙니다. 이 화면은 분류·집계·대사 결과를 보여주는 조회·점검 도구이며, "확인 필요"는 계획과 실적, 또는 장부와 계산값 사이에 차이가 있다는 뜻일 뿐입니다. 차이의 원인 판단과 최종 처리는 회사 담당자와 감사인이 수행합니다.

은행잔고 롤포워드에서 차이가 발생하면 어떻게 하나요?

문서별 상세 탭에서 해당 기간의 미정산·부분정산 건을 먼저 확인하고, 미기표 거래(수수료·이자 등) 여부를 점검하는 것을 권장합니다. 이 화면은 조회·점검만 지원하며 자동으로 원인을 판정하지 않습니다.

CSV 내려받기는 어떤 데이터를 포함하나요?

문서별 상세 탭에서 현재 조회조건으로 필터링된 목록을 그대로 CSV(UTF-8 BOM)로 내려받습니다. 파일명은 한글 기능명으로 저장됩니다.

자금 계획과 실적, 은행잔고까지 한 번에 맞춰 보세요

기간이 끝난 뒤에야 계획과 실적 차이를 알게 되면 대응이 늦어집니다. 현금분류별 대사와 은행잔고 롤포워드를 한 화면에서 먼저 확인해 두면, 자금 담당자의 점검 주기를 앞당길 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

자금흐름 예측은행잔고 대사자금 분석재무(FI)OpenUI5