Skip to Content
Technical Articles
Author's profile photo Rahul Ranjan

How to procure negatively priced Commodity in SAP..

The COVID-19 pandemic has dealt a severe blow to economic activity around the globe and sapped demand for oil. A global supply-demand imbalance has started to really manifest itself in prices.

Recently, a futures contract for U.S. crude prices dropped more than 100% and turned negative for the first time in history on Monday (20th April 2020), showing just how much demand has collapsed due to the pandemic. This negative price has never happened before for an oil futures contract. Futures contracts are traded by month.

Crude for May delivery fell more than 100% to settle at negative $37.63 per barrel, meaning producers would pay traders to take the oil off their hands. Basically, from a system perspective, physical purchase trade for May delivery should be allowed to receive payment.

The oil price has always been fragile and in current situation were oil markets is being overtaken by a geopolitical event like COVID-19 outbreak and oil “Price War” has led to a situation where crude oil price went negative or as low that eventually if we deduct a secondary cost or other charges than total pay purchases will go negative.

If there is an active buy purchase for the May delivery period than the price of a subsequent purchase document goes negative because SAP CPE conditions will get reevaluated. This leads to a problem that a zero or negatively valued purchase documents will stop posting with a hard error.  Purchase line item pricing fails in standard MM if it goes negative or zeroes. (Ref Note: 2464733).

Due to the severe price fluctuation and most likely, it will be that way for the next few months. We have started encountering this issue with our customers based out of the US. As a best practice, we propose the below approach should be taken and should be in place even if you have not encountered this problem.


  • Handling purchase documents with a combination of standard line and return line items.
    • Configure a separate condition type that kicks in which will balance rate to $0.01 whenever the CPE condition price plus any charge result to a negative total price. This will make a line item positive
    • Add a new return line item with text material that offsets the first line item with a negative value.
      • No stock posting would be required because it has no material and has account assignment K.
  • This negative purchase document will be received as a credit.
    • Invoice lines will contain a negative rate and value.
    • Purchase matching will find both purchase lines
    • The total vendor amount will drive if an invoice or credit.

The sales document does allow you to post negative but restricts you to post zero value sales.  However, accounting won’t allow you to post negative sales it would be better to split the process:

  1. Post the receivable with a significantly lower amount.
  2. Then, post a payable through MM to make up the negative side.

Generally, in IS-OIL most of these documents are posted using TSW. The above approach can easily be implemented using the Junction Function Framework. This will automate the entire process without the need for manual intervention.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Mohsin Abbasi
      Mohsin Abbasi

      Dear Rahul,

      Good One. Nicely mentioned to handle it



      Best Regards

      Mohsin Abbasi

      Author's profile photo Mehmet Ozgur Unal
      Mehmet Ozgur Unal

      Brillant idea 🙂

      Thanks for sharing.

      M.Ozgur Unal