솔루션 홈
미결관리

SAP 미결잔액 명세서 — 아직 정리되지 않은 돈만 남기기

거래처별 채권·채무 중 반제되지 않은 금액만 골라 만기와 함께 세우고, 부분반제까지 금액으로 갈라 보는 명세서입니다.

결산 전에 확인해야 하는 것은 전체 채권이 아니라 아직 들어오지 않은 돈입니다. 이미 회수된 건은 숫자는 크지만 볼 이유가 없습니다.

문제는 반제가 전부 아니면 전무가 아니라는 점입니다. 500만원 중 200만원만 들어온 건은 반제된 것도 미결인 것도 아닙니다. SAP 표준 미결항목 구조를 그대로 이어받아 부분반제를 금액으로 갈라 미결잔액만 남기도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.

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

  • 계정유형 — 고객(D) · 공급업체(K) 구분(atype)을 표준 분류대로 유지
  • 반제 정보 — 반제전표(augbl) · 반제연도(auggj) · 반제일자(augdt) 표준 필드로 판정
  • 만기 기준 — 기산일(zfbdt)과 결제조건으로 만기를 계산하는 표준 관점
  • 지정 — 지정(zuonr)을 그대로 실어 대사 단위를 유지
  • 어음 — 어음 인수인 · 은행 · 만기일 필드를 별도 열로 보관
항목내용
업무 영역재무회계(FI-AR/AP) · 미결항목 관리
Namespacezui5.openitem
셸 구조조회조건 영역(우측 조회·초기화) + 미결 명세 테이블
화면 수조회 화면 1개
데이터미결·반제 항목 102건 (36개 필드)
성격조회형(Read-Only) — 전기와 반제는 표준 트랜잭션이 담당
UI 테마sap_horizon 단일 적용

실제 화면 1종 둘러보기

회사코드·계정유형·기준일로 조회하면 미결 항목이 만기와 함께 펼쳐집니다 → 만기가 지난 건과 부분반제 건을 먼저 가려내고 → 반제전표와 지정으로 회수 경위를 추적합니다.

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

Main.view.xml
초기 진입 화면과 미결 명세
초기 진입 화면과 미결 명세 — 조회 전에는 메시지스트립이 조건을 안내하고, 조회하면 상태·전표·계정·거래처·만기일·금액·미결잔액이 한 줄로 이어집니다. 만기일은 경과 여부에 따라 상태 색이 달라져 지난 건이 먼저 눈에 들어옵니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.

조작 방법

  1. 회사코드계정유형(고객/공급업체)을 고릅니다.
  2. 기준일을 넣습니다. 이 날짜를 기준으로 만기 경과 여부가 판정됩니다.
  3. 거래처·계정·전기일 범위로 좁힙니다. 특정 거래처와 대사할 때 주로 씁니다.
  4. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  5. 만기일 상태 색으로 지난 건을 먼저 봅니다. 회수 독촉 대상이 여기서 추려집니다.
  6. 반제금액미결잔액을 비교해 부분반제 건을 확인합니다.
  7. 결과는 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.

미결 판정과 금액 분해

상태는 저장된 값이 아니라 반제 정보와 금액으로 매번 계산합니다.

미결잔액(openAmt)  = 전표금액(dmbtr) − 반제금액(clearAmt)

반제전표 없음            →  미결        (미결잔액 = 전표금액)
반제전표 있고 잔액 > 0   →  부분반제    (일부만 회수)
반제전표 있고 잔액 = 0   →  반제 완료   (명세에서 제외 가능)

만기 경과  = 기준일 > 만기일(zfbdt 기준)  →  만기일 열을 경고 색으로

부분반제를 따로 보는 이유

반제 여부만 보면 부분반제는 "반제됨" 으로 묶여 사라집니다. 그런데 남은 300만원은 여전히 받아야 할 돈입니다. 반제금액과 미결잔액을 별도 열로 두면 전액 회수와 일부 회수가 한눈에 갈라지고, 미결잔액 합계가 곧 실제 채권 잔액이 됩니다.

