Probably onCPayAfterPaymentStatusUpdateEvent checking that status is Completed or Processed. That's the trigger used for all of our tracking plugins (idev, piwik, and google), but you'd really need to use it in a custom plugin to utilize it best as it has several function calls for the basket to retrieve more detailed information that's probably important for your invoice (e.g. access to totalizers, basket items, etc..). Otherwise just use the above triggers, the presentation tab emails, or CBSubs Emails if you don't need detailed basket information.