my $memo = ($data{memos} // [])->[$n_invoices];
$n_invoices++ ;
+ # safety check invoice open
+ croak("Invoice closed. Cannot proceed.") unless ($invoice->open_amount);
+
if ( ($payment_sent && $bank_transaction->not_assigned_amount >= 0)
|| ($payment_received && $bank_transaction->not_assigned_amount <= 0)) {
return {
my $query = qq|UPDATE $type SET paid =
(SELECT COALESCE(abs(sum(amount)),0) FROM acc_trans
WHERE trans_id = ?
- AND chart_link ilike '%paid%')|;
+ AND chart_link ilike '%paid%')
+ WHERE id = ?|;
- die if (do_query($::form, $bank_transaction->db->dbh, $query, $trans_id) == -1);
+ die if (do_query($::form, $bank_transaction->db->dbh, $query, $trans_id, $trans_id) == -1);
}
# 4. and delete all (if any) record links
my $rl = SL::DB::Manager::RecordLink->delete_all(where => [ from_id => $bt_id, from_table => 'bank_transactions' ]);
'form_defaults.callback' => $self->callback,
'form_defaults.bt_id' => $self->transaction->id,
'form_defaults.bt_chart_id' => $self->transaction->local_bank_account->chart->id,
+ 'form_defaults.description' => $self->transaction->purpose,
);
}