One of the reasons for this case is that in the purchase order body, there is an employee field that is NetSuite standard.
If this field is empty or if the user forgets to set the employee there then the Purchase order will get auto-approved.
This is not a mandatory field by standard so users forget to enter the value there.
In this case, the PO is directly moved to pending receipt.
If the employee’s name is given in the Purchase order standard field then the purchase order will be in the pending approval state and the employee’s supervisor or the purchase approver will approve the same.