솔루션 홈
결산 지원

SAP 선급비용 처리 — 미리 낸 돈을 달마다 나눠 비용으로

선급으로 잡아 둔 금액을 Assignment 단위로 관리하며 기간에 맞춰 일할 계산해 당월 비용으로 대체하는 화면입니다.

보험료를 1년치 한 번에 내면 그달 비용이 아닙니다. 열두 달로 나눠 매달 비용으로 잡아야 손익이 실제를 반영합니다.

문제는 계약마다 기간이 다르고 중간에 시작한 건도 있다는 점입니다. 일할로 계산해야 하는데 손으로 하면 놓치거나 틀립니다. Assignment 단위로 잔액을 관리하며 자동 계산하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 선급 전표 — 회계연도 · 전표번호 · 라인번호
  • 날짜 — Posting Date · Doc. Date · Value date · Bline Date
  • Assignment — 잔액 관리 단위 (연도 + 전표번호 + 라인번호)
  • 금액 — Amount · 비용처리금액 · 미처리금액
  • 계정 — 선급계정과 대체 비용계정
항목내용
업무 영역재무회계(FI) · 일반회계 · 결산
Namespacezui5.prepaid
셸 구조조회조건 영역(우측 조회) + 선급 대상 목록 + 확정
화면 수조회·확정 화면 1개 + 상세
데이터선급 라인과 대체 이력
성격조회·처리형 — 확정·취소는 시뮬레이션
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회계연도·Posting Period 로 선급 대상을 조회하고 → 당월금액과 미처리금액을 확인한 뒤 → 선택 라인을 확정해 비용으로 대체합니다.

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

Main.view.xml
선급비용 대상 목록
선급비용 대상 목록 — 상태·계정·Assignment 와 함께 Value date·Bline Date·금액·비용처리금액·미처리금액·당월금액이 표시됩니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
대체 정보
비용계정·코스트센터·적요
비용계정·코스트센터·적요 — 대체될 비용계정과 코스트센터가 표시되고, 종료월에 해당하는 건은 별도로 구분됩니다.
확정
기표 완료와 당월 전표번호
기표 완료와 당월 전표번호 — 확정하면 대체 대상과 전표유형, 종료월 clearing 안내가 표시되고 당월 전표번호가 반영됩니다.

조작 방법

  1. 회사코드는 사양서에 따라 변경 불가입니다.
  2. 회계연도Posting Period 를 넣습니다. 기본값은 시스템 연도와 시스템 월 −1 입니다.
  3. 정리되지 않은 건만 표시를 켜면 미처리 잔액이 남은 건만 나옵니다.
  4. 조회 버튼은 조회조건 영역 오른쪽 끝에 있고, 입력필드에서 Enter 로도 조회됩니다.
  5. 당월금액을 확인합니다. 일할 계산 결과입니다.
  6. 종료월 표시가 있는 건은 미처리금액 전액이 대체됩니다.
  7. 전체선택확정하면 비용으로 대체 기표됩니다.
  8. 잘못 기표한 건은 취소로 되돌립니다.

계산 규칙

Assignment 단위로 잔액을 관리하고 기간으로 나눕니다.

잔액 관리 단위 = Assignment (회계연도 + 전표번호 + 라인번호)

비용처리금액 = 선급계정 대변(H) 합계 (작업월 말일까지)
미처리금액   = Amount − 비용처리금액

당월금액
  ① Bline Date(ZFBDT)의 월 = 작업월  →  미처리금액 전액
  ② 그 외  →  Amount × 작업월 일수 ÷ (ZFBDT − Value date)

②로 계산한 금액이 미처리금액을 넘지 않도록 한도 적용
①에 해당하는 건은 화면에서 "종료월"로 구분 표시

종료월에 잔액을 전액 털어 내는 이유

일할로 계산하면 마지막 달에 원 단위 잔액이 남습니다. 몇 원씩이지만 계약이 끝난 뒤에도 선급계정에 남아 있으면 정리되지 않은 건으로 계속 조회됩니다. 종료월에 미처리금액 전액을 대체하면 그 계약이 깨끗하게 닫힙니다.

선급비용 대체 계정

선급계정 (ORIGIN_ACC)대체 비용계정 (EXP_ACC)
13030101 선급보험료52050100 보험료
13030102 선급임차료52060100 지급임차료
13030103 선급수수료52040100 지급수수료
13030104 선급광고비52110100 광고선전비

확정 시 전기일자는 작업월 말일, 전표유형은 CD 이며 비용계정 차변(40) + 선급계정 부분반제로 처리합니다.

