+ if ($invoice->open_amount <= $amount_of_transaction) {
+ # first calculate new bank transaction amount ...
+ if ($invoice->is_sales) {
+ $amount_of_transaction -= $sign * $invoice->open_amount;
+ $bank_transaction->invoice_amount($bank_transaction->invoice_amount + $invoice->open_amount);
+ } else {
+ $amount_of_transaction += $sign * $invoice->open_amount;
+ $bank_transaction->invoice_amount($bank_transaction->invoice_amount - $invoice->open_amount);
+ }
+ # ... and then pay the invoice