Wednesday, August 17, 2016

Vendor Retention Process in SAP


Retention as the word indicates is the ability to keep back something. In SAP business process depending on the contracts between purchaser and vendor the purchaser has the authority to retain a portion of the payment for the vendor until the end of warranty period or any other condition agreed upon by purchaser and vendor. This is done in order to mitigate the risk to the purchaser. 

Configuration Part One
Activate business function LOG_MMFI_P2P
T Code SFW5 (Business function activation)

Configuration Part Two
For the retentions a new field is offered to define a new document type for the retention document.
T Code OMR4


Configuration Part Three
Retention parameter set 
T Code OLMR
>> Logistics Invoice Verification >> Incoming Invoice >> Retentions

Configuration Part Four
Define the Transaction Key EGX
SPRO > MM > Purchasing > Conditions > Define Price Determination Process > Define Transaction/Event Keys


Configuration Part Five
OBYC setup for Transaction Key EGX




Configuration Part Six
Special GL setup T Code FBKP
 
Step One - PO Creation T Code ME21N


 Step Two - PO Release ME29N


 Step Three - GR Done - MIGO



Step Four - Vendor invoice Creation - T Code MIRO


Two accounting document will create
One for original vendor invoice
Second for retention amount


Step Five - Payment to vendor T Code F-53



Step Six - Payment of Retention amount T Code F-53 (After specific period)


Note : For setting up the retention due date you need to go through some configuration process.

The value of retention Due Date depends on several elements as the below logic:
a.MM-IV doesn’t receive any proposed due date information for retention from purchase order.
b.But user can define a default due date value via the customizing view V_T169RETTIME


As shown in the above picture, user can customize how long retention can be retained based on each material group, for that material of purchase order has been assigned.
After that, the system will check whether any implementation of BAdI MRM_RETENTIONS is available. If it exists, this BAdI implementation shall be performed, whereby the retention due date can be overwritten by the method mrm_retentions->change_proposal ().

Coding Tips:-
1.Check for Due date
Include LMRMCF24
CALL METHOD cl_mrm_retention =>due_date