조회조건

항목필수설명
회사코드필수사양서에 따라 변경 불가(읽기 전용)
회계연도필수기본값 시스템 연도
Posting Period필수기본값 시스템 월 − 1
정리되지 않은 건만 표시선택미처리 잔액이 남은 건만 조회 (화면 확장)

결과 컬럼

컬럼의미 · 표시
회계연도 · 전표번호 · 라인번호Assignment 구성
Posting Date · Doc. Date전기일 · 증빙일
Doc type전표유형
계정코드 · 계정명선급계정
Assignment잔액 관리 단위
Value date · Bline Date계약 시작 · 종료 기준
Amount선급 총액
비용처리금액이미 대체된 금액
미처리금액Amount − 비용처리금액
당월 전표번호 · 당월금액기표 결과
대체 비용계정 · 코스트센터대체 대상 (화면 확장)
종료월 표시전액 대체 대상 (화면 확장)

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBL3NG/L 개별항목선급계정 잔액
ZFI_DOCUMENT_POSTING전표 생성확정 기표
BSIS · BSEGG/L 미결·전표 라인조회 원천
F-32반제부분반제 처리

도입 시 확인이 필요한 부분

Value date 와 Bline Date 가 계약 기간을 정확히 담고 있어야 일할 계산이 맞습니다. 전기 시 이 두 날짜를 제대로 넣지 않으면 분모가 틀려 당월금액이 엉뚱하게 나옵니다. 선급 전표 입력 규칙을 먼저 정리해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCPREPAID'
@EndUserText.label: '선급비용 처리 대상 (Z)'
define view Z_C_PREPAID_EXPENSE
  as select from bsis as Item
    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,
      Item.hkont as OriginAccount,
      AcctText.txt50 as AccountName,
      Item.zuonr as Assignment,
      Item.budat as PostingDate,
      Item.bldat as DocDate,
      Item.blart as DocType,
      Item.valut as ValueDate,
      Item.zfbdt as BlineDate,
      Item.dmbtr as Amount
      // 비용처리금액 = 선급계정 대변 합계 (작업월 말일까지)
      // 당월금액 = 종료월이면 미처리 전액, 아니면 일할 계산
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 선급 목록
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
선급 목록sap.ui.table.Table — 다중 선택, 전체선택
종료월 표시sap.m.ObjectStatus — 일반 / 종료월
확정선택 라인 일괄 기표, 제외 건 안내

이미 기표된 건을 자동으로 제외하는 이유

전체선택 후 확정하면 편하지만, 이미 처리된 건이 섞여 있으면 이중 기표가 됩니다. 확정 시 기표된 건과 당월금액이 없는 건을 자동으로 빼고 몇 건이 빠졌는지 알려 주면 전체선택을 안심하고 쓸 수 있습니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.prepaid) · ko 로케일
view/Main.view.xml조회조건과 선급 목록
controller/Main.controller.js조회 · 일할 계산 · 확정 · 취소 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 색 포맷터
localdata/prepaid.json선급 라인과 대체 이력

검증 결과

검증 항목결과
미처리금액 = Amount − 비용처리금액 (전 라인)통과
당월금액이 미처리금액을 넘지 않음통과
종료월 건은 미처리금액 전액이 당월금액통과
Bline Date ≥ Value date통과
기표된 건은 확정 대상에서 자동 제외통과
선급계정과 대체 비용계정 매핑 일치통과
화면 렌더링 — 실브라우저 조회 → 확정 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

왜 Assignment 로 잔액을 관리하나요?

한 계약이 여러 달에 걸쳐 부분 대체되기 때문입니다. 전표 라인 단위로 묶어야 얼마가 남았는지 정확히 추적됩니다.

중간에 계약이 해지되면요?

남은 미처리금액을 일시에 대체하거나 환급 처리합니다. 자동 계산으로는 잡히지 않으므로 수동으로 정리해야 합니다.

당월금액이 0인 건도 나오나요?

나옵니다. 계약이 아직 시작되지 않았거나 이미 전액 대체된 건입니다. 확정 시 자동으로 제외됩니다.

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

선급 전기와 반제는 표준 FI 가 담당합니다. 이 화면은 기간 배분 계산과 월별 대체 기표를 자동화한 확장입니다.

선급비용 처리, 지금 쓰는 SAP 위에서 확장해 보세요

일할 계산이 자동이면 매달 손으로 나눌 일이 없습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

선급비용기간 배분Assignment일할 계산비용 대체OpenUI5