1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 08:21:34 +02:00

working on credit payments

This commit is contained in:
David Bomba 2020-10-15 15:07:42 +11:00
parent 901f7c4117
commit 27f678bd8c
4 changed files with 6 additions and 6 deletions

View File

@ -524,7 +524,7 @@ class Client extends BaseModel implements HasLocalePreference
}
}
if($this->company->use_credit_payment = 'optin' && $this->service()->getCreditBalance() > 0) {
if($this->company->use_credits_payment == 'option' && $this->service()->getCreditBalance() > 0) {
$payment_urls[] = [
'label' => ctrans('texts.apply_credit'),
'company_gateway_id' => CompanyGateway::GATEWAY_CREDIT,

View File

@ -47,6 +47,7 @@ class ApplyPayment
//$available_credit_balance = $this->credit->balance;
$applicable_amount = min($this->amount, $this->credit->balance);
$invoice_balance = $this->invoice->balance;
$credit_balance = $this->credit->balance;
/* Check invoice partial for amount to be cleared first */
if($this->invoice->partial > 0){
@ -56,7 +57,7 @@ class ApplyPayment
$this->invoice->partial -= $partial_payment;
$invoice_balance -= $partial_payment;
$this->amount -= $partial_payment;
// $this->credit->balance -= $partial_payment;
$credit_balance -= $partial_payment;
$applicable_amount -= $partial_payment;
$this->amount_applied += $partial_payment;
@ -65,11 +66,10 @@ class ApplyPayment
/* If there is remaining amount use it on the balance */
if($this->amount > 0 && $applicable_amount > 0 && $invoice_balance > 0){
$balance_payment = min($invoice_balance, $this->amount);
$balance_payment = min($invoice_balance, min($this->amount, $credit_balance));
$invoice_balance -= $balance_payment;
$this->amount -= $balance_payment;
// $this->credit->balance -= $balance_payment;
$this->amount_applied += $balance_payment;
}

View File

@ -56,7 +56,7 @@ class AutoBillInvoice extends AbstractService
//if the credits cover the payments, we stop here, build the payment with credits and exit early
if($this->invoice->company->use_credits_payment == 'always' || $this->invoice->company->use_credits_payment == 'optin')
if($this->invoice->company->use_credits_payment == 'always' || $this->invoice->company->use_credits_payment == 'option')
$this->applyCreditPayment();
info("partial = {$this->invoice->partial}");

View File

@ -24,7 +24,7 @@ class ProjectIdsToEntities extends Migration
Schema::table('companies', function (Blueprint $table) {
$table->boolean('mark_expenses_invoiceable')->default(0);
$table->boolean('mark_expenses_paid')->default(0);
$table->enum('use_credits_payment', ['always', 'off', 'optin'])->nullable();
$table->enum('use_credits_payment', ['always', 'off', 'option'])->default('off');
});