]> wagnertech.de Git - mfinanz.git/blobdiff - SL/SEPA.pm
tax_id in acc_trans
[mfinanz.git] / SL / SEPA.pm
index ced75be7e1274e11727231e11e8ae6000b08d25f..311b58e338d82825e3638e1b1aa72d0f6a234178 100644 (file)
@@ -18,11 +18,12 @@ sub retrieve_open_invoices {
   my $dbh      = $params{dbh} || $form->get_standard_dbh($myconfig);
   my $arap     = $params{vc} eq 'customer' ? 'ar'       : 'ap';
   my $vc       = $params{vc} eq 'customer' ? 'customer' : 'vendor';
+  my $extra_columns = $arap  eq 'ar' ? 'ar.direct_debit, ' : '';
 
   my $query =
     qq|
        SELECT ${arap}.id, ${arap}.invnumber, ${arap}.${vc}_id as vc_id, ${arap}.amount AS invoice_amount, ${arap}.invoice,
-         vc.name AS vcname, vc.language_id, ${arap}.duedate as duedate,
+         vc.name AS vcname, vc.language_id, ${arap}.duedate as duedate, ${extra_columns}
 
          COALESCE(vc.iban, '') <> '' AND COALESCE(vc.bic, '') <> '' AS vc_bank_info_ok,
 
@@ -403,6 +404,12 @@ sub post_payment {
     # Update the invoice to reflect the new paid amount.
     do_statement($form, @{ $handles{update_arap} }, $orig_item->{amount}, $orig_item->{"${arap}_id"});
 
+    # Update datepaid of invoice. set_datepaid (which has some extra logic)
+    # finds the date from acc_trans, where the payment has already been
+    # recorded above, so we don't need to explicitly pass
+    # $item->{execution_date}
+    IO->set_datepaid(table => "$arap", id => $orig_item->{"${arap}_id"}, dbh => $dbh);
+
     # Update the item to reflect that it has been posted.
     do_statement($form, @{ $handles{finish_item} }, $item->{execution_date}, $item_id);