SAP 지역별 수익·비유동자산 공시 점검 — IFRS 8, 본국과 외국의 외부고객 수익과 비유동자산을 국가별로 산출해 장부 공시 금액과 맞춰본다
본국·외국 구분 · 별도 공시 후보 · 제외 항목 차감 · 귀속 기준 일치 · 장부 공시 대사를 국가 단위로 확인합니다
해외 매출이 있는 회사는 IFRS 8 영업부문(K-IFRS 제1108호)의 기업 전체 공시에 따라 외부고객으로부터의 수익과 비유동자산을 본국과 외국으로 나누어 공시해야 합니다. 개별적으로 중요한 외국은 따로 보여주어야 하고, 비유동자산에서는 금융상품, 이연법인세자산, 퇴직급여자산, 보험계약에서 생기는 권리를 제외합니다. 수익을 어느 국가에 귀속시켰는지 그 기준도 함께 밝혀야 합니다.
실무에서는 고객 마스터의 국가, 자산이 놓인 플랜트의 국가, 연결 제거 대상 거래가 서로 다른 자료에 흩어져 있어 주석 금액과 원장 합계를 맞춰 보기 어렵습니다. 이 화면은 국가별 수익과 비유동자산을 한 번에 산출하고 장부 공시 금액, 개별 공시 여부, 귀속 기준 일치 여부를 대사하도록 OpenUI5 화면으로 확장했습니다. 영업부문 보고대상 판정이나 주요 고객 의존도와는 달리 지리적 구분 공시에 초점을 둡니다. 실제 구동 화면 6종을 함께 공개합니다.
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) |
| 관련 기준서 | IFRS 8 영업부문(K-IFRS 제1108호) — 기업 전체 공시 중 지역별 정보 |
| Namespace | zui5.geoinfo |
| 셸 구조 | 단일 페이지 + 4개 탭 |
| 화면 수 | 메인 1 · 상세 팝업 1 |
| SAP 표준 T-code | FAGLL03 · FBL5N · FD03 · AS03 · AW01N |
| 데이터 연동 방식 | OData V2 (조회조건 전부 $filter) |
| 성격 | 조회·산출·대사·점검형 |
| 테마 | sap_horizon · 한국어 |
| 요약 | 내용 |
|---|---|
| 점검 대상 | 국가별 외부고객 수익, 공시 대상 비유동자산, 점유율, 개별 공시 여부와 장부 공시 금액, 거래처 귀속 국가와 고객 소재지 |
| 핵심 산식 | 외부고객 수익 = 원장 수익 − 내부거래 제거액 · 공시 대상 비유동자산 = 비유동자산 합계 − 제외 항목 · 점유율 = 국가별 금액 ÷ 전체 금액 |
| 결과 표시 | 정상 / 점검 필요 |
실제 화면 6종 둘러보기