미결 항목이 남는 네 가지 이유

미결로 남은 이유에 따라 다음 조치가 달라집니다.

상태무엇을 뜻하는가다음 조치
만기 전아직 결제일이 오지 않음조치 없음 — 예정 자금으로 관리
만기 경과결제일이 지났는데 미회수독촉 · 연체이자 검토
부분반제일부만 입금됨잔액 확인 후 차액 청구
어음 미결어음으로 받았고 만기 전어음 만기일 기준으로 별도 관리

조회조건

필드필수설명
회사코드 bukrs필수대상 회사코드
계정유형 atype필수D 고객 / K 공급업체
기준일필수만기 경과 판정 기준일
거래처 kunnr · lifnr선택고객 · 공급업체 코드
G/L 계정 hkont선택조정계정 범위
전기일 budat선택기간 From~To
상태선택미결만 / 부분반제 포함 / 전체

결과 컬럼

컬럼의미 · 표시
상태미결 / 부분반제 / 반제 — 상태 색으로 구분
전표번호/항목회계연도와 함께 전표를 식별하는 키
G/L 계정 hkont조정계정 코드와 명칭
거래처 kunnr · lifnr고객 또는 공급업체 코드와 명칭
증빙일자 · 전기일자증빙 날짜와 원장 반영 날짜
만기일 zfbdt결제 기한. 기준일을 넘기면 경고 색
지정 zuonr대사 단위로 쓰는 지정 값
적요 sgtxt전표 라인 적요
차대 · 통화 · 금액 · 금액(원화)차변/대변 구분과 거래통화·원화 금액
미결잔액 openAmt아직 회수되지 않은 금액
반제금액 clearAmt이미 회수된 금액
반제전표/연도/일자반제가 일어난 전표와 날짜
어음 정보어음 인수인 · 은행 · 만기일

SAP 표준 기능 매핑

미결·반제는 표준 전기와 반제 처리가 만듭니다. 이 화면은 그 결과를 금액 관점으로 갈라 보여 주는 확장입니다.

표준역할이 화면에서의 확장
FBL5N · FBL1N고객 · 공급업체 개별항목 조회미결만 남기고 부분반제를 금액으로 분해
F-32 · F-44수동 반제반제 결과를 반제금액·미결잔액으로 반영
BSID · BSAD고객 미결 · 반제 항목고객 채권 원천
BSIK · BSAK공급업체 미결 · 반제 항목공급업체 채무 원천
BSEG · BKPF전표 라인과 헤더전표 키 · 일자 · 적요
KNA1 · LFA1고객 · 공급업체 마스터거래처 명칭
ACDOCA유니버설 저널 (S/4HANA)원천을 표준 CDS 로 교체 가능

도입 시 확인이 필요한 부분

만기일 계산은 기산일과 결제조건 설정을 따릅니다. 결제조건이 다단계(예: 10일 이내 2% 할인, 30일 정상)로 잡힌 경우 어느 날짜를 만기로 볼지 정해야 합니다. 또 어음 관리 방식(받을어음 계정 운영 여부)에 따라 어음 열의 의미가 달라지므로 운영 기준을 함께 확인합니다.

참고 CDS 뷰

운영 서비스로 연결할 때는 미결·반제 항목을 합치고 금액을 분해한 뷰로 서빙하는 구성을 제안합니다.

