Posting a PO invoice before receipt?

You can check Prepayments functionality