재무회계

금융자산 처분손익 범주 점검 — IFRS 18 에서 영업·투자·중단영업 어디에 놓였는지 건마다 다시 구해 장부와 견주는 결산 화면

범주 재계산 · 장부 범주와의 비교 · 점검 코드 F01~F04 · 이동 필요 금액 · 대사 7종

소개 영상블로그 목차 순서대로 · 음성 안내와 자막 포함8개 장면 · 1분 34초문제 → 핵심 포인트 → 판정 규칙 → 실행 화면 → 표준 연계 → 검증

도입 포인트 — 이 앱을 사용해야 하는 이유

IFRS 18 은 손익계산서를 영업·투자·재무·법인세·중단영업 범주로 나누어 보여 달라고 요구합니다. 채무증권이나 대여금, 매출채권, 예치금을 팔아 생긴 손익이 어느 범주에 놓이느냐에 따라 영업이익이 달라집니다. 그런데 이 판단은 지금 전표 한 줄 한 줄을 눈으로 읽거나 엑셀에 옮겨 적는 방식으로 이루어집니다. 이 앱은 범주를 다시 구해서 장부와 견주는 일을 한 화면으로 옮겨, 결산 담당자가 “어느 건을 다시 봐야 하는가”부터 알 수 있게 합니다.

한 줄 요약 — 이 화면은 범주를 확정해 주지 않습니다. 범주를 다시 살펴볼 건을 골라 주고, 왜 골랐는지와 옮길 수 있는 금액, 그리고 합계가 맞는지를 보여 줍니다. 최종 판단은 회사와 감사인의 몫입니다.

핵심 포인트 여덟 가지

포인트고객이 얻는 것지금 방식이라면
① 범주를 다시 구해 장부와 견줍니다금융자산 종류 · 주된 사업활동 · 중단영업 여부로 영업·투자·중단영업 범주를 다시 정하고 장부 범주와 건마다 비교합니다.처분 전표를 엑셀로 내려 담당자가 눈으로 범주를 확인합니다.
② 다른 건만 골라 줍니다어긋난 건에는 점검 코드 F01~F04 가 붙어 어떤 이유인지까지 알 수 있습니다.전체 처분 건을 처음부터 다시 읽습니다.
③ 이동 필요 금액을 바로 보여 줍니다범주가 다른 건의 처분손익을 합쳐 요약에 올립니다. 예시 자료에서는 5,300만 원입니다.금액을 손으로 합산하고 다시 검산합니다.
④ 금융자산 · 종류별로 올라가며 봅니다처분 건 → 금융자산 → 종류 순으로 합쳐 범주별 금액을 나란히 봅니다.합계표를 보고 때마다 새로 만듭니다.
⑤ 대사 7종을 매번 계산합니다합계가 서로 맞는지를 화면이 보여 주므로 “이 숫자 맞아?”에 바로 답할 수 있습니다.합계가 맞는지는 표를 만든 사람만 압니다.
⑥ 판단 보류를 숨기지 않습니다금융자산 종류가 등록되지 않은 건은 추측하지 않고 확인 필요(F09)로 남깁니다.빈칸이 추측으로 채워져 섞입니다.
⑦ 표준 거래를 대체하지 않습니다FAGLL03 · FBL5N · FBL3N · F.01 이 맡는 조회는 그대로 두고 점검 관점만 더합니다.표준 리포트와 개인 엑셀이 따로 움직입니다.
⑧ 사내망 · 보안 친화OpenUI5 표준 컨트롤만 쓰고 조회 전용 OData 서비스로 연결합니다. 외부 라이브러리 반입 심사가 필요 없습니다.엑셀 파일이 메일로 오가며 사본이 늘어납니다.

사례로 보는 효과 — 22건 가운데 7건이 다시 볼 건

예시 자료에는 처분 22건, 금융자산 19개, 종류 9개 조합이 들어 있고 처분손익 합계는 1.06억 원입니다. 이 가운데 장부 범주와 재계산 범주가 다른 건이 7건(F01 3건 · F02 2건 · F03 1건 · F04 1건), 종류가 등록되지 않아 판단을 미룬 건이 1건(F09)이었습니다. 옮겨야 할 수 있는 금액은 5,300만 원으로, 처분손익의 절반 가까이가 범주를 다시 살펴볼 대상이었습니다. 전체를 읽던 일이 8건을 읽는 일로 줄어든다는 뜻입니다.

재계산 순서
중단영업으로 분류된 사업 → 중단영업 범주  ·  금융자산 종류 미등록 → 판정 보류  ·  매출채권 → 영업범주  ·  그 밖의 금융자산 → 주된 사업활동이면 영업범주, 아니면 투자범주

이 순서로 구한 범주가 장부 범주와 다르면 점검 코드가 붙습니다. 처분손익 자체는 처분대가 − 장부금액 − 처분비용으로 계산하며, 세 금액이 모두 화면에 남아 있어 손익이 어떻게 만들어졌는지를 거꾸로 따라갈 수 있습니다.