@AbapCatalog.sqlViewName: 'ZCOPENITEM'
@EndUserText.label: '미결잔액 명세 (Z)'
define view Z_C_OPEN_ITEM
  as select from bsid as Item
    left outer join kna1 as Customer on  Item.kunnr = Customer.kunnr
    left outer join skat as AcctText on  Item.hkont = AcctText.saknr
                                     and AcctText.spras = 'K'
{
  key Item.bukrs, key Item.gjahr, key Item.belnr, key Item.buzei,
      'D'                      as Atype,
      Item.kunnr,
      Customer.name1           as KunnrTx,
      Item.hkont,
      AcctText.txt50           as HkontTx,
      Item.bldat, Item.budat, Item.zfbdt, Item.zuonr, Item.sgtxt,
      Item.shkzg, Item.waers, Item.wrbtr, Item.dmbtr,
      Item.augbl, Item.augdt,
      // 미결잔액 = 전표금액 − 반제금액 (반제 항목 BSAD 와 합쳐 계산)
      Item.dmbtr               as OpenAmt,
      cast( 0 as abap.curr(15,2) ) as ClearAmt
}
// 공급업체는 BSIK/BSAK 로 같은 형태의 뷰를 만들어 union 으로 합침

매핑 이해를 돕기 위한 참고용 설계입니다. S/4HANA 환경이면 ACDOCA 기반 표준 CDS 로 대체합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 미결 명세 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
명세 테이블sap.m.Table — 열이 많아 popin 반응형
상태 · 만기sap.m.ObjectStatus — 미결/부분반제/반제, 만기 경과 경고
금액sap.m.ObjectNumber — 우측정렬, 천단위 콤마
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기

만기일에 색을 준 이유

미결 명세는 길고, 그 안에서 급한 건은 소수입니다. 날짜를 숫자로만 두면 한 줄씩 계산하며 읽게 됩니다. 기준일을 넘긴 만기일만 색이 달라지면 훑는 것만으로 독촉 대상이 잡히고, 나머지는 예정 자금으로 넘기면 됩니다.

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon
Component.js조회조건 모델 · 결과 모델 초기화
manifest.json앱 디스크립터 — 앱 ID(zui5.openitem) · ko 로케일
view/Main.view.xml조회조건과 미결 명세 테이블
controller/Main.controller.js조회 · 미결 판정 · 만기 경과 계산 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
model/formatter.js금액 · 일자 · 상태 · 만기 색 포맷터
i18n/i18n_ko.propertiesko 로케일 리소스
localdata/openitem.json미결·반제 항목 102건 (36개 필드)

판정 기준이 바뀌어도 컨트롤러와 포맷터 두 파일만 손보면 됩니다.

검증 결과

검증 항목결과
미결잔액 = 전표금액 − 반제금액 (전 건)통과
반제전표가 있으면 반제연도·반제일자도 존재통과
반제 완료 건은 미결잔액 0통과
원화환산 = 거래통화금액 × 환율통과
계정유형과 거래처 필드 정합 (D↔고객 · K↔공급업체)통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처통과
테마 런타임 확인sap_horizon

거래처·금액·만기일은 모두 검증용 데이터입니다.

자주 묻는 질문

부분반제는 어떻게 표시되나요?

반제전표가 있는데 미결잔액이 남아 있으면 부분반제로 구분합니다. 반제금액과 미결잔액이 별도 열로 나뉘어 있어 얼마가 들어왔고 얼마가 남았는지 같은 줄에서 확인됩니다.

만기 경과는 무엇을 기준으로 하나요?

조회조건의 기준일과 항목의 만기일을 비교합니다. 기준일을 바꾸면 과거 시점의 연체 현황을 그대로 재현할 수 있어, 월말 기준으로 다시 볼 때 유용합니다.

반제 완료 건도 봐야 하나요?

보통은 미결만 남기면 됩니다. 다만 회수 경위를 확인할 때는 반제 건까지 포함해 조회해 반제전표와 반제일자를 따라갑니다. 상태 조건으로 전환할 수 있습니다.

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

미결·반제 데이터는 표준 전기와 반제 처리가 만들고 BSID·BSAD·BSIK·BSAK 에 그대로 남습니다. 이 화면은 그 항목을 고객·공급업체 구분 없이 한 화면에 모으고, 부분반제를 금액으로 갈라 미결잔액만 남기는 확장입니다.

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

받아야 할 돈과 이미 받은 돈이 한 줄에서 갈라지면 결산 전 정리 대상이 바로 손에 잡힙니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

미결잔액미결항목부분반제만기채권채무어음OpenUI5