솔루션 홈
FBCJ · 자금

SAP 현금출납장 조회 — 금고에 있어야 할 돈과 실제로 있는 돈

영업일 단위 현금 입출금과 개시-마감 잔액 체인을 조회하고, 실사 금액과의 과부족을 확인하는 화면입니다.

현금은 장부와 실물이 매일 맞아야 하는 유일한 자산입니다. 다른 자산은 월말에 확인해도 되지만 현금은 하루만 지나도 원인을 찾기 어려워집니다.

어제 마감 잔액이 오늘 개시 잔액이 되고, 거기에 입출금을 더하고 빼면 오늘 마감 잔액이 나옵니다. 이 체인이 끊기면 그 지점에 문제가 있습니다. 실사 금액까지 함께 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 현금출납장 — 출납장 코드(CashJournal)와 명칭
  • 영업일 — 거래 일자(Busdate)
  • 잔액 — 개시 잔액(OpeningBalance)과 마감 잔액(ClosingBalance)
  • 입출금 — 입금 합계(TotalReceipts)와 출금 합계(TotalPayments)
  • 통화 — 출납장 통화(Currency)
항목내용
기반 T-codeFBCJ (현금출납장)
업무 영역자금(TR) · 현금 관리
Namespacezui5.cashjournal
셸 구조조회조건 영역(우측 조회·초기화) + 일자별 잔액 체인 + 전표 상세
화면 수조회 화면 1개 + 일자별 상세
데이터일자 헤더 54건 · 전표 라인 299건
성격조회형(Read-Only) — 현금 전기는 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·출납장·기간으로 조회하면 일자별 잔액이 나옵니다 → 개시에서 마감까지 체인을 따라가고 → 실사 차이가 난 날을 확인합니다.

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

FBCJ — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·현금출납장·기간을 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
FBCJ — 잔액 체인
일자별 개시·입금·출금·마감
일자별 개시·입금·출금·마감 — 영업일마다 개시 잔액·입금 합계·출금 합계·마감 잔액이 이어집니다. 실사 금액과 차이가 있는 날은 상태 색으로 구분됩니다.
FBCJ — 전표 상세
일자 선택 시 라인아이템
일자 선택 시 라인아이템 — 그 날의 현금 전표가 계정·적요·금액과 함께 펼쳐집니다.

조작 방법

  1. 회사코드현금출납장을 고릅니다. 사업장마다 별도 출납장을 두는 경우가 많습니다.
  2. 기간을 영업일 기준으로 지정합니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 개시 잔액이 전일 마감 잔액과 같은지 확인합니다.
  5. 마감 잔액과 실사 금액의 차이를 봅니다.
  6. 차이가 난 날을 선택해 전표 상세로 내려갑니다.
  7. 결과는 CSV 다운로드로 내려받아 현금 관리 기록으로 씁니다.

잔액 체인 규칙

날마다 이어지는 사슬이 끊기지 않아야 합니다.

마감 잔액 = 개시 잔액 + 입금 합계 − 출금 합계

체인 검증  당일 개시 잔액 = 전일 마감 잔액
           어긋나면 그 지점에 누락 또는 소급 전기

과부족 = 실사 금액 − 마감 잔액
  양수  →  실제 현금이 더 많음 (수입 누락 의심)
  음수  →  실제 현금이 부족 (지출 누락 또는 분실)

마감 잔액은 음수가 될 수 없음

개시 잔액을 전일과 대조하는 이유

마감 잔액만 맞으면 그날은 문제없어 보입니다. 그런데 지난 날짜에 소급 전기가 들어가면 그날 마감이 바뀌어 다음 날 개시와 어긋납니다. 체인을 검증하면 언제 소급 처리가 있었는지 그 지점이 드러납니다.

현금 과부족의 네 가지 원인

원인상황과부족 방향
전표 누락지출했는데 전기 안 함실사가 부족
영수증 미처리받았는데 기록 안 함실사가 초과
금액 오기전표 금액이 실제와 다름방향 무관
분실·오차거스름 오차나 분실대개 부족

조회조건

필드필수설명
회사코드 Bukrs필수대상 법인
현금출납장 CashJournal필수출납장 코드
기간 Busdate필수영업일 From~To
통화 Currency선택출납장 통화
상태선택전체 / 과부족 발생일만

결과 컬럼

일자별 요약

