Many companies require some sort of a check (and even possbly a message to uer) during processing of transaction MIGO (Goods Receipt, Goods Issue, Transfer Posting ....).
This post doesn't show the detail on how to do it but just an overview on where to start. If you need to add custom ABAP code during transaction MIGO -- show this to your ABAP team, they would now what to do.
To get more info -- SE80 > Application Hierarchy > BADI
MB_MIGO_BADI BAdI in MIGO for External Detail Subscreens
Methods available in BADI
INIT Initialization and Registration of Ext. D
PBO_DETAIL PBO of Detail Screen
PAI_DETAIL PAI of Detail Screen
LINE_MODIFY Add / Change a Line (GOITEM)
LINE_DELETE Delete a Line (GOITEM)
RESET MIGO Reset (Delete All Internal Data)
POST_DOCUMENT Post Goods Movement
CHECK_ITEM Check Item Data of Goods Movement
MODE_SET Mode of Transaction MIGO (Action / Reference
STATUS_AND_HEADER Status Information and Header Data
HOLD_DATA_SAVE Save Held Data
HOLD_DATA_LOAD Load Held Data
HOLD_DATA_DELETE Delete Held Data
PBO_HEADER PBO of Header Screen
PAI_HEADER PAI of Header Screen
CHECK_HEADER Check Header Data of Goods Movement
PUBLISH_MATERIAL_ITEM Publish Item Data After Processing
The exact "method" depends if you want to show the message at end (when pressing Save), early on (after PO was typed in). Generally easier to show just before SAVE.