SAP 외화채권채무 평가 조회 — 환율이 바뀌면 얼마가 흔들리나
결산 시점 외화 미결항목을 평가환율로 재평가해 미실현 환차손익을 계정·거래처별로 산출하는 화면입니다.
외화로 된 채권과 채무는 환율이 움직이면 원화 가치가 달라집니다. 아직 받지도 주지도 않았지만 결산 시점 환율로 다시 평가해야 합니다.
이 평가차액은 미실현 손익이라 다음 기 초에 되돌립니다. 되돌리지 않으면 실제 결제할 때 손익이 이중으로 잡힙니다. 표준 외화평가 구조를 그대로 이어받아 계정·거래처별 평가차액을 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 계정 유형 — 매입채무(K) · 매출채권(D) · GL 계정(S) 구분(
KontoType) - 대차 구분 — 자산·부채 측(
Bilanzseite) - 외화 금액 — 거래통화 금액(
Fwbtr)과 통화(Waers) - 장부 환율 — 전기 시점 환율로 계산된 원화 금액
- 평가 환율 — 결산 시점 환율
| 항목 | 내용 |
|---|---|
| 대응 T-code | F.05 (외화평가) · FAGL_FCV |
| 업무 영역 | 재무회계(FI) · 외화 관리 · 결산 |
| Namespace | zui5.fxval |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 평가 목록, 행 선택 시 항목 상세 |
| 화면 수 | 조회 화면 1개 + 항목 상세 |
| 데이터 | 외화 항목 31건 · 계정 12건 · 환율 12건 |
| 성격 | 조회·시뮬레이션형 — 평가 전기는 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회사코드·평가기준일·계정유형으로 조회하면 외화 항목이 평가차액과 함께 나옵니다 → 환차손익이 큰 계정을 확인하고 → 행을 눌러 개별 항목의 평가 근거를 검증합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드와 평가기준일을 고릅니다. 보통 월말이나 결산일입니다.
- 계정유형으로 채권·채무·GL 을 나눕니다.
- 통화로 특정 외화만 볼 수 있습니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 환차손익이 큰 계정부터 확인합니다. 손익 영향이 큽니다.
- 평가환율이 기준일에 등록돼 있는지 확인합니다. 없으면 평가가 되지 않습니다.
- 행을 선택하면 개별 항목 평가가 열립니다.
- 결과는 CSV 다운로드로 내려받아 결산 조서에 첨부합니다.
평가 산식
같은 외화 금액을 두 환율로 환산해 차이를 봅니다.
장부 원화금액 = 외화금액 × 전기 시점 환율
평가 원화금액 = 외화금액 × 평가환율(기준일)
환차손익 = 평가 원화금액 − 장부 원화금액
자산(채권) 환율 상승 → 평가이익 · 환율 하락 → 평가손실
부채(채무) 환율 상승 → 평가손실 · 환율 하락 → 평가이익
미실현 손익이므로 다음 기 초에 역분개
자산과 부채의 부호가 반대인 이유
달러가 오르면 받을 달러는 원화로 더 큰 금액이 되어 이익이고, 줄 달러는 더 큰 부담이 되어 손실입니다. 같은 환율 변동인데 계정 성격에 따라 손익 방향이 뒤집힙니다. 대차 구분을 열로 두어야 부호를 잘못 읽지 않습니다.
외화평가 4단계
| 단계 | 내용 | 결과 |
|---|---|---|
| ① 환율 확인 | 평가기준일 환율 등록 확인 | 평가환율 |
| ② 대상 추출 | 기준일 외화 미결항목 수집 | 평가 대상 |
| ③ 평가 전기 | 환차손익 계상 | 평가 전표 |
| ④ 역분개 | 다음 기 초 자동 취소 | 원 상태 복귀 |
④가 빠지면 실제 결제 시 손익이 이중으로 잡힙니다.
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 Bukrs | 필수 | 대상 회사코드 |
| 평가기준일 | 필수 | 평가환율 적용 시점 |
계정유형 KontoType | 선택 | K 채무 / D 채권 / S GL |
통화 Waers | 선택 | USD · EUR 등 |
계정 Konto | 선택 | 특정 계정·거래처 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
계정유형 KontoType · KontoTypeText | 채권 · 채무 · GL |
계정 Konto · KontoText | 계정 또는 거래처 |
대차 구분 Bilanzseite | 자산 / 부채 |
통화 Waers | 외화 통화 |
외화금액 Fwbtr | 거래통화 잔액 |
| 장부 원화금액 | 전기 시점 환율 기준 |
| 평가환율 | 기준일 환율 |
| 평가 원화금액 | 평가환율 기준 |
| 환차손익 | 평가 − 장부. 부호에 따라 상태 색 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
F.05 | 외화평가 실행 | 실행 전 평가차액을 계정·거래처별로 미리 확인 |
FAGL_FCV | 신 총계정원장 외화평가 | 같은 구조로 조회 |
BSID · BSIK | 고객 · 공급업체 미결 항목 | 평가 대상 |
TCURR | 환율 마스터 | 평가환율 |
SKA1 | 계정 마스터 | 계정 명칭 |
도입 시 확인이 필요한 부분
평가 방법이 설정에 따라 다릅니다. 손실만 인식하는 보수적 방법과 손익 모두 인식하는 방법이 있고, K-IFRS 는 후자입니다. 또 평가환율 유형(기말환율)이 무엇인지, 미등록 시 어떻게 처리할지를 먼저 정해야 결과가 실제 전기와 맞습니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCFXVAL'
@EndUserText.label: '외화채권채무 평가 (Z)'
define view Z_C_FX_VALUATION
with parameters p_keydate : dats
as select from bsik as Item
left outer join lfa1 as Vendor on Item.lifnr = Vendor.lifnr
left outer join tcurr as Rate on Item.waers = Rate.fcurr
{
key Item.bukrs,
key Item.lifnr as Konto,
key Item.waers as Waers,
'K' as KontoType,
Vendor.name1 as KontoText,
sum( Item.wrbtr ) as Fwbtr,
sum( Item.dmbtr ) as BookAmount,
max( Rate.ukurs ) as ValuationRate
// 평가금액 = 외화금액 × 평가환율
// 환차손익 = 평가금액 − 장부금액 (소비 뷰에서 계산)
}
group by Item.bukrs, Item.lifnr, Item.waers, Vendor.name1
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
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.fxval) · ko 로케일 |
view/Main.view.xml | 조회조건과 평가 테이블 |
controller/Main.controller.js | 조회 · 평가 계산 · 항목 상세 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 환율 · 손익 부호 포맷터 |
localdata/fxitems.json | 외화 항목 31건 |
localdata/accounts.json | 계정 12건 |
localdata/fxrates.json | 환율 12건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 평가 원화금액 = 외화금액 × 평가환율 (전 건) | 통과 |
| 환차손익 = 평가금액 − 장부금액 | 통과 |
| 자산·부채 구분에 따른 손익 부호 정합 | 통과 |
| 계정 합계 = 개별 항목 합계 | 통과 |
| 평가환율이 기준일 환율 마스터와 일치 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처 | 3/3 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
평가한 손익을 왜 되돌리나요?
아직 실현되지 않은 손익이기 때문입니다. 실제 결제할 때 그 시점 환율로 실현 손익이 다시 계산되므로, 되돌리지 않으면 같은 환율 변동이 두 번 잡힙니다.
평가환율이 없으면 어떻게 되나요?
평가가 되지 않거나 오류가 납니다. 결산 직전에 발견되는 일이 많아, 환율 점검 화면과 함께 기준일 전에 확인하는 절차를 두는 것이 좋습니다.
GL 계정도 평가하나요?
외화 예금이나 외화 대여금처럼 외화로 관리되는 GL 계정은 평가 대상입니다. 계정 설정에서 외화평가 대상으로 지정돼 있어야 합니다.
SAP 표준 기능과 어떻게 이어지나요?
평가 실행과 역분개는 F.05 가 담당합니다. 이 화면은 실행 전에 계정·거래처별 평가차액을 미리 계산해 보여 줘, 환율 오류나 예상 밖 손익을 먼저 잡게 하는 확장입니다.