SAP 해외사업장 재무제표 환산차이(CTA) 대사 — IAS 21, 자본항목은 역사적환율부터 맞춰본다
해외법인 재무제표는 각각 다른 통화로 작성됩니다. 이 화면은 항목별로 다른 환율을 적용해 원화로 다시 맞추고, 그 차이(CTA)가 자본변동표와 맞는지 확인합니다.
IAS 21 환율변동효과(K-IFRS 제1021호)에 따라 해외사업장(기능통화가 지배기업과 다른 종속회사·지점)의 재무제표를 표시통화로 환산할 때, 재무상태표 항목과 손익계산서 항목은 서로 다른 환율을 적용합니다. 자산·부채는 보고기간 말 마감환율로, 자본금 같은 최초인식항목은 거래발생일(역사적) 환율로, 수익·비용은 평균환율로 환산합니다. 이렇게 서로 다른 환율을 섞어 적용하면 대차가 저절로 맞지 않게 되는데, 그 차이가 바로 해외사업환산손익(CTA, 기타포괄손익 누계액)입니다.
문제는 이 CTA가 재무상태표 항목을 규칙대로 재계산한 값과, 실제 자본변동표에 기록된 값이 결산 과정에서 서로 달라질 수 있다는 점입니다. 재평가차액 같은 성격이 다른 조정이 같은 계정에 섞여 들어가는 경우가 대표적입니다. 이 반복 대사 작업을 OpenUI5 화면으로 확장했습니다. 해외법인 5곳(가상)의 기능통화 재무제표를 항목별 규칙대로 재계산해 원화로 환산하고, 그 결과로 산출되는 CTA를 자본변동표 잔액과 자동으로 대사하는 것까지 한 화면에서 확인하도록 구성했으며, 실제 구동 화면 4종을 함께 공개합니다.
이 화면이 더하는 부분
- 항목별 환산환율 자동 적용 — 자산·부채는 마감환율, 자본금은 역사적환율, 당기순이익은 평균환율로 구분 적용
- CTA 이중 산출 — 재무제표 재계산으로 나온 CTA와 자본변동표에 기록된 CTA를 나란히 비교
- 연결 합계 대사 — 5개 해외사업장을 합산해 연결 자산=부채+자본+CTA 대차검증까지 자동 계산
- 예외 탐지 — CTA 계정에 성격이 다른 조정이 섞여 대사가 어긋난 사업장을 점검 필요로 표시
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 결산 · 연결 공시 |
| 관련 기준서 | IAS 21 환율변동효과(K-IFRS 제1021호) |
| Namespace | zui5.ctarecon |
| 셸 구조 | 조회조건(우측 조회) + 연결 합계(대사 요약) + 사업장별 결과 그리드, 환산상세 Dialog |
| 화면 수 | 조회 화면 1개 + 환산 상세 다이얼로그 |
| SAP 표준 T-code | FBL3N · FAGLL03 · FS00 · F.01(아래 SAP 표준 기능 매핑 참고) |
| 성격 | 조회·점검형 — 원장 전기와 환율 마스터 관리는 표준 프로세스가 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 4종 둘러보기
기능통화·대사상태·사업장검색을 지정해 조회하면 연결 합계(대사 요약)와 사업장별 환산·대사 결과가 함께 뜹니다 → 검색어를 입력하고 Enter 키로 좁혀 다시 조회할 수 있습니다 → 행의 환산상세 버튼을 누르면 항목별 환산 명세와 CTA 롤포워드가 열립니다 → 대사상태를 점검 필요로 필터링하면 CTA가 어긋난 사업장만 걸러볼 수 있습니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 기능통화 · 대사상태 · 사업장ID/사업장명 검색을 지정합니다. 기능통화·대사상태는 값을 바꾸면 즉시 재조회되고, 검색어는 입력 후 Enter 키로 재조회됩니다.
- 상단 연결 합계(대사 요약) 패널에서 해외사업장 수, 자산·부채·자본금·이익잉여금·CTA 합계와 연결 대차검증 결과, 점검 필요 사업장 수를 확인합니다.
- 하단 그리드에서 사업장별 마감환율·평균환율, 항목별 환산액, CTA기말(재계산) vs CTA기말(자본변동표), 차이, 대사상태를 확인합니다.
- 행의 환산상세 버튼을 누르면 해당 사업장의 항목별 환산 명세와 CTA 롤포워드, 대사 확인 결과가 다이얼로그로 열립니다.
- CSV 다운로드 버튼으로 현재 조회 결과를 UTF-8(BOM) CSV 파일로 내려받을 수 있습니다.
환산환율 적용 및 CTA 재계산 대사 판정 규칙
IAS 21은 해외사업장 재무제표를 표시통화로 환산할 때, 항목의 성격에 따라 서로 다른 환율을 적용하도록 요구합니다. 이 화면은 사업장별 기능통화 표시 재무제표 항목에 아래 규칙으로 환율을 적용해 재계산합니다.
| 재무제표 항목 | 적용 환율 | 비고 |
|---|---|---|
| 자산총계 · 부채총계 | 마감환율(보고기간 종료일 환율) | 매 보고기간 말 재측정 |
| 자본금(최초인식항목) | 역사적환율(최초 인식일, 출자일 환율) | 거래발생일 환율로 고정, 이후 재측정하지 않음 |
| 이익잉여금(기초) | 전기말 마감환율 | 전기 누적 환산액을 그대로 이어받음 |
| 당기순이익 | 평균환율(당기, 또는 근사환율) | 손익 항목은 거래일 환율의 근사치로 평균환율 사용 가능 |
위 규칙대로 환산한 자산·부채·자본금·이익잉여금(기초+당기순이익)의 차액이 CTA의 재계산 값(balancing figure)입니다. 이 값을 실제 자본변동표에 기록된 CTA 잔액과 비교해, 차이가 0이 아니면 환산 과정에서 누락되거나 다른 성격의 조정이 CTA 계정에 혼입됐을 가능성이 있는 것으로 보고 점검 필요로 표시합니다.
| 판정 조건 | 대사상태 |
|---|---|
| CTA기말(자본변동표) − CTA기말(재계산) = 0 | 일치 |
| CTA기말(자본변동표) − CTA기말(재계산) ≠ 0 | 점검 필요 |
기능통화 원장에서 CTA 기말잔액까지 5단계 산출
| 단계 | 내용 |
|---|---|
| ① 기능통화 재무제표 확인 | 사업장별 자산총계·부채총계·자본금·이익잉여금(기초)·당기순이익을 기능통화 금액으로 확인 |
| ② 적용환율 결정 | 항목 성격에 따라 마감환율(자산·부채)·역사적환율(자본금)·전기말마감환율(이익잉여금기초)·평균환율(당기순이익) 결정 |
| ③ 원화 환산 | 항목별 기능통화 금액 × 결정된 환율로 원화 환산액 산출 |
| ④ CTA 재계산 및 대사 | 자산환산액 − 부채환산액 − 자본금환산액 − 이익잉여금기말환산액 = CTA 재계산값을 산출하고, 자본변동표 CTA 잔액과 비교해 차이·대사상태 판정 |
| ⑤ 연결 합계 및 대차검증 | 사업장별 결과를 합산해 연결 자산·부채·자본·CTA 합계를 산출하고, 연결 자산합계 = 부채합계+자본금합계+이익잉여금합계+CTA합계 대차검증 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 기능통화 | 선택 | 전체 / USD / JPY / VND / CNY / EUR |
| 대사상태 | 선택 | 전체 / 일치 / 점검 필요 |
| 사업장ID/사업장명 검색 | 선택 | 텍스트 입력 후 조회 버튼 또는 Enter 키로 부분일치 검색 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
| 사업장ID / 사업장명 / 기능통화 | 해외사업장 식별 정보 |
| 마감환율(당기말) / 평균환율(당기) | 이번 결산에 적용한 환산환율 |
| 자산환산액 / 부채환산액 / 자본금환산액 / 이익잉여금환산액(천원) | 항목별 원화 환산 결과 |
| CTA기말(재계산,천원) | 환산 규칙대로 재계산한 CTA 기말잔액(balancing figure) |
| CTA기말(자본변동표,천원) | 자본변동표에 실제 기록된 CTA 기말잔액 |
| 차이(천원) | 자본변동표 CTA − 재계산 CTA. 0이 아니면 점검 필요 |
| 대사상태 | 일치 / 점검 필요 |
환산상세 다이얼로그에는 사업장별 기본 정보, 항목별 환산 명세(기능통화 금액→적용환율→환산액), CTA 롤포워드(기초→당기발생→기말), 대사 확인 결과가 함께 표시됩니다.
SAP 표준 기능 매핑
해외사업장의 개별 재무제표(환산 전, 기능통화 기준) 원장 데이터는 아래 표준 기능으로 조회할 수 있습니다. 표시통화 환산 자체는 SAP 표준 연결(Consolidation) 모듈의 기능 영역이며, 이번 회차에서 확인된 표준 T-code가 없어 이 화면은 그 결과를 재계산·대사하는 별도 조회 화면으로 구성했습니다.
| SAP 표준 T-code | 역할 |
|---|---|
FBL3N | 총계정원장 개별항목 조회 — 해외사업장 회사코드의 계정별 잔액·개별 전표 확인 |
FAGLL03 | 신 총계정원장(New G/L) 라인아이템 조회 — 회사코드·계정별 잔액 조회 |
FS00 | G/L계정 마스터 조회 — 자산·부채·자본·손익 계정 구분 확인 |
F.01 | 재무제표(대차대조표) — 해외사업장 개별 재무상태표·손익계산서 조회 |
IFRS 요구사항 매핑표
| 기준서 | 요구사항 | 이 화면의 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| IAS 21(K-IFRS 제1021호) | 해외사업장 재무제표의 표시통화 환산(자산·부채=마감환율, 자본=역사적환율, 손익=평균환율) | 사업장별 항목별 환산환율 적용 재계산 및 환산 명세 표시 | ACDOCA(RBUKRS 회사코드, RACCT 계정, HSL 기능통화 금액) · TCURR(환율마스터, 환율유형·통화쌍·환율) · 자본금 최초인식일 환율(별도관리, 확인 필요) | 자본금 등 최초인식항목의 역사적환율은 표준 환율 이력 테이블에 자동 보관되지 않아 별도 관리가 필요합니다. |
| IAS 21(K-IFRS 제1021호) | 해외사업환산손익(CTA)을 기타포괄손익으로 인식하고 그 증감을 공시 | CTA 재계산값과 자본변동표 CTA 잔액 대사, CTA 롤포워드(기초→당기발생→기말) 표시 | ACDOCA(자본 계정군, 해외사업환산손익 계정 잔액) · 재계산 파생값(자산·부채·자본금·이익잉여금 환산액의 차액) | CTA 계정에 재평가차액 등 성격이 다른 조정이 혼입되지 않았는지는 재계산 대사로 확인하되, 원인 규명과 정정은 회사가 수행합니다. |
도입 시 확인이 필요한 부분
해외사업장의 재무제표 환산은 결산·연결 프로세스의 일부로, 실제 도입 시에는 회사의 연결 시스템(SAP 표준 연결모듈 또는 별도 연결 솔루션)에서 산출한 환산 결과와 연계하는 방식을 다시 정의합니다. 자본금 등 최초인식항목의 역사적환율 이력도 별도 관리 방식을 정의해야 합니다.
참고 CDS 뷰
운영 서비스로 연결할 때를 가정한 참고 설계입니다(이번 화면은 mock 데이터 기반이며 아래 CDS 뷰는 구현되어 있지 않습니다).
@AbapCatalog.sqlViewName: 'ZCCTARECON'
@EndUserText.label: '(참고) 해외사업장 재무제표 환산 집계'
define view ZC_CTA_TRANSLATION
as select from acdoca as journal
association [0..1] to tcurr as _rate
on _rate.kurst = 'M'
and _rate.fcurr = journal.rwcur
and _rate.tcurr = 'KRW'
{
key journal.rbukrs as CompanyCode,
key journal.racct as GlAccount,
journal.rwcur as FunctionalCurrency,
journal.hsl as AmountFC,
_rate.ukurs as ClosingRate
}
해외사업장 회사코드·계정별 기능통화 잔액은 표준 테이블 ACDOCA(전표 라인아이템 합계 테이블)에서,
환율은 표준 환율마스터 TCURR에서 참조하는 구조로 스케치했습니다. 자본금의 역사적환율,
사업장별 마감·평균환율 적용 결과, 자본변동표 CTA 잔액은 SAP 표준 테이블만으로 자동 산출되지 않아 별도
관리 대상(mock)으로 두었습니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Shell + sap.m.App + sap.m.Page — 조회조건 Panel + 연결 합계 요약 Panel + 결과 그리드 |
| 조회조건 | sap.m.Select(기능통화·대사상태) · sap.m.Input(사업장 검색, submit 이벤트) — 조회조건 영역 오른쪽 끝에 조회 버튼, 선택 변경/Enter 시 즉시 재조회 |
| 결과 그리드 | sap.ui.table.Table — 컬럼 13개(10개 초과)로 스크롤·컬럼 고정을 지원하는 그리드 테이블 적용 |
| 연결 합계 | sap.ui.layout.Grid + sap.m.ObjectAttribute — 연결 대차검증 결과를 포함한 요약 카드 |
| 대사 상태 | sap.m.ObjectStatus — 표준 상태값(Success·Error)으로 강조 |
| 상세 다이얼로그 | sap.m.Dialog + Fragment — 항목별 환산 명세, CTA 롤포워드, 대사 확인 |
| 포맷 | 금액 · 환율 · 대사상태 포맷터, CSV 다운로드(UTF-8 BOM) |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon · lodash · moment |
Component.js | 컴포넌트 초기화 · ErrorHandler 등록 |
manifest.json | 앱 디스크립터 — zui5.ctarecon · ko 로케일 |
view/Main.view.xml | 조회조건 + 연결 합계 + 사업장별 결과 그리드 |
view/DetailDialog.fragment.xml | 환산 상세 다이얼로그 |
controller/Main.controller.js | 조회 · 상세 다이얼로그 · CSV 다운로드 |
controller/BaseController.js | CSV 다운로드 공통 함수 |
model/ModelMock.js | localdata JSON 읽기(Promise) |
model/formatter.js | 금액 · 환율 · 대사상태 포맷 |
model/ErrorHandler.js | 전역 오류 메시지 처리 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
localdata/ctarecon.json | 해외사업장별 환산·대사 mock 데이터(가상 계정체계, 5개 사업장) |
운영 전환 시에는 ModelMock 내부만 실제 서비스 호출로 바꾸면 화면과 산출·판정 로직은 그대로 씁니다.
검증 결과
화면 구성에 쓴 데이터는 5개 해외사업장(미국·일본·베트남·중국·독일 법인, 가상)입니다. 이 중 1개 사업장(독일법인)은 자본변동표 CTA 잔액에 재평가차액이 혼입된 상황을 재현한 의도적 예외 건이며, 나머지 4개 사업장은 정상(대사 일치)입니다.
| 검증 항목 | 결과 |
|---|---|
| 사업장별 환산 재계산 전수검증(자산·부채·자본금·이익잉여금 환산액, CTA 재계산값, 5건 전수) | 5건 전수 재계산, 산식과 저장값 일치(차이 0) |
| CTA 대사(자본변동표 CTA − 재계산 CTA) | 정상 4건 차이 0 / 의도적 예외 1건(독일법인) 차이 -450,000천원, 점검 필요로 표시 |
| 연결 대차검증(연결 자산합계 = 부채합계+자본금합계+이익잉여금합계+CTA합계) | 차이 450,000천원(예외 사업장 CTA 오기재가 원인 — 의도적으로 재현한 점검 대상) |
| 화면 표시값 대조(메인화면 연결 합계·상세 다이얼로그 vs 검증 스크립트 결과) | 일치 |
| XML/JSON 전체 파싱 · i18n 키 누락 | 파싱 오류 0건, 참조 키 60개 중 미정의 0건 |
| 조회 버튼 위치(조회조건 영역 오른쪽 끝) · Enter 키 조회 · 적용 테마(sap_horizon) | 통과 |
| 화면 렌더링 — 실브라우저에서 조회 → Enter 키 재조회 → 환산상세 다이얼로그 → 점검필요 필터 실동작 후 캡처 | 4/4 |
사업장 구성·계정체계·환율·금액은 모두 검증용 가상 데이터입니다.
자주 묻는 질문
자본금은 왜 마감환율이 아니라 역사적환율로 환산하나요?
IAS 21에 따라 자본항목은 최초 인식일(거래발생일, 통상 출자일) 환율로 환산해 고정합니다. 마감환율로 매번 재측정하면 자본금이 환율 변동에 따라 계속 바뀌어 자본거래의 성격이 왜곡되기 때문입니다. 이 화면은 사업장별로 확인된 역사적환율을 사용합니다.
CTA기말(재계산)과 CTA기말(자본변동표)의 차이는 어떤 의미인가요?
재계산 값은 재무상태표 항목을 환산환율 규칙대로 다시 산출한 balancing figure이고, 자본변동표 값은 실제 장부·공시자료에 반영된 금액입니다. 둘이 다르면 환산 과정에서 누락되거나 성격이 다른 조정(예: 유형자산 재평가차액)이 CTA 계정에 혼입됐을 가능성을 의미하며, 원인 확인이 필요합니다.
화면의 대사 결과를 그대로 연결재무제표 공시에 사용해도 되나요?
아니요. 이 화면은 계정 데이터를 기준으로 해외사업장 재무제표 환산과 CTA 잔액을 재계산·대사하는 점검 도구이며, 최종 표시 방법과 공시 범위에 대한 판단은 기준서 원문에 따라 회사와 감사인이 결정합니다.
IAS 21은 언제부터 적용되는 요구사항인가요?
IAS 21 환율변동효과(K-IFRS 제1021호)는 이미 시행 중인 기존 기준서로, 이번에 새로 도입되는 요구사항이 아닙니다. 같은 재무제표에 표시되는 손익계산서 구조는 IFRS 18(K-IFRS 제1118호) 도입으로 2027년 1월 1일 이후 개시하는 회계연도부터 변경되며 조기적용이 허용되고 비교기간이 재작성됩니다. IAS 21 자체의 세부 적용범위·경과규정은 회사가 기준서 원문을 통해 확인해야 합니다.