この記事を読むメリット
- 為替レートの基本的な知識を理解することができます。
- 為替レートに関するSAPの設定を理解することができます。
SAPにおける為替レートマスタ(Exchange Rate)はFI領域の重要なマスタです。私たちの日常生活では、外貨との接点が少ないかもしれませんが、SAPプロジェクトでは頻繁に使用されるマスタですので、この記事を読んでいただき、正確に理解していただけるはずです。
この記事のポイント
SAPの為替レート
国内通貨(Local Currency)
国内通貨は会社コードに設定する通貨です。会社の所在地の通貨を国内通貨として設定するのが一般的ですが、レアケースもあり、後ほど共有したいと思います。
例えば:
- 日本における会社の国内通貨はJPYで設定します。
- 中国における会社の国内通貨はCNYで設定します。
1点注意してほしいのは、SAPでは「通貨」と「ISO」のコードが異なる場合もあります。ISOのコードを利用するのをおすすめです。
取引通貨(Document Currency)
取引通貨は文字通り取引が発生する時に使用する通貨です。会計伝票を登録する際、自由に通貨コードを入力することが可能です。
直接呼値
外貨1単位に対して国内通貨がいくらになるかという換算値を直接呼値と呼びます。
例えば、SAP ラボの国内通貨はJPYだとします。海外から商品を仕入れる際に取引通貨はUSDとして仕入れ、100ドルの債務を計上しました。
直接呼値:1USD = 156.27JPY だとすると、上記取引の日本円金額は 156.27JPY × 100USD = 15,627JPY となります。
間接呼値
国内通貨1単位に対して外貨がいくらになるかという換算値を間接呼値と呼びます。
例えば、SAP ラボの国内通貨はJPYだとします。海外から商品を仕入れる際に取引通貨はUSDで、100ドルの債務を計上しました。
間接呼値:1JPY = 0.0064USD だとすると、上記取引の日本円金額は 100 / 0.0064 = 15,625JPY となります。
SAPでは直接呼値と間接呼値の設定箇所があり、プロジェクトの要件によって、どちらかを設定すればよいです。
換算係数
換算係数は外貨換算の換算比率です。自由に定義することが可能です。
例:1:1 あるいは 100:1 もしくは 1000:1 など
換算係数を1:1で定義する場合と100:1で定義する場合、どのような場面でどのように定義したほうが良いかについて少し解説します。
例えば紙幣の額面金額が大きい国の通貨を外貨換算する時には、換算係数を100:1や1000:1で定義するのがおすすめです。
具体例をみてみましょう。
A社はアメリカにある会社であり、国内通貨はUSDです。韓国と取引があり、KWR(韓国ウォン)で債務計上しました。直接呼値を使用しています。
この時、換算係数が1:1と100:1の場合を比べてみると…
- 1KWR = 0.00073USD (換算係数 1:1)
- 100KWR = 0.73USD (換算係数 100:1)
となります。
換算係数が1:1の場合、為替レートの小数点が多くてわかりずらいですよね。一目でわかりやすくするために換算係数で調整することができるんです。
Tips:為替レートの小数点は5桁までです。為替レートの小数点5桁超えた場合も、換算係数を定義するのがおすすめです!
為替レートタイプ
為替レートタイプは以下の2つの用途となります。
- SAPシステム上、為替レートのKeyとなります。
- 為替レートの用途を表します。
例えば、SAPラボは毎日の取引に使用する為替レートはMレートで、月次評価に使用する為替レートはNレートで定義しています。
PS:MレートはSAP社用意している為替レートタイプです。毎日の取引にMレートを使用することは標準であり、変更できません。月次評価レートはプロジェクトごと自由に定義することが可能です。
為替レートの登録方法
T-cd:OB08で登録
トランザクショコードOB08を使用して、為替レートの登録ができます。
【各項目について】
- ExRt:為替レートタイプを入力します。
- 有効開始:為替レート有効の開始日付です。
- 上記図の場合、2024/5/1からUSDで計上された債務の為替レートは154.61420です。
- 2024/5/1以前USDで計上された債務の為替レートは114.75000ですね。
- 間接呼値:前述の通り、国内通貨1単位は換算の基準となります。
- 係数(前)、係数(後):前述の通り、外貨換算の換算比率です。
- 上記図の場合、USD対JPYの換算係数は1:1ですね。
- 元:換算前の通貨
- 直接呼値:前述の通り、外貨1単位は換算の基準となります。
- 先:換算後の通貨
トランザクションコードOB08で為替レートを登録できますが、欠点もあります。
欠点:上記画面に入ると、すべての為替レートを修正可能なので、間違って登録したい為替レート以外のレートを更新してしまうこともあります。
OB08で為替レート登録するのではなく、以下の方法で為替レートを登録するのをおすすめします。
Work Listで登録
ワークリスト作成
パス:SPRO → SAP NetWeaver → 一般設定 → 通貨 → 定義:換算レート入力用ワークリスト
T-CODE: S_B5A_57000001
【各項目について】
- Worklist:ワークリストのコードを定義します。
- テキスト:ワークリストの説明文です
- 更新:Int:更新間隔であり、更新頻度を定義します。
- 許容範囲%:新規登録する為替レートと最後の為替レートの差がどのぐらいであれば許可するかの設定です。必須設定ではありません。
ワークリスト割当
パス:SPRO → SAP NetWeaver → 一般設定 → 通貨 → 割当:換算レート⇒ワークリスト
T-CODE:S_B5A_57000002
使用する取引通貨と国内通貨(JPY)をワークリストに割当します。
ワークリストにより為替レート登録
T-CODE:S_B20_88000153
ワークリストにて定義した通貨のみの為替レートの入力となり、ほかの為替レートを間違って修正することを回避することが可能です。
保存すると、「為替レート更新されました」というメッセージが表示され、これで為替レートの登録が完了となります!
レアケースの共有
グローバル会社は日本以外にもたくさんの国に拠点があり会社を設立しています。
たとえば、香港は香港ドルというローカル通貨がありますが、国際金融センターでもありUSDドルで国内通貨として設定したいとします。
加えてアメリカにも会社があり、アメリカの会社の国内通貨もUSDで設定したいです。
ここで、香港の会社Bとアメリカの会社Cで各々の現地の銀行が発表した為替レートを採用したいという要件があった場合を考えてみます。
たとえば、本日17時に香港の銀行はJPY⇔USDの為替レートを発表しました。
その後、アメリカの銀行もJPY⇔USDの為替レートを発表しましたが、この二つの為替レートが完全に一致しないケースがあります。
このような場合にどのような対応がとりうるかを考えてみましょう。
【対応方法の検討パターン】
- 香港会社に国内通貨コードをUSDではなく、香港ドルに変更するかを検討
- 難しい場合、アメリカの銀行発表する為替レートを採用できるかを検討
- 両方とも難しい場合、ZUSDのような通貨コードを新たに定義し、現地の銀行が発表したJPY⇔USD為替レートを採用する方法を検討
PS:為替レートは会社コード依存ではない為、同じクライアントであれば、JPY⇔USDの為替レート一つしか登録できません。上の例のように現地の銀行が発表するJPY⇔USDの為替レートを採用したいような要件がある場合には、通貨コードの追加含めて検討することが必要になってきます。
為替レートテーブルの紹介
為替レートについては、TCURRテーブルに保持しています。為替レート関連テーブルについては下記の記事で紹介しているのでぜひチェックしてみてください!
あわせて読みたい
【SAP FI】テーブル関連図(通貨)
【】 以下は通貨(Currency)関連のテーブル関連図じゃ! 【】 テーブルIDテーブル内容TCURC通貨コードTCURR換算レートTCURT通貨コードテキストTCURX通貨の小数点以下桁数…