점검에는 조건을 걸었습니다. 합계는 어떤 경로로 합쳐도 같아야 합니다. 처분 건 합계, 금융자산 합계, 종류 합계가 서로 같은지, 그리고 범주별로 나눈 금액의 합이 처분손익과 같은지를 대사식 7종이 매번 확인합니다. 이 숫자가 어긋나면 범주 판단 이전에 집계부터 의심해야 하기 때문입니다.

도입하면 달라지는 것

  • 결산 점검 — 범주가 다른 건이 먼저 올라오므로 전수를 눈으로 읽는 일이 줄어듭니다.
  • 회의의 주제 — “어느 건이 맞나”가 아니라 “어떤 근거로 분류할 것인가”를 이야기합니다.
  • 감사 대응 — 점검 코드와 근거 문장이 건마다 남아 질의에 답할 자료가 이미 정리되어 있습니다.
  • 기준의 가시화 — 종류 매핑이나 주된 사업활동 설정이 빈 곳이 확인 필요 건으로 드러나 설정 누락을 먼저 찾습니다.

이런 회사에 맞습니다

IFRS 18 적용을 앞두고 처분손익의 표시 범주를 점검해야 하는 회사, 채무증권 · 대여금 · 매출채권 · 예치금을 처분하는 일이 있는 재무회계팀, 분류 근거를 감사인에게 설명해야 하는 결산 조직에 맞습니다. 반대로 범주를 자동으로 확정해 전표를 바꿔 주기를 기대하는 곳에는 맞지 않습니다. 이 화면은 조회와 점검까지만 합니다.

숫자를 믿을 수 있는가 — 검증 결과

결산 화면에서 가장 비싼 질문은 “이 숫자 맞아?” 입니다. 그래서 만드는 쪽에서 먼저 대사식 7종을 세우고 모두 돌렸습니다.

대사식검사 건수차이
처분대가 − 장부금액 − 처분비용 = 처분손익220
처분 건 손익 = 금융자산별 손익190
금융자산별 손익 = 종류별 손익90
장부 3범주 + 판정 보류 = 처분손익90
재계산 3범주 + 판정 보류 = 처분손익90
이동 필요 금액 = 범주 상이 항목 처분손익220
(참고) 점검 필요 건수 = 금융자산별 합계190

점검 화면이므로 의도적으로 넣은 예외 건은 대사 차이와 분리해 기록합니다. 점검 필요 7건과 확인 필요 1건은 “오류”가 아니라 살펴볼 건이며, 대사 차이 건수 0 과는 별개입니다. 화면 쪽은 브라우저 자동화로 조회조건 전달, 탭 이동, 상세 열기, 팝업 닫기를 따로 확인했습니다.

사용 방법

  1. 회계연도(필수)를 넣고 필요하면 회사, 금융자산 종류, 장부 범주, 처분일 범위, 금융자산명, 점검 코드, 점검 결과를 고른 뒤 조회를 누릅니다. 입력칸에서 Enter 를 눌러도 됩니다.
  2. 위쪽 요약에서 점검한 처분 건수, 점검 필요, 확인 필요, 이동 필요 금액, 대사 차이 건수를 먼저 봅니다.
  3. 탭을 금융자산별 범주 판정 → 처분 건별 점검 → 종류별 합계 → 대사 결과 순서로 옮겨 가며 봅니다.
  4. 처분 건별 점검에서 행을 누르면 점검 근거와 같은 금융자산의 처분 건 비교가 열립니다.
  5. 지금 보고 있는 탭은 CSV 내려받기로 UTF-8 파일로 받을 수 있습니다.

실행 화면

실제로 돌아가는 화면 6종을 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있고, 화면마다 무엇을 하는 자리이고 왜 그렇게 두었는지를 아래에 적었습니다.

처음 열었을 때와 좁혀 보기

조회조건에서 범위를 정하고 요약으로 전체 모양을 본 뒤 점검 필요 건만 좁혀 보는 순서입니다.

처음 열었을 때 — 조회조건과 요약, 금융자산별 판정이 한 화면에
처음 열었을 때 — 조회조건과 요약, 금융자산별 판정이 한 화면에 — 조회조건 · 요약 지표 · 금융자산별 범주 판정이 한 화면에 뜹니다. 회계연도를 넣으면 화면을 열자마자 자동으로 조회됩니다.

화면을 열면 회계연도 기준으로 바로 조회됩니다. 맨 위는 조회조건, 그 아래가 요약 지표이고 아래쪽에 탭이 놓입니다. 요약에는 점검한 처분 건수, 점검 필요 항목, 확인 필요 항목, 이동 필요 금액, 대사 차이 건수가 먼저 나옵니다. 금액은 백만 원 단위로 줄여 보여 주므로 회의 자리에서 읽기 쉽습니다. 첫 화면에서 대사 차이 건수가 0 인지부터 보고, 그다음에 점검 필요 건수를 봅니다.

