SAP 법인별 기능통화 결정지표 점검 — IAS 21, 판매·원가·조달 통화가 등록값과 다르다면 먼저 확인한다
판매가격·원가·자금조달·수취금액 유보 통화가 가리키는 지표를 가중합산해, 법인 마스터에 등록된 기능통화와 나란히 놓고 확인이 필요한 법인을 가려봅니다
여러 국가에 법인을 둔 그룹에서는 기능통화를 한 번 정해 두면 좀처럼 다시 들여다보지 않기 쉽습니다. 그러나 IAS 21 외화환산효과(K-IFRS 제1021호)는 재화·용역의 판매가격에 주로 영향을 미치는 통화, 판매가격을 좌우하는 경쟁력·규제국의 통화, 노무비·재료비 등 원가에 주로 영향을 미치는 통화(1차 지표)와 자금조달 통화·영업활동 수취금액이 통상 유보되는 통화(2차 지표)를 함께 살펴 기능통화를 판단하도록 요구합니다. 해외 자회사가 본사 표시통화로 기능통화를 등록해 둔 채 실제 영업 실질은 현지통화를 가리키는 경우, 그 간극은 재무제표 환산 전체에 영향을 미칠 수 있습니다.
법인별로 1차 지표 3종·2차 지표 2종의 근거 통화를 모아 가중합산으로 지표산출 통화를 재산정하고, 마스터에 등록된 기능통화와 자동으로 대사해 확인이 필요한 법인을 가려내는 화면을 OpenUI5 로 구현했습니다. 국가별 집계와 지표별 상세 근거까지, 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 회사코드 마스터 — 회사코드·통화 등 기본정보 유지(
OBY6)를 그대로 사용 - 평행통화 설정 — 회사코드 기능통화 등 평행통화 구성(
OB22)을 그대로 사용
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · IFRS |
| 관련 기준서 | IAS 21 외화환산효과(K-IFRS 제1021호) |
| Namespace | zui5.ccydet |
| 셸 구조 | 조회조건 영역(우측 조회) + 법인별 판정·국가별 집계 2탭 + 상세 Dialog |
| 화면 수 | 조회 화면 1개(탭 2종) + 상세 다이얼로그 |
| SAP 표준 T-code | OBY6 · OB22 · FS10N |
| 데이터 연동 방식 | OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩 |
| 성격 | 조회·산출·대사·점검형 — 기능통화에 대한 최종 판단은 화면 밖에서 회사와 감사인이 수행 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
법인·회계연도·국가·판정상태를 고르고 조회하면 법인별 판정 목록이 표로 뜹니다 → 국가별 집계 탭에서 국가별 일치·확인필요 건수를 확인합니다 → 행을 클릭하면 지표별 판정 근거가 열립니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 법인·회계연도·국가·판정상태를 입력·선택합니다. 기본값은 회계연도(2026)를 제외하고 모두 "전체"입니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 회계연도 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
- 법인별 판정 · 국가별 집계 두 탭을 전환해 서로 다른 관점의 결과를 확인합니다.
- 법인별 판정 탭의 행을 클릭하면 해당 법인의 결정지표 5건(1차 3종·2차 2종)의 근거가 열립니다.
- CSV 다운로드로 현재 조회 결과를 내려받을 수 있습니다. 초기화 버튼을 누르면 기본 조회조건으로 되돌아갑니다.
지표산출 통화 판정 로직
1차 지표 3종과 2차 지표 2종이 가리키는 통화를 가중합산해 지표산출 통화를 정하고, 마스터 등록 기능통화와 대사합니다. 판정 결과는 기능통화에 대한 결론이 아니라 확인이 필요한 법인을 가려내는 표시입니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 지표산출 통화 = 등록 기능통화 | 일치 | 별도 조치가 필요하지 않습니다(주기적 재검토 권장). |
| 지표산출 통화 ≠ 등록 기능통화 | 확인 필요 | 지표별 근거를 검토해 등록값 변경 여부를 판단합니다. |
| 1차 지표 3건 중 등록 기능통화와 다른 지표가 2건 이상 | 확인 필요(근거 우세) | 가중치가 큰 1차 지표가 우세하므로 우선 검토 대상으로 관리합니다. |
이 화면이 대신 정하지 않는 것
판정 결과는 확인이 필요한 법인을 알리는 표시이며, 기능통화 변경 여부를 단정하지 않습니다. 최종 판단은 회사와 감사인이 합니다.
지표 집계·대사 처리 단계
| 단계 | 내용 |
|---|---|
| 1단계 | 법인×회계연도별로 1차 지표 3종(판매가격·경쟁력/규제국·원가)과 2차 지표 2종(자금조달·수취금액 유보)의 근거 통화를 모은다 |
| 2단계 | 1차 지표에는 가중치 2, 2차 지표에는 가중치 1을 부여해 통화별 점수를 합산한다 |
| 3단계 | 점수가 가장 높은 통화를 지표산출 통화로 정한다 |
| 4단계 | 지표산출 통화와 마스터 등록 기능통화를 대사해 판정상태(일치/확인 필요)를 정한다 |
| 5단계 | 법인 결과를 국가 단위로 롤업해 국가별 집계(법인 수·일치·확인필요 건수)를 산출한다 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 법인 | 선택 | 전체 / 법인코드 정확히 일치 조회 |
| 회계연도 | 선택 | 4자리 회계연도(기본값 2026) |
| 국가 | 선택 | 전체 / 법인 소재 국가 지정 |
| 판정상태 | 선택 | 전체 / 일치 / 확인 필요 |
결과 컬럼
| 영역 | 컬럼 · 표시 |
|---|---|
| 법인별 판정 | 법인 · 법인명 · 회계연도 · 국가 · 등록 기능통화 · 지표산출 통화 · 판정상태 · 1차지표 일치 · 2차지표 일치 · 최종 검토일시 |
| 국가별 집계 | 국가 · 국가명 · 법인 수 · 일치 건수 · 확인필요 건수 |
| 결정지표 상세 | 순번 · 지표구분 · 지표유형 · 지표 통화 · 근거금액 · 등록통화 일치 |
SAP 표준 기능 매핑
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 기능통화 결정지표 재산정·대사 관점을 더해 확장합니다.
| 표준 T-code | 표준 기능 | 이 화면이 더한 것 |
|---|---|---|
OBY6 | 회사코드 마스터(통화 등 기본정보) 유지 | 등록 기능통화를 법인별 지표 판정의 기준값으로 이어받습니다 |
OB22 | 회사코드 평행통화(기능통화 포함) 설정 | 기능통화 설정값과 지표산출 통화의 불일치를 자동으로 가려냅니다 |
FS10N | 총계정원장 계정별 잔액 조회 | 판매·원가 관련 계정 잔액의 통화 비중을 지표 근거로 이어받습니다 |
IFRS 요구사항 매핑
| 기준서 | 요구사항 | 대응 기능 | 원천 데이터 |
|---|---|---|---|
| IAS 21 외화환산효과(K-IFRS 제1021호) | 1차 지표 : 판매가격·경쟁력/규제·원가에 주로 영향을 미치는 통화 | 1차 지표 3종 근거 수집·가중합산(가중치 2) | 판매·원가 관련 전표 통화 비중 |
| IAS 21 외화환산효과(K-IFRS 제1021호) | 2차 지표 : 자금조달 통화, 영업활동 수취금액 유보 통화 | 2차 지표 2종 근거 수집·가중합산(가중치 1) | 자금조달 관련 전표 통화 |
| IAS 21 외화환산효과(K-IFRS 제1021호) | 지표가 엇갈려 기능통화가 명확하지 않으면 경영진 판단으로 결정 | 지표산출 통화와 등록값 불일치 시 "확인 필요"로 표기 | 법인별 판정 결과 |
참고 CDS 뷰
| 원천 테이블 | 주요 필드 | 쓰임 |
|---|---|---|
T001 | BUKRS · WAERS · BUTXT · LAND1 | 회사코드 마스터 — 등록 기능통화·법인명·국가 |
BKPF / BSEG | BUKRS · GJAHR · BELNR · WAERS | 판매·원가 관련 전표의 통화 비중 산정 |
define view entity ZC_FUNC_CCY_INDICATOR
as select from t001 as company
{
key company.bukrs as CompanyCode,
company.waers as RegisteredCurrency,
company.butxt as CompanyName,
company.land1 as Country
}
표준 CDS 뷰 이름과 필드는 시스템 릴리스에 따라 다를 수 있으므로, 도입 시 실제 시스템에서 확인해 확정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 · 구성 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 패널 · IconTabBar(법인별 판정/국가별 집계) |
| 데이터 연동 | manifest.json 에 OData V2 서비스를 상대 경로로 선언 — 화면 블록마다 엔티티셋에 직접 바인딩합니다 |
| 조회조건 | sap.m.Input/Select — 우측 끝에 조회·초기화 버튼, 조회조건 영역에서 Enter 키로 즉시 재조회, sap/ui/model/Filter로 조건을 조립합니다. "전체"를 고른 조건은 필터를 만들지 않습니다 |
| 정렬 · 총건수 | sap/ui/model/Sorter로 법인코드 정렬, 총건수는 모델의 inline count 기능으로 얻습니다 |
| 결과 표 | sap.ui.table.Table(10개 컬럼) — 행 클릭 시 상세 다이얼로그(rowBindingContext 로 컨텍스트 전달) |
| 집계 표 | sap.m.Table — CSV 다운로드 공통 컨트롤러(UTF-8 BOM) |
| 공통 처리 | 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패를 구분해 안내 |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결 |
Component.js | 전역 오류 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.ccydet · ko 로케일, OData 서비스와 모델 선언 |
view/Main.view.xml | 조회조건 · 법인별 판정/국가별 집계 2탭 |
view/DetailDialog.fragment.xml | 결정지표 상세 다이얼로그 |
controller/Main.controller.js | 조회조건 조립 · 바인딩 · 다이얼로그 · CSV 다운로드 |
controller/BaseController.js | CSV 다운로드 공통 처리 |
model/ErrorHandler.js | 전역 오류 처리 |
model/formatter.js | 통화 · 상태 표시 서식 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
운영 데이터는 OData 서비스가 제공하며, 검증용 샘플 데이터는 화면과 완전히 분리해 별도로 둡니다. 화면과 판정 로직은 그대로 씁니다.
검증 결과
화면 구성에 쓴 검증용 샘플 데이터는 법인 24개(8개 국가) 기준으로, 지표산출 통화 재계산·판정상태·국가별 집계까지 총 24개 법인·120건의 결정지표를 전수검증했습니다.
| 검증 항목 | 결과 |
|---|---|
| 지표산출 통화 — 1·2차 지표 가중합산 재계산 대사 | 통과(24건, 차이 0) |
| 판정상태 — 지표산출 통화·등록 기능통화 일치 여부 재계산 대사 | 통과(24건, 차이 0) |
| 1·2차지표 일치건수 — 결정지표 상세 재집계 대사 | 통과(24건 · 120지표건, 차이 0) |
| 국가별 집계 — 법인 수 = 일치 + 확인필요 재계산 대사 | 통과(8개 국가, 차이 0) |
| 판정 분포(검증용 샘플) | 일치 21건 · 확인 필요 3건, 총 24건 |
| 조회 조건 전달 — 필터 · 정렬 · $top · 총건수 확인 | 확인(전개된 실제 서비스 경로 기준) |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출 | 0건 |
| 화면 렌더링 — 실브라우저에서 조회 → 탭 전환 → 행 클릭 상세까지 실동작 후 캡처 | 3/3 |
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내 | 확인 |
모든 데이터는 검증용으로 구성한 가상 데이터입니다.
자주 묻는 질문
이 화면에서 "확인 필요"로 표시되면 바로 기능통화를 바꿔야 하나요?
아닙니다. 1·2차 결정지표를 가중합산해 재산정한 지표산출 통화와 마스터 등록 기능통화를 기계적으로 대사해 확인이 필요한 법인을 가려내는 조회·점검 도구입니다. 기능통화 변경 여부에 대한 최종 판단은 회사와 감사인이 수행합니다.
IAS 21 의 기능통화 결정지표는 언제부터 적용되나요?
IAS 21 의 기능통화 결정 요구사항 자체는 신설된 기준이 아니라 기존부터 시행 중인 요구사항이며, 별도의 시행일이나 경과규정은 없습니다. 법인 설립·사업구조 변경 시점, 또는 정기 재검토 시점에 지표를 다시 확인하는 용도로 활용합니다.
1차 지표와 2차 지표는 판정에 같은 비중으로 반영되나요?
아닙니다. IAS 21 의 판매가격·경쟁력/규제·원가 1차 지표 3종에는 가중치 2를, 자금조달·수취금액 유보 2차 지표 2종에는 가중치 1을 부여해 합산합니다. 1차 지표가 가리키는 통화가 판정에 더 크게 반영됩니다.
조회조건에서 "전체"를 선택하면 어떻게 처리되나요?
"전체"를 선택한 조건은 서버로 전달하는 $filter 조건에서 제외됩니다. 코드값 "전체"를 그대로 보내지 않고, 해당 조건 자체를 생성하지 않는 방식으로 처리합니다.