Codeunit CheckManagement

ID 367
Namespace: Microsoft.Bank.Check

Manages check printing, voiding, and electronic payment processing for bank accounts. Handles complete check lifecycle from creation through financial voiding and positive pay export.

Remarks

Integrates with Gen. Jnl.-Post Line, Bank Account Ledger Entry, and vendor/customer payment applications. Supports physical check printing, electronic payments, and automated reconciliation processes. Extensible through OnInsertCheckOnBeforeCheckLedgEntryInsert, OnBeforeVoidCheck, and related events.

Properties

Name Value
Permissions TableData "Cust. Ledger Entry" = rm, TableData "Vendor Ledger Entry" = rm, TableData "Bank Account Ledger Entry" = rm, TableData "Check Ledger Entry" = rim, TableData "Employee Ledger Entry" = rm

Methods

InsertCheck

Creates a new check ledger entry with sequential numbering and duplicate validation. Validates check number uniqueness within the bank account before insertion.

procedure InsertCheck(var CheckLedgEntry: Record "Check Ledger Entry", RecordIdToPrint: RecordId)

Parameters

Name Type Description
CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry record to insert with initial data

RecordIdToPrint RecordId

RecordID reference for check printing operations

VoidCheck

Voids a check by creating reversing entries and updating check ledger entry status. Handles currency conversion and validates payment document types.

procedure VoidCheck(var GenJnlLine: Record "Gen. Journal Line")

Parameters

Name Type Description
GenJnlLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line containing check information to void

FinancialVoidCheck

Performs financial voiding of a posted check by creating offsetting journal entries. Unapplies vendor/customer invoices and reverses all financial impacts while maintaining audit trail.

procedure FinancialVoidCheck(var CheckLedgEntry: Record "Check Ledger Entry")

Parameters

Name Type Description
CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry to financially void

GenJournalLineGetSystemIdFromRecordId

procedure GenJournalLineGetSystemIdFromRecordId(GenJournalLineRecordId: RecordId): Guid

Parameters

Name Type Description
GenJournalLineRecordId RecordId

Returns

Type Description
Guid

ProcessElectronicPayment

Processes electronic payment transmission or voiding based on specified operation type. Manages electronic payment status updates and data exchange integration.

procedure ProcessElectronicPayment(var GenJournalLine: Record "Gen. Journal Line", WhichProcess: Option)

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line containing electronic payment information

WhichProcess Option

Process type: Void or Transmit electronic payment

Events

OnAfterCalcAmountToVoid

Integration event raised after calculating the total amount to void for a check. Enables custom calculation logic or adjustments to the void amount.

[IntegrationEvent(False,False)]
local procedure OnAfterCalcAmountToVoid(var CheckLedgerEntry: Record "Check Ledger Entry", var AmountToVoid: Decimal)

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being processed for voiding

AmountToVoid Decimal

Calculated amount to void (can be modified by subscribers)

Remarks

Raised from CalcAmountToVoid procedure after summing all related check entries.

OnAfterVoidCheck

Integration event raised after successfully voiding a check entry. Enables custom processing or logging after the void operation completes.

[IntegrationEvent(False,False)]
local procedure OnAfterVoidCheck(var GenJnlLine: Record "Gen. Journal Line", var CheckLedgerEntry: Record "Check Ledger Entry")

Parameters

Name Type Description
GenJnlLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line used for the void operation

CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry that was voided

Remarks

Raised from VoidCheck procedure after updating the check status to Voided.

OnAfterFinancialVoidCheck

Integration event raised after completing a financial void operation on a check. Enables custom processing or notifications after the check has been financially voided.

[IntegrationEvent(False,False)]
local procedure OnAfterFinancialVoidCheck(var CheckLedgerEntry: Record "Check Ledger Entry")

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry that was financially voided

Remarks

Raised from FinancialVoidCheck procedure after all void entries are posted and analysis view is updated.

OnAfterFinancialVoidCheckPreValidation

Integration event raised after validating prerequisites for financial void operation. Enables additional validation or processing after standard void validation completes.

[IntegrationEvent(False,False)]
local procedure OnAfterFinancialVoidCheckPreValidation(CheckLedgerEntry: Record "Check Ledger Entry", BankAccountLedgerEntry: Record "Bank Account Ledger Entry")

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being validated for void

BankAccountLedgerEntry Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Associated bank account ledger entry

Remarks

Raised from FinancialVoidCheckPreValidation procedure after verifying transaction balance is zero.