점검 필요만 골라 보기 — 범주가 다른 처분 건만 좁힌다
점검 필요만 골라 보기 — 범주가 다른 처분 건만 좁힌다 — 점검 결과를 점검 필요로 두면 장부 범주와 재계산 범주가 다른 처분 건만 남습니다.

결산에서 가장 자주 쓰는 모습입니다. 점검 결과 조건을 점검 필요로 두고 조회하면 22건 가운데 7건만 남습니다. 회사 · 금융자산 종류 · 장부 범주 · 처분일 범위 · 금융자산명 · 점검 코드 조건을 함께 걸어 더 좁힐 수도 있습니다. 조건은 모두 OData $filter 로 서비스에 전달되므로 건수와 합계도 같은 조건으로 다시 계산됩니다.

건별 · 상세 · 종류별로 내려가기

화면의 중심은 처분 건 한 줄입니다. 건에서 상세로, 금융자산에서 종류로 오르내리며 같은 숫자를 다른 각도로 봅니다.

처분 건별 점검 — 처분손익과 두 범주를 건마다 나란히
처분 건별 점검 — 처분손익과 두 범주를 건마다 나란히 — 처분손익 · 장부 범주 · 재계산 범주 · 점검 결과 · 이동 필요 금액이 한 줄에 놓입니다.

처분 건 하나가 한 줄입니다. 장부 범주와 재계산 범주가 같으면 정상, 다르면 점검 필요로 표시되고 어떤 이유로 어긋났는지가 점검 코드로 붙습니다. 이동 필요 금액은 범주가 다른 건의 처분손익이며, 손실이면 부호가 음수로 남습니다. 금융자산 종류가 등록되지 않은 건은 범주를 추측하지 않고 확인 필요로 표시합니다.

행을 눌러 본 상세 — 판단 근거와 같은 금융자산의 다른 처분 건
행을 눌러 본 상세 — 판단 근거와 같은 금융자산의 다른 처분 건 — 행을 누르면 처분대가 · 장부금액 · 처분비용과 점검 근거 문장, 같은 금융자산의 처분 건 비교가 열립니다.

감사인이 이 건은 왜 영업범주가 아니냐고 물을 때 열어 보는 화면입니다. 처분손익이 처분대가에서 장부금액과 처분비용을 뺀 값으로 어떻게 만들어졌는지, 재계산에 쓴 판단 요소(종류 · 주된 사업활동 · 중단영업)가 무엇이었는지가 문장으로 적혀 있습니다. 같은 금융자산을 여러 번에 나눠 판 경우 나머지 처분 건과 한 번에 비교할 수 있습니다.

종류별 합계 — 금융자산 종류마다 두 범주의 금액을 합쳐서
종류별 합계 — 금융자산 종류마다 두 범주의 금액을 합쳐서 — 채무증권 · 대여금 · 매출채권 · 예치금 종류마다 장부 범주 금액과 재계산 범주 금액이 나란히 놓입니다.

종류를 기준으로 보면 어느 종류에서 범주가 갈리는지 한눈에 드러납니다. 채무증권은 투자범주, 매출채권은 영업범주가 기본이므로 종류별 합계에서 장부 범주 금액이 이 기본과 크게 다르면 계정 매핑부터 의심합니다. 종류 아래에는 처분 건수와 점검 필요 건수가 함께 적혀 있어 어느 종류부터 열어 볼지 정할 수 있습니다.

숫자가 맞는지 확인하기

마지막 탭은 보고 있는 숫자가 서로 맞는지 보여 주는 자리입니다.

대사 결과 — 합계가 맞는지 화면이 매번 보여 준다
대사 결과 — 합계가 맞는지 화면이 매번 보여 준다 — 대사식 7종의 좌변 · 우변 · 검사 건수 · 차이 건수 · 최대 차이가 표로 나옵니다.

처분 건 합계가 금융자산 합계와, 금융자산 합계가 종류 합계와 같은지, 장부 범주와 재계산 범주의 합이 각각 처분손익과 같은지를 매번 계산해 보여 줍니다. 마지막 한 줄은 참고 대사로, 점검 필요 건수가 금융자산별 합계와 같은지를 봅니다. 모두 차이 0 이어야 하며, 어긋나는 날은 숫자를 보고하기 전에 원인부터 찾습니다.

SAP 표준 기능 확장 포인트

이 앱은 SAP 표준을 대체하지 않습니다. 표준이 이미 잘하는 일은 표준에 맡기고, 표준이 끊기는 자리만 이어 붙이는 쪽으로 만들었습니다. 어디까지가 표준이고 어디서부터 이 앱인지를 먼저 적습니다.

표준으로 되는 것과 안 되는 것

