See this note on My Oracle Support: How Are Purchase Orders Closed Automatically? Closed Status Rolled Up? PO's Are Not Closing? (Doc ID 1265680.1)
Make sure you check your shipments tab for a given po-see what the invoice close tolerance is set for-what %. Compare that to the invoice amount vs the shipment amout and see if the invoice amount is hitting that tolerance and should be closing. See that note above for defaulting rules and details on this.