#10235 [Bug][SubscriptionBilling] Enforce Subscription Line Start Date change rules on all edit paths
Subscription Line start date changes are now blocked when billing has occurred, preventing periods from being invoiced multiple times or skipped. The validation runs on all edit paths instead of just two subpages.
- 4files
- 3AL files
- 3objects
Pull request · merged into main (BC30) on 2026-08-29 by miljance (community contribution) · 4 files (+246 -8), 3 AL · fix · tier official · reviewed (checked by Opus)
What changed
- Moved start date validation from UpdateServiceCommitment to OnValidate trigger to cover all edit paths (pages, code, import, API)
- Fixed validation logic to detect whether billing actually occurred rather than just summing archived amounts
- Added exemption for temporary records used during subscription renewal
- Added missing secondary key on Billing Line Archive for efficient filtering
- Provides extensibility hook via OnAfterCheckSubscriptionLineStartDateChangeAllowed event
- Behaviour changes for users or extensions.
AL objects touched
- Table 8061 “Billing Line”, Subscription Billing: modified
- Table 8064 “Billing Line Archive”, Subscription Billing: modified
- Table 8059 “Subscription Line”, Subscription Billing: modified
Context
- Fixes: #9976 [Bug][SubscriptionBilling] Enforce Subscription Line Start Date change rules on all edit paths (closed)
- Work items: AB#648228
- Labels: ADO: Sync, AL: Apps (W1), From Fork, Ownership: Needs Review, Team: Other
- Systems: development
- From the description: “The Subscription Line start date could still be changed after the line had been billed.”
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).