하고 싶은 일SAP 표준표준에서 걸리는 자리이 앱이 하는 일
처분손익 계정의 전표 조회FAGLL03계정별 전표는 나오지만 어느 범주 관점인지는 알 수 없습니다처분 건을 범주별로 다시 모아 견줍니다
매출채권 처분 전 항목 확인FBL5N채권 항목 조회까지입니다처분 건과 영업범주 판단을 연결해 보여 줍니다
G/L 계정 항목 조회FBL3N항목 조회까지이며 처분 단위로 묶이지 않습니다처분 전기가 놓인 범주를 점검합니다
재무제표 표시 구조 확인F.01표시 구조 단위의 합계입니다범주별 합계를 대사로 맞춰 봅니다
범주 재계산과 장부 비교—표준에 없습니다. 보통 엑셀로 만듭니다재계산 후 장부와 건마다 견주고 점검 코드를 붙입니다
분류 근거의 기록전표 적요 · 첨부전표 단위라 집계 행에는 붙일 곳이 없습니다건마다 점검 근거 문장이 남습니다

T-code 별 연계 지점

이 앱이 표준 거래의 어느 자리를 이어받는지를 적었습니다. 운영에 올릴 때 “기존 리포트를 없애야 하느냐”는 질문이 나오는데, 답은 없애지 않고 둡니다입니다. 대사와 감사 대응은 표준 거래가 맡는 편이 안전합니다.

T-code이름연계
FAGLL03G/L 계정 라인 아이템처분손익 계정의 전표를 범주별 계정과 맞춰 보는 자리입니다. 처분 건 합계가 이 리포트의 합계와 맞는지가 운영 대사의 첫 단계입니다.
FBL5N고객 라인 아이템매출채권을 팩토링이나 매각으로 처분하기 전 채권 항목을 원천에서 확인합니다. 영업범주 판단(F02)의 근거를 찾을 때 씁니다.
FBL3NG/L 계정 라인 아이템 조회금융자산 처분 전기가 놓인 계정의 항목을 확인합니다. 장부 범주가 어느 계정에서 왔는지 따라갑니다.
F.01재무제표 (표준 리포트)범주별 합계를 손익 표시 구조와 맞춰 보는 자리입니다. 이 앱의 범주별 금액이 표시 구조와 어긋나는지 확인합니다.
FB03전표 조회점검 필요 건의 전표번호를 집어 원전표를 열어 보는 자리입니다.
FAGLB03총계정원장 잔액처분손익 계정의 기간 잔액과 이 앱의 합계를 맞춰 봅니다.
SE16N테이블 조회검수 단계에서 원천 테이블과 건수를 맞춰 볼 때 씁니다. 운영에서는 일반 사용자에게 열지 않는 편이 보통입니다.

S/4HANA 분석 스택과의 자리

S/4HANA 에서는 CDS 뷰로 만든 쿼리를 표준 Fiori 앱이 그대로 띄워 줍니다. 이 앱을 올리기 전에 표준 스택으로 먼저 되는지를 확인하는 편이 좋습니다. 되면 그쪽이 유지보수가 쌉니다.

표준 자리무엇을 하나이 앱과의 관계
Query Browser (F1068)분석 쿼리 뷰를 목록에서 찾아 바로 실행아래 CDS 구성의 쿼리 뷰까지 만들어 두면 이 앱 없이도 범주별 금액을 볼 수 있습니다. 점검 코드와 상세 근거가 필요 없다면 여기서 끝내도 됩니다.
View Browser (F2170)CDS 뷰의 구조와 의존 관계 탐색어떤 표준 뷰 위에 얹을지 고를 때 씁니다.
Analysis for Microsoft Office같은 쿼리를 엑셀에서 피벗으로엑셀로 가공하는 업무가 많다면 함께 열어 두는 편이 낫습니다.
KPI / Card Modeler요약 지표를 런치패드 타일로이 앱의 요약 숫자(점검 필요 · 이동 필요 금액)를 타일로 띄울 수 있습니다.

확장 포인트 — 운영에서 실제로 손대는 자리

  1. 금융자산 종류 매핑을 회사 기준으로 정한다. 이 사례는 채무증권(DBT) · 대여금(LON) · 매출채권(TRC) · 예치금(DEP)과 미등록(UNK) 다섯 묶음입니다. 실제로는 계정과 거래 유형을 어느 종류로 볼지부터 합의해야 하고, 합의되지 않은 건은 확인 필요로 남습니다.
  2. 주된 사업활동 여부를 정한다. 대출이나 금융자산 운용이 주된 사업활동인 회사는 같은 채무증권이라도 영업범주로 봐야 할 수 있습니다. 이 설정이 재계산 범주를 가르는 핵심입니다.
  3. 중단영업 분류를 연결한다. 중단영업으로 분류된 사업의 처분손익은 중단영업 범주에 놓여야 합니다. 분류 자체는 회사가 판단하며 이 앱은 그 설정을 읽어 비교합니다.
  4. 처분손익 계정과 장부 범주를 매핑한다. 장부 범주는 어느 손익 계정에 기표되었는지로 정해집니다. 계정 체계를 기준으로 영업 · 투자 · 중단영업 묶음을 정해 두어야 비교가 의미를 가집니다.
  5. 집계 레이어를 CDS 로 내린다. 예시 자료는 처분 22건이라 서비스가 들고 묶어도 되지만, 운영 데이터에서는 아래 CDS 구성처럼 집계를 DB 로 내려야 합니다.
  6. 권한을 표준 객체로 건다. 회사코드 권한을 집계를 읽는 자리에 걸어야 합니다. 상세에만 걸면 합계의 차이로 다른 회사 숫자가 드러납니다.

