외화 송장을 넣었는데 오류 없이 전기되었습니다. 나중에 보니 OB08에는 그날 환율이 없었고, 전표에는 며칠 전 환율이 찍혀 있습니다. 시스템이 잘못한 것 같지만 SAP 문서에 적힌 동작 그대로입니다. 이 글을 읽고 나면 전표의 환율이 어느 날짜, 어느 유형, 어느 줄에서 왔는지 따라가고, 전기가 된다는 사실이 환율이 맞다는 뜻은 아닌 이유를 설명할 수 있습니다.
근거는 SAP Help Portal의 SAP S/4HANA 2025 FPS02 문서, SAP Learning의 공개 과정, Help Portal의 지원 문서입니다. 아래 회사 코드, 금액, 환율은 모두 지어낸 값이고 실제 시장 환율이 아닙니다. SAP 시스템에서 전기해 본 결과가 아니라 문서 규칙을 가상 값에 적용한 계산입니다. 현지 통화는 원, 환율은 USD 1 기준의 직접 표기, 환산 비율은 1:1이고, 이 통화쌍에 대체 환율 유형은 지정하지 않았다고 가정합니다.
유효한 환율은 그날까지의 마지막 환율이다
통화 키와 전기일을 머리글에 넣으면 시스템은 전기일에 유효한 환율을 가져옵니다. 틀리기 쉬운 곳은 '유효한'의 뜻입니다. Help 문서의 '외화 전표 전기' 설명에 따르면 유효한 환율은 그 날짜에 입력된 환율이거나 그보다 앞서 입력된 환율입니다. 문서가 드는 예는 8월 25일에 전기하는데 마지막 환율이 8월 22일 것이면 8월 22일 환율을 쓴다는 것입니다.
그래서 오늘 줄이 없어도 앞선 줄이 있으면 전기가 막히지 않습니다. 문서의 예는 사흘 차이뿐이지만, 며칠까지만 인정한다는 제한은 이 문서에서 찾지 못했습니다. 주말과 휴일에 줄을 넣지 않아도 되는 편리한 규칙인 동시에, 입력을 잊어도 드러나지 않는 규칙이라는 것이 이 글의 해석입니다. 앞선 환율이 아예 없을 때 어떤 메시지가 나오는지는 확인한 문서에 없어 여기서 단정하지 않습니다.
그림의 1번이 이 규칙입니다. 11월 9일 줄이 없으므로 M 유형의 11월 6일 값 1,350.70을 씁니다. 2번도 흔히 헷갈리는 곳입니다. Help 문서는 전기와 반제에 M 유형(평균 환율)을 쓰고 이 유형과 그 환율을 입력해 두어야 한다고 적습니다. 이 예에서는 그림의 B·G처럼 다른 유형(문서는 매입 환율, 은행 매도 환율 등을 듭니다) 줄에 오늘 값이 있어도 M의 공백을 메우지 않습니다.
같은 송장, 날짜 하나로 달라지는 금액
USD 12,000.00 송장을 11월 9일에 전기하면 12,000.00 × 1,350.70 = 16,208,400원입니다. 담당자가 그날 1,362.50을 넣어 두었다면 16,350,000원이었을 것이고, 차이는 141,600원입니다. 3번은 더 나쁜 경우입니다. 11월 6일 줄마저 없었다면 10월 19일의 1,310.00까지 내려가 15,720,000원이 되고, 첫 계산보다 488,400원 적습니다. 어느 경우든 이 금액만 봐서는 환율이 오래되었는지 알 수 없습니다.
SAP 노트
날짜 하나로 달라지는 금액
가상 송장 USD 12,000.00, 유형 M, USD 1 기준 환율
전기일 11/9, 마지막 줄 11/6
12,000.00 × 1,350.70- 환율 1,350.70
- 16,208,400원이 된다
11/9 줄이 1,362.50으로 있었다면
12,000.00 × 1,362.50- 16,350,000원
- 첫 경우보다 141,600원 많다
11/6 줄도 빠져 있었다면
12,000.00 × 1,310.00- 10/19의 1,310.00까지 내려가 15,720,000원
- 첫 경우보다 488,400원 적다
환산일을 10/30으로 적으면
12,000.00 × 1,310.00- 10/30까지의 마지막 줄 10/19를 쓴다
- 11/6 줄이 있어도 15,720,000원
값은 모두 가상이다. 원은 소수 없이 계산했고 실제 시스템에서 전기한 결과가 아니다.
전기일이 아닌 날짜로 환율을 찾을 때
전기일 대신 다른 날짜의 환율이 필요하면 머리글의 환산일(Translation Date)을 씁니다. Help 문서가 드는 경우는 전기 기간이 이미 닫힌 송장입니다. 현재 기간에 전기하되, 환율은 송장일 기준으로 찾도록 환산일에 송장일을 적습니다.
여기서도 같은 규칙이 적용됩니다. 3번의 1,310.00은 10월 30일 환율이 아니라 10월 30일까지의 마지막 줄입니다. 환산일을 적었다고 그날 값이 보장되지는 않고, 표에 그날 줄이 있는지는 따로 봐야 합니다. 이 예에서는 11월 6일 줄이 있어도 금액이 15,720,000원입니다.
병행 통화는 설정이 하나 더 있습니다. Help 문서의 통화 유형 설정에서 직접 만든 유형(Y나 Z로 시작)은 환율 유형과 환산 기준일(전표일, 전기일, 환산일 중 하나)을 정합니다. 전표 통화(00)와 회사 코드 통화(10)는 이 설정을 바꿀 수 없는 표준 유형입니다. 원장마다 다르게 두면 같은 전표도 원장별로 값이 달라진다고 문서가 적으므로, 병행 통화 금액을 비교할 때는 이 설정도 봐야 합니다.
숫자 자체를 잘못 읽는 경우
날짜와 유형이 맞아도 표기가 다르면 뜻이 달라집니다. 직접 표기는 외화 1단위가 현지 통화로 얼마인지, 간접 표기는 현지 통화 1단위가 외화로 얼마인지를 나타냅니다. 이 예의 USD 1 = 1,350.70원을 간접으로 쓰면 1원 = 약 USD 0.00074036입니다. SAP Learning에 따르면 표준 설정에서 접두어가 없으면 직접 표기, /는 간접 표기입니다. 회사에 따라 *를 직접 표기로 두어 접두어 없는 입력을 오류로 막거나, 간접 표기를 접두어 없이 받도록 설정할 수도 있습니다. 표준 표기와 다르게 입력한 환율은 강조 표시됩니다.
환산 비율은 환율 유형과 통화쌍별로, 기간을 나누어 관리합니다. 이 글의 가정과 달리 1:1이 아닌 쌍이라면 같은 숫자의 금액이 달라질 수 있습니다. Help Portal 지원 문서는 환율을 점검할 항목으로 OB07(참조 통화, 역환율 계산 허용), OBBS(환산 비율, 대체 환율 유형), OB08(환율)을 듭니다. 다른 지원 문서(Exchange rate used for FC posting)는 OBBS에서 통화쌍에 대체 환율 유형을 지정해 전표 환율이 OB08의 M 유형에서 오지 않은 경우를 설명합니다. M 줄에서 전표의 환율을 찾지 못했고, 직접 넣은 값이나 주문에서 넘어온 값도 아니라면 OBBS를 확인하시기 바랍니다.
직접 넣은 환율과 반올림
제안 환율 대신 머리글에 직접 넣을 수 있습니다. 시스템은 찾은 환율과의 차이를 비교하고, 회사 코드별 허용 비율이나 변동이 큰 통화에 둔 별도 허용 범위를 넘으면 경고합니다. 줄 항목에 외화와 현지 통화 금액을 둘 다 넣으면 거기서 계산한 환율을 머리글 환율과 비교해 역시 경고합니다. 오류가 아니라 경고라는 점이 중요합니다. 이 검사는 입력값과 시스템 값의 차이를 보는 것이므로, 제안 환율 자체가 오래되었는지 알려 주는 검사로 읽을 근거는 문서에 없습니다.
SAP 노트
이 전표의 환율은 어디서 왔나
경로마다 시스템이 알려 주는 것이 다르다
시스템 제안
- 전기일 또는 환산일까지의 마지막 환율
- 오래된 값인지 알려 준다는 설명은 문서에 없다
머리글에 직접 입력
- 시스템이 찾은 환율과 차이를 비교
- 허용 오차를 넘으면 경고
줄 항목에 두 금액 입력
- 금액에서 환율을 계산해 머리글과 비교
- 허용 오차를 넘으면 경고
구매·판매 문서에서 넘어온 값
- OB08 제안을 고쳐 둘 수 있다
- 지원 문서는 OB08보다 우선한다고 적는다
SAP Help Portal, S/4HANA 2025 FPS02와 Help Portal 지원 문서(Exchange Rate Determination) 기준.
구매 주문과 판매 주문에서는 OB08 제안을 고칠 수 있고, Help Portal 지원 문서는 이렇게 넘어온 값이 OB08보다 우선한다고 적습니다. 공식 설명서가 아니라 지원 문서의 설명이므로 시스템에서 전표를 열어 확인하시기 바랍니다. 또 2025 FPS02 문서는 전표 유형으로 시장 데이터 환율과 일반 환산을 고를 수 있다고 적는데, 이 글은 일반 환율표만 다룹니다.
반올림은 별도입니다. 문서는 전기할 때 외화와 현지 통화 모두 잔액이 0이어야 하고, 환산에서 생긴 차이는 자동 처리되어 해당하는 부호(corresponding +/- sign)의 첫 줄에 더해진다고 적습니다. 환율 1,350.70에 USD 100.00을 세 줄로 나누어 보겠습니다. 금액은 USD 12.34, 12.34, 75.32입니다. 각 줄을 따로 환산해 원 단위로 반올림했다고 가정하면 12.34짜리 두 줄은 각각 16,667.638에서 16,668원, 75.32 줄은 101,734.724에서 101,735원이고 합은 135,071원입니다. 전체 100.00은 135,070원이니 1원이 어긋납니다. 이 1원은 환율이 틀린 것이 아닙니다. 다만 '해당하는 부호'가 어느 쪽을 가리키는지, 즉 1원이 차변 첫 줄과 대변 첫 줄 중 어디에서 조정되는지는 문장만으로 단정할 수 없어 적지 않습니다.
오래된 환율을 찾아내는 법
Help 문서의 Validate Exchange Rates 기능은 이 문제를 정면으로 다룹니다. 연속된 환율 사이의 차이와 날짜 간격을 계산해 최대 일수나 최대 변동폭을 넘는 것을 표시합니다. 문서의 예에서는 2월 23일 줄만 빠진 표를 최대 1일로 돌리면 2월 24일과 22일 사이에서 초과 메시지가 납니다. 다만 이 기능은 은행용 구성 요소인 Multi Currency Accounting 메뉴 아래에 있어, 다른 회사의 시스템에서 쓸 수 있는지는 확인하지 못했습니다.
쓸 수 없더라도 같은 논리는 손으로 할 수 있습니다. 결산 전에 M 유형의 통화쌍별 최신 유효 시작일을 뽑아 전기일과의 간격을 보면 됩니다. 대체 환율 유형을 지정했거나 참조 통화를 거쳐 환산하는 통화쌍은 이 목록만으로 판단할 수 없으니 실제로 쓰는 줄을 봐야 합니다. 전기가 되었다는 것은 앞선 환율이 있었다는 뜻일 뿐이므로, 외화 전표를 볼 때는 금액보다 먼저 OB08에서 그 환율 줄의 날짜를 확인하시기 바랍니다.
이 기록에 대화를 더해 주세요.
궁금한 점, 다른 접근, 직접 해 본 결과를 나눠 주세요.
로그인 상태 확인 중…
댓글을 불러오는 중…