Goods Receipt Valuation for Purchase Orders when involving foreign currencies

作者:郑德鼎 约 5 分钟阅读 更新日期:2024-02-22 2 年前更新 标签:MM, 物料管理
目录

Goods Receipt Valuation for Purchase Orders when involving foreign currencies

Skip to end of metadata

Created by Fabio Almeida on Dec 11, 2015

Go to start of metadata

Purpose

The purpose of this page is to clarify the calculation of Goods Receipt valuation for Purchase Orders when involving foreign currencies.

Overview

In the below section an example is provided to show how the goods receipt valuation is calculated in the standard system design.

The amount for the GR/IR clearing account (WRX) in foreign currency is calculated using the same formulas as the amount in local currency.

The system executes the same formulas for the values in the currency 00 (Document currency, Purchase Order currency - USD in this case) and 10 (Local currency, Company code currency - EUR in this case).

All relevant amounts are calculated based on the PO data via function ME_READ_ITEM_GOODS_RECEIPT.  The information of the values in all currencies are within internal table XEBEFU_CR and XEKBNK_CR. SAP note 393461 contains some examples about the problems which can happen in foreign currency calculation. To see the posting logic to the GR for foreign currency PO you should check the SAP note 191927 .

There are two main scenarios of the GR for PO valuation with exchange rates: if the exchange rate is fixed in the PO (EKKO-KUFIX is set) and if the exchange rate is not fixed in the PO (EKKO-KUFIX is not set). The below example will show how the GR is valuated if the exchange rate is not fixed.

Example

Goods Receipt valuation when involving foreign currencies.

A)     Create a Purchase Order in ME21N

Data

PO qty = 20 KG

PO Net price: 80 USD  (USD is the Document Currency or Purchase Order Currency).

PO price unit: 1 KG

Local currency of the Company Code: EUR

B)      Post a Goods Receipt for the Purchase Order in MIGO

MIGO - Goods Receipt for Purchase Order

C)      Check the Exchange Rate into the PO document in ME23N (PO header – Delivery/invoice tab)

ME23N - Display Purchase Order

Important

The value of the exchange rate comes from transaction OB08 depending on the exchange rate type which is defined in transaction OMBA. However, you can change this value and keep it fixed on the header of the PO document. If the PO exchange rate is fixed, this will be taken for the GR valuation not depending on the current exchange rate in OB08.

OB08 - Currency Exchange Rates

OMBA - Document Types

Tips

The function modules to convert currencies are ‘CONVERT_TO_LOCAL_CURRENCY’ and ‘CONVERT_TO_FOREIGN_CURRENCY’. When you are creating or changing the Purchase Order you can set a breakpoint in both FM’s to see the conversion values.

D)     Calculate the GR value (Value of the GR/IR Clearing Account - WRX key in the Accounting Document)

Data

Exchange rate of the Posting Date of the Goods Receipt: 3,50 USD (taken from OB08)

GR qty: 20 KG

Formulas

PO Net Value = PO qty x (PO Net price / PO price unit)

GR value = GR qty x (PO net value / PO qty)

Calculation

Value in USD

PO Net Value = 20 KG x (80 USD / 1 KG) = 1.600 USD.

GR Value in USD = 20 KG x (1.600 USD / 20 KG) = 1.600 USD.

Value in EUR

We need to apply the same formula as before, so we need to calculate the Purchase Order Net Value in EUR. For this we translate the Purchase Order Net Value with the exchange rate of the Posting Date of the Goods Receipt.

PO Net Value in EUR = 1.600 USD x 3,5 EUR/USD = 5.600 EUR.

Once we have the Purchase Order Net Value in EUR, we apply the same formula for the valuation:

GR value = 20 KG x (5.600 EUR / 20 KG) = 5.600 EUR.

So the system does not make a direct translation of the Goods Receipt Value in USD to the Goods Receipt Value in EUR. Instead, the system applies the valuation formulas for each currency.

E)      Calculate the stock account value

Data

Standard Price: 60 EUR

Price unit: 1

MM03 - Display Material

Formula

BSX = GR qty x (Standard Price / Price Unit)

