Hi,
There is indeed a discrepency between how the print invoice button is handled on the order details page and the orders listing for extra order statuses.
Change the line:
if(hikashop_level(1) && $this->config->get('print_invoice_frontend', 0) && !in_array($this->element->order_status, array('created','refunded','cancelled')) && ($this->invoice_type == 'order')) {
to:
if(hikashop_level(1) && $this->config->get('print_invoice_frontend', 0) && !empty($this->element->order_invoice_id) && ($this->invoice_type == 'order')) {
in the file components/com_hikashop/views/order/view.html.php and that will fix the problem.
For the next version of HikaShop, we'll actually introduce a new column in the menu System>Order statuses to be able to select the statuses for which you want to display the invoice button. That will allow for a lot more flexibility.