Thanks sohaib,jonathan,Andre for your quick responses. I got some hint from your responses and issue is resolved now.
There was one method call missing which normally getting called when we submit to workflow from submit button.
Method name is getssavedinvoice of class vendinvoiceheaderworkflow. this method actually update variance approved field. now all records are getting submitted to workflow and i am getting Action ribbon after submission.