솔루션 홈
FB08 · 전표 통제

SAP 전표 역분개 내역 조회 — 얼마나 늦게, 왜 취소했는가

취소된 전표를 사유별로 모으고 원전표에서 역분개까지 걸린 일수와 정정전표 작성 여부를 함께 확인하는 통제 화면입니다.

전표를 취소하는 일 자체는 문제가 아닙니다. 오타도 나고 중복 입력도 생깁니다. 문제는 취소가 늦을 때취소만 하고 정정을 안 했을 때입니다.

전기한 지 한 달 뒤에 취소하면 그 사이 결산과 보고가 잘못된 숫자로 나갑니다. 취소만 하고 올바른 전표를 다시 넣지 않으면 거래 자체가 장부에서 사라집니다. SAP 표준 역분개 구조를 그대로 이어받아 이 두 가지를 한 화면에서 걸러내도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.

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

  • 역분개 관계 — 원전표의 취소전표(STBLG) · 취소연도(STJAH) 표준 필드로 연결
  • 역분개 사유 — 표준 사유코드(STGRD) 체계를 그대로 사용
  • 전표 헤더 — 전표유형 · 전기일 · 증빙일 · 입력일시 · 등록자 · 헤더텍스트
  • 사용자 마스터 — USR01 기준으로 등록자·역분개자 이름 표시
  • 금액 — 전표 총액과 통화를 표준 구조 그대로
항목내용
대응 T-codeFB08 (전표 역분개)
업무 영역재무회계(FI) · 전표 통제
Namespacezui5.reversal
셸 구조조회조건 영역(우측 조회·초기화) + 역분개 내역 테이블
화면 수조회 화면 1개
데이터역분개 내역 56건 · 사용자 6건
성격조회형(Read-Only) — 역분개 실행은 표준 트랜잭션이 담당
UI 테마sap_horizon 단일 적용

실제 화면 2종 둘러보기

회사코드·귀속월·전표유형·역분개사유로 조회하면 취소된 전표가 모입니다 → 경과일수로 늦게 취소된 건을 가려내고 → 정정전표 열로 다시 넣지 않은 건을 확인합니다.

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

FB08 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·회계연도·귀속월 From~To·전표유형·역분개사유·역분개자를 한 화면에서 고릅니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
FB08 — 조회 결과
메인화면 — 역분개 내역
메인화면 — 역분개 내역 — 귀속월·원전표번호·작성자·전표금액·역분개전표·경과일수·역분개사유·정정전표가 한 줄로 이어집니다. 경과일수는 길수록 강조되고, 정정전표가 비어 있는 줄은 따로 표시돼 후속 조치가 남은 건이 드러납니다.

조작 방법

  1. 회사코드회계연도를 고릅니다. 전기와 당기를 오가며 비교할 수 있습니다.
  2. 귀속월 From~To로 기간을 잡습니다. 결산 대상 월을 좁혀 보는 데 씁니다.
  3. 전표유형역분개사유로 성격을 나눕니다. 자동 전표(KZ·DZ)의 취소는 성격이 다르므로 따로 봅니다.
  4. 역분개자로 특정 담당자의 취소 건만 추릴 수 있습니다.
  5. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  6. 경과일수가 큰 건과 정정전표가 빈 건을 먼저 확인합니다.
  7. 결과는 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.

지연·미정정 판정 규칙

취소 건을 두 가지 축으로만 봅니다. 늦었는가, 그리고 다시 넣었는가.

경과일수(DaysToReverse) = 역분개 전기일 − 원전표 전기일

경과일수가 클수록          →  강조 표시 (그 사이 보고가 잘못된 숫자로 나갔을 가능성)
정정전표(CorrectionBelnr) 없음  →  미정정 (취소만 하고 올바른 전표를 넣지 않음)

역분개사유  01 입력 오류 · 02 계정/코스트센터 오류 · 03 금액 오류
            04 중복 입력 · 05 거래 취소 · 99 기타(사유서 첨부)

경과일수를 핵심 지표로 둔 이유

취소 건수만 세면 "이번 달 12건" 으로 끝나고 아무 판단도 나오지 않습니다. 당일 취소는 사실상 무해하지만 25일 뒤 취소는 그 사이 월마감을 통과했다는 뜻입니다. 같은 12건이라도 경과일수 분포를 보면 통제가 작동하는지 아닌지가 드러납니다.

