Show node for specific content type using views contextual filter
A simple query alter will do the job.

Say example you are using a module my_views_invoice

    function my_views_invoice_views_query_alter(&amp;$view, &amp;$query) {

    $nodeid = $view-&gt;args[0][1]; // get the node id from contextual filters. Ex :Array ( [0] =&gt; node [1] =&gt; 1 )    

   $content_type =  node_load($nodeid) ;// get the content type from the node load : Ex $content_type-&gt;type

      if ($view-&gt;name == '&lt;Your view name&gt;') {
// Add a where condition in the query like below..

        foreach ($query-&gt;where[0]['conditions'] as $key =&gt; $conditions) {
          if ($conditions['field'] == 'node.type') {
            $query-&gt;where[0]['conditions'][$key]['type'] = $content_type-&gt;type;

          }
        }
    }