사용 방법
- 조회조건 입력 — 회계연도(필수)를 4자리로 입력합니다. 본국 구분, 점검 코드, 점검 결과는 선택이며 "전체"이면 조건에서 빠집니다.
- 조회 — 조회조건 영역 오른쪽 끝의 [조회] 버튼을 누르거나 입력 칸에서 Enter 키를 누릅니다. [초기화]는 같은 줄 오른쪽에 있습니다. 화면을 열면 기본 조건(2026)으로 자동 조회합니다.
- 요약 확인 — 외부고객 수익 합계, 본국 수익 비중, 공시 대상 비유동자산 합계, 별도 공시 후보 외국 수, 점검 필요 건수, 정합성 대사 차이 건수를 확인합니다.
- 탭 이동 — 지역별 수익 → 지역별 비유동자산 → 거래처 귀속 명세 → 대사 결과 순으로 봅니다. 탭 위의 숫자는 조건에 맞는 건수입니다.
- 행 클릭 상세 — 지역별 수익 또는 지역별 비유동자산의 국가 행을 누르면 수익 정보, 자산 구성, 거래처 명세를 한 팝업에서 봅니다. [닫기]로 닫습니다.
- CSV 내려받기 — 현재 탭의 조회 결과를 UTF-8(BOM) CSV 로 내려받습니다.
점검 코드 판정 규칙
화면은 국가마다 수익과 비유동자산을 따로 점검해 점검 코드를 붙입니다. 결과는 "정상" 또는 "점검 필요"로만 표시합니다.
| 점검 코드 | 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|---|
R00 | 아래 조건에 모두 해당하지 않음 | 정상 | 조치 없음 |
R06 | 국가 코드가 "미분류"인 거래·자산 금액이 있음 | 점검 필요 | 고객 마스터의 국가 입력, 자산 위치 정보를 보완해 국가에 귀속 |
R03 | 본국이 아닌 국가의 점유율이 회사 점검 기준(샘플 5.00%) 이상인데 개별 공시되지 않음 | 점검 필요 | 개별 공시 여부와 "기타 외국" 묶음 처리의 적정성을 회사와 감사인이 판단 |
R01 | 개별 공시한 국가의 공시 수익(장부)이 산출 외부고객 수익과 다름 | 점검 필요 | 차이 원인(내부거래 제거, 환산, 반올림, 입력값 차이 등)을 확인 |
R04 | 공시 비유동자산(장부)이 제외 항목을 차감하기 전 합계와 같고 제외 항목이 0 보다 큼 | 점검 필요 | 금융상품·이연법인세자산·퇴직급여자산·보험계약 권리의 차감 여부를 확인 |
R02 | 개별 공시한 국가의 공시 비유동자산(장부)이 산출 금액과 다름 | 점검 필요 | 자산 위치 분류, 제외 항목 매핑, 환산 차이를 확인 |
R05 | 고객 소재지 국가와 수익 귀속 국가가 다른 외부 거래가 있음 | 점검 필요 | 수익 귀속 기준(고객 소재지 기준 등)과 실제 귀속 방식이 일치하는지 확인 |
한 행에 여러 사유가 겹치면 위 표의 순서(R06 → R03 → R01/R04 → R02 → R05)로 가장 앞선 사유를 점검 코드에 표시합니다. 점유율 5.00% 는 후보를 가려내는 점검용 설정값이며 기준서가 정한 수치가 아닙니다. 개별적으로 중요한 국가의 판단은 회사와 감사인이 합니다.
국가별 산출에서 점검 코드까지의 순서
- 국가별 원장 수익 — 거래처 명세를 귀속 국가 기준으로 모읍니다.
- 외부고객 수익 = 원장 수익 − 내부거래 제거액. 국가별 합계는 연결 포괄손익계산서 수익과 같아야 합니다.
- 공시 대상 비유동자산 = 구성 8항목 합계 − (금융상품 + 이연법인세자산 + 퇴직급여자산 + 보험계약 권리).
- 점유율 = 국가별 금액 ÷ 전체 금액 × 100. 본국이 아닌 국가 중 점검 기준 이상이면 별도 공시 후보로 봅니다.
- 장부 대사 — 개별 공시 금액과 기타 외국 합계를 산출액과 맞추고 점검 코드를 부여합니다.
비유동자산 제외 항목에 해당하는 계정 매핑과 수익 귀속 기준 문구는 회사별 자료이므로 확인 필요 항목입니다.
조회조건
| 조건 | 필수 | 설명 |
|---|---|---|
| 회계연도 | 필수 | 4자리(YYYY). 기본값 2026. 입력 후 Enter 키로도 조회 |
| 본국 구분 | 선택 | 전체 / 본국 / 외국. "전체"이면 조건을 보내지 않음 |
| 점검 코드 | 선택 | R00~R06. "전체"이면 조건을 보내지 않음 |
| 점검 결과 | 선택 | 전체 / 정상 / 점검 필요. "전체"이면 조건을 보내지 않음 |
결과 컬럼
| 탭 | 컬럼 수 | 컬럼 |
|---|---|---|
| 지역별 수익 | 18 | 회계연도, 국가 번호, 국가 코드, 귀속 국가, 본국 구분, 원장 수익(내부거래 포함), 내부거래 제거액, 외부고객 수익(산출), 수익 점유율, 별도 공시 후보, 개별 공시 여부, 공시 수익(장부), 차이(장부−산출), 귀속 불일치 거래처 수, 귀속 불일치 금액, 점검 결과, 점검 코드, 점검 내용 |
| 지역별 비유동자산 | 24 | 회계연도, 국가 번호, 국가 코드, 소재 국가, 본국 구분, 유형자산, 사용권자산, 무형자산(영업권 포함), 투자부동산, 비유동 금융자산, 이연법인세자산, 퇴직급여자산, 보험계약 권리, 비유동자산 합계(제외 전), 제외 항목 합계, 공시 대상 비유동자산(산출), 자산 점유율, 별도 공시 후보, 개별 공시 여부, 공시 비유동자산(장부), 차이(장부−산출), 점검 결과, 점검 코드, 점검 내용 |
| 거래처 귀속 명세 | 12 | 회계연도, 국가 번호, 거래처 번호, 거래처(가상), 귀속 국가 코드, 고객 소재지 국가 코드, 그룹 내 거래, 수익 금액, 귀속·소재지 일치, 점검 결과, 점검 코드, 점검 내용 |
| 대사 결과 | 10 | 회계연도, 대사 번호, 대사 구분, 대사 항목, 대사식, 좌변, 우변, 검사 건수, 차이 건수, 최대 차이 |
SAP 표준 기능 매핑
표준 T-code
| T-code | 표준 기능 | 이 화면과의 관계 |
|---|---|---|
FAGLL03 | 총계정원장 개별항목 조회 | 지역별 수익 — 수익 계정 개별 항목을 확인하는 표준 조회 |
FBL5N | 고객 개별항목 조회 | 거래처 귀속 명세 — 고객별 수익 전표 확인 |
FD03 | 고객 마스터 조회 | 고객 소재지 국가 확인(귀속·소재지 일치 판정의 기준) |
AS03 | 자산 마스터 조회 | 지역별 비유동자산 — 자산의 소재 정보 확인 |
AW01N | 자산 탐색기 | 지역별 비유동자산 — 자산 가액 구성 확인 |
IFRS 요구사항 매핑
| 기준서 | 요구사항 | 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| IFRS 8 영업부문(K-IFRS 제1108호) | 외부고객으로부터의 수익을 본국과 외국 전체로 구분해 공시 | 지역별 수익 탭 — 본국 구분, 국가별 외부고객 수익 | 수익 계정 전표 × 고객 소재지 국가 | 귀속 기준은 회사가 정하고 공시함 |
| IFRS 8 영업부문(K-IFRS 제1108호) | 개별적으로 중요한 외국의 수익을 따로 공시 | 별도 공시 후보 판정(회사 점검 기준 5.00%), 개별 공시 여부 대사 | 국가별 외부고객 수익, 장부 공시 금액 | 중요성 판단은 회사와 감사인의 몫. 5.00% 는 점검용 설정값 |
| IFRS 8 영업부문(K-IFRS 제1108호) | 수익을 개별 국가에 귀속시킨 기준을 공시 | 거래처 귀속 명세 — 귀속 국가와 고객 소재지 비교 | 고객 마스터 국가, 수익 귀속 국가 | 귀속 기준 문구 자체의 적정성은 확인 필요 |
| IFRS 8 영업부문(K-IFRS 제1108호) | 비유동자산(금융상품, 이연법인세자산, 퇴직급여자산, 보험계약에서 생기는 권리 제외)을 본국과 외국으로 구분해 공시 | 지역별 비유동자산 탭 — 제외 항목 차감 후 공시 대상 금액 산출 | 자산 원장 잔액 × 자산 소재 국가 | 자산 계정의 제외 항목 매핑은 회사 매핑표 확인 필요 |
| IFRS 8 영업부문(K-IFRS 제1108호) | 개별적으로 중요한 외국의 비유동자산을 따로 공시 | 별도 공시 후보 판정, 개별 공시 여부 대사 | 국가별 공시 대상 비유동자산, 장부 공시 금액 | 중요성 판단은 회사와 감사인의 몫 |
참고 CDS 뷰
원천테이블
| 테이블 | 내용 | 사용 필드 |
|---|---|---|
ACDOCA | 유니버설 저널 항목 | RLDNR, RBUKRS, GJAHR, RACCT, KUNNR, HSL |
KNA1 | 고객 마스터 일반 데이터 | KUNNR, LAND1, NAME1 |
T001 | 회사코드 | BUKRS, LAND1 |
T001W | 플랜트 | WERKS, LAND1 |
ANLA | 자산 마스터 레코드 | ANLN1, ANLKL, AKTIV |
ANLZ | 자산 시간종속 배정 | ANLN1, WERKS, STORT, KOSTL |
SKA1 | G/L 계정 마스터 | SAKNR, KTOKS |
CDS 뷰 스케치
@AbapCatalog.sqlViewName: 'IGEOREVCTRY'
@EndUserText.label: '국가별 외부고객 수익 (스케치)'
define view I_GeoRevenueByCountry
as select from acdoca as a
inner join kna1 as c on c.kunnr = a.kunnr
{
key a.rbukrs as CompanyCode,
key a.gjahr as FiscalYear,
key c.land1 as CtryCode,
@Semantics.amount.currencyCode: 'Currency'
sum( a.hsl ) * -1 as RevLedger
}
where a.rldnr = '0L' // 수익 계정 범위 조건은 회사 매핑표 기준(확인 필요)
group by a.rbukrs, a.gjahr, c.land1
@AbapCatalog.sqlViewName: 'IGEONCASSET'
@EndUserText.label: '국가별 비유동자산 (스케치)'
define view I_GeoNonCurrentAsset
as select from ACDOCA_ASSET_BAL as b // 자산 잔액 원천(확인 필요)
inner join anlz as z on z.anln1 = b.anln1
inner join t001w as w on w.werks = z.werks
{
key b.gjahr as FiscalYear,
key w.land1 as CtryCode,
sum( b.hsl ) as TotNc
}
group by b.gjahr, w.land1스케치이며 수익 계정 범위와 자산 계정의 제외 항목 매핑은 회사 매핑표 기준으로 확인 필요합니다. 이 사례는 가상 데이터입니다.
OpenUI5 구성
- 데이터는 OData V2 모델 하나로 받으며, 서비스 선언은 앱 설정 파일의 데이터 소스에만 둡니다.
- 탭마다 별도의 데이터 집합에 바인딩해 화면 블록이 각자 필요한 행만 받고, 한 번에 받아 컨트롤러에서 쪼개지 않습니다.
- 조회조건은 필터 객체로 만들어 $filter 로만 전달하고, "전체"는 필터를 만들지 않습니다.
- 정렬·페이징은 테이블의 sorter 와 threshold 로 $orderby · $top · $skip 을 호출하고, 총건수는 $inlinecount 로 받습니다.
- 금액은 문자열(Edm.Decimal)로 오므로 숫자로 바꿔 계산·정렬하며, 요약 지표의 합산식은 컨트롤러 한 곳에 모았습니다.
- 서비스에 연결되지 않으면 ErrorHandler 가 메타데이터 실패와 요청 실패를 구분해 안내 창을 띄웁니다.
- 테이블은 sap.ui.table, 상세는 sap.m Dialog 로 구성했습니다.
파일 구성
index.html 앱 진입점
Component.js · manifest.json
controller/ BaseController.js · Main.controller.js
view/ Main.view.xml · DetailDialog.fragment.xml
model/ formatter.js · ErrorHandler.js
css/style.css · i18n/i18n_ko.properties
서비스 정의 폴더 메타데이터 · 서비스 로직 · 데이터 파일검증 결과
검증용 샘플 데이터(회계연도 2개, 국가 11곳, 거래처 명세 96행)로 실제 브라우저에서 렌더링하고, 원천 행에서 독립 재계산한 값과 화면 요약 지표를 대조했습니다. 정합성 대사는 차이가 없고, 장부 점검 대사의 차이는 점검 동작을 보이려고 넣은 예외 건입니다.
| 대사(금액 단위: 백만원) | 검사 건수 | 차이 건수 | 최대 차이 |
|---|---|---|---|
| 2025 정합성 대사 8종 | 48 | 0 | 0 |
| 2025 장부 점검 대사 7종 (의도적 예외 포함) | 30 | 4 | 8,013 |
| 2026 정합성 대사 8종 | 48 | 0 | 0 |
| 2026 장부 점검 대사 7종 (의도적 예외 포함) | 32 | 9 | 17,180 |
예외 건의 대상은 개별 공시 금액 차이, 제외 항목 미차감, 점유율 기준 이상 국가의 미공시, 귀속 국가와 고객 소재지 불일치, 국가 미분류 금액입니다. 서비스 로직의 날짜 필터·쓰기 반영도 따로 검사했습니다.
자주 묻는 질문
이 기준서는 언제부터 적용되나요?
IFRS 8 영업부문(K-IFRS 제1108호)은 이미 시행 중인 기준서이며, 기업 전체 공시는 영업부문이 하나뿐인 기업에도 요구되는 것으로 알려져 있습니다. 세부 적용 범위와 경과규정은 기준서 원문으로 확인이 필요합니다.
어느 국가를 따로 공시해야 하나요?
개별적으로 중요한 외국인지는 회사와 감사인이 판단합니다. 이 화면의 5.00% 기준은 후보를 골라내는 점검용 설정값일 뿐이며, 기준서가 정한 비율이 아닙니다.
"점검 필요"가 나오면 공시가 잘못된 것인가요?
아닙니다. 이 화면은 분류·집계·대사를 돕는 점검 도구이며, 차이가 발생한 건을 "점검 필요" 또는 "확인 필요"로 알려 줄 뿐입니다. 원인 판단과 최종 결론은 회사와 감사인이 합니다.
화면의 금액은 실제 회사 데이터인가요?
아닙니다. 모든 금액과 거래처는 검증용 샘플 데이터(가상 계정체계, 원화 백만원)입니다. 실제 계정과목표나 공시 금액을 사용하지 않았습니다.
지역별 공시 자료를 결산 전에 한 화면으로 모으세요
고객 마스터, 자산 소재 정보, 연결 제거 거래에 흩어진 자료를 국가 단위로 정리해 두면 주석 작성과 감사 단계의 재확인 부담이 줄어듭니다. 우리 회사 계정 체계에 맞춘 점검 화면이 필요하다면 문의해 주세요.