Calculation

Value in EUR

BSX = 20 KG x (60 EUR / 1 KG) = 1.200 EUR

Value in USD

So that we can apply the above formula, we need to know the standard price in USD. Therefore, we first translate the standard price from EUR to USD.

To translate the standard price we always use the exchange rate of the Posting Date of the Goods Receipt.

Standard price in USD = 60 EUR / 3,50 EUR/USD = 17,14285714285714... USD

We round this value to the two decimal places of the currency USD: 17,14 USD.

Once we have the standard price in USD, we apply the formula to calculate the value of the stock posting:

BSX = 20 KG x (17,14 USD / 1 KG) = 342,80 USD.

F)      Calculate the price difference value

PRD = -WRX - BSX

Value in EUR

PRD = - (-5.600 EUR) - 1.200 EUR = 4.400 EUR.

Value in USD

PRD = - (-1.600 USD) -  342,80 USD = 1.257,20 USD.

G)     Check FI document via ME23N (PO history), MIGO (via material document) or in FB03 directly.

Related Documents

SAP WIKI ERP SCM-MM

Related SAP Notes/KBAs

SAP note 393461: Inexplicable amounts in foreign currency in GR for PO

SAP note 191927: Posting logic: GR for foreign currency PO

SAP Note 212286 : Overview note: Valuation during goods movements

SAP Note 518485 : FAQ: Valuation of goods movements

SAP Note 518368 : FAQ: Valuation for the purchase order

PPV: Purchasing Price Variance

FollowRSS feedLike

11 Likes 44,757 Views 2 Comments

Overview

Aim of this document is to show how price variance is calculated in a context of standard cost.

Standard cost, is a agreement between Engineering and Finance areas, regarding the price of raw materials and operative supplies, this estimated price is a key input to calculate gross margins.

The Purchasing Price Variance or PPV is a warning flag that says that the gross margin will have variance, taking care about the situation, on a nimble way, enable the organization to keep margins going forward.

Our scenario is built it to buy 1,000 LB of raw material, where

Standard Cost is 10 USD per LB

Order Price is 11 USD per LB

Actual Price is 12 USD per LB

Standard Price

First of all, we have our raw material master data created

Purchase Order Price

Then, we create an order; price is above our estimated standard price

PPV at Goods Receipt

Now, lets assume that we had received the material before the invoice, so a difference is calculated:

PPV during GR = Standard Price – PO Price

The journal entry for this GR is

Inventory Account DR 10,000 USD Standard Price

GR/IR Account CR 11,000 USD PO Price

PPV Account DR 1,000 USD Balance

PPV at Invoice Receipt

Now, when invoice is received, we realize that market change and now, the actual price is different than the PO price

PPV during IR = PO Price – IR Price

Journal entry is

Vendor CR 12,000 USD Actual Price

GR/IR Account DR 11,000 USD PO Price

PPV Account DR 1,000 USD Balance

This means that the net PPV is

Net PPV = Standard Price – IR Price = 10 – 12 = -2 USD per LB

This is an unfavorable Purchasing Price Variance.

Net PPV

Now, on SAP there is a report that can be customized (configured) to get this Net PPV, this is:

You can use transaction MC$G, to get the report with data related to PPV.  This is infostructucture S012 that can be enhanced to take advantage of Logistics Information System features, or a simple query using structure S012 can be created.

How to enhance LIS for MM.

http://scn.sap.com/docs/DOC-50821

http://scn.sap.com/docs/DOC-50822

Note: This note was originally posted on my personal blog at angelreyes [dot] wordpress [dot] com

You must be Logged on to comment or reply to a post.

Vivek Paul L

May 25, 2016 at 3:45 pm

Nice Illustration.

Like(0)

Former Member

September 25, 2016 at 1:08 pm

Hi Angel,

Very nice Document. I followed your steps. But while doing MIRO system is not allowing me to to post 12,000 USD.

Can pls suggest me how to do it?

Like(0)

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「Goods Receipt Valuation for Purchase Orders when involving foreign currencies.docx」整理生成,仅用于内部技术分享与学习交流。