#10446 [Bug][Subscription Billing] "Subscription Lines - Overdue" cue counts lines of contracts that already ended
Fixed the Overdue Subscription Lines cue and page to exclude subscription lines that have been billed past their term end date, eliminating false positives in the overdue count and improving accuracy by checking billing progress rather than relying on a stale flag.
- 6files
- 5AL files
- 5objects
Pull request · merged into main (BC30) on 2026-10-07 by miljance (community contribution) · 6 files (+148 -39), 5 AL · fix · tier official · reviewed (checked by Opus)
What changed
- Added
IsBilledUntilEndOfTerm()procedure to determine if a subscription line has been fully billed through its term end date - Extracted shared filter logic into
FilterOverdueServiceCommitmentsto prevent divergence between count and list paths - Replaced three separate hand-written predicates with the new common procedure on related pages
- Count operation optimized to avoid record-by-record loops for common cases
- Added comprehensive tests covering billed, closed, and future end-date scenarios
- Behaviour changes for users or extensions.
AL objects touched
- Page 8068 “Customer Contract Line Subp.”, Subscription Billing: modified
- Page 8075 “Customer Contract Lines”, Subscription Billing: modified
- Table 8007 “Overdue Subscription Line”, Subscription Billing: modified
- Table 8059 “Subscription Line”, Subscription Billing: modified
- Page 8078 “Vendor Contract Line Subpage”, Subscription Billing: modified
Context
- Fixes: #10357 [Bug][Subscription Billing] “Subscription Lines - Overdue” cue counts lines of contracts that already ended (closed)
- Work items: AB#652996
- Labels: ADO: Sync, AL: Apps (W1), From Fork, Team: Finance
- Systems: sales
- From the description: “A new
internal procedure IsBilledUntilEndOfTerm()on table8059 "Subscription Line"answers the question “has this line already been billed past its term?””
Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).