솔루션 홈
FBS1 · 결산 지원

SAP 결산 이연·발생비용 전표 — 역분개 예정일을 놓치지 않기

결산에 계상한 선급비용과 미지급비용 전표를 모아, 역분개 예정일까지 남은 일수와 지연 여부를 관리하는 화면입니다.

결산에서 기간 귀속을 맞추려고 계상한 전표는 다음 기에 반드시 되돌려야 합니다. 되돌리지 않으면 같은 비용이 두 번 잡힙니다.

문제는 역분개가 자동이 아니라 별도 실행이라는 점입니다. 예정일이 지나도 아무 경고가 없어 다음 결산에서야 발견됩니다. 표준 이연·발생 전표 구조를 그대로 이어받아 예정일까지 남은 일수를 보여 주도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 전표 — 전표번호(Belnr)와 전기일(Budat)
  • 계상 유형 — 이연(DEFERRAL) · 발생(ACCRUAL) 구분(AccrualType)
  • 계정 쌍 — 비용 계정(Hkont)과 상대 계정(CounterHkont)
  • 역분개 — 예정일(RevDate)과 실제 역분개 전표(RevBelnr)
  • 귀속 — 코스트센터(Kostl)와 명칭
항목내용
대응 T-codeFBS1 (역분개 전표 입력) · F.81 (역분개 실행)
업무 영역재무회계(FI) · 결산
Namespacezui5.accrual
셸 구조조회조건 영역(우측 조회·초기화) + 계상 전표 목록, 행 선택 시 분개 시뮬레이션
화면 수조회 화면 1개 + 분개 미리보기
데이터계상 전표 71건 · 계정 10건 · 코스트센터 8건
성격조회·시뮬레이션형 — 역분개 실행은 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·계상유형·기간으로 조회하면 계상 전표가 모입니다 → 역분개 예정일까지 남은 일수로 우선순위를 잡고 → 행을 눌러 원분개와 역분개 분개를 확인합니다.

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

FBS1 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·계상유형·계정·코스트센터·기간을 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
FBS1 — 계상 전표
메인화면 — 역분개 예정일과 잔여일수
메인화면 — 역분개 예정일과 잔여일수 — 계상 ID·전표번호·전기일·계상유형·비용계정·상대계정·코스트센터와 함께 금액·역분개 예정일·잔여일수·역분개 전표가 이어집니다. 예정일이 지난 건은 상태 색으로 구분됩니다.
FBS1 — 분개 시뮬레이션
상세 다이얼로그 — 원분개와 역분개
상세 다이얼로그 — 원분개와 역분개 — 행을 고르면 계상 시 만들어진 분개와 역분개 시 생성될 분개가 차변·대변으로 나란히 펼쳐집니다.

조작 방법

  1. 회사코드기간을 고릅니다.
  2. 계상유형으로 이연(선급)과 발생(미지급)을 나눕니다.
  3. 계정코스트센터로 범위를 좁힐 수 있습니다.
  4. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  5. 잔여일수가 음수인 건부터 봅니다. 예정일이 지났는데 역분개가 안 된 건입니다.
  6. 역분개 전표 열이 비어 있으면 아직 처리되지 않은 것입니다.
  7. 행을 선택하면 원분개와 역분개 분개가 나란히 열립니다.
  8. 결과는 CSV 다운로드로 내려받아 결산 체크리스트로 씁니다.

역분개 판정 규칙

계상은 반드시 짝이 되는 역분개를 갖습니다.

잔여일수 = 역분개 예정일(RevDate) − 오늘

잔여일수 > 0, 역분개 전표 없음  →  예정 — 대기
잔여일수 ≤ 0, 역분개 전표 없음  →  지연 — 즉시 처리 필요
역분개 전표 있음                →  완료

이연(DEFERRAL)  차변: 선급비용   대변: 비용   → 역분개 시 반대
발생(ACCRUAL)   차변: 비용       대변: 미지급  → 역분개 시 반대

잔여일수를 보여 주는 이유

역분개 예정일만 있으면 오늘과 비교하는 계산을 사람이 합니다. 전표가 수십 건이면 그 계산을 수십 번 하게 되고, 한두 건은 놓칩니다. 잔여일수로 바꿔 두면 음수만 찾으면 되고, 작은 양수는 곧 처리할 건으로 미리 준비할 수 있습니다.

계상과 역분개 4단계

단계내용결과
① 계상결산 시 기간 귀속 맞춤계상 전표 · 역분개 예정일
② 대기예정일까지 잔액 유지재무제표에 반영
③ 역분개예정일에 반대 분개 생성역분개 전표
④ 실거래실제 청구·지급 발생정상 비용 인식

③이 빠지면 ④에서 비용이 이중 계상됩니다. 그래서 예정일 관리가 핵심입니다.

조회조건

필드필수설명
회사코드 Bukrs필수대상 회사코드
계상유형 AccrualType선택이연(DEFERRAL) / 발생(ACCRUAL)
비용계정 Hkont선택소모품비 등
코스트센터 Kostl선택귀속 부서
기간 Budat선택계상 전기일 From~To
상태선택전체 / 미처리 / 지연

