1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00

Fixes for subscriptions

This commit is contained in:
David Bomba 2021-06-29 11:41:30 +10:00
parent c369fc8c5d
commit 1739c69b85

View File

@ -437,6 +437,7 @@ class SubscriptionService
$pro_rata_charge_amount = 0;
$pro_rata_refund_amount = 0;
$is_credit = false;
$last_invoice = Invoice::where('subscription_id', $recurring_invoice->subscription_id)
->where('client_id', $recurring_invoice->client_id)
@ -445,7 +446,24 @@ class SubscriptionService
->orderBy('id', 'desc')
->first();
if($last_invoice->balance > 0)
if(!$last_invoice)
{
$last_invoice = Credit::where('subscription_id', $recurring_invoice->subscription_id)
->where('client_id', $recurring_invoice->client_id)
->where('is_deleted', 0)
->withTrashed()
->orderBy('id', 'desc')
->first();
$is_credit = true
}
if($is_credit)
{
$pro_rata_refund_amount = $this->calculateProRataRefund($last_invoice, $old_subscription) * -1;
nlog("pro rata refund = {$pro_rata_refund_amount}");
}
elseif($last_invoice->balance > 0)
{
$pro_rata_charge_amount = $this->calculateProRataCharge($last_invoice, $old_subscription);
nlog("pro rata charge = {$pro_rata_charge_amount}");