Better you can follow below the 3 steps to complete the PO process.
1. Create PO.
2. Receive the PO and Invoice it in a single step(Use the type as "Shipment/Invoice" inReceiving Transaction Entry). This will help you to avoid the issue for PO invoiced without the received.
3. Close PO(If the PO has been fully received and invoiced, it will closed automatically).
Hope this helps!!!