결과 컬럼

컬럼의미 · 표시
계상 ID AccrualId계상 건 식별자
전표번호 Belnr · 전기일 Budat계상 전표
계상유형 AccrualType이연 / 발생
비용계정 Hkont · HkontText손익 계정
상대계정 CounterHkont · CounterHkontText선급비용 · 미지급비용
코스트센터 Kostl · KostlText귀속 부서
금액 Amount · 통화 Waers계상 금액
역분개 예정일 RevDate되돌릴 날짜
잔여일수예정일 − 오늘. 음수면 경고 색
역분개 전표 RevBelnr처리 완료 시 전표번호
비고 Remark계상 사유

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBS1역분개 전표 입력예정일과 잔여일수를 계산해 관리
F.81역분개 실행실행 전 대상 목록과 분개 미리보기
BKPF · BSEG전표 헤더와 라인계상 전표 원천
SKA1계정 마스터계정 명칭
CSKS · CSKT코스트센터 마스터귀속 부서 명칭

도입 시 확인이 필요한 부분

역분개 예정일은 전표 입력 시 지정합니다. 보통 다음 달 1일로 잡지만 실제 거래 발생 시점에 맞추는 곳도 있어 운영 기준을 통일해야 관리가 단순해집니다. 또 이연은 여러 기간에 걸쳐 안분하는 경우가 있어, 한 번에 되돌리는 방식인지 월할 대체 방식인지 구분해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCACCRUAL'
@EndUserText.label: '이연·발생비용 계상 현황 (Z)'
define view Z_C_ACCRUAL_STATUS
  as select from bkpf as Header
    inner join      bseg as Line     on Header.bukrs = Line.bukrs
                                    and Header.belnr = Line.belnr
                                    and Header.gjahr = Line.gjahr
    left outer join skat as AcctText on Line.hkont = AcctText.saknr
                                    and AcctText.spras = 'K'
{
  key Header.bukrs,
  key Header.gjahr,
  key Header.belnr,
  key Line.buzei,
      Header.budat,
      Header.stgrd  as ReversalReason,
      Header.stodt  as RevDate,
      Header.stblg  as RevBelnr,
      Line.hkont,
      AcctText.txt50 as HkontText,
      Line.kostl,
      Line.dmbtr    as Amount,
      Header.waers
      // 잔여일수 = 역분개 예정일 − 오늘 (소비 뷰에서 계산)
}
where Header.stodt <> '00000000'

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 계상 전표 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
전표 테이블sap.m.Table — 계정 쌍을 인접 배치
잔여일수sap.m.ObjectNumber — 음수면 경고 색
시뮬레이션sap.m.Dialog — 원분개와 역분개 대칭 표시

원분개와 역분개를 나란히 보여 주는 이유

역분개는 원분개의 차대를 뒤집은 것입니다. 나란히 두면 계정이 맞게 뒤집혔는지 눈으로 확인되고, 잘못된 계정으로 역분개되는 실수를 실행 전에 잡을 수 있습니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.accrual) · ko 로케일
view/Main.view.xml조회조건과 계상 전표 테이블
controller/Main.controller.js조회 · 잔여일수 계산 · 분개 시뮬레이션 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 잔여일수 색 포맷터
localdata/accrual.json계상 전표 71건
localdata/hkont.json계정 10건
localdata/kostl.json코스트센터 8건

검증 결과

검증 항목결과
잔여일수 = 역분개 예정일 − 기준일 (전 건)통과
역분개 전표가 있으면 완료 상태와 정합통과
원분개 차대 = 역분개 차대 (부호 반대)통과
계상유형과 계정 쌍 정합 (이연↔선급비용)통과
계정·코스트센터 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 시뮬레이션 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

역분개를 놓치면 어떻게 되나요?

실제 거래가 발생했을 때 비용이 두 번 잡힙니다. 계상분과 실제분이 모두 남기 때문입니다. 다음 결산에서 계정 잔액이 이상하게 남아 발견되는 경우가 많습니다.

이연과 발생은 무엇이 다른가요?

이연은 이미 돈을 냈지만 비용은 나중 기간에 속하는 경우(선급비용)이고, 발생은 비용은 이번 기간에 속하지만 아직 청구가 오지 않은 경우(미지급비용)입니다. 계정 쌍이 반대로 구성됩니다.

여러 달에 걸쳐 안분해야 하면요?

한 번에 되돌리는 대신 월할로 대체하는 방식이 필요합니다. 이 화면은 단일 역분개를 전제로 하므로, 월할 대체가 필요한 항목은 별도 처리 구조를 둡니다.

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

계상과 역분개는 FBS1·F.81 이 담당합니다. 이 화면은 그 전표를 모아 예정일까지 남은 일수를 계산하고 원분개와 역분개를 나란히 보여 줘, 누락과 계정 오류를 실행 전에 잡는 확장입니다.

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

되돌릴 전표가 몇 건이고 며칠 남았는지가 보이면 비용 이중 계상이 사라집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

이연비용발생비용선급비용미지급비용FBS1역분개결산OpenUI5