역분개 사유 6종과 후속 조치

사유에 따라 정정전표가 필요한지가 갈립니다. 거래 자체가 취소된 건은 다시 넣을 것이 없습니다.

사유내용정정전표후속 조치
01 입력 오류오타 · 오입력필요올바른 값으로 재작성
02 계정/코스트센터 오류귀속처를 잘못 지정필요정확한 귀속처로 재작성
03 금액 오류금액을 잘못 입력필요정정 금액으로 재작성
04 중복 입력같은 거래를 두 번 전기불필요중복분만 제거
05 거래 취소계약 파기 등 거래 자체가 없어짐불필요취소로 종결
99 기타위에 속하지 않는 사유사유별사유서 확인 후 판단

조회조건

필드필수설명
회사코드 Bukrs필수1000 한국법인 / 2000 해외법인
회계연도 Gjahr필수2025 전기 / 2026 당기
귀속월 From MonatFrom필수01~12월
귀속월 To MonatTo필수01~12월
전표유형 Blart선택전체 / SA 일반 / KR 매입송장 / DR 매출송장 / KZ 지급(자동) / DZ 입금(자동) / AB 결산
역분개사유 StGrund선택전체 / 입력 오류 / 계정·코스트센터 오류 / 금액 오류 / 중복 입력 / 거래 취소 / 기타
역분개자 UsnamText선택담당자 이름으로 검색

결과 컬럼

컬럼의미 · 표시
귀속월 Zzim원전표의 귀속 연월
원전표번호 Belnr취소된 전표의 번호
전표유형 Blart · BlartText코드와 텍스트
작성자 Usnam · UsnamText원전표를 만든 사용자
전표금액 TotalAmount · Waers전표 총액과 통화
역분개전표 Stblg · Stjah취소전표 번호와 연도
역분개 전기일 StBudat취소가 반영된 날
경과일수 DaysToReverse원전표 전기일부터 역분개까지의 일수. 클수록 강조
역분개사유 StGrund · StGrundText사유 코드와 명칭
역분개자 StUsnam · StUsnamText취소를 실행한 사용자
정정전표 CorrectionBelnr재작성한 전표 번호. 비어 있으면 미정정

SAP 표준 기능 매핑

역분개 실행은 표준 트랜잭션이 담당하고, 취소 관계도 표준 필드에 남습니다. 이 화면은 그 기록을 통제 관점으로 재구성합니다.

표준역할이 화면에서의 확장
FB08전표 역분개 실행실행 결과를 사유·경과일수 관점으로 모아 조회
FBRA반제 취소반제 취소 후 역분개 건도 같은 목록에서 추적
BKPF전표 헤더 — STBLG · STJAH · STGRD원전표와 취소전표를 연결하고 사유를 텍스트로 표시
T003T전표유형 텍스트유형별 성격 구분
USR01사용자 마스터작성자·역분개자 이름 표시
FB03 관점전표 조회원전표와 취소전표를 한 줄에서 대조

도입 시 확인이 필요한 부분

역분개 사유코드는 회사별로 정의합니다. 표준 코드를 그대로 쓰는 곳도 있고 자체 코드를 추가한 곳도 있어, 사유별 후속 조치 기준을 함께 정리해야 합니다. 또 정정전표를 원전표와 연결하는 방법(참조번호·지정·헤더텍스트 중 무엇)을 운영 규칙으로 정해야 미정정 판정이 정확해집니다.

참고 CDS 뷰

운영 서비스로 연결할 때는 원전표와 취소전표를 self join 으로 묶고 경과일수를 계산한 뷰를 제안합니다.

