From 7d7393309aa3772fbf8a33f4b97e35b0e6f6ba6e Mon Sep 17 00:00:00 2001 From: v-sanjmaurya Date: Thu, 25 Jun 2026 13:36:10 +0530 Subject: [PATCH] Added Fix --- .../App/Billing/Codeunits/BillingProposal.Codeunit.al | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Apps/W1/Subscription Billing/App/Billing/Codeunits/BillingProposal.Codeunit.al b/src/Apps/W1/Subscription Billing/App/Billing/Codeunits/BillingProposal.Codeunit.al index 81bfa4d6c0..9db14aea94 100644 --- a/src/Apps/W1/Subscription Billing/App/Billing/Codeunits/BillingProposal.Codeunit.al +++ b/src/Apps/W1/Subscription Billing/App/Billing/Codeunits/BillingProposal.Codeunit.al @@ -483,6 +483,7 @@ codeunit 8062 "Billing Proposal" local procedure CalculateBillingPeriod(ServiceCommitment: Record "Subscription Line"; BillingDate: Date; BillToDate: Date; var BillingPeriodStart: Date; var BillingPeriodEnd: Date) var UsageDataBilling: Record "Usage Data Billing"; + PreviousBillingPeriodEnd: Date; begin BillingPeriodEnd := 0D; BillingPeriodStart := ServiceCommitment."Next Billing Date"; @@ -505,10 +506,14 @@ codeunit 8062 "Billing Proposal" end; BillingPeriodEnd := CalculateNextBillingToDateForServiceCommitment(ServiceCommitment, BillingPeriodStart); + PreviousBillingPeriodEnd := 0D; while (BillingPeriodEnd < BillingDate) and - ((BillingPeriodEnd < ServiceCommitment."Subscription Line End Date") or (ServiceCommitment."Subscription Line End Date" = 0D)) - do + ((BillingPeriodEnd < ServiceCommitment."Subscription Line End Date") or (ServiceCommitment."Subscription Line End Date" = 0D)) and + (BillingPeriodEnd > PreviousBillingPeriodEnd) + do begin + PreviousBillingPeriodEnd := BillingPeriodEnd; BillingPeriodEnd := CalculateNextBillingToDateForServiceCommitment(ServiceCommitment, BillingPeriodEnd + 1); + end; end; procedure CalculateNextBillingToDateForServiceCommitment(ServiceCommitment: Record "Subscription Line"; BillingFromDate: Date) NextBillingToDate: Date