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 12:41:41 +10:00
parent a093e3910b
commit 5e39127581

View File

@ -385,6 +385,8 @@ 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)
->where('is_deleted', 0)
@ -392,7 +394,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}");