기준서 인용에 관해. IFRS 18(K-IFRS 제1118호)의 범주별 정의 요건 가운데 매출채권 처분손익의 범주 요건처럼 해석이 갈릴 수 있는 대목은 이 화면이 판정하지 않고 원문 확인 필요로 남깁니다. 기준서 적용일은 2027-01-01 이후 개시하는 회계연도이며 조기 적용이 허용됩니다.

CDS 구성

이 사례의 화면은 처분 22건을 서비스가 들고 묶습니다. 예시라서 되는 일이고, 운영 데이터에서는 그렇게 하지 않습니다. 운영으로 올릴 때 가장 먼저 하는 일이 집계를 CDS 로 내리는 것입니다. 아래는 그때 만드는 뷰들을 레이어 순서대로 적은 것입니다.

코드는 스케치입니다. 필드 이름과 표준 뷰 이름은 릴리스와 환경에 따라 다르므로 그대로 붙여 넣기 전에 View Browser(F2170) 로 실제 이름을 확인해야 합니다. 확인이 필요한 자리는 주석에 적어 두었습니다.

뷰 레이어 구성

레이어뷰하는 일왜 나누나
기준ZFDSP_CLSMAP계정 · 거래 유형 → 금융자산 종류 · 장부 범주 매핑계정은 늘 늘어납니다. 코드에 박으면 늘어날 때마다 개발자를 부르게 됩니다.
인터페이스ZI_FinDispItem처분 전표 라인을 처분 건 단위로 묶고 대가 · 장부금액 · 비용을 나눔화면과 쿼리가 같은 건을 보게 합니다.
재계산ZC_FinDispCategory종류 · 주된 사업활동 · 중단영업으로 재계산 범주 산출판단 규칙을 한 곳에서만 정의합니다.
점검ZC_FinDispCheck장부 범주와 비교해 점검 코드와 이동 필요 금액 산출규칙이 바뀌어도 이 뷰만 고칩니다.
집계ZC_FinDispAsset · ZC_FinDispClass금융자산별 · 종류별 합계화면이 들고 묶던 일을 DB 로 내립니다.
대사ZC_FinDispRecon합계끼리 맞는지 계산대사를 화면이 아니라 데이터 쪽에서 한 번만 정의합니다.
권한ZI_FINDISP (DCL)회사코드집계를 읽는 자리에 걸어야 합계의 차이로 새지 않습니다.

① 종류 · 장부 범주 매핑 테이블

모든 판정이 이 표에서 갈립니다. 어떤 계정과 거래 유형이 채무증권이고 어떤 처분손익 계정이 영업범주인지를 정하는 자리라 운영 전환에서 가장 먼저 합의해야 하는 항목입니다. 유효기간을 둔 이유는 계정 체계가 바뀌어도 과거 결산 숫자가 흔들리지 않게 하기 위해서입니다.

@EndUserText.label: '금융자산 종류 · 장부 범주 매핑'
@AbapCatalog.tableCategory: #TRANSPARENT
define table zfdsp_clsmap {
  key client     : abap.clnt not null;
  key bukrs      : bukrs not null;
  key racct_from : racct not null;     // 계정 범위 시작
  key valid_to   : datbi not null;     // 유효 종료일
  racct_to       : racct;              // 계정 범위 끝
  ast_class      : abap.char(3);       // DBT 채무증권 / LON 대여금 / TRC 매출채권 / DEP 예치금
  booked_cat     : abap.char(4);       // OPR 영업 / INV 투자 / DISC 중단영업
  main_inv       : abap.char(1);       // 주된 사업활동 여부 (Y/N) - 회사 설정, 확인 필요
  disc_flag      : abap.char(1);       // 중단영업 분류 (Y/N) - 회사 설정, 확인 필요
}

② 처분 전표 라인 인터페이스 뷰

처분 건 하나가 전표 여러 줄로 나뉘어 있습니다. 대가를 받은 줄, 장부금액을 제거한 줄, 처분비용 줄, 손익이 기표된 줄을 처분 건 단위로 묶어 한 행으로 만드는 뷰입니다. 여기서 묶는 기준(처분 건 번호)이 정해지지 않으면 금액이 건마다 어긋납니다.

