Hi Amr,
After customization of reason code you can write FI substitution (T-code: OBBH) rule to populate reason codes at line item level.
You can put additional conditions to populate specific reason codes for specific set of customers and vendors.
Regards,
Ritesh