Skip to content

Subscription Billing: add integration events to Contract Deferrals Release#7945

Open
jeffreybulanadi wants to merge 1 commit intomicrosoft:mainfrom
jeffreybulanadi:feature/7896-contract-deferral-release-events
Open

Subscription Billing: add integration events to Contract Deferrals Release#7945
jeffreybulanadi wants to merge 1 commit intomicrosoft:mainfrom
jeffreybulanadi:feature/7896-contract-deferral-release-events

Conversation

@jeffreybulanadi
Copy link
Copy Markdown
Contributor

@jeffreybulanadi jeffreybulanadi commented May 1, 2026

Resolves #7896

Summary

Adds the Service Partner parameter and two new integration events to report 8051 Contract Deferrals Release, enabling extensions to intercept the release posting and document G/L entries with additional partner-specific data.

Changes

InsertTempGenJournalLine - Partner parameter added

Both local overloads of InsertTempGenJournalLine now accept Partner: Enum Service Partner as the final parameter. The outer overload (which calls UpdateWindow) threads the value through to the inner one. All four call sites are updated to pass the corresponding value:

  • ReleaseCustomerContractDeferralAndInsertTempGenJournalLine: passes Enum::Service Partner::Customer
  • ReleaseVendorContractDeferralsAndInsertTempGenJournalLines: passes Enum::Service Partner::Vendor

OnBeforeInsertTempGenJournalLine (new integration event)

Raised in the inner InsertTempGenJournalLine, after all fields are assigned but before TempGenJournalLine.Insert(). Signature:

local procedure OnBeforeInsertTempGenJournalLine(var TempGenJournalLine: Record Gen. Journal Line; Partner: Enum Service Partner)

OnBeforePostGenJnlLine (new integration event)

Raised twice inside PostGenJnlLine, once before each GenJnlPostLine.RunWithCheck(GenJnlLine) call (main account leg and balancing account leg). Signature:

local procedure OnBeforePostGenJnlLine(TempGenJournalLine: Record Gen. Journal Line; var GenJnlLine: Record Gen. Journal Line)

TempGenJournalLine is passed by value (read-only source context); GenJnlLine is passed by reference so subscribers can modify fields before posting.

…lease

Adds the Service Partner parameter and two new integration events to
report 8051 Contract Deferrals Release so that extensions can intercept
and document the release posting with additional G/L entry data.

Changes:
- InsertTempGenJournalLine (both overloads): add Partner parameter of
  type Enum 'Service Partner'. The outer overload threads it through to
  the inner one. All four call sites (two customer, two vendor) pass
  the appropriate Enum::'Service Partner'::Customer/Vendor value.

- OnBeforeInsertTempGenJournalLine integration event: raised after all
  fields are assigned to TempGenJournalLine but before Insert. Exposes
  var TempGenJournalLine and the Partner enum so subscribers can append
  or modify data per partner type before the buffer record is inserted.

- OnBeforePostGenJnlLine integration event: raised twice inside
  PostGenJnlLine, once before the main-account RunWithCheck and once
  before the balancing-account RunWithCheck. Exposes the source
  TempGenJournalLine (read-only context) and var GenJnlLine (mutable)
  so subscribers can augment G/L entries such as adding descriptions or
  additional posting fields before each posting leg runs.

Closes microsoft#7896
@jeffreybulanadi jeffreybulanadi requested a review from a team as a code owner May 1, 2026 19:39
@github-actions github-actions Bot added AL: Apps (W1) Add-on apps for W1 From Fork Pull request is coming from a fork labels May 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AL: Apps (W1) Add-on apps for W1 From Fork Pull request is coming from a fork

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Report 8051 "Contract Deferrals Release"

1 participant