Are you providing the shipmentnum or are you depending on it autonumbering in Maximo? If you're providing it in the request we can retrieve it pretty easily on any event. If you're depending on the autonumber, that occurs during the changeStatus which I believe is the last step in processing. According to our documentation (https://ibm-maximo-dev.github.io/maximo-autoscript-documentation/integration/osevents), it looks like if you had a changeStatus event for the script that would suppress the processing class's changeStatus. That's not something I'd typically recommend because you would need to make sure you keep this in sync with our logic.
Since you need to create a new record in a custom object to send outbound, is there a reason you can't utilize the SHIPMENT MBO on Add event for it? This would still fire for an integration based scenario and you'd be able to get anything from the inventory usage mbo (calling mbo.getOwner()) and of course anything on the the SHIPMENT from it.