Leistungsdatum: DATEV, Debitoren-/Kreditoren-/Dialogbuchungen
[kivitendo-erp.git] / SL / DB / BankTransaction.pm
index cdc1818..e2ddede 100644 (file)
@@ -287,6 +287,30 @@ sub _check_string {
     return $match;
 };
 
+
+sub not_assigned_amount {
+  my ($self) = @_;
+
+  my $not_assigned_amount = $self->amount - $self->invoice_amount;
+  die ("undefined state") if (abs($not_assigned_amount) > abs($self->amount));
+
+  return $not_assigned_amount;
+
+}
+sub closed_period {
+  my ($self) = @_;
+
+  # check for closed period
+  croak t8('Illegal date') unless ref $self->valutadate eq 'DateTime';
+
+
+  my $closedto = $::locale->parse_date_to_object($::instance_conf->get_closedto);
+  if ( ref $closedto && $self->valutadate < $closedto ) {
+    return 1;
+  } else {
+    return 0;
+  }
+}
 1;
 
 __END__
@@ -339,6 +363,16 @@ Usage:
  croak("No linked records at all") unless @{ $bt->linked_invoices() };
 
 
+=item C<not_assigned_amount>
+
+Returns the not open amount of this bank transaction.
+Dies if the return amount is higher than the original amount.
+
+=item C<closed_period>
+
+Returns 1 if the bank transaction valutadate is in a closed period, 0 if the
+valutadate of the bank transaction is not in a closed period.
+
 =back
 
 =head1 AUTHOR