mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Factor in gateway fees to client / invoice balances
This commit is contained in:
parent
3cf13a3b57
commit
35f97d1b91
@ -322,8 +322,8 @@ class BaseDriver extends AbstractPaymentDriver
|
|||||||
|
|
||||||
if (collect($invoice->line_items)->contains('type_id', '3')) {
|
if (collect($invoice->line_items)->contains('type_id', '3')) {
|
||||||
$invoice->service()->toggleFeesPaid()->save();
|
$invoice->service()->toggleFeesPaid()->save();
|
||||||
$invoice->client->service()->updateBalance($fee_total)->save();
|
// $invoice->client->service()->updateBalance($fee_total)->save();
|
||||||
$invoice->ledger()->updateInvoiceBalance($fee_total, "Gateway fee adjustment for invoice {$invoice->number}");
|
// $invoice->ledger()->updateInvoiceBalance($fee_total, "Gateway fee adjustment for invoice {$invoice->number}");
|
||||||
}
|
}
|
||||||
|
|
||||||
$transaction = [
|
$transaction = [
|
||||||
|
@ -74,6 +74,8 @@ class AddGatewayFee extends AbstractService
|
|||||||
|
|
||||||
private function processGatewayFee($gateway_fee)
|
private function processGatewayFee($gateway_fee)
|
||||||
{
|
{
|
||||||
|
$balance = $this->invoice->balance;
|
||||||
|
|
||||||
App::forgetInstance('translator');
|
App::forgetInstance('translator');
|
||||||
$t = app('translator');
|
$t = app('translator');
|
||||||
$t->replace(Ninja::transformTranslations($this->invoice->company->settings));
|
$t->replace(Ninja::transformTranslations($this->invoice->company->settings));
|
||||||
@ -100,11 +102,30 @@ class AddGatewayFee extends AbstractService
|
|||||||
/**Refresh Invoice values*/
|
/**Refresh Invoice values*/
|
||||||
$this->invoice = $this->invoice->calc()->getInvoice();
|
$this->invoice = $this->invoice->calc()->getInvoice();
|
||||||
|
|
||||||
|
$new_balance = $this->invoice->balance;
|
||||||
|
|
||||||
|
if(floatval($new_balance) - floatval($balance) != 0)
|
||||||
|
{
|
||||||
|
$adjustment = $new_balance - $balance;
|
||||||
|
|
||||||
|
$this->invoice
|
||||||
|
->client
|
||||||
|
->service()
|
||||||
|
->updateBalance($adjustment)
|
||||||
|
->save();
|
||||||
|
|
||||||
|
$this->invoice
|
||||||
|
->ledger()
|
||||||
|
->updateInvoiceBalance($adjustment, 'Adjustment for removing gateway fee');
|
||||||
|
}
|
||||||
|
|
||||||
return $this->invoice;
|
return $this->invoice;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function processGatewayDiscount($gateway_fee)
|
private function processGatewayDiscount($gateway_fee)
|
||||||
{
|
{
|
||||||
|
$balance = $this->invoice->balance;
|
||||||
|
|
||||||
App::forgetInstance('translator');
|
App::forgetInstance('translator');
|
||||||
$t = app('translator');
|
$t = app('translator');
|
||||||
$t->replace(Ninja::transformTranslations($this->invoice->company->settings));
|
$t->replace(Ninja::transformTranslations($this->invoice->company->settings));
|
||||||
@ -129,6 +150,25 @@ class AddGatewayFee extends AbstractService
|
|||||||
|
|
||||||
$this->invoice = $this->invoice->calc()->getInvoice();
|
$this->invoice = $this->invoice->calc()->getInvoice();
|
||||||
|
|
||||||
|
$new_balance = $this->invoice->balance;
|
||||||
|
|
||||||
|
|
||||||
|
if(floatval($new_balance) - floatval($balance) != 0)
|
||||||
|
{
|
||||||
|
$adjustment = $new_balance - $balance;
|
||||||
|
|
||||||
|
$this->invoice
|
||||||
|
->client
|
||||||
|
->service()
|
||||||
|
->updateBalance($adjustment * -1)
|
||||||
|
->save();
|
||||||
|
|
||||||
|
$this->invoice
|
||||||
|
->ledger()
|
||||||
|
->updateInvoiceBalance($adjustment * -1, 'Adjustment for removing gateway fee');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return $this->invoice;
|
return $this->invoice;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -361,6 +361,8 @@ class InvoiceService
|
|||||||
|
|
||||||
public function removeUnpaidGatewayFees()
|
public function removeUnpaidGatewayFees()
|
||||||
{
|
{
|
||||||
|
$balance = $this->invoice->balance;
|
||||||
|
|
||||||
//return early if type three does not exist.
|
//return early if type three does not exist.
|
||||||
if(!collect($this->invoice->line_items)->contains('type_id', 3))
|
if(!collect($this->invoice->line_items)->contains('type_id', 3))
|
||||||
return $this;
|
return $this;
|
||||||
@ -372,6 +374,25 @@ class InvoiceService
|
|||||||
|
|
||||||
$this->invoice = $this->invoice->calc()->getInvoice();
|
$this->invoice = $this->invoice->calc()->getInvoice();
|
||||||
|
|
||||||
|
/* 24-03-2022 */
|
||||||
|
$new_balance = $this->invoice->balance;
|
||||||
|
|
||||||
|
if(floatval($balance) - floatval($new_balance) != 0)
|
||||||
|
{
|
||||||
|
$adjustment = $balance - $new_balance;
|
||||||
|
|
||||||
|
$this->invoice
|
||||||
|
->client
|
||||||
|
->service()
|
||||||
|
->updateBalance($adjustment * -1)
|
||||||
|
->save();
|
||||||
|
|
||||||
|
$this->invoice
|
||||||
|
->ledger()
|
||||||
|
->updateInvoiceBalance($adjustment * -1, 'Adjustment for removing gateway fee');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user