컬럼의미 · 표시
회사코드 Bukrs대상 법인
현금출납장 CashJournal · CashJournalText출납장과 명칭
영업일 Busdate거래 날짜
통화 Currency출납장 통화
개시 잔액 OpeningBalance전일 마감 이월
입금 합계 TotalReceipts당일 입금
출금 합계 TotalPayments당일 출금
마감 잔액 ClosingBalance개시 + 입금 − 출금
실사 금액 · 과부족실물 대조 결과. 차이 시 경고 색

전표 상세

컬럼의미
전표번호현금 전표
계정 · 적요거래 내용
입금 · 출금 금액거래 금액
거래처 · 담당자상대와 처리자

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBCJ현금출납장잔액 체인 검증과 실사 대조를 추가
FBCJC0현금출납장 설정출납장 정의
TCJ_DOCUMENTS현금출납장 전표조회 원천
TCJ_BALANCES현금출납장 잔액일자별 잔액
BKPF · BSEG회계 전표전기 결과

도입 시 확인이 필요한 부분

실사 금액을 어디에 기록할지 정해야 합니다. 표준 현금출납장에는 실사 금액 필드가 없어 별도 테이블이나 입력 화면이 필요합니다. 실사를 매일 하는지 주 단위로 하는지에 따라 과부족을 보는 주기도 달라집니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCCASHJRNL'
@EndUserText.label: '현금출납장 (Z)'
define view Z_C_CASH_JOURNAL
  as select from tcj_balances as Bal
    left outer join tcj_c_journals as Journal on Bal.bukrs = Journal.bukrs
                                            and Bal.cajo_number = Journal.cajo_number
{
  key Bal.bukrs,
  key Bal.cajo_number as CashJournal,
  key Bal.busdate     as Busdate,
      Journal.cajo_name as CashJournalText,
      Bal.currency      as Currency,
      Bal.open_balance  as OpeningBalance,
      Bal.receipts      as TotalReceipts,
      Bal.payments      as TotalPayments,
      Bal.close_balance as ClosingBalance
      // 마감 = 개시 + 입금 − 출금, 체인 검증은 전일 마감과 대조
      // 실사 금액과 과부족은 별도 실사 테이블과 조인
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 잔액 테이블 · 전표 상세
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
잔액 테이블sap.m.Table — 영업일순, 개시→마감 순서로 열 배치
과부족 표시sap.m.ObjectStatus — 일치 / 과부족
전표 상세일자 선택 시 하단에 라인아이템 펼침

일자에서 전표로 바로 내려가게 한 이유

과부족이 생긴 날을 찾았으면 그날 거래를 봐야 원인이 나옵니다. 다른 화면에서 날짜로 다시 조회하면 흐름이 끊깁니다. 행을 누르면 그 날 전표가 바로 펼쳐지면 찾는 과정이 한 화면에서 끝납니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.cashjournal) · ko 로케일
view/Main.view.xml조회조건 · 잔액 테이블 · 전표 상세
controller/Main.controller.js조회 · 체인 검증 · 과부족 계산 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 색 포맷터
localdata/cjheader.json일자 헤더 54건
localdata/cjitem.json전표 라인 299건

검증 결과

검증 항목결과
마감 잔액 = 개시 + 입금 − 출금 (전 일자)통과
당일 개시 잔액 = 전일 마감 잔액통과
전표 라인 합계 = 일자별 입금·출금 합계통과
마감 잔액이 음수가 아님통과
출납장 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

과부족이 조금씩 계속 나는데요?

거스름 오차라면 금액이 작고 방향이 무작위입니다. 한쪽으로 계속 치우치면 처리 규칙에 문제가 있거나 누락이 반복되는 것입니다.

체인이 끊기면 무엇을 보나요?

그 날짜에 소급 전기가 있었는지 확인합니다. 지난 날짜로 전표를 넣으면 그날 마감이 바뀌어 다음 날 개시와 어긋납니다.

현금을 쓰지 않는 회사도 필요한가요?

소액 경비나 전도금이 있으면 필요합니다. 규모가 작아도 현금은 관리 위험이 커서 별도 확인 절차를 두는 것이 안전합니다.

SAP 표준 기능과 어떻게 이어지나요?

현금 전기와 잔액 관리는 표준 현금출납장이 담당합니다. 이 화면은 잔액 체인을 검증하고 실사 과부족을 함께 보여 주며 전표까지 이어지게 한 확장입니다.

현금 관리, 지금 쓰는 SAP 위에서 확장해 보세요

체인이 끊긴 날이 바로 보이면 원인 추적이 당일에 끝납니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

현금출납장현금시재FBCJ실사차이개시잔액마감잔액OpenUI5