use sales_order_invoice_save_after
as this event is triggered many times, so to avoid unnecessary execution you can check the requesting Module, Controller and Action
if the condition is met than execute it. you can do it by using below code in your observer file.
$request = Mage::app()->getRequest();
$moduleName = $request->getModuleName();
$controllerName = $request->getControllerName();
$actionName = $request->getActionName();
if ($moduleName != 'customer' && $controllerName != 'accout' && $actionName != 'login') {
//your observer code here
}