OnBeforeVoidCheck

Integration event raised before starting a check void operation. Enables custom validation or processing before the void operation begins.

[IntegrationEvent(False,False)]
local procedure OnBeforeVoidCheck(var GenJnlLine: Record "Gen. Journal Line", var IsHandled: Boolean)

Parameters

Name Type Description
GenJnlLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the check being voided

IsHandled Boolean

Set to true to skip standard void processing

Remarks

Raised from VoidCheck procedure before any void processing begins.

OnBeforeMarkCheckEntriesVoid

Integration event raised before marking check ledger entries as void. Enables custom logic for handling check entry void marking.

[IntegrationEvent(False,False)]
local procedure OnBeforeMarkCheckEntriesVoid(var OriginalCheckLedgerEntry: Record "Check Ledger Entry", VoidDate: Date, var IsHandled: Boolean)

Parameters

Name Type Description
OriginalCheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Original check ledger entry being marked as voided

VoidDate Date

Date when the void operation is performed

IsHandled Boolean

Set to true to skip standard void marking logic

Remarks

Raised from MarkCheckEntriesVoid procedure before updating entry status to Financially Voided.

OnBeforeFinancialVoidCheck

Integration event raised before starting a financial void operation on a check. Enables custom validation or alternative void processing.

[IntegrationEvent(False,False)]
local procedure OnBeforeFinancialVoidCheck(var CheckLedgerEntry: Record "Check Ledger Entry", var IsHandled: Boolean)

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being financially voided

IsHandled Boolean

Set to true to skip standard financial void processing

Remarks

Raised from FinancialVoidCheck procedure before performing void validation and processing.

OnBeforeVoidCheckGenJnlLine2Modify

Integration event raised before modifying a general journal line during check void operation. Enables custom field updates or validation before journal line modification.

[IntegrationEvent(False,False)]
local procedure OnBeforeVoidCheckGenJnlLine2Modify(var GenJournalLine2: Record "Gen. Journal Line", GenJournalLine: Record "Gen. Journal Line")

Parameters

Name Type Description
GenJournalLine2 Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line being modified

GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

Original general journal line for reference

Remarks

Raised from VoidCheck procedure before setting voided status on journal line.

OnMarkCheckEntriesVoidOnBeforeRelatedCheckLedgerEntry2Modify

Integration event raised before modifying related check ledger entries during void operation. Enables custom processing of related check entries before they are marked as voided.

[IntegrationEvent(False,False)]
local procedure OnMarkCheckEntriesVoidOnBeforeRelatedCheckLedgerEntry2Modify(var CheckLedgerEntry: Record "Check Ledger Entry", var VoidDate: Date)

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Related check ledger entry being modified

VoidDate Date

Date when the void operation is performed

Remarks

Raised from MarkCheckEntriesVoid procedure when processing related check entries with same check number.

OnMarkCheckEntriesVoidOnBeforeOriginalCheckLedgerEntryModify

Integration event raised before modifying the original check ledger entry during void operation. Enables custom field updates or validation before the original check entry is marked as voided.

[IntegrationEvent(False,False)]
local procedure OnMarkCheckEntriesVoidOnBeforeOriginalCheckLedgerEntryModify(var CheckLedgerEntry: Record "Check Ledger Entry", var VoidDate: Date)

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Original check ledger entry being modified

VoidDate Date

Date when the void operation is performed

Remarks

Raised from MarkCheckEntriesVoid procedure before setting entry status to Financially Voided.

OnVoidCheckOnAfterGenJnlLine2Modify

Integration event raised after modifying a general journal line during check void operation. Enables custom processing or logging after journal line has been updated with void status.

[IntegrationEvent(False,False)]
local procedure OnVoidCheckOnAfterGenJnlLine2Modify(var GenJournalLine2: Record "Gen. Journal Line", GenJournalLine: Record "Gen. Journal Line")

Parameters

Name Type Description
GenJournalLine2 Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line that was modified

GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

Original general journal line for reference

Remarks

Raised from VoidCheck procedure after marking journal line as voided.

OnVoidCheckOnAfterCheckLedgEntry2SetFilters

Integration event raised after setting filters on check ledger entry during void operation. Enables custom filter modification or additional processing on filtered check entries.

[IntegrationEvent(False,False)]
local procedure OnVoidCheckOnAfterCheckLedgEntry2SetFilters(var CheckLedgerEntry: Record "Check Ledger Entry", GenJournalLine: Record "Gen. Journal Line")

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry with filters applied

GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line context for the void operation

Remarks

Raised from VoidCheck procedure after filtering check ledger entries for void processing.

OnFinancialVoidCheckOnBeforePostCust

Integration event raised before posting customer entries during financial void operation. Enables custom processing or validation before customer ledger entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforePostCust(var GenJournalLine: Record "Gen. Journal Line", var CustLedgerEntry: Record "Cust. Ledger Entry", var BalanceAmountLCY: Decimal)

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the void entry

CustLedgerEntry Table Microsoft.Sales.Receivables."Cust. Ledger Entry"

Customer ledger entry being processed

BalanceAmountLCY Decimal

Balance amount in local currency

Remarks

Raised from FinancialVoidCheck procedure before posting customer-related void entries.

OnFinancialVoidCheckOnBeforeCheckBalAccountType

Integration event raised before checking balance account type during financial void operation. Enables custom validation or processing based on the balance account type.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforeCheckBalAccountType(var GenJournalLine: Record "Gen. Journal Line", var CheckLedgerEntry: Record "Check Ledger Entry", var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the void operation

CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

BankAccountLedgerEntry Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Bank account ledger entry associated with the check

Remarks

Raised from FinancialVoidCheck procedure before processing balance account type specific logic.

OnFinancialVoidCheckOnBeforePostBankAccount

Integration event raised before posting bank account entries during financial void operation. Enables custom processing or validation before bank account ledger entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforePostBankAccount(var GenJournalLine: Record "Gen. Journal Line", var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the void entry

BankAccountLedgerEntry Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Bank account ledger entry being processed

Remarks

Raised from FinancialVoidCheck procedure before posting bank account-related void entries.

OnFinancialVoidCheckOnBeforePostFixedAsset

Integration event raised before posting fixed asset entries during financial void operation. Enables custom processing or validation before fixed asset ledger entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforePostFixedAsset(var GenJournalLine: Record "Gen. Journal Line", var FALedgerEntry: Record "FA Ledger Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the void entry

FALedgerEntry Table Microsoft.FixedAssets.Ledger."FA Ledger Entry"

Fixed asset ledger entry being processed

Remarks

Raised from FinancialVoidCheck procedure before posting fixed asset-related void entries.

OnFinancialVoidCheckOnBeforePostVend

Integration event raised before posting vendor entries during financial void operation. Enables custom processing or validation before vendor ledger entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforePostVend(var GenJournalLine: Record "Gen. Journal Line", var VendorLedgerEntry: Record "Vendor Ledger Entry", var BalanceAmountLCY: Decimal)

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the void entry

VendorLedgerEntry Table Microsoft.Purchases.Payables."Vendor Ledger Entry"

Vendor ledger entry being processed

BalanceAmountLCY Decimal

Balance amount in local currency

Remarks

Raised from FinancialVoidCheck procedure before posting vendor-related void entries.

OnFinancialVoidCheckOnBeforePostEmp

Integration event raised before posting employee entries during financial void operation. Enables custom processing or validation before employee ledger entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforePostEmp(var GenJournalLine: Record "Gen. Journal Line", var EmployeeLedgerEntry: Record "Employee Ledger Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the void entry

EmployeeLedgerEntry Table Microsoft.HumanResources.Payables."Employee Ledger Entry"

Employee ledger entry being processed

Remarks

Raised from FinancialVoidCheck procedure before posting employee-related void entries.

OnFinancialVoidCheckOnAfterPostVoidCheckLine

Integration event raised after posting a void check line during financial void operation. Enables custom processing or logging after void entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnAfterPostVoidCheckLine(var GenJournalLine: Record "Gen. Journal Line", var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line that was posted

GenJnlPostLine Codeunit Microsoft.Finance.GeneralLedger.Posting."Gen. Jnl.-Post Line"

General journal posting codeunit reference

Remarks

Raised from FinancialVoidCheck procedure after posting each void journal line entry.

OnFinancialVoidCheckOnAfterVendorLedgEntrySetFilters

Integration event raised after setting filters on vendor ledger entries during financial void operation. Enables custom filter modification or additional processing on filtered vendor entries.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnAfterVendorLedgEntrySetFilters(var VendorLedgEntry: Record "Vendor Ledger Entry", BankAccLedgEntry: Record "Bank Account Ledger Entry")

Parameters

Name Type Description
VendorLedgEntry Table Microsoft.Purchases.Payables."Vendor Ledger Entry"

Vendor ledger entry with filters applied

BankAccLedgEntry Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Bank account ledger entry context for filtering

Remarks

Raised from FinancialVoidCheck procedure after filtering vendor ledger entries.

OnFinancialVoidCheckOnBeforePostVoidCheckLine

Integration event raised before posting a void check line during financial void operation. Enables custom processing or validation before void entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforePostVoidCheckLine(var GenJournalLine: Record "Gen. Journal Line", var CheckLedgEntry: Record "Check Ledger Entry", var BankAccLedgEntry2: Record "Bank Account Ledger Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line to be posted

CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

BankAccLedgEntry2 Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Bank account ledger entry associated with the check

Remarks

Raised from FinancialVoidCheck procedure before posting each void journal line entry.

OnFinancialVoidCheckOnAfterPostBalAccLine

Integration event raised after posting balance account line during financial void operation. Enables custom processing or logging after balance account entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnAfterPostBalAccLine(var GenJournalLine: Record "Gen. Journal Line", CheckLedgerEntry: Record "Check Ledger Entry", var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line that was posted

CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

GenJnlPostLine Codeunit Microsoft.Finance.GeneralLedger.Posting."Gen. Jnl.-Post Line"

General journal posting codeunit reference

Remarks

Raised from FinancialVoidCheck procedure after posting balance account entries.

OnFinancialVoidCheckOnBeforePostBalAccLine

Integration event raised before posting balance account line during financial void operation. Enables custom processing or validation before balance account entries are posted.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforePostBalAccLine(var GenJournalLine: Record "Gen. Journal Line", CheckLedgerEntry: Record "Check Ledger Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line to be posted

CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

Remarks

Raised from FinancialVoidCheck procedure before posting balance account entries.

OnFinancialVoidPostGLAccountOnBeforeGLEntryLoop

Integration event raised before processing G/L entries loop during financial void of G/L account. Enables custom processing or filtering of G/L entries before void operation.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidPostGLAccountOnBeforeGLEntryLoop(var GLEntry: Record "G/L Entry", var CheckLedgerEntry: Record "Check Ledger Entry")

Parameters

Name Type Description
GLEntry Table Microsoft.Finance.GeneralLedger.Ledger."G/L Entry"

G/L entry with filters applied

CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

Remarks

Raised from FinancialVoidPostGLAccount procedure before processing G/L entries for void.

OnInsertCheckOnAfterCheckLedgEntryInsert

Integration event raised after inserting a new check ledger entry. Enables custom processing or additional field updates after check entry creation.

[IntegrationEvent(False,False)]
local procedure OnInsertCheckOnAfterCheckLedgEntryInsert(var CheckLedgEntry: Record "Check Ledger Entry")

Parameters

Name Type Description
CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry that was inserted

Remarks

Raised from InsertCheck procedure after inserting check ledger entry into database.

OnInsertCheckOnBeforeCheckLedgEntryInsert

Integration event raised before inserting a new check ledger entry. Enables custom field updates or validation before check entry creation.

[IntegrationEvent(False,False)]
local procedure OnInsertCheckOnBeforeCheckLedgEntryInsert(var CheckLedgEntry: Record "Check Ledger Entry")

Parameters

Name Type Description
CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry to be inserted

Remarks

Raised from InsertCheck procedure before inserting check ledger entry into database.

OnPostRoundingAmountOnAfterGenJnlPostLine

Integration event raised after posting rounding amount entries during financial void operation. Enables custom processing or logging after currency rounding entries are posted.

[IntegrationEvent(False,False)]
local procedure OnPostRoundingAmountOnAfterGenJnlPostLine(var GenJournalLine: Record "Gen. Journal Line", CheckLedgerEntry: Record "Check Ledger Entry", var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the rounding entry that was posted

CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

GenJnlPostLine Codeunit Microsoft.Finance.GeneralLedger.Posting."Gen. Jnl.-Post Line"

General journal posting codeunit reference

Remarks

Raised from PostRoundingAmount procedure after posting currency conversion rounding entries.

OnProcessElectronicPaymentOnBeforeCheckLedgEntry3Modify

Integration event raised before modifying check ledger entry during electronic payment processing. Enables custom field updates or validation before electronic payment status changes.

[IntegrationEvent(False,False)]
local procedure OnProcessElectronicPaymentOnBeforeCheckLedgEntry3Modify(var CheckLedgerEntry: Record "Check Ledger Entry", var WhichProcess: Option)

Parameters

Name Type Description
CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being modified for electronic payment

WhichProcess Option

Process type being performed (Void or Transmit)

Remarks

Raised from ProcessElectronicPayment procedure before updating check entry status.

OnPostRoundingAmountOnBeforeGenJnlPostLine

Integration event raised before posting rounding amount entries during financial void operation. Enables custom processing or validation before currency rounding entries are posted.

[IntegrationEvent(False,False)]
local procedure OnPostRoundingAmountOnBeforeGenJnlPostLine(var GenJournalLine: Record "Gen. Journal Line", CheckLedgerEntry: Record "Check Ledger Entry", var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the rounding entry to be posted

CheckLedgerEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

BankAccountLedgerEntry Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Bank account ledger entry associated with the check

Remarks

Raised from PostRoundingAmount procedure before posting currency conversion rounding entries.

OnUnApplyCustInvoicesOnBeforePost

Integration event raised before posting unapplication entries for customer invoices during void operation. Enables custom processing or validation before customer unapplication entries are posted.

[IntegrationEvent(False,False)]
local procedure OnUnApplyCustInvoicesOnBeforePost(var GenJournalLine: Record "Gen. Journal Line", var CustLedgerEntry: Record "Cust. Ledger Entry", var DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the unapplication entry

CustLedgerEntry Table Microsoft.Sales.Receivables."Cust. Ledger Entry"

Customer ledger entry being unapplied

DetailedCustLedgEntry Table Microsoft.Sales.Receivables."Detailed Cust. Ledg. Entry"

Detailed customer ledger entry for the application being reversed

Remarks

Raised from UnApplyCustInvoices procedure before posting customer unapplication entries.

OnUnApplyVendInvoicesOnBeforePost

Integration event raised before posting unapplication entries for vendor invoices during void operation. Enables custom processing or validation before vendor unapplication entries are posted.

[IntegrationEvent(False,False)]
local procedure OnUnApplyVendInvoicesOnBeforePost(var GenJournalLine: Record "Gen. Journal Line", var VendorLedgerEntry: Record "Vendor Ledger Entry", var DetailedVendorLedgEntry: Record "Detailed Vendor Ledg. Entry")

Parameters

Name Type Description
GenJournalLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line for the unapplication entry

VendorLedgerEntry Table Microsoft.Purchases.Payables."Vendor Ledger Entry"

Vendor ledger entry being unapplied

DetailedVendorLedgEntry Table Microsoft.Purchases.Payables."Detailed Vendor Ledg. Entry"

Detailed vendor ledger entry for the application being reversed

Remarks

Raised from UnApplyVendInvoices procedure before posting vendor unapplication entries.

OnAfterIsElectronicBankPaymentType

Integration event raised after determining if a bank payment type is electronic. Enables custom logic for identifying electronic payment types.

[IntegrationEvent(False,False)]
local procedure OnAfterIsElectronicBankPaymentType(BankPaymenType: Enum "Bank Payment Type", var IsElectronicPaymentType: Boolean)

Parameters

Name Type Description
BankPaymenType Enum Microsoft.Bank.BankAccount."Bank Payment Type"

Bank payment type being evaluated

IsElectronicPaymentType Boolean

Whether the payment type is electronic (can be modified by subscribers)

Remarks

Raised from IsElectronicBankPaymentType procedure after standard electronic payment type evaluation.

OnUnApplyCustInvoicesOnAfterCalcRemainingAmount

Integration event raised after calculating remaining amount for customer entries during void operation. Enables custom processing or adjustments after remaining amount calculation for customer ledger entries.

[IntegrationEvent(False,False)]
local procedure OnUnApplyCustInvoicesOnAfterCalcRemainingAmount(var CustLedgerEntry: Record "Cust. Ledger Entry")

Parameters

Name Type Description
CustLedgerEntry Table Microsoft.Sales.Receivables."Cust. Ledger Entry"

Customer ledger entry with calculated remaining amount

Remarks

Raised from UnApplyCustInvoices procedure after calculating remaining amount for customer entries.

OnUnApplyVendInvoicesOnAfterCalcRemainingAmount

Integration event raised after calculating remaining amount for vendor entries during void operation. Enables custom processing or adjustments after remaining amount calculation for vendor ledger entries.

[IntegrationEvent(False,False)]
local procedure OnUnApplyVendInvoicesOnAfterCalcRemainingAmount(var VendorLedgerEntry: Record "Vendor Ledger Entry")

Parameters

Name Type Description
VendorLedgerEntry Table Microsoft.Purchases.Payables."Vendor Ledger Entry"

Vendor ledger entry with calculated remaining amount

Remarks

Raised from UnApplyVendInvoices procedure after calculating remaining amount for vendor entries.

OnUnApplyVendInvoicesOnBeforeErrorNoAppliedEntry

Integration event raised before showing error for missing applied entries during vendor invoice unapplication. Enables custom error handling or alternative processing when no applied entries are found.

[IntegrationEvent(False,False)]
local procedure OnUnApplyVendInvoicesOnBeforeErrorNoAppliedEntry(var BankAccLedgEntry: Record "Bank Account Ledger Entry", var GenJnlLine: Record "Gen. Journal Line", var IsHandled: Boolean)

Parameters

Name Type Description
BankAccLedgEntry Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Bank account ledger entry context

GenJnlLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line context

IsHandled Boolean

Set to true to skip standard error handling

Remarks

Raised from UnApplyVendInvoices procedure when no applied entries are found for unapplication.

OnBeforeSetGenJnlLine

Integration event raised before setting general journal line fields during check operations. Enables custom field updates or validation before journal line field assignment.

[IntegrationEvent(False,False)]
local procedure OnBeforeSetGenJnlLine(var GenJnlLine: Record "Gen. Journal Line", var IsHandled: Boolean)

Parameters

Name Type Description
GenJnlLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line being updated

IsHandled Boolean

Set to true to skip standard field setting logic

Remarks

Raised from SetGenJnlLine procedure before setting standard journal line fields.

OnAfterSetGenJnlLine

Integration event raised after setting general journal line fields during check operations. Enables custom field updates or additional processing after journal line field assignment.

[IntegrationEvent(False,False)]
local procedure OnAfterSetGenJnlLine(var GenJnlLine: Record "Gen. Journal Line")

Parameters

Name Type Description
GenJnlLine Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line"

General journal line that was updated

Remarks

Raised from SetGenJnlLine procedure after setting standard journal line fields.

OnBeforeUnApplyVendInvoices

Integration event raised before starting vendor invoice unapplication during void operation. Enables custom logic for handling vendor invoice unapplication or skipping standard processing.

[IntegrationEvent(False,False)]
local procedure OnBeforeUnApplyVendInvoices(var CheckLedgEntry: Record "Check Ledger Entry", var VoidDate: Date, var IsHandled: Boolean, var Result: Boolean)

Parameters

Name Type Description
CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being processed for void

VoidDate Date

Date when the void operation is performed

IsHandled Boolean

Set to true to skip standard vendor unapplication logic

Result Boolean

Result of the unapplication operation (can be set by subscribers)

Remarks

Raised from UnApplyVendInvoices procedure before performing vendor invoice unapplication.

OnFinancialVoidCheckOnBeforeConfirmFinancialVoid

Integration event raised before confirming financial void operation on a check. Enables custom confirmation dialog or validation before financial void confirmation.

[IntegrationEvent(False,False)]
local procedure OnFinancialVoidCheckOnBeforeConfirmFinancialVoid(var CheckLedgEntry: Record "Check Ledger Entry", var IsHandled: Boolean)

Parameters

Name Type Description
CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being considered for financial void

IsHandled Boolean

Set to true to skip standard confirmation dialog

Remarks

Raised from FinancialVoidCheck procedure before showing confirmation dialog to user.

OnBeforePostRoundingAmount

Integration event raised before posting rounding amount during financial void operation. Enables custom processing or validation before currency rounding entries are posted.

[IntegrationEvent(False,False)]
local procedure OnBeforePostRoundingAmount(var BankAcc: Record "Bank Account", var CheckLedgEntry: Record "Check Ledger Entry", BankAccLedgEntry2: Record "Bank Account Ledger Entry", var PostingDate: Date, var RoundingAmount: Decimal, var IsHandled: Boolean)

Parameters

Name Type Description
BankAcc Table Microsoft.Bank.BankAccount."Bank Account"

Bank account for the check being voided

CheckLedgEntry Table Microsoft.Bank.Check."Check Ledger Entry"

Check ledger entry being voided

BankAccLedgEntry2 Table Microsoft.Bank.Ledger."Bank Account Ledger Entry"

Bank account ledger entry associated with the check

PostingDate Date

Date when the rounding entry will be posted

RoundingAmount Decimal

Currency rounding amount to be posted

IsHandled Boolean

Set to true to skip standard rounding amount posting

Remarks

Raised from PostRoundingAmount procedure before posting currency conversion rounding entries.

See also