SAP Knowledge Base Article - Public

3095796 - Purchase Order Odata API error 06159


When changing the 'Invoice receipt' flag (repos) in a Purchase order, the 'free item' indicator (umson) is filled and the net value of the PO item is set to 0.00. When you post a similar change of the 'Invoice receipt' flag via API_PURCHASEORDER_PROCESS_SRV, the posting fails and the system raises error: 'For items without invoice receipt, please enter price 0 (06 159) 


SAP S/4Hana All Versions 

Reproducing the Issue

Post a PATCH operation via API_PURCHASEORDER_PROCESS_SRV setting the "InvoiceIsExpected" field as false


When the change is triggered the system executes the pricing with pricing type A. Manual conditions are not overwritten in this case, so the original value in the PO item remains unchanged, only the 'Invoice receipt' flag is changed leading to the '06159' error.  


To carry out this change via API you must use a batch operation where you can change the item entity "InvoiceIsExpected" 
and set the manual price condition PMP0 to 0.00 in the same batch operation under the pricing element entity.

See the attached batch example and payload. 

See Also

API Documentation 


06159, 06 159, free item, UMSON, REPOS, LMEPOF1T, ME_CHECK_PRICING_RESULT, I_KOMP-NETPR, PRICE_NOT_ZERO_WITHOUT_INVOICE , KBA , MM-PUR-PO , Purchase Orders , MM-PUR-PO-BAPI , BAPIs - Purchase order , How To


SAP S/4HANA Cloud Public Edition all versions ; SAP S/4HANA Cloud all versions


Batch example 06159.txt