Symptom
Set a limit of 'Down Payment %' in Purchase Order in "Create Purchase Order" app. At the time of down payment request creation via app "Manage Supplier Down Payment Request" for same PO, the system is allowing to post down payment request more than the amount allowed in the PO.
Environment
SAP S/4HANA Public Cloud Edition
Reproducing the Issue
- Enter app "Create Purchase Order" or "Create Purchase Order Advanced".
- Create new PO or via Display/Change button change the settings of an already existing PO.
- Under Item in Invoice Tab select DP Category as M (Mandatory Down Payment).
- Enter Down Payment % and/or Down Payment Amt.
- Post down payment request via app "Manage Supplier Down Payment Request" against the PO and above the limit.
- System posts the down payment request without any error or notification.
In the below case example the settings of PO 4500025013 is changed, Down Payment Amt = 14,00 EUR, Down Payment % = 10%, DP Date = 06/01/2025
If DP request is posted above 14,00 EUR, the system allows the posting without any error.
Cause
The down payment amount is not validated against the down payment amount entered in the purchase order. The user will be able to enter a downpayment value that is higher than the value specified in the purchase order. This is the standard system design. The value given in the PO is just a proposed value, not a limit. The user who creates the down payment or down payment request is responsible for deciding about the actual down payment and not the purchaser.
Resolution
Use the BAdI: Final Check before Saving Purchase Order (BD_MMPUR_FINAL_CHECK_PO) to implement your own checks before a purchase order is saved.
The BAdI allows to:
- Perform custom validations before a purchase order is saved.
- Ensure that conditions such as the down payment for a purchase order do not exceed a specific limit.
This should help address your requirement for final checks before the PO is finalized.
Keywords
purchase order, PO, down payment, down payment request, ME23N, limit, percentage, exceed the limit, BD_MMPUR_FINAL_CHECK_PO, Final Check before Saving Purchase Order, Badi, validation, F1688, F1 688 , KBA , FI-FIO-AP-PAY-2CL , Payment Apps (Public Cloud) , Problem