We had a Vtiger customization request from a client to update the UPS delivery status in the invoice. The user puts the UPS tracking # in the Vtiger invoice and a cron job in vtiger controls how often UPS is checked for status updates. When there is a change in status, the tracking status field in the invoice is updated as well as the status time. Once status is delivered, it stops checking that tracking number.
You can use this training status to trigger automated workflows that will email the client and/or create tasks for internal users to send the invoice or do some other follow up steps. You could even send the invoice automatically.
Note: This can be easily done for Fedex, DHL, etc., as well.
This was done as a customization but we will be coming out with an app soon.