@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '처분 건 단위 전표 요약'
define view entity ZI_FinDispItem
  as select from acdoca as j
    inner join   zfdsp_clsmap as m
      on  m.bukrs = j.rbukrs
      and j.racct between m.racct_from and m.racct_to
      and m.valid_to >= j.budat
{
  key j.rbukrs                       as Bukrs,
  key j.gjahr                        as Gjahr,
  key j.belnr                        as DispNo,        // 처분 건 묶음 기준 - 확인 필요
      m.ast_class                    as AstClass,
      m.booked_cat                   as BookedCat,
      m.main_inv                     as MainInv,
      m.disc_flag                    as DiscFlag,
      max( j.budat )                 as DispDate,
      @Semantics.amount.currencyCode: 'Rhcur'
      sum( case when j.racct_role = 'PROCEEDS' then j.hsl else 0 end ) as ProceedsAmt,
      sum( case when j.racct_role = 'CARRY'    then j.hsl else 0 end ) as CarryAmt,
      sum( case when j.racct_role = 'COST'     then j.hsl else 0 end ) as CostAmt,
      j.rhcur                        as Rhcur
}
group by j.rbukrs, j.gjahr, j.belnr, m.ast_class, m.booked_cat, m.main_inv, m.disc_flag, j.rhcur
// racct_role 은 계정을 대가 / 장부금액 / 비용으로 나누는 매핑 필드 - 확인 필요

③ 재계산 범주 뷰

판단 규칙이 들어 있는 뷰입니다. 순서가 곧 규칙입니다. 중단영업을 가장 먼저 보고, 종류가 없으면 추측하지 않고 판정 보류로 둡니다. 순서를 바꾸면 같은 건의 범주가 달라지므로 변경할 때는 회계 담당자의 승인을 받는 편이 안전합니다.

@EndUserText.label: '재계산 범주'
define view entity ZC_FinDispCategory
  as select from ZI_FinDispItem
{
  key Bukrs, key Gjahr, key DispNo,
      AstClass, BookedCat, DispDate,
      ProceedsAmt - CarryAmt - CostAmt   as GainAmt,
      case
        when DiscFlag = 'Y'       then 'DISC'   // 중단영업 분류
        when AstClass = 'UNK'     then 'NONE'   // 종류 미등록 - 판정 보류
        when AstClass = 'TRC'     then 'OPR'    // 매출채권 - 영업범주 (요건은 원문 확인 필요)
        when MainInv  = 'Y'       then 'OPR'    // 주된 사업활동이면 영업범주
        else                           'INV'    // 그 밖은 투자범주
      end                                as ExpectCat
}

④ 점검 코드와 이동 필요 금액

장부 범주와 재계산 범주를 견주어 점검 코드를 붙이는 뷰입니다. 종류 미등록은 F09, 둘이 같으면 F00, 다르면 사유에 따라 F01~F04 입니다. 이동 필요 금액은 범주가 다른 건의 처분손익이며 부호를 남깁니다.

@EndUserText.label: '점검 코드'
define view entity ZC_FinDispCheck
  as select from ZC_FinDispCategory as c
{
  key Bukrs, key Gjahr, key DispNo,
      AstClass, BookedCat, ExpectCat, GainAmt, DispDate,
      case
        when ExpectCat = 'NONE'                      then 'F09'  // 확인 필요
        when BookedCat = ExpectCat                   then 'F00'  // 정상
        when ExpectCat = 'DISC'                      then 'F04'  // 중단영업 범주 아님
        when AstClass  = 'TRC'                       then 'F02'  // 매출채권 처분손익이 투자범주
        when ExpectCat = 'OPR'                       then 'F03'  // 주된 사업활동인데 투자범주
        else                                              'F01'  // 투자 목적인데 영업범주
      end                                            as CheckCode,
      case when ExpectCat <> 'NONE' and BookedCat <> ExpectCat
           then GainAmt else 0 end                   as MoveAmt
}

⑤ 금융자산별 · 종류별 집계

처분 건을 금융자산으로, 금융자산을 종류로 올려 합칩니다. 범주별 금액은 장부 3범주와 재계산 3범주를 한 행에 나란히 두는 것이 핵심입니다. 이 모양이어야 화면이 두 범주를 비교해 보여 줄 수 있습니다.

@EndUserText.label: '종류별 합계'
define view entity ZC_FinDispClass
  as select from ZC_FinDispCheck
{
  key Bukrs, key Gjahr, key AstClass,
      sum( GainAmt )                                                   as GainAmt,
      sum( case when BookedCat = 'OPR'  then GainAmt else 0 end )      as BookedOpr,
      sum( case when BookedCat = 'INV'  then GainAmt else 0 end )      as BookedInv,
      sum( case when BookedCat = 'DISC' then GainAmt else 0 end )      as BookedDisc,
      sum( case when ExpectCat = 'OPR'  then GainAmt else 0 end )      as ExpectOpr,
      sum( case when ExpectCat = 'INV'  then GainAmt else 0 end )      as ExpectInv,
      sum( case when ExpectCat = 'DISC' then GainAmt else 0 end )      as ExpectDisc,
      sum( case when ExpectCat = 'NONE' then GainAmt else 0 end )      as HoldAmt,
      count( * )                                                       as DispCnt,
      sum( case when CheckCode between 'F01' and 'F04' then 1 else 0 end ) as FlagCnt
}
group by Bukrs, Gjahr, AstClass

⑥ 대사 뷰

대사는 화면이 아니라 데이터 쪽에서 한 번만 정의합니다. 같은 식을 화면과 배치가 따로 계산하면 언젠가 어긋납니다. 아래는 가장 단순한 두 식의 예이며, 나머지도 같은 모양입니다.