@AbapCatalog.sqlViewName: 'ZCREVERSAL'
@EndUserText.label: '전표 역분개 내역 (Z)'
define view Z_C_DOCUMENT_REVERSAL
  as select from bkpf as Origin
    inner join      bkpf  as Reversal on  Origin.bukrs = Reversal.bukrs
                                      and Origin.stblg = Reversal.belnr
                                      and Origin.stjah = Reversal.gjahr
    left outer join t003t as DocType  on  Origin.blart = DocType.blart
                                      and DocType.spras = 'K'
{
  key Origin.bukrs,
  key Origin.gjahr,
  key Origin.belnr,
      Origin.blart,
      DocType.ltext                as BlartText,
      Origin.budat                 as OriginBudat,
      Origin.monat                 as Monat,
      Origin.usnam                 as Usnam,
      Origin.stgrd                 as StGrund,
      Reversal.belnr               as Stblg,
      Reversal.budat               as StBudat,
      Reversal.usnam               as StUsnam,
      // 경과일수 = 역분개 전기일 − 원전표 전기일
      dats_days_between( Origin.budat, Reversal.budat ) as DaysToReverse
      // 정정전표는 참조번호·지정 등 회사 운영 규칙에 따라 연결하는 연장 뷰에서
}
where Origin.stblg <> ''

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 사유코드 체계와 정정전표 연결 규칙에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 역분개 내역 테이블
조회조건sap.m.Select 6종 · sap.m.Input — 우측 끝에 조회·초기화
결과 테이블sap.m.Table — growing 적용, popin 반응형
경과일수sap.m.ObjectNumber — 일수에 따라 상태 색
정정전표sap.m.ObjectStatus — 미정정 건 강조
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기

귀속월을 From~To 로 받는 이유

역분개는 월을 건너뛰어 일어납니다. 9월 전표를 10월에 취소하면 9월 귀속으로 잡히지만 실행은 10월입니다. 단월로만 조회하면 이런 건이 시야에서 빠집니다. 귀속월 구간으로 받으면 분기·반기 단위로 묶어 통제 추이를 보는 것도 가능해집니다.

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon
Component.js조회조건 모델 · 결과 모델 초기화
manifest.json앱 디스크립터 — 앱 ID(zui5.reversal) · ko 로케일
view/Main.view.xml조회조건과 역분개 내역 테이블
controller/Main.controller.js조회 · 경과일수 계산 · 미정정 판정 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 경과일수 색 · 사유 텍스트 포맷터
i18n/i18n_ko.propertiesko 로케일 리소스
localdata/reversals.json역분개 내역 56건 (28개 필드)
localdata/users.json사용자 6건 (2개 필드)

사유 체계나 지연 기준이 바뀌어도 컨트롤러와 포맷터 두 파일만 손보면 됩니다.

검증 결과

검증 항목결과
경과일수 = 역분개 전기일 − 원전표 전기일 (전 건 재계산)통과
역분개전표가 있으면 취소연도·역분개자도 존재통과
역분개사유 코드와 텍스트 일치통과
정정전표 표시와 정정전표번호 정합통과
원전표 귀속월과 회계연도 정합통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처2/2
테마 런타임 확인sap_horizon

전표번호·금액·담당자는 모두 검증용 데이터입니다.

자주 묻는 질문

경과일수가 며칠부터 문제인가요?

회사 기준에 따라 다릅니다. 월마감을 넘겼는지가 실질적인 경계선이라, 같은 달 안에서 취소된 건과 다음 달로 넘어간 건을 나누는 기준을 먼저 정하는 곳이 많습니다.

정정전표가 없으면 무조건 문제인가요?

아닙니다. 중복 입력이나 거래 취소가 사유라면 다시 넣을 전표가 없습니다. 사유와 함께 봐야 하며, 입력 오류·계정 오류·금액 오류인데 정정전표가 비어 있는 건이 실제 확인 대상입니다.

자동 생성 전표의 취소도 보이나요?

보입니다. 지급(KZ)·입금(DZ)처럼 자동으로 만들어진 전표의 취소는 대개 지급 실행이나 반제를 되돌린 결과라 성격이 다릅니다. 전표유형 조건으로 따로 묶어 보는 것을 권합니다.

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

역분개는 FB08 이 실행하고 관계는 BKPF 의 STBLG·STJAH 에 남습니다. 이 화면은 그 기록을 사유별로 모으고 경과일수와 정정전표 여부를 더해, 건수가 아니라 통제 상태를 보게 만드는 확장입니다.

전표 취소 통제, 지금 쓰는 SAP 위에서 확장해 보세요

취소 건수보다 중요한 것은 얼마나 늦었고 다시 넣었는지입니다. 두 가지만 보이면 월마감 점검이 짧아집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

역분개전표 취소FB08정정전표STBLG경과일수전표 통제OpenUI5