Merge branch 'master' of git@vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / SL / DB / Invoice.pm
index 91ee14c..c330084 100644 (file)
@@ -93,7 +93,7 @@ sub taxamount {
   my $self = shift;
   die 'not a setter method' if @_;
 
-  return $self->amount - $self->netamount;
+  return ($self->amount || 0) - ($self->netamount || 0);
 }
 
 __PACKAGE__->meta->make_attr_helpers(taxamount => 'numeric(15,5)');
@@ -236,6 +236,22 @@ sub _post_update_allocated {
   }
 }
 
+sub invoice_type {
+  my ($self) = @_;
+
+  return 'ar_transaction'     if !$self->invoice;
+  return 'credit_note'        if $self->type eq 'credit_note' && $self->amount < 0 && !$self->storno;
+  return 'invoice_storno'     if $self->type ne 'credit_note' && $self->amount < 0 &&  $self->storno;
+  return 'credit_note_storno' if $self->type eq 'credit_note' && $self->amount > 0 &&  $self->storno;
+  return 'invoice';
+}
+
+sub displayable_state {
+  my $self = shift;
+
+  return $self->closed ? $::locale->text('closed') : $::locale->text('open');
+}
+
 1;
 
 __END__