@EndUserText.label: '정합성 대사'
define view entity ZC_FinDispRecon
  as select from ZC_FinDispCheck as d
{
  key d.Bukrs, key d.Gjahr,
      'R02'                                         as ReconNo,
      sum( d.GainAmt )                              as LeftAmt,   // 처분 건 손익 합계
      ( select sum( GainAmt ) from ZC_FinDispClass
          where Bukrs = d.Bukrs and Gjahr = d.Gjahr ) as RightAmt, // 종류별 손익 합계
      count( * )                                    as CheckCnt
}
group by d.Bukrs, d.Gjahr
// R01 ~ R07 도 같은 모양: 좌변과 우변을 각각 집계해 차이를 계산

⑦ 서비스 정의와 권한 (DCL)

화면이 부르는 OData 서비스는 위 뷰를 그대로 노출합니다. 권한은 집계를 읽는 뷰에 걸어야 합니다. 상세에만 걸면 회사 합계에서 상세를 뺀 값으로 다른 회사 숫자가 드러납니다.

@EndUserText.label: '금융자산 처분 점검 서비스'
define service ZUI_FINDISP_SRV {
  expose ZC_FinDispCheck as DispSet;
  expose ZC_FinDispAsset as AstSet;
  expose ZC_FinDispClass as ClsSet;
  expose ZC_FinDispRecon as ReconSet;
}

@EndUserText.label: '처분 점검 권한'
@MappingRole: true
define role ZI_FINDISP {
  grant select on ZC_FinDispCheck
    where ( Bukrs ) = aspect pfcg_auth( F_BKPF_BUK, BUKRS, ACTVT = '03' );
}

운영 시점에 해야 할 일

개발보다 정하는 일이 많습니다. 아래 표의 왼쪽은 대부분 코딩이 아니라 합의입니다.

해야 할 일무엇을 정하나정하지 않으면누가
금융자산 종류 매핑계정 · 거래 유형을 DBT · LON · TRC · DEP 로 나누는 기준확인 필요 건이 계속 남습니다재무회계팀
주된 사업활동 여부회사 또는 사업 단위로 Y/N 을 어떻게 둘지투자범주와 영업범주 판단이 갈립니다재무 · 경영진
중단영업 분류 연결중단영업 사업을 어디서 읽어 올지중단영업 범주 건을 걸러 내지 못합니다재무회계팀
장부 범주 매핑처분손익 계정을 영업 · 투자 · 중단영업 묶음으로 나누는 기준모든 비교가 흔들립니다재무회계팀
처분 건 묶음 기준전표 여러 줄을 처분 건으로 묶는 키대가와 장부금액이 건마다 어긋납니다IT · 재무회계팀
권한 기준회사코드 권한을 집계에 거는 방식합계의 차이로 다른 회사 숫자가 드러납니다보안 · 권한
비교기간IFRS 18 전환 시 비교기간 재작성 처리이 화면은 당기 처분 건만 다루므로 전환 조정은 따로 점검해야 합니다재무회계팀

자주 묻는 질문

도입 상담과 데모에서 받는 질문을 네 묶음으로 정리했습니다.

범주 판정과 점검 코드

IFRS 18 은 언제부터 적용되나요?

IFRS 18 재무제표 표시와 공시(K-IFRS 제1118호)는 2027-01-01 이후 개시하는 회계연도부터 적용하며 조기 적용이 허용되고 비교기간은 재작성합니다. 그 밖의 경과 규정은 원문으로 확인한 사실만 적습니다.

이 화면이 다루는 금융자산은 무엇입니까?

채무증권, 대여금, 매출채권, 금융기관 예치금의 처분 건입니다. 종류가 등록되지 않은 건은 범주를 판단하지 않고 확인 필요로 남깁니다.

재계산 범주는 어떤 순서로 정합니까?

중단영업으로 분류된 사업이면 중단영업 범주, 금융자산 종류가 없으면 판정 보류, 매출채권이면 영업범주, 그 밖의 금융자산은 주된 사업활동이면 영업범주 아니면 투자범주입니다. 순서가 곧 규칙이라 앞 조건이 뒤 조건보다 우선합니다.

점검 코드 F01 은 무엇을 뜻합니까?

투자 목적으로 들고 있던 채무증권 · 대여금 · 예치금의 처분손익이 영업범주에 놓인 경우입니다. 분류 근거를 확인하고 투자범주로 옮겨야 하는지 판단하십시오.

F02 는 어떤 경우입니까?

영업활동에서 생긴 매출채권의 처분(팩토링 · 매각)손익이 투자범주에 놓인 경우입니다. 영업범주 해당 여부를 확인하되 매출채권 처분손익의 범주 요건은 원문 확인이 필요하다고 표시합니다.

F03 과 F04 는 무엇입니까?

