Should I define a FOREIGN KEY column as NULLable?
Yes.  Relationships (in ER modeling) can be optional.  There is no better way to represent a non-existent relationship in a foreign key than by putting in a NULL.  When you do a join, exactly the right thing happens.  When you do  a count, exactly the right thing happens.  

The only reason to make a foreign key not NULLable is to make the relationship mandatory.  This rule might come from the subject matter, as captured by an ER model.  It depends on the situation.

In the question you posed, you already had a case of an optional relationship.  Not all invoices have any refunds.