F03 은 대출이나 금융자산 운용이 주된 사업활동인 회사의 채무증권 · 대여금 · 예치금 처분손익이 투자범주에 놓인 경우, F04 는 중단영업으로 분류된 사업의 처분손익이 중단영업 범주에 놓이지 않은 경우입니다.

F09 는 오류입니까?

오류가 아닙니다. 금융자산 종류가 등록되지 않아 범주를 판단할 기준이 없다는 뜻이며 확인 필요로 표시됩니다. 종류를 먼저 등록하고 다시 조회하면 됩니다.

숫자와 대사

이동 필요 금액은 무엇입니까?

장부 범주와 재계산 범주가 다른 건의 처분손익입니다. 건 단위로는 부호를 남기고, 요약에서는 절대값 합계로 보여 줍니다. 실제로 전표를 옮기는 금액이 아니라 옮길 수 있는 후보의 크기입니다.

처분손익은 어떻게 계산합니까?

처분대가에서 장부금액과 처분비용을 뺍니다. 세 금액이 모두 화면에 남아 있어 손익이 어떻게 만들어졌는지 거꾸로 따라갈 수 있습니다.

대사 7종은 무엇을 확인합니까?

처분대가 − 장부금액 − 처분비용이 처분손익과 같은지, 처분 건 · 금융자산 · 종류 합계가 서로 같은지, 장부와 재계산 범주의 합이 각각 처분손익과 같은지, 이동 필요 금액이 범주 상이 건의 합과 같은지, 점검 필요 건수가 금융자산별 합계와 같은지를 봅니다.

점검 필요 7건이 있는데 대사 차이가 0 인 것은 모순 아닙니까?

모순이 아닙니다. 점검 필요는 범주 판단을 다시 볼 건이고 대사 차이는 집계가 맞는지의 문제입니다. 전자가 많아도 집계는 정확할 수 있으며, 둘을 섞어 보지 않도록 따로 표시합니다.

금액 단위는 무엇입니까?

표는 원 단위로, 요약은 백만 원 단위로 줄여 보여 줍니다. 대사의 최대 차이는 원 단위로 적습니다.

SAP 연계와 데이터

표준 T-code 와는 어떤 관계입니까?

전표와 계정 조회는 FAGLL03, FBL5N, FBL3N, F.01 같은 표준 거래가 맡고, 이 화면은 그 숫자를 범주 관점으로 다시 모아 견줍니다. 표준을 없애지 않고 함께 둡니다.

원천 데이터는 무엇입니까?

처분 전표 라인은 ACDOCA 에서 읽고, 금융자산 종류와 주된 사업활동, 중단영업 분류는 회사 설정에서 읽습니다. 금융자산 마스터는 자금관리 구성에 따라 원천이 다르므로 도입 때 확인이 필요합니다.

OData 서비스는 어떻게 구성됩니까?

엔티티셋 4개(처분 건 · 금융자산 · 종류 · 대사)와 펑션 1개(점검 필요 건수)로 구성된 조회 전용 V2 서비스입니다. 조회조건은 모두 $filter 로 전달됩니다.

데이터를 바꿀 수 있습니까?

바꾸지 않습니다. 이 화면은 조회와 점검만 하며 전표나 마스터를 수정하지 않습니다.

운영 데이터에서도 이 구조로 됩니까?

예시 자료는 처분 22건이라 서비스가 직접 묶지만, 운영에서는 CDS 구성처럼 집계를 DB 로 내려야 합니다. 화면과 서비스 계약은 그대로 두고 아래쪽만 바꿉니다.

운영과 도입

화면의 판정으로 범주를 확정해도 됩니까?

안 됩니다. 이 화면은 분류 · 집계 · 대사를 돕는 점검 도구입니다. 점검 필요는 다시 살펴볼 건을 알려 줄 뿐이며 최종 판단은 회사와 감사인이 합니다.

도입하려면 무엇부터 정해야 합니까?

금융자산 종류 매핑, 주된 사업활동 여부, 중단영업 분류, 장부 범주 매핑입니다. 대부분 코딩이 아니라 회계 담당자의 합의입니다.

권한은 어떻게 겁니까?

회사코드 권한을 집계를 읽는 뷰에 겁니다. 상세에만 걸면 합계에서 상세를 뺀 값으로 다른 회사 숫자가 드러납니다.

IFRS 18 전환 때 비교기간도 점검할 수 있습니까?

이 화면은 당기 처분 건만 다룹니다. 비교기간 재작성에 필요한 조정은 별도 점검이 필요합니다.

숫자가 기존 보고서와 다르면 어떻게 확인합니까?

먼저 조회 범위(회계연도 · 회사)가 같은지 보고, 다음으로 계정 매핑이 같은지 봅니다. 그다음 상세에서 처분대가와 장부금액을 FAGLL03 과 맞춰 봅니다. 그래도 다르면 같은 처분 건을 묶는 기준이 다른 경우가 많습니다.

CSV 로 내려받을 수 있습니까?

예. 지금 보고 있는 탭을 UTF-8 파일로 내려받을 수 있습니다. 조회조건이 적용된 결과 그대로 나옵니다.